diff --git a/.azure-pipelines/benchmarks.yml b/.azure-pipelines/benchmarks.yml deleted file mode 100644 index 7b5200d1fcf1..000000000000 --- a/.azure-pipelines/benchmarks.yml +++ /dev/null @@ -1,79 +0,0 @@ -trigger: none -pr: none - -variables: - buildConfiguration: release - dotnetCoreSdkVersion: 5.0.103 - ddApiKey: $(DD_API_KEY) - publishOutput: $(Build.SourcesDirectory)/src/bin/managed-publish - -# Declare the datadog agent as a resource to be used as a pipeline service -resources: - containers: - - container: dd_agent - image: datadog/agent - ports: - - 8126:8126 - env: - DD_API_KEY: $(ddApiKey) - DD_INSIDE_CI: true - -stages: -- stage: build - jobs: - - #### Windows - - - job: Windows - pool: Benchmarks - - workspace: - clean: all - - # Enable the Datadog Agent service for this job - services: - dd_agent: dd_agent - variables: - tracerHomeName: windows-tracer-home - tracerHome: $(System.DefaultWorkingDirectory)/src/bin/$(tracerHomeName) - msiHome: $(System.DefaultWorkingDirectory)/src/bin/msi - nuget_packages: $(Pipeline.Workspace)/.nuget/packages - - steps: - - - task: UseDotNet@2 - displayName: install dotnet core sdk - inputs: - packageType: sdk - version: $(dotnetCoreSdkVersion) - - - task: NuGetToolInstaller@1 - displayName: install nuget - - - task: DotNetCoreCLI@2 - displayName: dotnet restore - inputs: - command: restore - projects: src/**/*.csproj - - # native projects must be restored with nuget.exe - - task: NuGetCommand@2 - displayName: nuget restore native - inputs: - restoreSolution: Datadog.Trace.Native.sln - verbosityRestore: Normal - - - task: DotNetCoreCLI@2 - displayName: Benchmarks - inputs: - command: 'run' - projects: '$(System.DefaultWorkingDirectory)/test/benchmarks/Benchmarks.Trace/Benchmarks.Trace.csproj' - arguments: '-c Release -f netcoreapp3.1 -- -r net472 netcoreapp3.1 -m -f * --iterationTime 2000' - env: - DD_ENV: CI - DD_SERVICE: dd-trace-dotnet - - - task: PowerShell@2 - inputs: - targetType: 'inline' - script: 'Start-Sleep -s 120' \ No newline at end of file diff --git a/.azure-pipelines/crank.yml b/.azure-pipelines/crank.yml deleted file mode 100644 index 033a1827561b..000000000000 --- a/.azure-pipelines/crank.yml +++ /dev/null @@ -1,190 +0,0 @@ -trigger: none -pr: none - -jobs: - -- job: windows_profiler - pool: - vmImage: windows-2019 - - steps: - - - task: UseDotNet@2 - displayName: install dotnet core runtime 3.1 - inputs: - packageType: runtime - version: 3.1.x - - - task: UseDotNet@2 - displayName: install dotnet core sdk 5.0.103 - inputs: - packageType: sdk - version: 5.0.103 - - - task: DotNetCoreCLI@2 - displayName: dotnet build - inputs: - command: build - configuration: Release - arguments: /nowarn:netsdk1138 - projects: | - src/Datadog.Trace.ClrProfiler.Managed.Loader/Datadog.Trace.ClrProfiler.Managed.Loader.csproj - sample-libs/**/Samples.ExampleLibrary*.csproj - - - task: NuGetToolInstaller@1 - displayName: install nuget - - - task: NuGetCommand@2 - displayName: nuget restore - inputs: - restoreSolution: Datadog.Trace.Native.sln - verbosityRestore: Normal - - - task: MSBuild@1 - displayName: msbuild - inputs: - solution: Datadog.Trace.proj - platform: x64 - configuration: Release - msbuildArguments: /t:BuildCpp - maximumCpuCount: true - - - publish: $(System.DefaultWorkingDirectory)/src/Datadog.Trace.ClrProfiler.Native/bin/Release/x64 - artifact: windows-native - - -- job: linux_profiler - pool: - vmImage: ubuntu-20.04 - steps: - - - task: UseDotNet@2 - displayName: install dotnet core runtime 3.1 - inputs: - packageType: runtime - version: 3.1.x - - - task: UseDotNet@2 - displayName: install dotnet core sdk 5.0 - inputs: - packageType: sdk - version: 5.0.x - - - task: DotNetCoreCLI@2 - displayName: dotnet build - inputs: - command: build - configuration: Release - arguments: /nowarn:netsdk1138 - projects: | - src/Datadog.Trace.ClrProfiler.Managed.Loader/Datadog.Trace.ClrProfiler.Managed.Loader.csproj - - - script: | - sudo apt-get update - sudo apt-get install -y llvm clang - sudo apt-get remove -y cmake - curl -L -o /tmp/cmake.sh https://github.com/Kitware/CMake/releases/download/v3.19.8/cmake-3.19.8-Linux-x86_64.sh - sudo sh /tmp/cmake.sh --prefix=/usr/local --exclude-subdir --skip-license - displayName: install_dependencies - - - script: | - cd ./src/Datadog.Trace.ClrProfiler.Native - CXX=clang++ CC=clang cmake . -DCMAKE_BUILD_TYPE=Release - make - displayName: build_profiler - - - publish: $(System.DefaultWorkingDirectory)/src/Datadog.Trace.ClrProfiler.Native/bin - artifact: linux-native - - -- job: linux_arm64_profiler - pool: Arm64 - workspace: - clean: all - - steps: - - - task: DotNetCoreCLI@2 - displayName: dotnet build Datadog.Trace.ClrProfiler.Managed.Loader - inputs: - command: build - configuration: Release - arguments: /nowarn:netsdk1138 - projects: | - src/Datadog.Trace.ClrProfiler.Managed.Loader/Datadog.Trace.ClrProfiler.Managed.Loader.csproj - - - task: DotNetCoreCLI@2 - displayName: dotnet publish Datadog.Trace.ClrProfiler.Managed 2.0 - inputs: - command: publish - publishWebProjects: false - modifyOutputPath: false - zipAfterPublish: false - projects: src/Datadog.Trace.ClrProfiler.Managed/Datadog.Trace.ClrProfiler.Managed.csproj - arguments: --configuration Release --framework netstandard2.0 --output $(System.DefaultWorkingDirectory)/src/bin/managed-publish/netstandard2.0 - - - task: DotNetCoreCLI@2 - displayName: dotnet publish Datadog.Trace.ClrProfiler.Managed 3.1 - inputs: - command: publish - publishWebProjects: false - modifyOutputPath: false - zipAfterPublish: false - projects: src/Datadog.Trace.ClrProfiler.Managed/Datadog.Trace.ClrProfiler.Managed.csproj - arguments: --configuration Release --framework netcoreapp3.1 --output $(System.DefaultWorkingDirectory)/src/bin/managed-publish/netcoreapp3.1 - - - task: DockerCompose@0 - displayName: docker-compose run Profiler - inputs: - containerregistrytype: Container Registry - dockerComposeCommand: run -e buildConfiguration=Release Profiler - - - publish: $(System.DefaultWorkingDirectory)/src/Datadog.Trace.ClrProfiler.Native/bin/Release/x64 - artifact: linux-native-arm64 - - - -- job: crank - pool: Throughput - workspace: - clean: all - dependsOn: - - linux_arm64_profiler - - linux_profiler - - windows_profiler - condition: succeeded() - - steps: - - download: current - artifact: linux-native - - - task: CopyFiles@2 - inputs: - sourceFolder: $(Pipeline.Workspace)/linux-native - targetFolder: $(System.DefaultWorkingDirectory)/ - - - - download: current - artifact: windows-native - - - task: CopyFiles@2 - inputs: - sourceFolder: $(Pipeline.Workspace)/windows-native - targetFolder: $(System.DefaultWorkingDirectory)/ - - - - download: current - artifact: linux-native-arm64 - - - task: CopyFiles@2 - inputs: - sourceFolder: $(Pipeline.Workspace)/linux-native-arm64 - targetFolder: $(System.DefaultWorkingDirectory)/arm64 - - - - script: | - cd ./build/crank - chmod +x ./run.sh - ./run.sh - env: - DD_SERVICE: dd-trace-dotnet diff --git a/.azure-pipelines/integration-tests.yml b/.azure-pipelines/integration-tests.yml deleted file mode 100644 index 0f348669ad0e..000000000000 --- a/.azure-pipelines/integration-tests.yml +++ /dev/null @@ -1,599 +0,0 @@ -trigger: - branches: - include: - - master - - release/* - - hotfix/* - paths: - exclude: - - docs/* - - .github/* -pr: - branches: - include: - - master - - release/* - - hotfix/* - paths: - exclude: - - docs/* - - .github/* - -pool: - vmImage: ubuntu-18.04 - -variables: - buildConfiguration: Release - publishOutput: $(System.DefaultWorkingDirectory)/src/bin/managed-publish - dotnetCoreSdk5Version: 5.0.103 - -jobs: - -- job: build_linux_profiler - - steps: - - task: UseDotNet@2 - displayName: install dotnet core runtime 3.1 - inputs: - packageType: runtime - version: 3.1.x - - - task: UseDotNet@2 - displayName: install dotnet core sdk 5 - inputs: - packageType: sdk - version: $(dotnetCoreSdk5Version) - includePreviewVersions: true - - - task: DotNetCoreCLI@2 - displayName: dotnet build Datadog.Trace.ClrProfiler.Managed.Loader - inputs: - command: build - projects: src/Datadog.Trace.ClrProfiler.Managed.Loader/Datadog.Trace.ClrProfiler.Managed.Loader.csproj - arguments: --configuration $(buildConfiguration) /nowarn:netsdk1138 - - - task: DotNetCoreCLI@2 - displayName: dotnet publish Datadog.Trace.ClrProfiler.Managed 2.0 - inputs: - command: publish - publishWebProjects: false - modifyOutputPath: false - zipAfterPublish: false - projects: src/Datadog.Trace.ClrProfiler.Managed/Datadog.Trace.ClrProfiler.Managed.csproj - arguments: --configuration $(buildConfiguration) --framework netstandard2.0 --output $(publishOutput)/netstandard2.0 - - - task: DotNetCoreCLI@2 - displayName: dotnet publish Datadog.Trace.ClrProfiler.Managed 3.1 - inputs: - command: publish - publishWebProjects: false - modifyOutputPath: false - zipAfterPublish: false - projects: src/Datadog.Trace.ClrProfiler.Managed/Datadog.Trace.ClrProfiler.Managed.csproj - arguments: --configuration $(buildConfiguration) --framework netcoreapp3.1 --output $(publishOutput)/netcoreapp3.1 - - - task: DockerCompose@0 - displayName: docker-compose run Profiler - inputs: - containerregistrytype: Container Registry - dockerComposeCommand: run -e buildConfiguration=$(buildConfiguration) Profiler - - - publish: $(System.DefaultWorkingDirectory)/src/Datadog.Trace.ClrProfiler.Native/bin/$(buildConfiguration)/x64 - artifact: linux-tracer-home - -- job: Linux - dependsOn: build_linux_profiler - condition: succeeded() - strategy: - matrix: - netcoreapp2_1: - publishTargetFramework: netcoreapp2.1 - netcoreapp3_0: - publishTargetFramework: netcoreapp3.0 - netcoreapp3_1: - publishTargetFramework: netcoreapp3.1 - net5_0: - publishTargetFramework: net5.0 - - variables: - TestAllPackageVersions: true - - steps: - - download: current - artifact: linux-tracer-home - - - task: CopyFiles@2 - inputs: - sourceFolder: $(Pipeline.Workspace)/linux-tracer-home - targetFolder: $(System.DefaultWorkingDirectory)/src/Datadog.Trace.ClrProfiler.Native/bin/$(buildConfiguration)/x64 - - - task: DockerCompose@0 - displayName: docker-compose run build - inputs: - containerregistrytype: Container Registry - dockerComposeCommand: run -e TestAllPackageVersions=true -e buildConfiguration=$(buildConfiguration) -e publishTargetFramework=$(publishTargetFramework) build - - - task: DockerCompose@0 - displayName: docker-compose run IntegrationTests - inputs: - containerregistrytype: Container Registry - dockerComposeCommand: run -e TestAllPackageVersions=true -e buildConfiguration=$(buildConfiguration) -e publishTargetFramework=$(publishTargetFramework) IntegrationTests - - - publish: build_data - artifact: $(Agent.JobName)_profiler-logs-$(System.JobAttempt) - condition: succeededOrFailed() - - - task: PublishTestResults@2 - displayName: publish test results - inputs: - testResultsFormat: VSTest - testResultsFiles: test/**/*.trx - condition: succeededOrFailed() - -- job: build_alpine_linux_profiler - - steps: - - task: UseDotNet@2 - displayName: install dotnet core runtime 3.1 - inputs: - packageType: runtime - version: 3.1.x - - - task: UseDotNet@2 - displayName: install dotnet core sdk 5 - inputs: - packageType: sdk - version: $(dotnetCoreSdk5Version) - includePreviewVersions: true - - - task: DotNetCoreCLI@2 - displayName: dotnet build Datadog.Trace.ClrProfiler.Managed.Loader - inputs: - command: build - projects: src/Datadog.Trace.ClrProfiler.Managed.Loader/Datadog.Trace.ClrProfiler.Managed.Loader.csproj - arguments: --configuration $(buildConfiguration) /nowarn:netsdk1138 - - - task: DotNetCoreCLI@2 - displayName: dotnet publish Datadog.Trace.ClrProfiler.Managed 2.0 - inputs: - command: publish - publishWebProjects: false - modifyOutputPath: false - zipAfterPublish: false - projects: src/Datadog.Trace.ClrProfiler.Managed/Datadog.Trace.ClrProfiler.Managed.csproj - arguments: --configuration $(buildConfiguration) --framework netstandard2.0 --output $(publishOutput)/netstandard2.0 - - - task: DotNetCoreCLI@2 - displayName: dotnet publish Datadog.Trace.ClrProfiler.Managed 3.1 - inputs: - command: publish - publishWebProjects: false - modifyOutputPath: false - zipAfterPublish: false - projects: src/Datadog.Trace.ClrProfiler.Managed/Datadog.Trace.ClrProfiler.Managed.csproj - arguments: --configuration $(buildConfiguration) --framework netcoreapp3.1 --output $(publishOutput)/netcoreapp3.1 - - - task: DockerCompose@0 - displayName: docker-compose run Profiler.Alpine - inputs: - containerregistrytype: Container Registry - dockerComposeCommand: run -e buildConfiguration=$(buildConfiguration) Profiler.Alpine - - - publish: $(System.DefaultWorkingDirectory)/src/Datadog.Trace.ClrProfiler.Native/bin/$(buildConfiguration)/x64 - artifact: alpine-linux-tracer-home - -- job: Alpine_Linux - dependsOn: build_alpine_linux_profiler - condition: succeeded() - strategy: - matrix: - netcoreapp2_1: - publishTargetFramework: netcoreapp2.1 - netcoreapp3_0: - publishTargetFramework: netcoreapp3.0 - netcoreapp3_1: - publishTargetFramework: netcoreapp3.1 - net5_0: - publishTargetFramework: net5.0 - - variables: - TestAllPackageVersions: true - - steps: - - download: current - artifact: alpine-linux-tracer-home - - - task: CopyFiles@2 - inputs: - sourceFolder: $(Pipeline.Workspace)/alpine-linux-tracer-home - targetFolder: $(System.DefaultWorkingDirectory)/src/Datadog.Trace.ClrProfiler.Native/bin/$(buildConfiguration)/x64 - - - task: DockerCompose@0 - displayName: docker-compose run build - inputs: - containerregistrytype: Container Registry - dockerComposeCommand: run -e TestAllPackageVersions=true -e buildConfiguration=$(buildConfiguration) -e publishTargetFramework=$(publishTargetFramework) build - - - task: DockerCompose@0 - displayName: docker-compose run IntegrationTests.Alpine.Core21 - condition: eq(variables['publishTargetFramework'], 'netcoreapp2.1') - inputs: - containerregistrytype: Container Registry - dockerComposeCommand: run -e TestAllPackageVersions=true -e buildConfiguration=$(buildConfiguration) IntegrationTests.Alpine.Core21 - - - task: DockerCompose@0 - displayName: docker-compose run IntegrationTests.Alpine.Core30 - condition: eq(variables['publishTargetFramework'], 'netcoreapp3.0') - inputs: - containerregistrytype: Container Registry - dockerComposeCommand: run -e TestAllPackageVersions=true -e buildConfiguration=$(buildConfiguration) IntegrationTests.Alpine.Core30 - - - task: DockerCompose@0 - displayName: docker-compose run IntegrationTests.Alpine.Core31 - condition: eq(variables['publishTargetFramework'], 'netcoreapp3.1') - inputs: - containerregistrytype: Container Registry - dockerComposeCommand: run -e TestAllPackageVersions=true -e buildConfiguration=$(buildConfiguration) IntegrationTests.Alpine.Core31 - - - task: DockerCompose@0 - displayName: docker-compose run IntegrationTests.Alpine.Core50 - condition: eq(variables['publishTargetFramework'], 'net5.0') - inputs: - containerregistrytype: Container Registry - dockerComposeCommand: run -e TestAllPackageVersions=true -e buildConfiguration=$(buildConfiguration) IntegrationTests.Alpine.Core50 - - - publish: build_data - artifact: $(Agent.JobName)_profiler-logs-$(System.JobAttempt) - condition: succeededOrFailed() - - - task: PublishTestResults@2 - displayName: publish test results - inputs: - testResultsFormat: VSTest - testResultsFiles: test/**/*.trx - condition: succeededOrFailed() - -- job: Windows - timeoutInMinutes: 100 - strategy: - matrix: - x64: - buildPlatform: x64 - enable32bit: false - x86: - buildPlatform: x86 - enable32bit: true - pool: - vmImage: windows-2019 - variables: - msiOutputDirectory: src/WindowsInstaller/bin/$(buildConfiguration)/$(buildPlatform)/en-us - - steps: - - task: UseDotNet@2 - displayName: install dotnet core sdk 2.1 - inputs: - packageType: sdk - version: 2.1.x - - - task: UseDotNet@2 - displayName: install dotnet core sdk 3.0 - inputs: - packageType: sdk - version: 3.0.x - - - task: UseDotNet@2 - displayName: install dotnet core sdk 3.1 - inputs: - packageType: sdk - version: 3.1.x - - - task: UseDotNet@2 - displayName: install dotnet core sdk 5 - inputs: - packageType: sdk - version: $(dotnetCoreSdk5Version) - includePreviewVersions: true - - - task: PowerShell@2 - displayName: 'Starting Cosmos Emulator' - inputs: - targetType: 'inline' - workingDirectory: $(Pipeline.Workspace) - script: | - Write-Host "Starting CosmosDB Emulator" - Import-Module "C:/Program Files/Azure Cosmos DB Emulator/PSModules/Microsoft.Azure.CosmosDB.Emulator" - Start-CosmosDbEmulator - - - task: NuGetToolInstaller@1 - displayName: install nuget - - - task: NuGetCommand@2 - displayName: nuget restore - inputs: - restoreSolution: Datadog.Trace.sln - verbosityRestore: Normal - - # this triggers a dependency chain that builds all the managed and native dlls - - task: MSBuild@1 - displayName: msbuild tracer-home - inputs: - solution: Datadog.Trace.proj - platform: $(buildPlatform) - configuration: $(buildConfiguration) - msbuildArguments: /t:msi /p:RunWixToolsOutOfProc=true /p:TracerHomeDirectory=$(publishOutput) - maximumCpuCount: true - - - task: MSBuild@1 - displayName: Build .NET Framework projects (not SDK-based projects) - inputs: - solution: Datadog.Trace.proj - platform: $(buildPlatform) - configuration: $(buildConfiguration) - msbuildArguments: /t:BuildFrameworkReproductions - maximumCpuCount: true - - - task: DotNetCoreCLI@2 - displayName: dotnet build integration tests - inputs: - command: build - projects: | - test/test-applications/regression/**/*.csproj - test/*.IntegrationTests/*.IntegrationTests.csproj - !test/test-applications/regression/**/ExpenseItDemo*.csproj - !test/test-applications/regression/**/EntityFramework6x*.csproj - !test/test-applications/regression/**/StackExchange.Redis.AssemblyConflict.LegacyProject.csproj - arguments: --configuration $(buildConfiguration) -p:Platform=$(buildPlatform) -p:ManagedProfilerOutputDirectory=$(publishOutput) /nowarn:netsdk1138 - - - task: DotNetCoreCLI@2 - displayName: dotnet build samples - inputs: - command: build - projects: | - test/test-applications/integrations/**/*.csproj - !test/test-applications/integrations/dependency-libs/**/*.csproj - arguments: --configuration $(buildConfiguration) -p:Platform=$(buildPlatform) -p:ManagedProfilerOutputDirectory=$(publishOutput) -p:BuildInParallel=false /nowarn:netsdk1138 -p:ExcludeManagedProfiler=true -p:ExcludeNativeProfiler=true -p:LoadManagedProfilerFromProfilerDirectory=false - - - task: DotNetCoreCLI@2 - displayName: dotnet test - inputs: - command: test - projects: | - test/Datadog.Trace.IntegrationTests/Datadog.Trace.IntegrationTests.csproj - test/Datadog.Trace.OpenTracing.IntegrationTests/Datadog.Trace.OpenTracing.IntegrationTests.csproj - arguments: -c $(buildConfiguration) -p:Platform=$(buildPlatform) - - - task: DotNetCoreCLI@2 - displayName: dotnet test - inputs: - command: test - projects: test/Datadog.Trace.ClrProfiler.IntegrationTests/Datadog.Trace.ClrProfiler.IntegrationTests.csproj - arguments: -c $(buildConfiguration) --filter "(RunOnWindows=True|Category=Smoke)&LoadFromGAC!=True&IIS!=True" -p:Platform=$(buildPlatform) - - - task: DockerCompose@0 - displayName: docker-compose stop services - inputs: - containerregistrytype: Container Registry - dockerComposeCommand: down - condition: succeededOrFailed() - -- job: Windows_IIS - timeoutInMinutes: 100 - strategy: - matrix: - x64: - buildPlatform: x64 - enable32bit: false - x86: - buildPlatform: x86 - enable32bit: true - pool: - vmImage: windows-2019 - variables: - msiOutputDirectory: src/WindowsInstaller/bin/$(buildConfiguration)/$(buildPlatform)/en-us - - steps: - - task: UseDotNet@2 - displayName: install dotnet core runtime 2.1 - inputs: - packageType: runtime - version: 2.1.x - - - task: UseDotNet@2 - displayName: install dotnet core runtime 3.0 - inputs: - packageType: runtime - version: 3.0.x - - - task: UseDotNet@2 - displayName: install dotnet core runtime 3.1 - inputs: - packageType: runtime - version: 3.1.x - - - task: UseDotNet@2 - displayName: install dotnet core sdk 5 - inputs: - packageType: sdk - version: $(dotnetCoreSdk5Version) - includePreviewVersions: true - - - task: NuGetToolInstaller@1 - displayName: install nuget - - - task: NuGetCommand@2 - displayName: nuget restore - inputs: - restoreSolution: Datadog.Trace.sln - verbosityRestore: Normal - - # this triggers a dependency chain that builds all the managed and native dlls - - task: MSBuild@1 - displayName: msbuild tracer-home - inputs: - solution: Datadog.Trace.proj - platform: $(buildPlatform) - configuration: $(buildConfiguration) - msbuildArguments: /t:msi /p:RunWixToolsOutOfProc=true /p:TracerHomeDirectory=$(publishOutput) - maximumCpuCount: true - - - task: MSBuild@1 - displayName: Build .NET Framework projects (not SDK-based projects) - inputs: - solution: Datadog.Trace.proj - platform: $(buildPlatform) - configuration: $(buildConfiguration) - msbuildArguments: /t:BuildFrameworkReproductions - maximumCpuCount: true - - - task: DotNetCoreCLI@2 - displayName: dotnet build integration tests - inputs: - command: build - projects: | - test/test-applications/regression/**/*.csproj - test/*.IntegrationTests/*.IntegrationTests.csproj - !test/test-applications/regression/**/ExpenseItDemo*.csproj - !test/test-applications/regression/**/EntityFramework6x*.csproj - !test/test-applications/regression/**/StackExchange.Redis.AssemblyConflict.LegacyProject.csproj - arguments: --configuration $(buildConfiguration) -p:Platform=$(buildPlatform) -p:ManagedProfilerOutputDirectory=$(publishOutput) /nowarn:netsdk1138 - - - task: DotNetCoreCLI@2 - displayName: dotnet build samples - inputs: - command: build - projects: | - test/test-applications/integrations/**/*.csproj - !test/test-applications/integrations/dependency-libs/**/*.csproj - arguments: --configuration $(buildConfiguration) -p:Platform=$(buildPlatform) -p:ManagedProfilerOutputDirectory=$(publishOutput) -p:BuildInParallel=false /nowarn:netsdk1138 -p:ExcludeManagedProfiler=true -p:ExcludeNativeProfiler=true -p:LoadManagedProfilerFromProfilerDirectory=false - - - task: NuGetCommand@2 - displayName: nuget restore IIS samples - inputs: - restoreSolution: test/test-applications/aspnet/samples-iis.sln - verbosityRestore: Normal - - - task: MSBuild@1 - displayName: Publish IIS samples - inputs: - solution: test/test-applications/aspnet/samples-iis.sln - configuration: '$(buildConfiguration)' - msbuildArguments: '/p:DeployOnBuild=true /p:PublishProfile=$(System.DefaultWorkingDirectory)/test/test-applications/aspnet/PublishProfiles/FolderProfile.pubxml' - maximumCpuCount: true - - - task: DockerCompose@0 - displayName: docker-compose build IIS containers - inputs: - containerregistrytype: Container Registry - dockerComposeCommand: build --build-arg DOTNET_TRACER_MSI=$(msiOutputDirectory)/*.msi --build-arg ENABLE_32_BIT=$(enable32bit) IntegrationTests.IIS.LoaderOptimizationRegKey - - - task: DockerCompose@0 - displayName: docker-compose start IIS containers - inputs: - containerregistrytype: Container Registry - dockerComposeCommand: up -d IntegrationTests.IIS.LoaderOptimizationRegKey - - - powershell: | - [System.Reflection.Assembly]::Load("System.EnterpriseServices, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a") - $publish = New-Object System.EnterpriseServices.Internal.Publish - Get-ChildItem $(publishOutput)/net45 -Filter *.dll | Foreach-Object { $publish.GacInstall($_.FullName) } - displayName: Add net45 Datadog.Trace.ClrProfiler.Managed assets to the GAC - - - task: DotNetCoreCLI@2 - displayName: dotnet test --filter LoadFromGAC=True - inputs: - command: test - projects: test/Datadog.Trace.ClrProfiler.IntegrationTests/Datadog.Trace.ClrProfiler.IntegrationTests.csproj - arguments: -c $(buildConfiguration) --filter "(RunOnWindows=True|Category=Smoke)&LoadFromGAC=True" -p:Platform=$(buildPlatform) - - - task: DockerCompose@0 - displayName: docker-compose stop services - inputs: - containerregistrytype: Container Registry - dockerComposeCommand: down - condition: succeededOrFailed() - -- job: build_linux_profiler_arm64 - pool: Arm64 - workspace: - clean: all - - steps: - - - task: DotNetCoreCLI@2 - displayName: dotnet build Datadog.Trace.ClrProfiler.Managed.Loader - inputs: - command: build - projects: src/Datadog.Trace.ClrProfiler.Managed.Loader/Datadog.Trace.ClrProfiler.Managed.Loader.csproj - arguments: --configuration $(buildConfiguration) /nowarn:netsdk1138 - - - task: DotNetCoreCLI@2 - displayName: dotnet publish Datadog.Trace.ClrProfiler.Managed 2.0 - inputs: - command: publish - publishWebProjects: false - modifyOutputPath: false - zipAfterPublish: false - projects: src/Datadog.Trace.ClrProfiler.Managed/Datadog.Trace.ClrProfiler.Managed.csproj - arguments: --configuration $(buildConfiguration) --framework netstandard2.0 --output $(publishOutput)/netstandard2.0 - - - task: DotNetCoreCLI@2 - displayName: dotnet publish Datadog.Trace.ClrProfiler.Managed 3.1 - inputs: - command: publish - publishWebProjects: false - modifyOutputPath: false - zipAfterPublish: false - projects: src/Datadog.Trace.ClrProfiler.Managed/Datadog.Trace.ClrProfiler.Managed.csproj - arguments: --configuration $(buildConfiguration) --framework netcoreapp3.1 --output $(publishOutput)/netcoreapp3.1 - - - task: DockerCompose@0 - displayName: docker-compose run Profiler - inputs: - containerregistrytype: Container Registry - dockerComposeCommand: run -e buildConfiguration=$(buildConfiguration) Profiler - - - publish: $(System.DefaultWorkingDirectory)/src/Datadog.Trace.ClrProfiler.Native/bin/$(buildConfiguration)/x64 - artifact: linux-tracer-home_arm - -- job: Linux_arm64 - pool: Arm64 - workspace: - clean: all - - dependsOn: build_linux_profiler_arm64 - condition: succeeded() - - variables: - TestAllPackageVersions: true - - steps: - - download: current - artifact: linux-tracer-home_arm - - - task: CopyFiles@2 - inputs: - sourceFolder: $(Pipeline.Workspace)/linux-tracer-home_arm - targetFolder: $(System.DefaultWorkingDirectory)/src/Datadog.Trace.ClrProfiler.Native/bin/$(buildConfiguration)/arm64 - - - task: DockerCompose@0 - displayName: docker-compose run build.arm64 - inputs: - containerregistrytype: Container Registry - dockerComposeCommand: run -e TestAllPackageVersions=true -e buildConfiguration=$(buildConfiguration) -e publishTargetFramework=net5.0 build.arm64 - - - task: DockerCompose@0 - displayName: docker-compose run IntegrationTests.ARM64.Core50 - inputs: - containerregistrytype: Container Registry - dockerComposeCommand: run -e TestAllPackageVersions=true -e buildConfiguration=$(buildConfiguration) IntegrationTests.ARM64.Core50 - - - publish: build_data - artifact: $(Agent.JobName)_profiler-logs-$(System.JobAttempt) - condition: succeededOrFailed() - - - task: PublishTestResults@2 - displayName: publish test results - inputs: - testResultsFormat: VSTest - testResultsFiles: test/**/*.trx - condition: succeededOrFailed() diff --git a/.azure-pipelines/packages.yml b/.azure-pipelines/packages.yml deleted file mode 100644 index 61678bd97d06..000000000000 --- a/.azure-pipelines/packages.yml +++ /dev/null @@ -1,319 +0,0 @@ -trigger: none -pr: none - -variables: - buildConfiguration: release - dotnetCoreSdkVersion: 5.0.103 - publishOutput: $(Build.SourcesDirectory)/src/bin/managed-publish - -stages: -- stage: build - jobs: - - #### Windows and NuGet packages - - - job: windows_packages_and_nuget - pool: - vmImage: windows-2019 - variables: - tracerHomeName: windows-tracer-home - tracerHome: $(System.DefaultWorkingDirectory)/src/bin/$(tracerHomeName) - msiHome: $(System.DefaultWorkingDirectory)/src/bin/msi - nuget_packages: $(Pipeline.Workspace)/.nuget/packages - - steps: - - - task: UseDotNet@2 - displayName: install dotnet core sdk 5.0 - inputs: - packageType: sdk - version: $(dotnetCoreSdkVersion) - - - task: NuGetToolInstaller@1 - displayName: install nuget - - - task: DotNetCoreCLI@2 - displayName: dotnet restore - inputs: - command: restore - projects: src/**/*.csproj - - # native projects must be restored with nuget.exe - - task: NuGetCommand@2 - displayName: nuget restore native - inputs: - restoreSolution: Datadog.Trace.Native.sln - verbosityRestore: Normal - - # this triggers a dependency chain that builds all the managed, x64, and x86 dlls, and the zip and msi files - - task: MSBuild@1 - displayName: build both msi - inputs: - solution: Datadog.Trace.proj - configuration: $(buildConfiguration) - msbuildArguments: /t:msi /p:Platform=All;ZipHomeDirectory=true;TracerHomeDirectory=$(tracerHome);RunWixToolsOutOfProc=true;MsiOutputPath=$(msiHome) - maximumCpuCount: true - - - publish: $(msiHome)/en-us - artifact: windows-msi - - - publish: $(tracerHome).zip - artifact: $(tracerHomeName) - - - task: DotNetCoreCLI@2 - displayName: dotnet pack - inputs: - command: pack - packagesToPack: src/Datadog.Trace/Datadog.Trace.csproj;src/Datadog.Trace.OpenTracing/Datadog.Trace.OpenTracing.csproj - packDirectory: $(System.DefaultWorkingDirectory)/nuget-output - configuration: $(buildConfiguration) - - - publish: $(System.DefaultWorkingDirectory)/nuget-output - artifact: nuget-packages - - #### Linux packages - - - job: linux_packages - pool: - vmImage: ubuntu-18.04 - variables: - tracerHome: $(System.DefaultWorkingDirectory)/src/bin/managed-publish - - steps: - - task: UseDotNet@2 - displayName: install dotnet core sdk - inputs: - version: $(dotnetCoreSdkVersion) - - - task: DotNetCoreCLI@2 - displayName: dotnet build Datadog.Trace.ClrProfiler.Managed.Loader - inputs: - command: build - projects: src/Datadog.Trace.ClrProfiler.Managed.Loader/Datadog.Trace.ClrProfiler.Managed.Loader.csproj - arguments: --configuration $(buildConfiguration) - - - task: DotNetCoreCLI@2 - displayName: dotnet publish Datadog.Trace.ClrProfiler.Managed netstandard 2.0 - inputs: - command: publish - publishWebProjects: false - modifyOutputPath: false - zipAfterPublish: false - projects: src/Datadog.Trace.ClrProfiler.Managed/Datadog.Trace.ClrProfiler.Managed.csproj - arguments: --configuration $(buildConfiguration) --framework netstandard2.0 --output $(tracerHome)/netstandard2.0 - - - task: DotNetCoreCLI@2 - displayName: dotnet publish Datadog.Trace.ClrProfiler.Managed netcoreapp 3.1 - inputs: - command: publish - publishWebProjects: false - modifyOutputPath: false - zipAfterPublish: false - projects: src/Datadog.Trace.ClrProfiler.Managed/Datadog.Trace.ClrProfiler.Managed.csproj - arguments: --configuration $(buildConfiguration) --framework netcoreapp3.1 --output $(tracerHome)/netcoreapp3.1 - - - task: DockerCompose@0 - displayName: docker-compose run Profiler - inputs: - containerregistrytype: Container Registry - dockerComposeCommand: run -e buildConfiguration=$(buildConfiguration) Profiler - - - task: DockerCompose@0 - displayName: docker-compose run package - inputs: - containerregistrytype: Container Registry - dockerComposeCommand: run -e buildConfiguration=$(buildConfiguration) -e ARCHITECTURE=x64 package - - - publish: deploy/linux - artifact: linux-packages - - - job: linux_alpine_packages - pool: - vmImage: ubuntu-18.04 - variables: - tracerHome: $(System.DefaultWorkingDirectory)/src/bin/managed-publish - - steps: - - task: UseDotNet@2 - displayName: install dotnet core sdk - inputs: - version: $(dotnetCoreSdkVersion) - - - task: DotNetCoreCLI@2 - displayName: dotnet build Datadog.Trace.ClrProfiler.Managed.Loader - inputs: - command: build - projects: src/Datadog.Trace.ClrProfiler.Managed.Loader/Datadog.Trace.ClrProfiler.Managed.Loader.csproj - arguments: --configuration $(buildConfiguration) - - - task: DotNetCoreCLI@2 - displayName: dotnet publish Datadog.Trace.ClrProfiler.Managed 2.0 - inputs: - command: publish - publishWebProjects: false - modifyOutputPath: false - zipAfterPublish: false - projects: src/Datadog.Trace.ClrProfiler.Managed/Datadog.Trace.ClrProfiler.Managed.csproj - arguments: --configuration $(buildConfiguration) --framework netstandard2.0 --output $(tracerHome)/netstandard2.0 - - - task: DotNetCoreCLI@2 - displayName: dotnet publish Datadog.Trace.ClrProfiler.Managed 3.1 - inputs: - command: publish - publishWebProjects: false - modifyOutputPath: false - zipAfterPublish: false - projects: src/Datadog.Trace.ClrProfiler.Managed/Datadog.Trace.ClrProfiler.Managed.csproj - arguments: --configuration $(buildConfiguration) --framework netcoreapp3.1 --output $(tracerHome)/netcoreapp3.1 - - - task: DockerCompose@0 - displayName: docker-compose run Profiler.Alpine - inputs: - containerregistrytype: Container Registry - dockerComposeCommand: run -e buildConfiguration=$(buildConfiguration) Profiler.Alpine - - - task: DockerCompose@0 - displayName: docker-compose run package.alpine - inputs: - containerregistrytype: Container Registry - dockerComposeCommand: run -e buildConfiguration=$(buildConfiguration) package.alpine - - - publish: deploy/linux - artifact: linux-alpine-packages - - - job: linux_arm64_packages - pool: Arm64 - workspace: - clean: all - variables: - tracerHome: $(System.DefaultWorkingDirectory)/src/bin/managed-publish - - steps: - - - task: DotNetCoreCLI@2 - displayName: dotnet build Datadog.Trace.ClrProfiler.Managed.Loader - inputs: - command: build - projects: src/Datadog.Trace.ClrProfiler.Managed.Loader/Datadog.Trace.ClrProfiler.Managed.Loader.csproj - arguments: --configuration $(buildConfiguration) /nowarn:netsdk1138 - - - task: DotNetCoreCLI@2 - displayName: dotnet publish Datadog.Trace.ClrProfiler.Managed netstandard 2.0 - inputs: - command: publish - publishWebProjects: false - modifyOutputPath: false - zipAfterPublish: false - projects: src/Datadog.Trace.ClrProfiler.Managed/Datadog.Trace.ClrProfiler.Managed.csproj - arguments: --configuration $(buildConfiguration) --framework netstandard2.0 --output $(tracerHome)/netstandard2.0 - - - task: DotNetCoreCLI@2 - displayName: dotnet publish Datadog.Trace.ClrProfiler.Managed netcoreapp 3.1 - inputs: - command: publish - publishWebProjects: false - modifyOutputPath: false - zipAfterPublish: false - projects: src/Datadog.Trace.ClrProfiler.Managed/Datadog.Trace.ClrProfiler.Managed.csproj - arguments: --configuration $(buildConfiguration) --framework netcoreapp3.1 --output $(tracerHome)/netcoreapp3.1 - - - task: DockerCompose@0 - displayName: docker-compose run Profiler - inputs: - containerregistrytype: Container Registry - dockerComposeCommand: run -e buildConfiguration=$(buildConfiguration) Profiler - - - task: DockerCompose@0 - displayName: docker-compose run package - inputs: - containerregistrytype: Container Registry - dockerComposeCommand: run -e buildConfiguration=$(buildConfiguration) -e ARCHITECTURE=arm64 package - - - publish: deploy/linux - artifact: linux-arm64-packages - - #### Upload artifacts to S3 - -- stage: upload - jobs: - - job: s3_upload - - pool: - vmImage: ubuntu-18.04 - - steps: - - download: current - artifact: windows-msi - patterns: '**/*x64.msi' - - - download: current - artifact: linux-packages - patterns: '**/*amd64.deb' - - - script: | - mkdir s3_upload - mv $(Pipeline.Workspace)/windows-msi/*.msi s3_upload/ - mv $(Pipeline.Workspace)/linux-packages/*.deb s3_upload/ - displayName: Move deb package and MSI to s3_upload folder - - # for prerelease versions, rename datadog-dotnet-apm-{version}-amd64.deb - # to datadog-dotnet-apm-{version}-{tag}-amd64.deb (i.e. add the prerelease tag) - # by copying most of the filename from datadog-dotnet-apm-{version}-{tag}-x64.msi - - script: | - MSI_NAME=$(ls s3_upload/*.msi) - PACKAGE_NAME=${MSI_NAME::-8} - echo Renaming deb package to $PACKAGE_NAME-amd64.deb - mv s3_upload/*.deb $PACKAGE_NAME-amd64.deb - displayName: Rename deb package name to match MSI name - - # Create index.txt file with the following format: - # BRANCH_NAME - # SHA - # ARTIFACT WILDCARD (datadog-dotnet-apm-vX.X.X-*) - # COMMIT AUTHOR - # Note: For the branch name, normalize 'refs/heads/' to '' and 'refs/tags/' to 'tags/' - - script: | - INDEX_FILE=$(pwd)/s3_upload/index.txt - echo $(Build.SourceBranch) | sed 's/refs\/heads\///g' | sed 's/refs\/tags\//tags\//g' >> $INDEX_FILE - git rev-parse HEAD >> $INDEX_FILE - pushd s3_upload && name=$(ls *.deb) && echo "${name::-9}*" >> $INDEX_FILE && popd - git show -s --format='%ae' HEAD >> $INDEX_FILE - echo Generated index.txt file: - cat $INDEX_FILE - displayName: Write index.txt - - - script: | - sudo apt-get install -y unzip python3-setuptools - curl "https://s3.amazonaws.com/aws-cli/awscli-bundle.zip" -o "awscli-bundle.zip" - unzip awscli-bundle.zip - sudo python3 ./awscli-bundle/install -i /usr/local/aws -b /usr/local/bin/aws - aws --version - displayName: Install AWS CLI - - - script: aws configure set aws_access_key_id $SECRET - displayName: Authenticate aws_access_key_id - env: - SECRET: $(AWS_ACCESS_KEY_ID) - - - script: aws configure set aws_secret_access_key $SECRET - displayName: Authenticate aws_secret_access_key - env: - SECRET: $(AWS_SECRET_ACCESS_KEY) - - # by default, run this step on master branch only. - # use "push_artifacts_to_s3" to override: - # "true": run this step - # "false": do NOT run this step - # else: run this stage if branch is master - - - script: aws s3 cp s3_upload s3://datadog-reliability-env/dotnet/ --recursive - displayName: Upload deb, MSI, index.txt to s3 - condition: > - and( - succeeded(), - ne(variables['push_artifacts_to_s3'], 'false'), - or( - eq(variables['push_artifacts_to_s3'], 'true'), - eq(variables['Build.SourceBranch'], 'refs/heads/master') - ) - ) diff --git a/.azure-pipelines/runner.yml b/.azure-pipelines/runner.yml deleted file mode 100644 index 72a96515527c..000000000000 --- a/.azure-pipelines/runner.yml +++ /dev/null @@ -1,301 +0,0 @@ -trigger: none -pr: none - -variables: - publishOutput: $(System.DefaultWorkingDirectory)/src/bin/managed-publish - dotnetCoreSdk5Version: 5.0.103 - ddApiKey: $(DD_API_KEY) - DD_DOTNET_TRACER_MSBUILD: - -# Declare the datadog agent as a resource to be used as a pipeline service -resources: - containers: - - container: dd_agent - image: datadog/agent - ports: - - 8126:8126 - env: - DD_API_KEY: $(ddApiKey) - DD_INSIDE_CI: true - -jobs: - -- job: build_linux_profiler - - steps: - - task: UseDotNet@2 - displayName: install dotnet core sdk 5.0 - inputs: - packageType: sdk - version: $(dotnetCoreSdk5Version) - includePreviewVersions: true - - - task: DotNetCoreCLI@2 - displayName: dotnet build Datadog.Trace.ClrProfiler.Managed.Loader - inputs: - command: build - projects: src/Datadog.Trace.ClrProfiler.Managed.Loader/Datadog.Trace.ClrProfiler.Managed.Loader.csproj - arguments: --configuration Release - - - task: DotNetCoreCLI@2 - displayName: dotnet publish Datadog.Trace.ClrProfiler.Managed 2.0 - inputs: - command: publish - publishWebProjects: false - modifyOutputPath: false - zipAfterPublish: false - projects: src/Datadog.Trace.ClrProfiler.Managed/Datadog.Trace.ClrProfiler.Managed.csproj - arguments: --configuration Release --framework netstandard2.0 --output $(publishOutput)/netstandard2.0 - - - task: DotNetCoreCLI@2 - displayName: dotnet publish Datadog.Trace.ClrProfiler.Managed 3.1 - inputs: - command: publish - publishWebProjects: false - modifyOutputPath: false - zipAfterPublish: false - projects: src/Datadog.Trace.ClrProfiler.Managed/Datadog.Trace.ClrProfiler.Managed.csproj - arguments: --configuration Release --framework netcoreapp3.1 --output $(publishOutput)/netcoreapp3.1 - - - task: DockerCompose@0 - displayName: docker-compose run Profiler - inputs: - containerregistrytype: Container Registry - dockerComposeCommand: run -e buildConfiguration=Release Profiler - - - publish: $(System.DefaultWorkingDirectory)/src/Datadog.Trace.ClrProfiler.Native/bin/Release/x64 - displayName: Uploading linux tracer home artifact - artifact: linux-tracer-home - -- job: build_linux_profiler_arm64 - pool: Arm64 - workspace: - clean: all - - steps: - - - task: DotNetCoreCLI@2 - displayName: dotnet build Datadog.Trace.ClrProfiler.Managed.Loader - inputs: - command: build - projects: src/Datadog.Trace.ClrProfiler.Managed.Loader/Datadog.Trace.ClrProfiler.Managed.Loader.csproj - arguments: --configuration Release - - - task: DotNetCoreCLI@2 - displayName: dotnet publish Datadog.Trace.ClrProfiler.Managed 2.0 - inputs: - command: publish - publishWebProjects: false - modifyOutputPath: false - zipAfterPublish: false - projects: src/Datadog.Trace.ClrProfiler.Managed/Datadog.Trace.ClrProfiler.Managed.csproj - arguments: --configuration Release --framework netstandard2.0 --output $(publishOutput)/netstandard2.0 - - - task: DotNetCoreCLI@2 - displayName: dotnet publish Datadog.Trace.ClrProfiler.Managed 3.1 - inputs: - command: publish - publishWebProjects: false - modifyOutputPath: false - zipAfterPublish: false - projects: src/Datadog.Trace.ClrProfiler.Managed/Datadog.Trace.ClrProfiler.Managed.csproj - arguments: --configuration Release --framework netcoreapp3.1 --output $(publishOutput)/netcoreapp3.1 - - - task: DockerCompose@0 - displayName: docker-compose run Profiler - inputs: - containerregistrytype: Container Registry - dockerComposeCommand: run -e buildConfiguration=Release Profiler - - - publish: $(System.DefaultWorkingDirectory)/src/Datadog.Trace.ClrProfiler.Native/bin/Release/x64 - artifact: linux-tracer-home_arm64 - -- job: macos_profiler - pool: - vmImage: macOS-10.15 - steps: - - template: steps/downgrade-macos-cmake.yml - - - task: UseDotNet@2 - displayName: install dotnet core runtime 3.1 - inputs: - packageType: runtime - version: 3.1.x - - - task: UseDotNet@2 - displayName: install dotnet core sdk 5.0 - inputs: - packageType: sdk - version: $(dotnetCoreSdk5Version) - - - task: DotNetCoreCLI@2 - displayName: dotnet build - inputs: - command: build - configuration: Release - arguments: /nowarn:netsdk1138 - projects: | - src/Datadog.Trace.ClrProfiler.Managed.Loader/Datadog.Trace.ClrProfiler.Managed.Loader.csproj - - - script: | - cd ./src/Datadog.Trace.ClrProfiler.Native - cmake . -DCMAKE_BUILD_TYPE=Release - make - displayName: build_profiler - - - publish: $(System.DefaultWorkingDirectory)/src/Datadog.Trace.ClrProfiler.Native/bin - displayName: Uploading macos profiler artifact - artifact: macos-profiler - -- job: build_runner_tool_and_standalone - dependsOn: - - build_linux_profiler - - build_linux_profiler_arm64 - - macos_profiler - condition: succeeded() - - pool: - vmImage: windows-2019 - - # Enable the Datadog Agent service for this job - services: - dd_agent: dd_agent - - steps: - - download: current - artifact: linux-tracer-home - patterns: '**/*.so' - - - task: CopyFiles@2 - displayName: Copying native linux binary from previous job - inputs: - sourceFolder: $(Pipeline.Workspace)/linux-tracer-home - targetFolder: $(System.DefaultWorkingDirectory)/src/Datadog.Trace.Tools.Runner/home/linux-x64 - - - download: current - artifact: linux-tracer-home_arm64 - patterns: '**/*.so' - - - task: CopyFiles@2 - displayName: Copying native linux arm64 binary from previous job - inputs: - sourceFolder: $(Pipeline.Workspace)/linux-tracer-home_arm64 - targetFolder: $(System.DefaultWorkingDirectory)/src/Datadog.Trace.Tools.Runner/home/linux-arm64 - - - download: current - artifact: macos-profiler - patterns: '**/*.dylib' - - - task: CopyFiles@2 - displayName: Copying native macos binary from previous job - inputs: - sourceFolder: $(Pipeline.Workspace)/macos-profiler - targetFolder: $(System.DefaultWorkingDirectory)/src/Datadog.Trace.Tools.Runner/home/osx-x64 - - # Install the tracer latest stable release to attach the profiler to the build and test steps. - # The script exposes the required environment variables to the following steps - - task: PowerShell@2 - displayName: Install profiler latest release - inputs: - filePath: ./.azure-pipelines/setup_tracer.ps1 - - - task: UseDotNet@2 - displayName: install dotnet core runtime 2.1 - inputs: - packageType: runtime - version: 2.1.x - - - task: UseDotNet@2 - displayName: install dotnet core runtime 3.0 - inputs: - packageType: runtime - version: 3.0.x - - - task: UseDotNet@2 - displayName: install dotnet core runtime 3.1 - inputs: - packageType: runtime - version: 3.1.x - - - task: UseDotNet@2 - displayName: install dotnet core sdk 5.0 - inputs: - packageType: sdk - version: $(dotnetCoreSdk5Version) - includePreviewVersions: true - - - task: DotNetCoreCLI@2 - displayName: dotnet build - inputs: - command: build - configuration: Release - arguments: -l:DatadogLogger,"$(DD_DOTNET_TRACER_MSBUILD)" - projects: | - src/**/*.csproj - test/**/*.Tests.csproj - benchmarks/**/*.csproj - !src/Datadog.Trace.Tools.Runner/*.csproj - env: - DD_SERVICE: dd-trace-dotnet - - - task: NuGetToolInstaller@1 - displayName: install nuget - - - task: NuGetCommand@2 - displayName: nuget restore - inputs: - restoreSolution: Datadog.Trace.Native.sln - verbosityRestore: Normal - - - task: MSBuild@1 - displayName: tool build - inputs: - solution: src/Datadog.Trace.Tools.Runner/Datadog.Trace.Tools.Runner.proj - msbuildArguments: /t:BuildTool /l:DatadogLogger,"$(DD_DOTNET_TRACER_MSBUILD)" - maximumCpuCount: true - env: - DD_SERVICE: dd-trace-dotnet-runner-tool - - - task: MSBuild@1 - displayName: standalone build - inputs: - solution: src/Datadog.Trace.Tools.Runner/Datadog.Trace.Tools.Runner.proj - msbuildArguments: /t:BuildStandalone /l:DatadogLogger,"$(DD_DOTNET_TRACER_MSBUILD)" - maximumCpuCount: true - env: - DD_SERVICE: dd-trace-dotnet-runner-tool - - - task: DeleteFiles@1 - displayName: 'Remove unneeded files' - inputs: - Contents: | - $(System.DefaultWorkingDirectory)/src/Datadog.Trace.Tools.Runner/bin/Release/Tool/!(*.nupkg) - $(System.DefaultWorkingDirectory)/src/Datadog.Trace.Tools.Runner/bin/Release/Console/publish/win-x64/home* - $(System.DefaultWorkingDirectory)/src/Datadog.Trace.Tools.Runner/bin/Release/Console/publish/win-x86/home* - $(System.DefaultWorkingDirectory)/src/Datadog.Trace.Tools.Runner/bin/Release/Console/publish/linux-x64/home* - $(System.DefaultWorkingDirectory)/src/Datadog.Trace.Tools.Runner/bin/Release/Console/publish/linux-arm64/home* - $(System.DefaultWorkingDirectory)/src/Datadog.Trace.Tools.Runner/bin/Release/Console/publish/osx-x64/home* - - - publish: $(System.DefaultWorkingDirectory)/src/Datadog.Trace.Tools.Runner/bin/Release/Tool - displayName: Uploading runner dotnet tool artifact - artifact: runner-dotnet-tool - - - publish: $(System.DefaultWorkingDirectory)/src/Datadog.Trace.Tools.Runner/bin/Release/Console/publish/win-x64 - displayName: Uploading runner standalone win-x64 artifact - artifact: runner-standalone-win-x64 - - - publish: $(System.DefaultWorkingDirectory)/src/Datadog.Trace.Tools.Runner/bin/Release/Console/publish/win-x86 - displayName: Uploading runner standalone win-x86 artifact - artifact: runner-standalone-win-x86 - - - publish: $(System.DefaultWorkingDirectory)/src/Datadog.Trace.Tools.Runner/bin/Release/Console/publish/linux-x64 - displayName: Uploading runner standalone linux-x64 artifact - artifact: runner-standalone-linux-x64 - - - publish: $(System.DefaultWorkingDirectory)/src/Datadog.Trace.Tools.Runner/bin/Release/Console/publish/linux-arm64 - displayName: Uploading runner standalone linux-arm64 artifact - artifact: runner-standalone-linux-arm64 - - - publish: $(System.DefaultWorkingDirectory)/src/Datadog.Trace.Tools.Runner/bin/Release/Console/publish/osx-x64 - displayName: Uploading runner standalone osx-x64 artifact - artifact: runner-standalone-osx-x64 \ No newline at end of file diff --git a/.azure-pipelines/ultimate-pipeline.yml b/.azure-pipelines/ultimate-pipeline.yml index 8865ed8ed36d..b9c0a3c4745b 100644 --- a/.azure-pipelines/ultimate-pipeline.yml +++ b/.azure-pipelines/ultimate-pipeline.yml @@ -400,13 +400,13 @@ stages: displayName: docker-compose build IIS containers inputs: containerregistrytype: Container Registry - dockerComposeCommand: build --build-arg dotnet_tracer_msi=.$(relativeMsiOutputDirectory)/*.msi --build-arg ENABLE_32_BIT=$(enable32bit) IntegrationTests.IIS.LoaderOptimizationRegKey + dockerComposeCommand: build --build-arg dotnet_tracer_msi=.$(relativeMsiOutputDirectory)/*.msi --build-arg ENABLE_32_BIT=$(enable32bit) IntegrationTests.IIS - task: DockerCompose@0 displayName: docker-compose start IIS containers inputs: containerregistrytype: Container Registry - dockerComposeCommand: up -d IntegrationTests.IIS.LoaderOptimizationRegKey + dockerComposeCommand: up -d IntegrationTests.IIS - powershell: | [System.Reflection.Assembly]::Load("System.EnterpriseServices, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a") @@ -491,10 +491,10 @@ stages: command: "BuildLinuxIntegrationTests --framework $(publishTargetFramework)" - task: DockerCompose@0 - displayName: docker-compose build NukeIntegrationTests + displayName: docker-compose build IntegrationTests inputs: containerregistrytype: Container Registry - dockerComposeCommand: build --build-arg baseImage=$(baseImage) --build-arg framework=$(publishTargetFramework) NukeIntegrationTests + dockerComposeCommand: build --build-arg baseImage=$(baseImage) --build-arg framework=$(publishTargetFramework) IntegrationTests - task: DockerCompose@0 displayName: docker-compose start dependencies @@ -503,13 +503,13 @@ stages: dockerComposeCommand: run --rm StartDependencies - task: DockerCompose@0 - displayName: docker-compose run NukeIntegrationTests + displayName: docker-compose run IntegrationTests inputs: containerregistrytype: Container Registry dockerComposeFileArgs: | baseImage=$(baseImage) framework=$(publishTargetFramework) - dockerComposeCommand: run --rm -e baseImage=$(baseImage) -e framework=$(publishTargetFramework) NukeIntegrationTests + dockerComposeCommand: run --rm -e baseImage=$(baseImage) -e framework=$(publishTargetFramework) IntegrationTests - task: DockerCompose@0 displayName: docker-compose stop services @@ -564,10 +564,10 @@ stages: command: "BuildLinuxIntegrationTests --framework $(publishTargetFramework)" - task: DockerCompose@0 - displayName: docker-compose build NukeIntegrationTests + displayName: docker-compose build IntegrationTests inputs: containerregistrytype: Container Registry - dockerComposeCommand: build --build-arg baseImage=$(baseImage) --build-arg framework=$(publishTargetFramework) NukeIntegrationTests.ARM64 + dockerComposeCommand: build --build-arg baseImage=$(baseImage) --build-arg framework=$(publishTargetFramework) IntegrationTests.ARM64 - task: DockerCompose@0 displayName: docker-compose start dependencies @@ -576,13 +576,13 @@ stages: dockerComposeCommand: run --rm StartDependencies.ARM64 - task: DockerCompose@0 - displayName: docker-compose run NukeIntegrationTests + displayName: docker-compose run IntegrationTests inputs: containerregistrytype: Container Registry dockerComposeFileArgs: | baseImage=$(baseImage) framework=$(publishTargetFramework) - dockerComposeCommand: run --rm -e baseImage=$(baseImage) -e framework=$(publishTargetFramework) NukeIntegrationTests.ARM64 + dockerComposeCommand: run --rm -e baseImage=$(baseImage) -e framework=$(publishTargetFramework) IntegrationTests.ARM64 - task: DockerCompose@0 displayName: docker-compose stop services @@ -891,7 +891,7 @@ stages: - publish: "$(Build.ArtifactStagingDirectory)" displayName: Publish release artifacts artifact: $(tracer_version)-release-artifacts - + # We don't include the MSI artifacts as they're not signed - stage: throughput diff --git a/.azure-pipelines/unit-tests.yml b/.azure-pipelines/unit-tests.yml deleted file mode 100644 index 2374b2f166a1..000000000000 --- a/.azure-pipelines/unit-tests.yml +++ /dev/null @@ -1,339 +0,0 @@ -trigger: - branches: - include: - - master - - release/* - - hotfix/* - - refs/tags/* - exclude: - - refs/pull/*/head - paths: - exclude: - - docs/* - - .github/* - -variables: - buildConfiguration: Debug - dotnetCoreSdk5Version: 5.0.103 - ddApiKey: $(DD_API_KEY) - DD_DOTNET_TRACER_MSBUILD: - -# Declare the datadog agent as a resource to be used as a pipeline service -resources: - containers: - - container: dd_agent - image: datadog/agent - ports: - - 8126:8126 - env: - DD_API_KEY: $(ddApiKey) - DD_INSIDE_CI: true - -jobs: - -- job: managed - strategy: - matrix: - windows: - imageName: windows-2019 - linux: - imageName: ubuntu-18.04 - pool: - vmImage: $(imageName) - - # Enable the Datadog Agent service for this job - services: - dd_agent: dd_agent - - steps: - - # Install the tracer latest stable release to attach the profiler to the build and test steps. - # The script exposes the required environment variables to the following steps - - task: PowerShell@2 - displayName: Install profiler latest release - inputs: - filePath: ./.azure-pipelines/setup_tracer.ps1 - - - task: UseDotNet@2 - displayName: install dotnet core runtime 2.1 - inputs: - packageType: runtime - version: 2.1.x - - - task: UseDotNet@2 - displayName: install dotnet core runtime 3.0 - inputs: - packageType: runtime - version: 3.0.x - - - task: UseDotNet@2 - displayName: install dotnet core runtime 3.1 - inputs: - packageType: runtime - version: 3.1.x - - - task: UseDotNet@2 - displayName: install dotnet core sdk 5.0 - inputs: - packageType: sdk - version: $(dotnetCoreSdk5Version) - - - task: DotNetCoreCLI@2 - displayName: dotnet build - inputs: - command: build - configuration: $(buildConfiguration) - arguments: /nowarn:netsdk1138 #-l:DatadogLogger,"$(DD_DOTNET_TRACER_MSBUILD)" - projects: | - src/**/*.csproj - test/**/*.Tests.csproj - test/benchmarks/**/*.csproj - !src/Datadog.Trace.Tools.Runner/*.csproj - env: - DD_SERVICE: dd-trace-dotnet - - - task: DotNetCoreCLI@2 - displayName: dotnet test - inputs: - command: test - configuration: $(buildConfiguration) - projects: test/**/*.Tests.csproj - env: - DD_SERVICE: dd-trace-dotnet - -- job: managed_linux_arm64 - pool: Arm64 - workspace: - clean: all - - steps: - - - task: DotNetCoreCLI@2 - displayName: dotnet build - inputs: - command: build - configuration: $(buildConfiguration) - arguments: /nowarn:netsdk1138 - projects: | - src/**/*.csproj - test/**/*.Tests.csproj - benchmarks/**/*.csproj - !src/Datadog.Trace.Tools.Runner/*.csproj - env: - DD_SERVICE: dd-trace-dotnet - - - task: DotNetCoreCLI@2 - displayName: dotnet test - inputs: - command: test - configuration: $(buildConfiguration) - projects: test/**/*.Tests.csproj - env: - DD_SERVICE: dd-trace-dotnet - -- job: managed_macos - pool: - vmImage: macOS-10.15 - - steps: - - - task: UseDotNet@2 - displayName: install dotnet core runtime 2.1 - inputs: - packageType: runtime - version: 2.1.x - - - task: UseDotNet@2 - displayName: install dotnet core runtime 3.0 - inputs: - packageType: runtime - version: 3.0.x - - - task: UseDotNet@2 - displayName: install dotnet core runtime 3.1 - inputs: - packageType: runtime - version: 3.1.x - - - task: UseDotNet@2 - displayName: install dotnet core sdk 5.0 - inputs: - packageType: sdk - version: $(dotnetCoreSdk5Version) - - - task: DotNetCoreCLI@2 - displayName: dotnet build - inputs: - command: build - configuration: $(buildConfiguration) - arguments: /nowarn:netsdk1138 - projects: | - src/**/*.csproj - test/**/*.Tests.csproj - benchmarks/**/*.csproj - !src/Datadog.Trace.Tools.Runner/*.csproj - - - task: DotNetCoreCLI@2 - displayName: dotnet test - inputs: - command: test - configuration: $(buildConfiguration) - projects: test/**/*.Tests.csproj - env: - DD_SERVICE: dd-trace-dotnet - - -- job: windows_profiler - strategy: - matrix: - x64: - buildPlatform: x64 - x86: - buildPlatform: x86 - pool: - vmImage: windows-2019 - - steps: - - - task: UseDotNet@2 - displayName: install dotnet core runtime 3.1 - inputs: - packageType: runtime - version: 3.1.x - - - task: UseDotNet@2 - displayName: install dotnet core sdk 5.0 - inputs: - packageType: sdk - version: $(dotnetCoreSdk5Version) - - - task: DotNetCoreCLI@2 - displayName: dotnet build - inputs: - command: build - configuration: $(buildConfiguration) - arguments: /nowarn:netsdk1138 - projects: | - src/Datadog.Trace.ClrProfiler.Managed.Loader/Datadog.Trace.ClrProfiler.Managed.Loader.csproj - sample-libs/**/Samples.ExampleLibrary*.csproj - - - task: NuGetToolInstaller@1 - displayName: install nuget - - - task: NuGetCommand@2 - displayName: nuget restore - inputs: - restoreSolution: Datadog.Trace.Native.sln - verbosityRestore: Normal - - - task: MSBuild@1 - displayName: msbuild - inputs: - solution: Datadog.Trace.proj - platform: $(buildPlatform) - configuration: $(buildConfiguration) - msbuildArguments: /t:BuildCpp;BuildCppTests - maximumCpuCount: true - - - script: Datadog.Trace.ClrProfiler.Native.Tests.exe --gtest_output=xml - displayName: run tests - workingDirectory: $(System.DefaultWorkingDirectory)/test/Datadog.Trace.ClrProfiler.Native.Tests/bin/$(buildConfiguration)/$(buildPlatform) - - - task: PublishTestResults@2 - displayName: publish test results - inputs: - testResultsFiles: test/**/test*.xml - buildPlatform: $(buildPlatform) - buildConfiguration: $(buildConfiguration) - condition: succeededOrFailed() - -- job: linux_profiler - pool: - vmImage: ubuntu-20.04 - steps: - - - task: UseDotNet@2 - displayName: install dotnet core runtime 3.1 - inputs: - packageType: runtime - version: 3.1.x - - - task: UseDotNet@2 - displayName: install dotnet core sdk 5.0 - inputs: - packageType: sdk - version: $(dotnetCoreSdk5Version) - - - task: DotNetCoreCLI@2 - displayName: dotnet build - inputs: - command: build - configuration: $(buildConfiguration) - arguments: /nowarn:netsdk1138 - projects: | - src/Datadog.Trace.ClrProfiler.Managed.Loader/Datadog.Trace.ClrProfiler.Managed.Loader.csproj - - - script: | - sudo apt-get update - sudo apt-get install -y llvm clang - displayName: install_dependencies - - - script: | - cd ./src/Datadog.Trace.ClrProfiler.Native - CXX=clang++ CC=clang cmake . - make - displayName: build_profiler - -- job: linux_profiler_arm64 - pool: Arm64 - workspace: - clean: all - - steps: - - - task: DotNetCoreCLI@2 - displayName: dotnet build - inputs: - command: build - configuration: $(buildConfiguration) - arguments: /nowarn:netsdk1138 - projects: | - src/Datadog.Trace.ClrProfiler.Managed.Loader/Datadog.Trace.ClrProfiler.Managed.Loader.csproj - - - script: | - cd ./src/Datadog.Trace.ClrProfiler.Native - CXX=clang++ CC=clang cmake . - make - displayName: build_profiler - -- job: macos_profiler - pool: - vmImage: macOS-10.15 - steps: - - - task: UseDotNet@2 - displayName: install dotnet core runtime 3.1 - inputs: - packageType: runtime - version: 3.1.x - - - task: UseDotNet@2 - displayName: install dotnet core sdk 5.0 - inputs: - packageType: sdk - version: $(dotnetCoreSdk5Version) - - - task: DotNetCoreCLI@2 - displayName: dotnet build - inputs: - command: build - configuration: $(buildConfiguration) - arguments: /nowarn:netsdk1138 - projects: | - src/Datadog.Trace.ClrProfiler.Managed.Loader/Datadog.Trace.ClrProfiler.Managed.Loader.csproj - - - script: | - cd ./src/Datadog.Trace.ClrProfiler.Native - cmake . - make - displayName: build_profiler diff --git a/Datadog.Trace.proj b/Datadog.Trace.proj index edc20ec2624f..a39c96c657ff 100644 --- a/Datadog.Trace.proj +++ b/Datadog.Trace.proj @@ -7,7 +7,6 @@ - @@ -18,170 +17,80 @@ - - + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + @@ -194,6 +103,7 @@ + @@ -208,108 +118,7 @@ - - - - - - - - - - - - - - - - - - - - - - - - Platform=AnyCPU;TargetFramework=net45;PublishDir=$(TracerHomeDirectory)\net45 - - - - Platform=AnyCPU;TargetFramework=net461;PublishDir=$(TracerHomeDirectory)\net461 - - - - Platform=AnyCPU;TargetFramework=netstandard2.0;PublishDir=$(TracerHomeDirectory)\netstandard2.0 - - - - Platform=AnyCPU;TargetFramework=netcoreapp3.1;PublishDir=$(TracerHomeDirectory)\netcoreapp3.1 - - - - - - - - - - - - - - - - - - - - - - - - - - - true - - - - - - - - - - - - - - - - - - - - + + - - \ No newline at end of file diff --git a/Datadog.Trace.sln b/Datadog.Trace.sln index cb120de0976a..b3f2431d0954 100644 --- a/Datadog.Trace.sln +++ b/Datadog.Trace.sln @@ -196,42 +196,6 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Datadog.Trace.ClrProfiler.M EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "AssemblyLoad.FileNotFoundException", "test\test-applications\regression\AssemblyLoad.FileNotFoundException\AssemblyLoad.FileNotFoundException.csproj", "{1A5E9F40-F3A5-4B59-9898-3DCD65C459C3}" EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "docker", "docker", "{6ABAD006-E206-488E-ACA1-1AA73F9B5146}" - ProjectSection(SolutionItems) = preProject - build\docker\build.arm64.sh = build\docker\build.arm64.sh - build\docker\build.sh = build\docker\build.sh - build\docker\Datadog.Trace.ClrProfiler.IntegrationTests.arm64.sh = build\docker\Datadog.Trace.ClrProfiler.IntegrationTests.arm64.sh - build\docker\Datadog.Trace.ClrProfiler.IntegrationTests.sh = build\docker\Datadog.Trace.ClrProfiler.IntegrationTests.sh - build\docker\Datadog.Trace.ClrProfiler.Native.sh = build\docker\Datadog.Trace.ClrProfiler.Native.sh - build\docker\dotnet.alpine.core21.dockerfile = build\docker\dotnet.alpine.core21.dockerfile - build\docker\dotnet.alpine.core30.dockerfile = build\docker\dotnet.alpine.core30.dockerfile - build\docker\dotnet.alpine.core31.dockerfile = build\docker\dotnet.alpine.core31.dockerfile - build\docker\dotnet.alpine.core50.dockerfile = build\docker\dotnet.alpine.core50.dockerfile - build\docker\dotnet.arm64.core50.dockerfile = build\docker\dotnet.arm64.core50.dockerfile - build\docker\dotnet.arm64.dockerfile = build\docker\dotnet.arm64.dockerfile - build\docker\dotnet.dockerfile = build\docker\dotnet.dockerfile - build\docker\linux-build.bash = build\docker\linux-build.bash - build\docker\linux-build.dockerfile = build\docker\linux-build.dockerfile - build\docker\native.alpine.dockerfile = build\docker\native.alpine.dockerfile - build\docker\native.dockerfile = build\docker\native.dockerfile - build\docker\package.alpine.dockerfile = build\docker\package.alpine.dockerfile - build\docker\package.dockerfile = build\docker\package.dockerfile - build\docker\package.sh = build\docker\package.sh - build\docker\with-profiler-logs.bash = build\docker\with-profiler-logs.bash - build\docker\with-profiler.bash = build\docker\with-profiler.bash - EndProjectSection -EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = ".azure-pipelines", ".azure-pipelines", "{C52D6695-4E05-4930-88F8-0EFF8056A967}" - ProjectSection(SolutionItems) = preProject - .azure-pipelines\benchmarks.yml = .azure-pipelines\benchmarks.yml - .azure-pipelines\crank.yml = .azure-pipelines\crank.yml - .azure-pipelines\integration-tests.yml = .azure-pipelines\integration-tests.yml - .azure-pipelines\packages.yml = .azure-pipelines\packages.yml - .azure-pipelines\runner.yml = .azure-pipelines\runner.yml - .azure-pipelines\setup_tracer.ps1 = .azure-pipelines\setup_tracer.ps1 - .azure-pipelines\unit-tests.yml = .azure-pipelines\unit-tests.yml - EndProjectSection -EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Samples.MySql", "test\test-applications\integrations\Samples.MySql\Samples.MySql.csproj", "{42FA33DD-AEA3-4FF3-8319-F30244A666A4}" ProjectSection(ProjectDependencies) = postProject {C0C8D381-D6B9-4C76-9428-F40F2FA93A9A} = {C0C8D381-D6B9-4C76-9428-F40F2FA93A9A} @@ -1736,8 +1700,6 @@ Global {BB3F7D85-7E20-4AEB-A32A-8AF150CC37B2} = {EFE48691-1FBA-41D5-9BFD-676771973F0C} {AB8596C1-CFDA-4A5E-9E9C-74A3DF9AED77} = {9E5F0022-0A50-40BF-AC6A-C3078585ECAB} {1A5E9F40-F3A5-4B59-9898-3DCD65C459C3} = {498A300E-D036-49B7-A43D-821D1CAF11A5} - {6ABAD006-E206-488E-ACA1-1AA73F9B5146} = {A0C5FBBB-CFB2-4FB9-B8F0-55676E9DCF06} - {C52D6695-4E05-4930-88F8-0EFF8056A967} = {FEBCE7DC-9FD1-48A6-B911-71ABB240A030} {42FA33DD-AEA3-4FF3-8319-F30244A666A4} = {BAF8F246-3645-42AD-B1D0-0F7EAFBAB34A} {DF923186-5397-4E15-A95B-F15C8327ED53} = {498A300E-D036-49B7-A43D-821D1CAF11A5} {E1706893-D3A5-43B9-9036-AEF49DB9600B} = {498A300E-D036-49B7-A43D-821D1CAF11A5} diff --git a/azure-pipelines.yml b/azure-pipelines.yml deleted file mode 100644 index 2c460966a938..000000000000 --- a/azure-pipelines.yml +++ /dev/null @@ -1,20 +0,0 @@ -# Starter pipeline -# Start with a minimal pipeline that you can customize to build and deploy your code. -# Add steps that build, run tests, deploy, and more: -# https://aka.ms/yaml - -trigger: -- master -pr: -- master - -pool: - vmImage: 'ubuntu-latest' - -steps: -- script: echo Hello, world! - displayName: 'Run a one-line script' - -- script: | - echo Add other tasks to build, test, and deploy your project. - displayName: 'Run a multi-line script' \ No newline at end of file diff --git a/build/docker/IIS/LoaderOptimizationRegKey.dockerfile b/build/_build/docker/iis.dockerfile similarity index 100% rename from build/docker/IIS/LoaderOptimizationRegKey.dockerfile rename to build/_build/docker/iis.dockerfile diff --git a/build/docker/Datadog.Trace.ClrProfiler.IntegrationTests.arm64.sh b/build/docker/Datadog.Trace.ClrProfiler.IntegrationTests.arm64.sh deleted file mode 100755 index b4f342be5023..000000000000 --- a/build/docker/Datadog.Trace.ClrProfiler.IntegrationTests.arm64.sh +++ /dev/null @@ -1,36 +0,0 @@ -#!/bin/bash -set -euxo pipefail - -cd "$( dirname "${BASH_SOURCE[0]}" )"/../../ - -buildConfiguration=${buildConfiguration:-Debug} -publishTargetFramework=${publishTargetFramework:-netcoreapp3.1} - -mkdir -p /var/log/datadog/dotnet - -#https://docs.microsoft.com/en-us/dotnet/core/diagnostics/dumps#collecting-dumps-on-crash -export COMPlus_DbgEnableMiniDump=1 -export COMPlus_DbgMiniDumpType=4 - -cleanup() { - - # Collect run data - mkdir /project/build_data - - cp /var/log/datadog/dotnet/* /project/build_data/ - cp /tmp/coredump* /project/build_data/ 2>/dev/null || : -} - -trap cleanup SIGINT SIGTERM EXIT - -dotnet vstest test/Datadog.Trace.IntegrationTests/bin/$buildConfiguration/$publishTargetFramework/publish/Datadog.Trace.IntegrationTests.dll --logger:trx --ResultsDirectory:test/Datadog.Trace.IntegrationTests/results - -dotnet vstest test/Datadog.Trace.OpenTracing.IntegrationTests/bin/$buildConfiguration/$publishTargetFramework/publish/Datadog.Trace.OpenTracing.IntegrationTests.dll --logger:trx --ResultsDirectory:test/Datadog.Trace.OpenTracing.IntegrationTests/results - -wait-for-it servicestackredis:6379 -- \ -wait-for-it stackexchangeredis:6379 -- \ -wait-for-it elasticsearch7_arm64:9200 -- \ -wait-for-it sqledge:1433 -- \ -wait-for-it mongo:27017 -- \ -wait-for-it postgres:5432 -- \ -dotnet vstest test/Datadog.Trace.ClrProfiler.IntegrationTests/bin/$buildConfiguration/$publishTargetFramework/publish/Datadog.Trace.ClrProfiler.IntegrationTests.dll --logger:trx --ResultsDirectory:test/Datadog.Trace.ClrProfiler.IntegrationTests/results --TestCaseFilter:"!((Category=ArmUnsupported)|(Category=LinuxUnsupported))" diff --git a/build/docker/Datadog.Trace.ClrProfiler.IntegrationTests.sh b/build/docker/Datadog.Trace.ClrProfiler.IntegrationTests.sh deleted file mode 100755 index 97fa7e887381..000000000000 --- a/build/docker/Datadog.Trace.ClrProfiler.IntegrationTests.sh +++ /dev/null @@ -1,39 +0,0 @@ -#!/bin/bash -set -euxo pipefail - -cd "$( dirname "${BASH_SOURCE[0]}" )"/../../ - -buildConfiguration=${buildConfiguration:-Debug} -publishTargetFramework=${publishTargetFramework:-netcoreapp3.1} - -mkdir -p /var/log/datadog/dotnet - -#https://docs.microsoft.com/en-us/dotnet/core/diagnostics/dumps#collecting-dumps-on-crash -export COMPlus_DbgEnableMiniDump=1 -export COMPlus_DbgMiniDumpType=4 - -cleanup() { - - # Collect run data - mkdir /project/build_data - - cp /var/log/datadog/dotnet/* /project/build_data/ - cp /tmp/coredump* /project/build_data/ 2>/dev/null || : -} - -trap cleanup SIGINT SIGTERM EXIT - -dotnet vstest test/Datadog.Trace.IntegrationTests/bin/$buildConfiguration/$publishTargetFramework/publish/Datadog.Trace.IntegrationTests.dll --logger:trx --ResultsDirectory:test/Datadog.Trace.IntegrationTests/results - -dotnet vstest test/Datadog.Trace.OpenTracing.IntegrationTests/bin/$buildConfiguration/$publishTargetFramework/publish/Datadog.Trace.OpenTracing.IntegrationTests.dll --logger:trx --ResultsDirectory:test/Datadog.Trace.OpenTracing.IntegrationTests/results - -wait-for-it servicestackredis:6379 -- \ -wait-for-it stackexchangeredis:6379 -- \ -wait-for-it elasticsearch6:9200 -- \ -wait-for-it elasticsearch5:9200 -- \ -wait-for-it sqlserver:1433 -- \ -wait-for-it mongo:27017 -- \ -wait-for-it postgres:5432 -- \ -wait-for-it -t 60 kafka-zookeeper:2181 -- \ -wait-for-it -t 60 kafka-broker:9092 -- \ -dotnet vstest test/Datadog.Trace.ClrProfiler.IntegrationTests/bin/$buildConfiguration/$publishTargetFramework/publish/Datadog.Trace.ClrProfiler.IntegrationTests.dll --logger:trx --ResultsDirectory:test/Datadog.Trace.ClrProfiler.IntegrationTests/results --TestCaseFilter:Category!=LinuxUnsupported diff --git a/build/docker/Datadog.Trace.ClrProfiler.Native.sh b/build/docker/Datadog.Trace.ClrProfiler.Native.sh deleted file mode 100755 index b99167c9eed3..000000000000 --- a/build/docker/Datadog.Trace.ClrProfiler.Native.sh +++ /dev/null @@ -1,30 +0,0 @@ -#!/bin/bash -set -euxo pipefail - -DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null && pwd )" - -cd "$DIR/../.." - -# TODO Remove this from the native build as it should be logically separate -# This is unnecessary in the unified pipeline as it's already done via the package.sh script -PUBLISH_OUTPUT_NET2="$( pwd )/src/bin/managed-publish/netstandard2.0" -PUBLISH_OUTPUT_NET31="$( pwd )/src/bin/managed-publish/netcoreapp3.1" -BUILD_TYPE=${buildConfiguration:-Debug} - -cd src/Datadog.Trace.ClrProfiler.Native -mkdir -p build -(cd build && cmake ../ -DCMAKE_BUILD_TYPE=${BUILD_TYPE} && make) - -mkdir -p bin/${BUILD_TYPE}/x64 -cp -f build/bin/Datadog.Trace.ClrProfiler.Native.so bin/${BUILD_TYPE}/x64/Datadog.Trace.ClrProfiler.Native.so - -# If running the unified pipeline, do not copy managed assets yet. Do so during the package build step -if [ -z "${UNIFIED_PIPELINE-}" ]; then - mkdir -p bin/${BUILD_TYPE}/x64/netstandard2.0 - cp -f $PUBLISH_OUTPUT_NET2/*.dll bin/${BUILD_TYPE}/x64/netstandard2.0/ - cp -f $PUBLISH_OUTPUT_NET2/*.pdb bin/${BUILD_TYPE}/x64/netstandard2.0/ - - mkdir -p bin/${BUILD_TYPE}/x64/netcoreapp3.1 - cp -f $PUBLISH_OUTPUT_NET31/*.dll bin/${BUILD_TYPE}/x64/netcoreapp3.1/ - cp -f $PUBLISH_OUTPUT_NET31/*.pdb bin/${BUILD_TYPE}/x64/netcoreapp3.1/ -fi diff --git a/build/docker/IIS/build.ps1 b/build/docker/IIS/build.ps1 deleted file mode 100644 index 456889b9d5bb..000000000000 --- a/build/docker/IIS/build.ps1 +++ /dev/null @@ -1,38 +0,0 @@ -$ProgressPreference = 'SilentlyContinue' - -$nuget_found = [bool] (Get-Command -ErrorAction Ignore -Type Application nuget) -if (!$nuget_found) -{ - Write-Error 'nuget not found in $env:PATH. Exiting.' -ErrorAction Stop -} - -$msbuild_found = [bool] (Get-Command -ErrorAction Ignore -Type Application msbuild) -if (!$msbuild_found) -{ - Write-Error 'msbuild not found in $env:PATH. Exiting.' -ErrorAction Stop -} - -$docker_compose_found = [bool] (Get-Command -ErrorAction Ignore -Type Application docker-compose) -if (!$docker_compose_found) -{ - Write-Error 'docker-compose not found in $env:PATH. Exiting.' -ErrorAction Stop -} - -$repo_root = Resolve-Path ../../.. -$trace_solution = Join-Path $repo_root Datadog.Trace.sln -$trace_proj = Join-Path $repo_root Datadog.Trace.proj -$solution = Join-Path $repo_root test/test-applications/aspnet/samples-iis.sln - -# Build IIS samples -nuget restore $solution -msbuild $solution /p:DeployOnBuild=true /p:PublishProfile=FolderProfile.pubxml - -# Build Datadog MSI's -nuget restore $trace_solution -msbuild $trace_proj /t:msi /p:"Configuration=Release;Platform=All" - -# Build IIS container -pushd $repo_root -$relative_msi = "src/WindowsInstaller/bin/Release/x64/en-us/*.msi" -docker-compose build --build-arg DOTNET_TRACER_MSI=$relative_msi IntegrationTests.IIS.LoaderOptimizationRegKey -popd \ No newline at end of file diff --git a/build/docker/build.arm64.sh b/build/docker/build.arm64.sh deleted file mode 100755 index 48d94cc1f9ca..000000000000 --- a/build/docker/build.arm64.sh +++ /dev/null @@ -1,46 +0,0 @@ -#!/bin/bash -set -euxo pipefail - -DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null && pwd )" - -cd "$DIR/../.." - -buildConfiguration=${buildConfiguration:-Debug} -publishTargetFramework=${publishTargetFramework:-netcoreapp3.1} -PUBLISH_OUTPUT="$( pwd )/src/bin/managed-publish" - -mkdir -p "$PUBLISH_OUTPUT/netstandard2.0" -mkdir -p "$PUBLISH_OUTPUT/netcoreapp3.1" - -dotnet build -c $buildConfiguration src/Datadog.Trace.ClrProfiler.Managed.Loader/Datadog.Trace.ClrProfiler.Managed.Loader.csproj - -for proj in Datadog.Trace Datadog.Trace.OpenTracing ; do - dotnet publish -f netstandard2.0 -c $buildConfiguration src/$proj/$proj.csproj - dotnet publish -f netcoreapp3.1 -c $buildConfiguration src/$proj/$proj.csproj -done - -dotnet publish -f netstandard2.0 -c $buildConfiguration src/Datadog.Trace.ClrProfiler.Managed/Datadog.Trace.ClrProfiler.Managed.csproj -o "$PUBLISH_OUTPUT/netstandard2.0" -dotnet publish -f netcoreapp3.1 -c $buildConfiguration src/Datadog.Trace.ClrProfiler.Managed/Datadog.Trace.ClrProfiler.Managed.csproj -o "$PUBLISH_OUTPUT/netcoreapp3.1" - -# Only build Samples.AspNetCoreMvc31 for netcoreapp3.1 -if [ "$publishTargetFramework" == "netcoreapp3.1" ] -then - dotnet publish -f $publishTargetFramework -c $buildConfiguration test/test-applications/integrations/Samples.AspNetCoreMvc31/Samples.AspNetCoreMvc31.csproj -p:Configuration=$buildConfiguration -p:ManagedProfilerOutputDirectory="$PUBLISH_OUTPUT" -fi - -dotnet publish -f $publishTargetFramework -c $buildConfiguration test/test-applications/instrumentation/CallTargetNativeTest/CallTargetNativeTest.csproj -p:Configuration=$buildConfiguration -p:ManagedProfilerOutputDirectory="$PUBLISH_OUTPUT" - -for sample in Samples.Elasticsearch Samples.Elasticsearch.V5 Samples.ServiceStack.Redis Samples.StackExchange.Redis Samples.SqlServer Samples.Microsoft.Data.SqlClient Samples.MongoDB Samples.HttpMessageHandler Samples.WebRequest Samples.Npgsql Samples.MySql Samples.GraphQL Samples.Dapper Samples.NoMultiLoader Samples.RabbitMQ Samples.RuntimeMetrics Samples.FakeDbCommand Samples.XUnitTests Samples.NUnitTests Samples.MSTestTests Samples.AWS.SQS ; do - dotnet publish -f $publishTargetFramework -c $buildConfiguration test/test-applications/integrations/$sample/$sample.csproj -p:Configuration=$buildConfiguration -p:ManagedProfilerOutputDirectory="$PUBLISH_OUTPUT" -done - -for sample in DataDogThreadTest HttpMessageHandler.StackOverflowException StackExchange.Redis.StackOverflowException AspNetMvcCorePerformance AssemblyLoad.FileNotFoundException TraceContext.InvalidOperationException AssemblyResolveMscorlibResources.InfiniteRecursionCrash StackExchange.Redis.AssemblyConflict.SdkProject NetCoreAssemblyLoadFailureOlderNuGet DuplicateTypeProxy ; do - dotnet publish -f $publishTargetFramework -c $buildConfiguration test/test-applications/regression/$sample/$sample.csproj -p:Configuration=$buildConfiguration -p:ManagedProfilerOutputDirectory="$PUBLISH_OUTPUT" -done - -dotnet msbuild Datadog.Trace.proj -t:RestoreSamplesForPackageVersions -p:Configuration=$buildConfiguration -p:ManagedProfilerOutputDirectory="$PUBLISH_OUTPUT" -p:TargetFramework=$publishTargetFramework -dotnet msbuild Datadog.Trace.proj -t:PublishSamplesForPackageVersions -p:Configuration=$buildConfiguration -p:ManagedProfilerOutputDirectory="$PUBLISH_OUTPUT" -p:TargetFramework=$publishTargetFramework - -for proj in Datadog.Trace.IntegrationTests Datadog.Trace.OpenTracing.IntegrationTests Datadog.Trace.ClrProfiler.IntegrationTests ; do - dotnet publish -f $publishTargetFramework -c $buildConfiguration test/$proj/$proj.csproj -done \ No newline at end of file diff --git a/build/docker/build.sh b/build/docker/build.sh deleted file mode 100755 index efa3efe1b57d..000000000000 --- a/build/docker/build.sh +++ /dev/null @@ -1,58 +0,0 @@ -#!/bin/bash -set -euxo pipefail - -DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null && pwd )" - -cd "$DIR/../.." - -buildConfiguration=${buildConfiguration:-Debug} -publishTargetFramework=${publishTargetFramework:-netcoreapp3.1} -PUBLISH_OUTPUT="$( pwd )/src/bin/managed-publish" - -mkdir -p "$PUBLISH_OUTPUT/netstandard2.0" -mkdir -p "$PUBLISH_OUTPUT/netcoreapp3.1" - -dotnet build -c $buildConfiguration src/Datadog.Trace.ClrProfiler.Managed.Loader/Datadog.Trace.ClrProfiler.Managed.Loader.csproj - -for proj in Datadog.Trace Datadog.Trace.OpenTracing ; do - dotnet publish -f netstandard2.0 -c $buildConfiguration src/$proj/$proj.csproj - dotnet publish -f netcoreapp3.1 -c $buildConfiguration src/$proj/$proj.csproj -done - -dotnet publish -f netstandard2.0 -c $buildConfiguration src/Datadog.Trace.ClrProfiler.Managed/Datadog.Trace.ClrProfiler.Managed.csproj -o "$PUBLISH_OUTPUT/netstandard2.0" -dotnet publish -f netcoreapp3.1 -c $buildConfiguration src/Datadog.Trace.ClrProfiler.Managed/Datadog.Trace.ClrProfiler.Managed.csproj -o "$PUBLISH_OUTPUT/netcoreapp3.1" - -# Only build Samples.AspNetCoreMvc21 for netcoreapp2.1 -if [ "$publishTargetFramework" == "netcoreapp2.1" ] -then - dotnet publish -f $publishTargetFramework -c $buildConfiguration test/test-applications/integrations/Samples.AspNetCoreMvc21/Samples.AspNetCoreMvc21.csproj -p:Configuration=$buildConfiguration -p:ManagedProfilerOutputDirectory="$PUBLISH_OUTPUT" -fi - -# Only build Samples.AspNetCoreMvc30 for netcoreapp3.0 -if [ "$publishTargetFramework" == "netcoreapp3.0" ] -then - dotnet publish -f $publishTargetFramework -c $buildConfiguration test/test-applications/integrations/Samples.AspNetCoreMvc30/Samples.AspNetCoreMvc30.csproj -p:Configuration=$buildConfiguration -p:ManagedProfilerOutputDirectory="$PUBLISH_OUTPUT" -fi - -# Only build Samples.AspNetCoreMvc31 for netcoreapp3.1 -if [ "$publishTargetFramework" == "netcoreapp3.1" ] -then - dotnet publish -f $publishTargetFramework -c $buildConfiguration test/test-applications/integrations/Samples.AspNetCoreMvc31/Samples.AspNetCoreMvc31.csproj -p:Configuration=$buildConfiguration -p:ManagedProfilerOutputDirectory="$PUBLISH_OUTPUT" -fi - -dotnet publish -f $publishTargetFramework -c $buildConfiguration test/test-applications/instrumentation/CallTargetNativeTest/CallTargetNativeTest.csproj -p:Configuration=$buildConfiguration -p:ManagedProfilerOutputDirectory="$PUBLISH_OUTPUT" - -for sample in Samples.Elasticsearch Samples.Elasticsearch.V5 Samples.ServiceStack.Redis Samples.StackExchange.Redis Samples.SqlServer Samples.Microsoft.Data.SqlClient Samples.MongoDB Samples.HttpMessageHandler Samples.WebRequest Samples.Npgsql Samples.MySql Samples.GraphQL Samples.Dapper Samples.NoMultiLoader Samples.RabbitMQ Samples.RuntimeMetrics Samples.FakeDbCommand Samples.Microsoft.Data.Sqlite Samples.SQLite.Core Samples.XUnitTests Samples.NUnitTests Samples.MSTestTests Samples.Kafka Samples.AWS.SQS ; do - dotnet publish -f $publishTargetFramework -c $buildConfiguration test/test-applications/integrations/$sample/$sample.csproj -p:Configuration=$buildConfiguration -p:ManagedProfilerOutputDirectory="$PUBLISH_OUTPUT" -done - -for sample in DataDogThreadTest HttpMessageHandler.StackOverflowException StackExchange.Redis.StackOverflowException AspNetMvcCorePerformance AssemblyLoad.FileNotFoundException TraceContext.InvalidOperationException AssemblyResolveMscorlibResources.InfiniteRecursionCrash StackExchange.Redis.AssemblyConflict.SdkProject NetCoreAssemblyLoadFailureOlderNuGet DuplicateTypeProxy ; do - dotnet publish -f $publishTargetFramework -c $buildConfiguration test/test-applications/regression/$sample/$sample.csproj -p:Configuration=$buildConfiguration -p:ManagedProfilerOutputDirectory="$PUBLISH_OUTPUT" -done - -dotnet msbuild Datadog.Trace.proj -t:RestoreSamplesForPackageVersions -p:Configuration=$buildConfiguration -p:ManagedProfilerOutputDirectory="$PUBLISH_OUTPUT" -p:TargetFramework=$publishTargetFramework -dotnet msbuild Datadog.Trace.proj -t:PublishSamplesForPackageVersions -p:Configuration=$buildConfiguration -p:ManagedProfilerOutputDirectory="$PUBLISH_OUTPUT" -p:TargetFramework=$publishTargetFramework - -for proj in Datadog.Trace.IntegrationTests Datadog.Trace.OpenTracing.IntegrationTests Datadog.Trace.ClrProfiler.IntegrationTests ; do - dotnet publish -f $publishTargetFramework -c $buildConfiguration test/$proj/$proj.csproj -done diff --git a/build/docker/dotnet.alpine.core21.dockerfile b/build/docker/dotnet.alpine.core21.dockerfile deleted file mode 100644 index aa06119b5264..000000000000 --- a/build/docker/dotnet.alpine.core21.dockerfile +++ /dev/null @@ -1,6 +0,0 @@ -FROM mcr.microsoft.com/dotnet/core/sdk:2.1-alpine3.9 - -RUN apk update && apk upgrade && apk add --no-cache --update bash curl - -ADD https://raw.githubusercontent.com/vishnubob/wait-for-it/master/wait-for-it.sh /bin/wait-for-it -RUN chmod +x /bin/wait-for-it diff --git a/build/docker/dotnet.alpine.core30.dockerfile b/build/docker/dotnet.alpine.core30.dockerfile deleted file mode 100644 index 5bfbbf069b25..000000000000 --- a/build/docker/dotnet.alpine.core30.dockerfile +++ /dev/null @@ -1,6 +0,0 @@ -FROM mcr.microsoft.com/dotnet/core/sdk:3.0-alpine3.10 - -RUN apk update && apk upgrade && apk add --no-cache --update bash curl - -ADD https://raw.githubusercontent.com/vishnubob/wait-for-it/master/wait-for-it.sh /bin/wait-for-it -RUN chmod +x /bin/wait-for-it diff --git a/build/docker/dotnet.alpine.core31.dockerfile b/build/docker/dotnet.alpine.core31.dockerfile deleted file mode 100644 index 5d33b060acc2..000000000000 --- a/build/docker/dotnet.alpine.core31.dockerfile +++ /dev/null @@ -1,6 +0,0 @@ -FROM mcr.microsoft.com/dotnet/core/sdk:3.1-alpine3.10 - -RUN apk update && apk upgrade && apk add --no-cache --update bash curl - -ADD https://raw.githubusercontent.com/vishnubob/wait-for-it/master/wait-for-it.sh /bin/wait-for-it -RUN chmod +x /bin/wait-for-it diff --git a/build/docker/dotnet.alpine.core50.dockerfile b/build/docker/dotnet.alpine.core50.dockerfile deleted file mode 100644 index b2d05868956e..000000000000 --- a/build/docker/dotnet.alpine.core50.dockerfile +++ /dev/null @@ -1,6 +0,0 @@ -FROM mcr.microsoft.com/dotnet/sdk:5.0-alpine3.12 - -RUN apk update && apk upgrade && apk add --no-cache --update bash - -ADD https://raw.githubusercontent.com/vishnubob/wait-for-it/master/wait-for-it.sh /bin/wait-for-it -RUN chmod +x /bin/wait-for-it diff --git a/build/docker/dotnet.arm64.core50.dockerfile b/build/docker/dotnet.arm64.core50.dockerfile deleted file mode 100644 index ded7063816fd..000000000000 --- a/build/docker/dotnet.arm64.core50.dockerfile +++ /dev/null @@ -1,4 +0,0 @@ -FROM mcr.microsoft.com/dotnet/sdk:5.0.102-ca-patch-buster-slim - -ADD https://raw.githubusercontent.com/vishnubob/wait-for-it/master/wait-for-it.sh /bin/wait-for-it -RUN chmod +x /bin/wait-for-it \ No newline at end of file diff --git a/build/docker/dotnet.arm64.dockerfile b/build/docker/dotnet.arm64.dockerfile deleted file mode 100644 index 23ca6aea8349..000000000000 --- a/build/docker/dotnet.arm64.dockerfile +++ /dev/null @@ -1,12 +0,0 @@ -FROM mcr.microsoft.com/dotnet/sdk:5.0.102-ca-patch-buster-slim - -# Install aspnetcore-runtime-3.1.10 -RUN wget https://download.visualstudio.microsoft.com/download/pr/936a9563-1dad-4c4b-b366-c7fcc3e28215/a1edcaf4c35bce760d07e3f1f3d0b9cf/aspnetcore-runtime-3.1.10-linux-arm64.tar.gz && \ - tar zxf aspnetcore-runtime-3.1.10-linux-arm64.tar.gz -C "/usr/share/dotnet" - -# Install aspnetcore-runtime-5.0.1 -RUN wget https://download.visualstudio.microsoft.com/download/pr/e12f9b23-cb47-4718-9903-8a000f85a442/d1a6a6c75cc832ad8187f5bce0d6234a/aspnetcore-runtime-5.0.1-linux-arm64.tar.gz && \ - tar zxf aspnetcore-runtime-5.0.1-linux-arm64.tar.gz -C "/usr/share/dotnet" - -ADD https://raw.githubusercontent.com/vishnubob/wait-for-it/master/wait-for-it.sh /bin/wait-for-it -RUN chmod +x /bin/wait-for-it \ No newline at end of file diff --git a/build/docker/dotnet.dockerfile b/build/docker/dotnet.dockerfile deleted file mode 100644 index e5aae50a91c6..000000000000 --- a/build/docker/dotnet.dockerfile +++ /dev/null @@ -1,16 +0,0 @@ -FROM mcr.microsoft.com/dotnet/sdk:5.0.102-ca-patch-buster-slim - -# Instructions to install .NET Core runtimes from -# https://docs.microsoft.com/en-us/dotnet/core/install/linux-package-manager-debian10 -RUN wget https://packages.microsoft.com/config/debian/10/packages-microsoft-prod.deb -O packages-microsoft-prod.deb && \ - dpkg -i packages-microsoft-prod.deb - -RUN apt-get update && \ - apt-get install -y apt-transport-https && \ - apt-get update && \ - apt-get install -y aspnetcore-runtime-2.1 && \ - apt-get install -y aspnetcore-runtime-3.0 && \ - apt-get install -y aspnetcore-runtime-3.1 - -ADD https://raw.githubusercontent.com/vishnubob/wait-for-it/master/wait-for-it.sh /bin/wait-for-it -RUN chmod +x /bin/wait-for-it diff --git a/build/docker/linux-build.bash b/build/docker/linux-build.bash deleted file mode 100755 index e327d421c8fa..000000000000 --- a/build/docker/linux-build.bash +++ /dev/null @@ -1,16 +0,0 @@ -#!/bin/bash -set -euxo pipefail - -# The purpose of this bash is to build two docker images based on the current git branch -# The first image has SCRATCH as a based image and contains only the /dd-tracer-dotnet -# folder with the publish version of the tracer. Useful to use in a dockerfile as a CopyFrom image. -# The second image has the dotnet sdk 3.1 as a base image + the /dd-tracer-dotnet folder. -# Because is a linux build we try to use BuildKit as engine to parallelize the building process. - -BRANCH="$(git symbolic-ref HEAD | sed -e 's,.*/\(.*\),\1,')" -SOURCEFOLDER="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null && pwd )" -ROOT="$( cd "$( dirname "${BASH_SOURCE[0]}" )/.." >/dev/null && pwd )" -export DOCKER_BUILDKIT=1 - -docker build -f $SOURCEFOLDER/linux-build.dockerfile --target tracer-build -t dd-trace-dotnet:$BRANCH $ROOT -docker build -f $SOURCEFOLDER/linux-build.dockerfile -t dotnet-sdk-with-dd-tracer:$BRANCH $ROOT diff --git a/build/docker/linux-build.dockerfile b/build/docker/linux-build.dockerfile deleted file mode 100644 index e934b17db287..000000000000 --- a/build/docker/linux-build.dockerfile +++ /dev/null @@ -1,92 +0,0 @@ -# This is a multistage docker file, used by the linux-build.bash file to create the two images from two different stages -# The 'tracer-build' stage contains only the result of building the tracer (managed+native) without any other files (from scratch) -# The 'dotnet-sdk-with-dd-tracer' stage contains the dotnet sdk 3.1 as a base image. -# Also the dockerfile contains arguments to customize the build process. - -ARG BUILD_CONFIGURATION=Release -ARG WORKSPACE=/workspace -ARG PUBLISH_FOLDER=/workspace/publish -ARG TRACER_HOME=/dd-tracer-dotnet - -FROM mcr.microsoft.com/dotnet/core/sdk:3.1 AS build-managed-base -# Instructions to install .NET Core runtimes from -# https://docs.microsoft.com/en-us/dotnet/core/install/linux-package-manager-debian10 -RUN wget -qO- https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor > microsoft.asc.gpg && \ - mv microsoft.asc.gpg /etc/apt/trusted.gpg.d/ && \ - wget -q https://packages.microsoft.com/config/debian/10/prod.list && \ - mv prod.list /etc/apt/sources.list.d/microsoft-prod.list && \ - chown root:root /etc/apt/trusted.gpg.d/microsoft.asc.gpg && \ - chown root:root /etc/apt/sources.list.d/microsoft-prod.list -RUN apt-get update && \ - apt-get install -y apt-transport-https && \ - apt-get update && \ - apt-get install -y aspnetcore-runtime-2.1 && \ - apt-get install -y aspnetcore-runtime-3.0 -ADD https://raw.githubusercontent.com/vishnubob/wait-for-it/master/wait-for-it.sh /bin/wait-for-it -RUN chmod +x /bin/wait-for-it - - - -FROM ubuntu:20.04 AS build-native-base -RUN apt-get update && \ - DEBIAN_FRONTEND=noninteractive apt-get install -y \ - git \ - wget \ - curl \ - cmake \ - make \ - llvm \ - clang \ - gcc -ENV CXX=clang++ -ENV CC=clang - - -FROM build-managed-base as build-managed -ARG BUILD_CONFIGURATION -ARG WORKSPACE -ARG PUBLISH_FOLDER -WORKDIR ${WORKSPACE} -COPY . ./ - -RUN mkdir -p "${PUBLISH_FOLDER}" -RUN cp ./integrations.json ${PUBLISH_FOLDER}/ -RUN dotnet build -c ${BUILD_CONFIGURATION} src/Datadog.Trace.ClrProfiler.Managed.Loader/Datadog.Trace.ClrProfiler.Managed.Loader.csproj - -RUN mkdir -p "${PUBLISH_FOLDER}/netstandard2.0" -RUN dotnet publish -f netstandard2.0 -c ${BUILD_CONFIGURATION} src/Datadog.Trace/Datadog.Trace.csproj && \ - dotnet publish -f netstandard2.0 -c ${BUILD_CONFIGURATION} src/Datadog.Trace.OpenTracing/Datadog.Trace.OpenTracing.csproj && \ - dotnet publish -f netstandard2.0 -c ${BUILD_CONFIGURATION} src/Datadog.Trace.ClrProfiler.Managed/Datadog.Trace.ClrProfiler.Managed.csproj -o "${PUBLISH_FOLDER}/netstandard2.0" - - - -FROM build-native-base as build-native -ARG WORKSPACE -ARG PUBLISH_FOLDER -ARG TRACER_HOME -COPY --from=build-managed ${WORKSPACE} ${WORKSPACE} -WORKDIR ${WORKSPACE}/src/Datadog.Trace.ClrProfiler.Native/build -RUN cmake .. && make && cp -f ./bin/Datadog.Trace.ClrProfiler.Native.so ${PUBLISH_FOLDER}/ -RUN mkdir -p /var/log/datadog/dotnet -WORKDIR ${PUBLISH_FOLDER} -RUN echo "#!/bin/bash\n set -euxo pipefail\n export CORECLR_ENABLE_PROFILING=\"1\"\n export CORECLR_PROFILER=\"{846F5F1C-F9AE-4B07-969E-05C26BC060D8}\"\n export DD_DOTNET_TRACER_HOME=\"${TRACER_HOME}\"\n export CORECLR_PROFILER_PATH=\"\${DD_DOTNET_TRACER_HOME}/Datadog.Trace.ClrProfiler.Native.so\"\n export DD_INTEGRATIONS=\"\${DD_DOTNET_TRACER_HOME}/integrations.json\"\n eval \"\$@\"\n" > dd-trace.bash -RUN chmod +x dd-trace.bash - - -FROM scratch as tracer-build -ARG PUBLISH_FOLDER -ARG TRACER_HOME -COPY --from=build-native ${PUBLISH_FOLDER} ${TRACER_HOME} -COPY --from=build-native /var/log/datadog/ /var/log/datadog/ - - -FROM build-native as native-linux-binary -ARG PUBLISH_FOLDER -COPY --from=build-native ${PUBLISH_FOLDER}/Datadog.Trace.ClrProfiler.Native.so Datadog.Trace.ClrProfiler.Native.so -CMD cp -f Datadog.Trace.ClrProfiler.Native.so /home/linux-x64/Datadog.Trace.ClrProfiler.Native.so - - -FROM build-managed-base as dotnet-sdk-with-dd-tracer -ARG TRACER_HOME -COPY --from=tracer-build . ./ -RUN ls ${TRACER_HOME} \ No newline at end of file diff --git a/build/docker/native.alpine.dockerfile b/build/docker/native.alpine.dockerfile deleted file mode 100644 index d2ad18ed6986..000000000000 --- a/build/docker/native.alpine.dockerfile +++ /dev/null @@ -1,5 +0,0 @@ -FROM alpine:3.11 - -RUN apk update && apk upgrade - -RUN apk add --no-cache --update clang cmake git bash make alpine-sdk diff --git a/build/docker/native.dockerfile b/build/docker/native.dockerfile deleted file mode 100644 index 97d712460f1c..000000000000 --- a/build/docker/native.dockerfile +++ /dev/null @@ -1,14 +0,0 @@ -FROM ubuntu:20.04 - -RUN apt-get update && \ - DEBIAN_FRONTEND=noninteractive apt-get install -y \ - git \ - wget \ - curl \ - cmake \ - make \ - llvm \ - clang \ - gcc -ENV CXX=clang++ -ENV CC=clang \ No newline at end of file diff --git a/build/docker/package.alpine.dockerfile b/build/docker/package.alpine.dockerfile deleted file mode 100644 index f2aee2bbddc3..000000000000 --- a/build/docker/package.alpine.dockerfile +++ /dev/null @@ -1,7 +0,0 @@ -FROM alpine:3.11 - -RUN apk update && apk upgrade - -RUN apk add --no-cache --update bash alpine-sdk ruby ruby-dev ruby-etc - -RUN gem install fpm diff --git a/build/docker/package.dockerfile b/build/docker/package.dockerfile deleted file mode 100644 index 95724fdb7b35..000000000000 --- a/build/docker/package.dockerfile +++ /dev/null @@ -1,11 +0,0 @@ -FROM ubuntu:18.04 - -RUN apt-get update && apt-get install -y --fix-missing \ - build-essential \ - rpm \ - ruby \ - ruby-dev \ - rubygems \ - git - -RUN gem install --no-ri --no-rdoc fpm diff --git a/build/docker/package.sh b/build/docker/package.sh deleted file mode 100755 index 4d8373db8ac3..000000000000 --- a/build/docker/package.sh +++ /dev/null @@ -1,53 +0,0 @@ -#!/bin/bash -set -euxo pipefail - -DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null && pwd )" -VERSION=1.28.0 -BUILD_TYPE=${buildConfiguration:-Debug} -ARCH=${ARCHITECTURE:-x64} - -mkdir -p $DIR/../../deploy/linux -cp $DIR/../../integrations.json $DIR/../../src/Datadog.Trace.ClrProfiler.Native/bin/${BUILD_TYPE}/x64/ -cp $DIR/../../build/artifacts/createLogPath.sh $DIR/../../src/Datadog.Trace.ClrProfiler.Native/bin/${BUILD_TYPE}/x64/ - -# If running the unified pipeline, copy managed assets now instead of in the profiler build step -if [ -n "${UNIFIED_PIPELINE-}" ]; then - mkdir -p $DIR/../../src/Datadog.Trace.ClrProfiler.Native/bin/${BUILD_TYPE}/x64/netstandard2.0 - cp $DIR/../../src/bin/windows-tracer-home/netstandard2.0/*.dll $DIR/../../src/Datadog.Trace.ClrProfiler.Native/bin/${BUILD_TYPE}/x64/netstandard2.0/ - - mkdir -p $DIR/../../src/Datadog.Trace.ClrProfiler.Native/bin/${BUILD_TYPE}/x64/netcoreapp3.1 - cp $DIR/../../src/bin/windows-tracer-home/netcoreapp3.1/*.dll $DIR/../../src/Datadog.Trace.ClrProfiler.Native/bin/${BUILD_TYPE}/x64/netcoreapp3.1/ -fi - -cd $DIR/../../deploy/linux -for pkgtype in $PKGTYPES ; do - fpm \ - -f \ - -s dir \ - -t $pkgtype \ - -n datadog-dotnet-apm \ - -v $VERSION \ - $(if [ $pkgtype != 'tar' ] ; then echo --prefix /opt/datadog ; fi) \ - --chdir $DIR/../../src/Datadog.Trace.ClrProfiler.Native/bin/${BUILD_TYPE}/x64 \ - netstandard2.0/ \ - netcoreapp3.1/ \ - Datadog.Trace.ClrProfiler.Native.so \ - integrations.json \ - createLogPath.sh -done - -gzip -f datadog-dotnet-apm.tar - -if [ -z "${MUSL-}" ]; then - if [ "$ARCH" == "x64" ]; then - mv datadog-dotnet-apm.tar.gz datadog-dotnet-apm-$VERSION.tar.gz - else - mv datadog-dotnet-apm.tar.gz datadog-dotnet-apm-$VERSION.$ARCH.tar.gz - fi -else - if [ "$ARCH" == "x64" ]; then - mv datadog-dotnet-apm.tar.gz datadog-dotnet-apm-$VERSION-musl.tar.gz - else - mv datadog-dotnet-apm.tar.gz datadog-dotnet-apm-$VERSION-musl.$ARCH.tar.gz - fi -fi diff --git a/build/docker/with-profiler-logs.bash b/build/docker/with-profiler-logs.bash deleted file mode 100755 index 05addb04a828..000000000000 --- a/build/docker/with-profiler-logs.bash +++ /dev/null @@ -1,16 +0,0 @@ -#!/bin/bash -set -euxo pipefail - -mkdir -p /var/log/datadog/dotnet - -cleanup() { - cat /var/log/datadog/dotnet/dotnet-tracer-native* \ - | awk ' - /info/ {print "\033[32m" $0 "\033[39m"} - /warn/ {print "\033[31m" $0 "\033[39m"} - ' -} - -trap cleanup SIGINT SIGTERM EXIT - -eval "$@" diff --git a/build/docker/with-profiler.bash b/build/docker/with-profiler.bash deleted file mode 100755 index 293b7daf717d..000000000000 --- a/build/docker/with-profiler.bash +++ /dev/null @@ -1,12 +0,0 @@ -#!/bin/bash -set -euxo pipefail - -DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )/../.." >/dev/null && pwd )" - -export CORECLR_ENABLE_PROFILING="1" -export CORECLR_PROFILER="{846F5F1C-F9AE-4B07-969E-05C26BC060D8}" -export CORECLR_PROFILER_PATH="${DIR}/src/Datadog.Trace.ClrProfiler.Native/obj/Debug/x64/Datadog.Trace.ClrProfiler.Native.so" -export DD_DOTNET_TRACER_HOME="${DIR}" -export DD_INTEGRATIONS="${DD_DOTNET_TRACER_HOME}/integrations.json" - -eval "$@" diff --git a/build/tools/PrepareRelease/SetAllVersions.cs b/build/tools/PrepareRelease/SetAllVersions.cs index 5995ccc57727..401262d710a1 100644 --- a/build/tools/PrepareRelease/SetAllVersions.cs +++ b/build/tools/PrepareRelease/SetAllVersions.cs @@ -165,10 +165,6 @@ public void Run() "integrations.json", FullAssemblyNameReplace); - SynchronizeVersion( - "build/docker/package.sh", - text => Regex.Replace(text, $"VERSION={VersionPattern()}", $"VERSION={VersionString()}")); - SynchronizeVersion( "src/WindowsInstaller/WindowsInstaller.wixproj", WixProjReplace); diff --git a/docker-compose.yml b/docker-compose.yml index 4bfb255f9528..04ba378c10f0 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -197,412 +197,20 @@ services: KAFKA_REST_LISTENERS: "http://0.0.0.0:8082" KAFKA_REST_SCHEMA_REGISTRY_URL: 'http://kafka-schema-registry:8081' - build: - build: - context: ./ - dockerfile: ./build/docker/dotnet.dockerfile - image: datadog-dotnet - environment: - - buildConfiguration=${buildConfiguration} - - publishTargetFramework=${publishTargetFramework} - command: /project/build/docker/build.sh - volumes: - - ./:/project - - build.arm64: - build: - context: ./ - dockerfile: ./build/docker/dotnet.arm64.dockerfile - image: datadog-dotnet - environment: - - buildConfiguration=${buildConfiguration} - - publishTargetFramework=${publishTargetFramework} - command: /project/build/docker/build.arm64.sh - volumes: - - ./:/project - - package: - build: - context: ./ - dockerfile: ./build/docker/package.dockerfile - image: datadog-package - environment: - - PKGTYPES=deb rpm tar - command: /project/build/docker/package.sh - volumes: - - ./:/project - - package.alpine: - build: - context: ./ - dockerfile: ./build/docker/package.alpine.dockerfile - image: datadog-package-alpine - environment: - - PKGTYPES=tar - - MUSL=true - command: /project/build/docker/package.sh - volumes: - - ./:/project - - Profiler: - build: - context: ./ - dockerfile: ./build/docker/native.dockerfile - image: datadog-native - environment: - - buildConfiguration=${buildConfiguration} - command: /project/build/docker/Datadog.Trace.ClrProfiler.Native.sh - volumes: - - ./:/project - - Profiler.Alpine: - build: - context: ./ - dockerfile: ./build/docker/native.alpine.dockerfile - image: datadog-native-alpine - environment: - - buildConfiguration=${buildConfiguration} - command: /project/build/docker/Datadog.Trace.ClrProfiler.Native.sh - volumes: - - ./:/project - - Samples.ServiceStack.Redis: - build: - context: ./ - dockerfile: ./build/docker/dotnet.dockerfile - image: datadog-dotnet - command: bash -c "/project/build/docker/with-profiler-logs.bash wait-for-it servicestackredis:6379 -- /project/build/docker/with-profiler.bash dotnet /project/samples/Samples.ServiceStack.Redis/bin/${buildConfiguration}/${publishTargetFramework}/publish/Samples.ServiceStack.Redis.dll" - volumes: - - ./:/project - environment: - - SERVICESTACK_REDIS_HOST=servicestackredis:6379 - depends_on: - - servicestackredis - - Samples.StackExchange.Redis: - build: - context: ./ - dockerfile: ./build/docker/dotnet.dockerfile - image: datadog-dotnet - command: bash -c "/project/build/docker/with-profiler-logs.bash wait-for-it stackexchangeredis:6379 -- /project/build/docker/with-profiler.bash dotnet /project/samples/Samples.StackExchange.Redis/bin/${buildConfiguration}/${publishTargetFramework}/publish/Samples.StackExchange.Redis.dll" - volumes: - - ./:/project - environment: - - STACKEXCHANGE_REDIS_HOST=stackexchangeredis:6379 - depends_on: - - stackexchangeredis - - Samples.Elasticsearch: - build: - context: ./ - dockerfile: ./build/docker/dotnet.dockerfile - image: datadog-dotnet - command: bash -c "/project/build/docker/with-profiler-logs.bash wait-for-it elasticsearch6:9200 -- /project/build/docker/with-profiler.bash dotnet /project/samples/Samples.Elasticsearch/bin/${buildConfiguration}/${publishTargetFramework}/publish/Samples.Elasticsearch.dll" - volumes: - - ./:/project - environment: - - ELASTICSEARCH6_HOST=elasticsearch6:9200 - depends_on: - - elasticsearch6 - - - Samples.Elasticsearch.V5: - build: - context: ./ - dockerfile: ./build/docker/dotnet.dockerfile - image: datadog-dotnet - command: bash -c "/project/build/docker/with-profiler-logs.bash wait-for-it elasticsearch5:9200 -- /project/build/docker/with-profiler.bash dotnet /project/samples/Samples.Elasticsearch.V5/bin/${buildConfiguration}/${publishTargetFramework}/publish/Samples.Elasticsearch.V5.dll" - volumes: - - ./:/project - environment: - - ELASTICSEARCH5_HOST=elasticsearch5:9200 - depends_on: - - elasticsearch5 - - Samples.SqlServer: - build: - context: ./ - dockerfile: ./build/docker/dotnet.dockerfile - image: datadog-dotnet - command: bash -c "/project/build/docker/with-profiler-logs.bash wait-for-it sqlserver:1433 -- /project/build/docker/with-profiler.bash dotnet /project/samples/Samples.SqlServer/bin/${buildConfiguration}/${publishTargetFramework}/publish/Samples.SqlServer.dll" - volumes: - - ./:/project - environment: - - SQLSERVER_CONNECTION_STRING=Server=sqlserver;User=sa;Password=Strong!Passw0rd - depends_on: - - sqlserver - - Samples.Npgsql: - build: - context: ./ - dockerfile: ./build/docker/dotnet.dockerfile - image: datadog-dotnet - command: bash -c "/project/build/docker/with-profiler-logs.bash wait-for-it postgres:5432 -- /project/build/docker/with-profiler.bash dotnet /project/samples/Samples.NpgSql/bin/${buildConfiguration}/${publishTargetFramework}/publish/Samples.NpgSql.dll" - volumes: - - ./:/project - environment: - - POSTGRES_HOST=postgres - depends_on: - - postgres - - Samples.MySql: - build: - context: ./ - dockerfile: ./build/docker/dotnet.dockerfile - image: datadog-dotnet - command: bash -c "/project/build/docker/with-profiler-logs.bash wait-for-it mysql:3306 -- /project/build/docker/with-profiler.bash dotnet /project/samples/Samples.MySql/bin/${buildConfiguration}/${publishTargetFramework}/publish/Samples.MySql.dll" - volumes: - - ./:/project - environment: - - MYSQL_HOST=mysql - - MYSQL_PORT=3306 - depends_on: - - mysql - - Samples.MongoDB: - build: - context: ./ - dockerfile: ./build/docker/dotnet.dockerfile - image: datadog-dotnet - command: bash -c "/project/build/docker/with-profiler-logs.bash wait-for-it mongo:27017 -- /project/build/docker/with-profiler.bash dotnet /project/samples/Samples.MongoDB/bin/${buildConfiguration}/${publishTargetFramework}/publish/Samples.MongoDB.dll" - volumes: - - ./:/project - environment: - - MONGO_HOST=mongo - depends_on: - - mongo - - Samples.RabbitMQ: - build: - context: ./ - dockerfile: ./build/docker/dotnet.dockerfile - image: datadog-dotnet - command: bash -c "/project/build/docker/with-profiler-logs.bash wait-for-it rabbitmq:5672 -- /project/build/docker/with-profiler.bash dotnet /project/test/test-applications/integrations/Samples.RabbitMQ/bin/${buildConfiguration}/${publishTargetFramework}/publish/Samples.RabbitMQ.dll" - volumes: - - ./:/project - environment: - - RABBITMQ_HOST=rabbitmq - - DD_TRACE_CALLTARGET_ENABLED=true - depends_on: - - rabbitmq - # The IIS images are based on Windows images, so they can only be run on Docker for Windows, # and only after switching to run Windows containers - IntegrationTests.IIS.LoaderOptimizationRegKey: + IntegrationTests.IIS: build: context: ./ args: - ENABLE_32_BIT - DOTNET_TRACER_MSI - dockerfile: ./build/docker/iis/LoaderOptimizationRegKey.dockerfile + dockerfile: ./build/_build/docker/iis.dockerfile image: datadog-iis-loaderoptimizationregkey ports: - "8080:80" - # .NET Core does not have apk packages for .NET Core runtimes, they only have base images - # Until it's resolved, have a separate Dockerfile for each runtime - # (see: https://github.com/dotnet/runtime/issues/3406) - IntegrationTests.Alpine.Core21: - build: - context: ./ - dockerfile: ./build/docker/dotnet.alpine.core21.dockerfile - image: datadog-dotnet-alpine-core21 - command: /project/build/docker/Datadog.Trace.ClrProfiler.IntegrationTests.sh - volumes: - - ./:/project - environment: - - MONGO_HOST=mongo - - SERVICESTACK_REDIS_HOST=servicestackredis:6379 - - STACKEXCHANGE_REDIS_HOST=stackexchangeredis:6379 - - ELASTICSEARCH6_HOST=elasticsearch6:9200 - - ELASTICSEARCH5_HOST=elasticsearch5:9200 - - SQLSERVER_CONNECTION_STRING=Server=sqlserver;User=sa;Password=Strong!Passw0rd - - POSTGRES_HOST=postgres - - MYSQL_HOST=mysql - - MYSQL_PORT=3306 - - MYSQL57_HOST=mysql57 - - MYSQL57_PORT=3306 - - RABBITMQ_HOST=rabbitmq - - AWS_SQS_HOST=aws_sqs:9324 - - KAFKA_BROKER_HOST=kafka-broker:29092 - - buildConfiguration=${buildConfiguration} - - publishTargetFramework=netcoreapp2.1 - depends_on: - - servicestackredis - - stackexchangeredis - - elasticsearch6 - - elasticsearch5 - - sqlserver - - mongo - - postgres - - mysql - - mysql57 - - rabbitmq - - aws_sqs - - kafka-broker - - kafka-zookeeper - - IntegrationTests.Alpine.Core30: - build: - context: ./ - dockerfile: ./build/docker/dotnet.alpine.core30.dockerfile - image: datadog-dotnet-alpine-core30 - command: /project/build/docker/Datadog.Trace.ClrProfiler.IntegrationTests.sh - volumes: - - ./:/project - environment: - - MONGO_HOST=mongo - - SERVICESTACK_REDIS_HOST=servicestackredis:6379 - - STACKEXCHANGE_REDIS_HOST=stackexchangeredis:6379 - - ELASTICSEARCH6_HOST=elasticsearch6:9200 - - ELASTICSEARCH5_HOST=elasticsearch5:9200 - - SQLSERVER_CONNECTION_STRING=Server=sqlserver;User=sa;Password=Strong!Passw0rd - - POSTGRES_HOST=postgres - - MYSQL_HOST=mysql - - MYSQL_PORT=3306 - - MYSQL57_HOST=mysql57 - - MYSQL57_PORT=3306 - - RABBITMQ_HOST=rabbitmq - - AWS_SQS_HOST=aws_sqs:9324 - - KAFKA_BROKER_HOST=kafka-broker:29092 - - buildConfiguration=${buildConfiguration} - - publishTargetFramework=netcoreapp3.0 - depends_on: - - servicestackredis - - stackexchangeredis - - elasticsearch6 - - elasticsearch5 - - sqlserver - - mongo - - postgres - - mysql - - mysql57 - - rabbitmq - - aws_sqs - - kafka-broker - - kafka-zookeeper - - IntegrationTests.Alpine.Core31: - build: - context: ./ - dockerfile: ./build/docker/dotnet.alpine.core31.dockerfile - image: datadog-dotnet-alpine-core31 - command: /project/build/docker/Datadog.Trace.ClrProfiler.IntegrationTests.sh - volumes: - - ./:/project - environment: - - MONGO_HOST=mongo - - SERVICESTACK_REDIS_HOST=servicestackredis:6379 - - STACKEXCHANGE_REDIS_HOST=stackexchangeredis:6379 - - ELASTICSEARCH6_HOST=elasticsearch6:9200 - - ELASTICSEARCH5_HOST=elasticsearch5:9200 - - SQLSERVER_CONNECTION_STRING=Server=sqlserver;User=sa;Password=Strong!Passw0rd - - POSTGRES_HOST=postgres - - MYSQL_HOST=mysql - - MYSQL_PORT=3306 - - MYSQL57_HOST=mysql57 - - MYSQL57_PORT=3306 - - RABBITMQ_HOST=rabbitmq - - AWS_SQS_HOST=aws_sqs:9324 - - KAFKA_BROKER_HOST=kafka-broker:29092 - - buildConfiguration=${buildConfiguration} - - publishTargetFramework=netcoreapp3.1 - depends_on: - - servicestackredis - - stackexchangeredis - - elasticsearch6 - - elasticsearch5 - - sqlserver - - mongo - - postgres - - mysql - - mysql57 - - rabbitmq - - aws_sqs - - kafka-broker - - kafka-zookeeper - - IntegrationTests.Alpine.Core50: - build: - context: ./ - dockerfile: ./build/docker/dotnet.alpine.core50.dockerfile - image: datadog-dotnet-alpine-core50 - command: /project/build/docker/Datadog.Trace.ClrProfiler.IntegrationTests.sh - volumes: - - ./:/project - environment: - - MONGO_HOST=mongo - - SERVICESTACK_REDIS_HOST=servicestackredis:6379 - - STACKEXCHANGE_REDIS_HOST=stackexchangeredis:6379 - - ELASTICSEARCH6_HOST=elasticsearch6:9200 - - ELASTICSEARCH5_HOST=elasticsearch5:9200 - - SQLSERVER_CONNECTION_STRING=Server=sqlserver;User=sa;Password=Strong!Passw0rd - - POSTGRES_HOST=postgres - - MYSQL_HOST=mysql - - MYSQL_PORT=3306 - - MYSQL57_HOST=mysql57 - - MYSQL57_PORT=3306 - - RABBITMQ_HOST=rabbitmq - - AWS_SQS_HOST=aws_sqs:9324 - - KAFKA_BROKER_HOST=kafka-broker:29092 - - buildConfiguration=${buildConfiguration} - - publishTargetFramework=net5.0 - depends_on: - - servicestackredis - - stackexchangeredis - - elasticsearch6 - - elasticsearch5 - - sqlserver - - mongo - - postgres - - mysql - - mysql57 - - rabbitmq - - aws_sqs - - kafka-broker - - kafka-zookeeper - IntegrationTests: - build: - context: ./ - dockerfile: ./build/docker/dotnet.dockerfile - image: datadog-dotnet - command: /project/build/docker/Datadog.Trace.ClrProfiler.IntegrationTests.sh - volumes: - - ./:/project - environment: - - MONGO_HOST=mongo - - SERVICESTACK_REDIS_HOST=servicestackredis:6379 - - STACKEXCHANGE_REDIS_HOST=stackexchangeredis:6379 - - ELASTICSEARCH6_HOST=elasticsearch6:9200 - - ELASTICSEARCH5_HOST=elasticsearch5:9200 - - SQLSERVER_CONNECTION_STRING=Server=sqlserver;User=sa;Password=Strong!Passw0rd - - POSTGRES_HOST=postgres - - MYSQL_HOST=mysql - - MYSQL_PORT=3306 - - MYSQL57_HOST=mysql57 - - MYSQL57_PORT=3306 - - RABBITMQ_HOST=rabbitmq - - AWS_SQS_HOST=aws_sqs:9324 - - KAFKA_BROKER_HOST=kafka-broker:29092 - - buildConfiguration=${buildConfiguration} - - publishTargetFramework=${publishTargetFramework} - depends_on: - - servicestackredis - - stackexchangeredis - - elasticsearch6 - - elasticsearch5 - - sqlserver - - mongo - - postgres - - mysql - - mysql57 - - rabbitmq - - aws_sqs - - kafka-broker - - kafka-zookeeper - - NukeIntegrationTests: build: context: ./build/_build/ dockerfile: docker/${baseImage:-debian}.dockerfile @@ -667,7 +275,7 @@ services: - TIMEOUT_LENGTH=120 command: servicestackredis:6379 stackexchangeredis:6379 elasticsearch5:9200 elasticsearch6:9200 sqlserver:1433 mongo:27017 postgres:5432 mysql:3306 mysql57:3306 rabbitmq:5672 kafka-broker:9092 kafka-zookeeper:2181 aws_sqs:9324 - NukeIntegrationTests.ARM64: + IntegrationTests.ARM64: build: context: ./build/_build/ dockerfile: docker/${baseImage:-debian}.dockerfile @@ -717,36 +325,3 @@ services: environment: - TIMEOUT_LENGTH=120 command: servicestackredis:6379 stackexchangeredis:6379 elasticsearch7_arm64:9200 sqledge:1433 mongo:27017 postgres:5432 mysql:3306 rabbitmq:5672 - - IntegrationTests.ARM64.Core50: - build: - context: ./ - dockerfile: ./build/docker/dotnet.arm64.core50.dockerfile - image: datadog-dotnet-arm64-core50 - command: /project/build/docker/Datadog.Trace.ClrProfiler.IntegrationTests.arm64.sh - volumes: - - ./:/project - environment: - - MONGO_HOST=mongo - - SERVICESTACK_REDIS_HOST=servicestackredis:6379 - - STACKEXCHANGE_REDIS_HOST=stackexchangeredis:6379 - - ELASTICSEARCH6_HOST=elasticsearch7_arm64:9200 - - ELASTICSEARCH5_HOST=elasticsearch7_arm64:9200 - - SQLSERVER_CONNECTION_STRING=Server=sqledge;User=sa;Password=Strong!Passw0rd - - POSTGRES_HOST=postgres - - MYSQL_HOST=mysql - - MYSQL_PORT=3306 - - RABBITMQ_HOST=rabbitmq - - AWS_SQS_HOST=aws_sqs:9324 - - buildConfiguration=${buildConfiguration} - - publishTargetFramework=net5.0 - depends_on: - - servicestackredis - - stackexchangeredis - - elasticsearch7_arm64 - - sqledge - - mongo - - postgres - - mysql - - rabbitmq - - aws_sqs diff --git a/test/test-applications/aspnet/samples-iis.sln b/test/test-applications/aspnet/samples-iis.sln deleted file mode 100644 index adf0b87f2a2f..000000000000 --- a/test/test-applications/aspnet/samples-iis.sln +++ /dev/null @@ -1,118 +0,0 @@ - -Microsoft Visual Studio Solution File, Format Version 12.00 -# Visual Studio Version 16 -VisualStudioVersion = 16.0.29613.14 -MinimumVisualStudioVersion = 10.0.40219.1 -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{CB2BB1C3-36DF-4368-A925-74C0E4FDB5EE}" - ProjectSection(SolutionItems) = preProject - Directory.Build.props = Directory.Build.props - EndProjectSection -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Samples.AspNetMvc5", "Samples.AspNetMvc5\Samples.AspNetMvc5.csproj", "{3C6DD42E-9214-4747-92BA-78DE29AACE59}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Samples.AspNetMvc4", "Samples.AspNetMvc4\Samples.AspNetMvc4.csproj", "{6D86109F-B7C9-477D-86D7-45735A3A0818}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Samples.WebForms", "Samples.WebForms\Samples.WebForms.csproj", "{99A62CCF-8E7F-4D57-8383-D38C371C8087}" -EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "dependency-libs", "dependency-libs", "{A7843DE3-5647-4354-8443-EF22BDEEB450}" -EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Samples.Shared", "..\integrations\dependency-libs\Samples.Shared\Samples.Shared.csproj", "{539BE627-E17E-47BD-BB5F-71788E36B962}" -EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Datadog.Trace", "..\..\..\src\Datadog.Trace\Datadog.Trace.csproj", "{8E1BAA6A-47CC-47F0-A7D6-74741118EB7C}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Samples.AspNet472.LoaderOptimizationRegKey", "Samples.AspNet472.LoaderOptimizationRegKey\Samples.AspNet472.LoaderOptimizationRegKey.csproj", "{BBB60B0F-BF01-4499-936A-4A299A9ACFD4}" -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - Debug|Any CPU = Debug|Any CPU - Debug|x64 = Debug|x64 - Debug|x86 = Debug|x86 - Release|Any CPU = Release|Any CPU - Release|x64 = Release|x64 - Release|x86 = Release|x86 - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {3C6DD42E-9214-4747-92BA-78DE29AACE59}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {3C6DD42E-9214-4747-92BA-78DE29AACE59}.Debug|Any CPU.Build.0 = Debug|Any CPU - {3C6DD42E-9214-4747-92BA-78DE29AACE59}.Debug|x64.ActiveCfg = Debug|x64 - {3C6DD42E-9214-4747-92BA-78DE29AACE59}.Debug|x64.Build.0 = Debug|x64 - {3C6DD42E-9214-4747-92BA-78DE29AACE59}.Debug|x86.ActiveCfg = Debug|x86 - {3C6DD42E-9214-4747-92BA-78DE29AACE59}.Debug|x86.Build.0 = Debug|x86 - {3C6DD42E-9214-4747-92BA-78DE29AACE59}.Release|Any CPU.ActiveCfg = Release|Any CPU - {3C6DD42E-9214-4747-92BA-78DE29AACE59}.Release|Any CPU.Build.0 = Release|Any CPU - {3C6DD42E-9214-4747-92BA-78DE29AACE59}.Release|x64.ActiveCfg = Release|x64 - {3C6DD42E-9214-4747-92BA-78DE29AACE59}.Release|x64.Build.0 = Release|x64 - {3C6DD42E-9214-4747-92BA-78DE29AACE59}.Release|x86.ActiveCfg = Release|x86 - {3C6DD42E-9214-4747-92BA-78DE29AACE59}.Release|x86.Build.0 = Release|x86 - {6D86109F-B7C9-477D-86D7-45735A3A0818}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {6D86109F-B7C9-477D-86D7-45735A3A0818}.Debug|Any CPU.Build.0 = Debug|Any CPU - {6D86109F-B7C9-477D-86D7-45735A3A0818}.Debug|x64.ActiveCfg = Debug|x64 - {6D86109F-B7C9-477D-86D7-45735A3A0818}.Debug|x64.Build.0 = Debug|x64 - {6D86109F-B7C9-477D-86D7-45735A3A0818}.Debug|x86.ActiveCfg = Debug|x86 - {6D86109F-B7C9-477D-86D7-45735A3A0818}.Debug|x86.Build.0 = Debug|x86 - {6D86109F-B7C9-477D-86D7-45735A3A0818}.Release|Any CPU.ActiveCfg = Release|Any CPU - {6D86109F-B7C9-477D-86D7-45735A3A0818}.Release|Any CPU.Build.0 = Release|Any CPU - {6D86109F-B7C9-477D-86D7-45735A3A0818}.Release|x64.ActiveCfg = Release|x64 - {6D86109F-B7C9-477D-86D7-45735A3A0818}.Release|x64.Build.0 = Release|x64 - {6D86109F-B7C9-477D-86D7-45735A3A0818}.Release|x86.ActiveCfg = Release|x86 - {6D86109F-B7C9-477D-86D7-45735A3A0818}.Release|x86.Build.0 = Release|x86 - {99A62CCF-8E7F-4D57-8383-D38C371C8087}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {99A62CCF-8E7F-4D57-8383-D38C371C8087}.Debug|Any CPU.Build.0 = Debug|Any CPU - {99A62CCF-8E7F-4D57-8383-D38C371C8087}.Debug|x64.ActiveCfg = Debug|Any CPU - {99A62CCF-8E7F-4D57-8383-D38C371C8087}.Debug|x64.Build.0 = Debug|Any CPU - {99A62CCF-8E7F-4D57-8383-D38C371C8087}.Debug|x86.ActiveCfg = Debug|Any CPU - {99A62CCF-8E7F-4D57-8383-D38C371C8087}.Debug|x86.Build.0 = Debug|Any CPU - {99A62CCF-8E7F-4D57-8383-D38C371C8087}.Release|Any CPU.ActiveCfg = Release|Any CPU - {99A62CCF-8E7F-4D57-8383-D38C371C8087}.Release|Any CPU.Build.0 = Release|Any CPU - {99A62CCF-8E7F-4D57-8383-D38C371C8087}.Release|x64.ActiveCfg = Release|Any CPU - {99A62CCF-8E7F-4D57-8383-D38C371C8087}.Release|x64.Build.0 = Release|Any CPU - {99A62CCF-8E7F-4D57-8383-D38C371C8087}.Release|x86.ActiveCfg = Release|Any CPU - {99A62CCF-8E7F-4D57-8383-D38C371C8087}.Release|x86.Build.0 = Release|Any CPU - {539BE627-E17E-47BD-BB5F-71788E36B962}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {539BE627-E17E-47BD-BB5F-71788E36B962}.Debug|Any CPU.Build.0 = Debug|Any CPU - {539BE627-E17E-47BD-BB5F-71788E36B962}.Debug|x64.ActiveCfg = Debug|Any CPU - {539BE627-E17E-47BD-BB5F-71788E36B962}.Debug|x64.Build.0 = Debug|Any CPU - {539BE627-E17E-47BD-BB5F-71788E36B962}.Debug|x86.ActiveCfg = Debug|Any CPU - {539BE627-E17E-47BD-BB5F-71788E36B962}.Debug|x86.Build.0 = Debug|Any CPU - {539BE627-E17E-47BD-BB5F-71788E36B962}.Release|Any CPU.ActiveCfg = Release|Any CPU - {539BE627-E17E-47BD-BB5F-71788E36B962}.Release|Any CPU.Build.0 = Release|Any CPU - {539BE627-E17E-47BD-BB5F-71788E36B962}.Release|x64.ActiveCfg = Release|Any CPU - {539BE627-E17E-47BD-BB5F-71788E36B962}.Release|x64.Build.0 = Release|Any CPU - {539BE627-E17E-47BD-BB5F-71788E36B962}.Release|x86.ActiveCfg = Release|Any CPU - {539BE627-E17E-47BD-BB5F-71788E36B962}.Release|x86.Build.0 = Release|Any CPU - {8E1BAA6A-47CC-47F0-A7D6-74741118EB7C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {8E1BAA6A-47CC-47F0-A7D6-74741118EB7C}.Debug|Any CPU.Build.0 = Debug|Any CPU - {8E1BAA6A-47CC-47F0-A7D6-74741118EB7C}.Debug|x64.ActiveCfg = Debug|Any CPU - {8E1BAA6A-47CC-47F0-A7D6-74741118EB7C}.Debug|x64.Build.0 = Debug|Any CPU - {8E1BAA6A-47CC-47F0-A7D6-74741118EB7C}.Debug|x86.ActiveCfg = Debug|Any CPU - {8E1BAA6A-47CC-47F0-A7D6-74741118EB7C}.Debug|x86.Build.0 = Debug|Any CPU - {8E1BAA6A-47CC-47F0-A7D6-74741118EB7C}.Release|Any CPU.ActiveCfg = Release|Any CPU - {8E1BAA6A-47CC-47F0-A7D6-74741118EB7C}.Release|Any CPU.Build.0 = Release|Any CPU - {8E1BAA6A-47CC-47F0-A7D6-74741118EB7C}.Release|x64.ActiveCfg = Release|Any CPU - {8E1BAA6A-47CC-47F0-A7D6-74741118EB7C}.Release|x64.Build.0 = Release|Any CPU - {8E1BAA6A-47CC-47F0-A7D6-74741118EB7C}.Release|x86.ActiveCfg = Release|Any CPU - {8E1BAA6A-47CC-47F0-A7D6-74741118EB7C}.Release|x86.Build.0 = Release|Any CPU - {BBB60B0F-BF01-4499-936A-4A299A9ACFD4}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {BBB60B0F-BF01-4499-936A-4A299A9ACFD4}.Debug|Any CPU.Build.0 = Debug|Any CPU - {BBB60B0F-BF01-4499-936A-4A299A9ACFD4}.Debug|x64.ActiveCfg = Debug|Any CPU - {BBB60B0F-BF01-4499-936A-4A299A9ACFD4}.Debug|x64.Build.0 = Debug|Any CPU - {BBB60B0F-BF01-4499-936A-4A299A9ACFD4}.Debug|x86.ActiveCfg = Debug|Any CPU - {BBB60B0F-BF01-4499-936A-4A299A9ACFD4}.Debug|x86.Build.0 = Debug|Any CPU - {BBB60B0F-BF01-4499-936A-4A299A9ACFD4}.Release|Any CPU.ActiveCfg = Release|Any CPU - {BBB60B0F-BF01-4499-936A-4A299A9ACFD4}.Release|Any CPU.Build.0 = Release|Any CPU - {BBB60B0F-BF01-4499-936A-4A299A9ACFD4}.Release|x64.ActiveCfg = Release|Any CPU - {BBB60B0F-BF01-4499-936A-4A299A9ACFD4}.Release|x64.Build.0 = Release|Any CPU - {BBB60B0F-BF01-4499-936A-4A299A9ACFD4}.Release|x86.ActiveCfg = Release|Any CPU - {BBB60B0F-BF01-4499-936A-4A299A9ACFD4}.Release|x86.Build.0 = Release|Any CPU - EndGlobalSection - GlobalSection(SolutionProperties) = preSolution - HideSolutionNode = FALSE - EndGlobalSection - GlobalSection(NestedProjects) = preSolution - {539BE627-E17E-47BD-BB5F-71788E36B962} = {A7843DE3-5647-4354-8443-EF22BDEEB450} - {8E1BAA6A-47CC-47F0-A7D6-74741118EB7C} = {A7843DE3-5647-4354-8443-EF22BDEEB450} - EndGlobalSection - GlobalSection(ExtensibilityGlobals) = postSolution - SolutionGuid = {81EC8DA4-0E99-483E-AAF2-B1184DF6E2B5} - EndGlobalSection -EndGlobal