From 082632a5907971bcdaf8f4ac19c16902a79c232b Mon Sep 17 00:00:00 2001 From: Lucas Pimentel Date: Tue, 25 Nov 2025 13:18:01 -0500 Subject: [PATCH] Fix Azure Functions NuGet script for Linux and macOS --- tracer/tools/Build-AzureFunctionsNuget.ps1 | 22 +++++++++++++++------- 1 file changed, 15 insertions(+), 7 deletions(-) diff --git a/tracer/tools/Build-AzureFunctionsNuget.ps1 b/tracer/tools/Build-AzureFunctionsNuget.ps1 index d991793cba61..28cf1b16e314 100644 --- a/tracer/tools/Build-AzureFunctionsNuget.ps1 +++ b/tracer/tools/Build-AzureFunctionsNuget.ps1 @@ -42,14 +42,22 @@ param( $ErrorActionPreference = 'Stop' $ProgressPreference = 'SilentlyContinue' +# Detect OS and determine build script +if ($PSVersionTable.PSVersion.Major -ge 6) { + $buildScript = if ($IsWindows) { 'build.ps1' } else { 'build.sh' } +} else { + # PowerShell 5.x is Windows-only + $buildScript = 'build.ps1' +} + # Resolve paths relative to script location $scriptDir = Split-Path -Parent $PSCommandPath $tracerDir = Split-Path -Parent $scriptDir Write-Verbose "Tracer directory: $tracerDir" # Clean up previous builds -Write-Verbose "Cleaning up previous builds from: $tracerDir\bin\artifacts\nuget\azure-functions\" -Remove-Item -Path "$tracerDir\bin\artifacts\nuget\azure-functions\*" -Force -ErrorAction SilentlyContinue +Write-Verbose "Cleaning up previous builds from: $tracerDir/bin/artifacts/nuget/azure-functions/" +Remove-Item -Path "$tracerDir/bin/artifacts/nuget/azure-functions/*" -Force -ErrorAction SilentlyContinue # Remove package Datadog.AzureFunctions from NuGet cache Write-Verbose "Removing $packageId from NuGet cache..." @@ -82,7 +90,7 @@ else if ($BuildId) { Write-Verbose "Downloading Datadog.Trace.Bundle from build: $BuildId" - & "$tracerDir\build.ps1" DownloadBundleNugetFromBuild --build-id $BuildId + & "$tracerDir/$buildScript" DownloadBundleNugetFromBuild --build-id $BuildId } else { @@ -91,20 +99,20 @@ else # Build Datadog.Trace and publish to bundle folder, replacing the files from the NuGet package Write-Verbose "Publishing Datadog.Trace (net6.0) to bundle folder..." -dotnet publish "$tracerDir\src\Datadog.Trace" -c Release -o "$tracerDir\src\Datadog.Trace.Bundle\home\net6.0" -f 'net6.0' +dotnet publish "$tracerDir/src/Datadog.Trace" -c Release -o "$tracerDir/src/Datadog.Trace.Bundle/home/net6.0" -f 'net6.0' Write-Verbose "Publishing Datadog.Trace (net461) to bundle folder..." -dotnet publish "$tracerDir\src\Datadog.Trace" -c Release -o "$tracerDir\src\Datadog.Trace.Bundle\home\net461" -f 'net461' +dotnet publish "$tracerDir/src/Datadog.Trace" -c Release -o "$tracerDir/src/Datadog.Trace.Bundle/home/net461" -f 'net461' # Build Azure Functions NuGet package Write-Verbose "Building Datadog.AzureFunctions NuGet package..." -& "$tracerDir\build.ps1" BuildAzureFunctionsNuget +& "$tracerDir/$buildScript" BuildAzureFunctionsNuget # Copy package to destination if specified if ($CopyTo) { Write-Verbose "Copying package to: $CopyTo" - Copy-Item "$tracerDir\bin\artifacts\nuget\azure-functions\Datadog.AzureFunctions.*.nupkg" $CopyTo -Force + Copy-Item "$tracerDir/bin/artifacts/nuget/azure-functions/Datadog.AzureFunctions.*.nupkg" $CopyTo -Force } Write-Verbose "Build complete!" \ No newline at end of file