diff --git a/.azure/pipelines/ci-official.yml b/.azure/pipelines/ci-official.yml deleted file mode 100644 index 50c32dca7b4d2843752554cf15b6d576a4a1fd2f..0000000000000000000000000000000000000000 --- a/.azure/pipelines/ci-official.yml +++ /dev/null @@ -1,225 +0,0 @@ -trigger: - branches: - include: - - master - - release/* - exclude: - - release/2.0 - -phases: -- phase: Windows - queue: - name: DotNetCore-Windows - timeoutInMinutes: 120 - matrix: - Release: - BuildConfiguration: Release - variables: - CI: true - DOTNET_SKIP_FIRST_TIME_EXPERIENCE: true - - # This variable is required by MicroBuildSigningPlugin to determine permissions for codesigning. - TeamName: AspNetCore - - # SignType = { test, real } - # This is prefixed underscore because variables automatically become environment variables (and therefore MSBuild properties), - # and this one was causing issues in MSBuild projects which use the $(SignType) MSbuild prop. - _SignType: real - - steps: - - task: NodeTool@0 - displayName: Install Node 10.x - inputs: - versionSpec: 10.x - - task: MicroBuildSigningPlugin@1 - displayName: Install MicroBuild plugin - condition: and(succeeded(), in(variables['_SignType'], 'test', 'real')) - inputs: - signType: $(_SignType) - zipSources: false - # TODO: configure build.cmd to build both x64 and x86 in one invocation - - script: build.cmd -ci /p:SkipTests=true /p:Configuration=$(BuildConfiguration) /p:BuildNumber=$(Build.BuildNumber) /t:Build /t:BuildSharedFx /p:SharedFxRID=win-x64 /t:BuildFallbackArchive - displayName: Build NuGet packages and win-x64 runtime - - script: build.cmd -ci /p:SkipTests=true /p:Configuration=$(BuildConfiguration) /p:BuildNumber=$(Build.BuildNumber) /t:BuildSharedFx /p:SharedFxRID=win-x86 - displayName: Build win-x86 runtime - - powershell: > - src/Installers/Windows/clone_and_build_ancm.ps1 - -GitCredential '$(dn-bot-devdiv-build-rw-code-rw)' - -Config $(BuildConfiguration) - -BuildNumber $(Build.BuildNumber) - -SignType $(_SignType) - displayName: Build ANCM installers - # TODO: configure harvesting to run as a part of build.cmd so we don't need a hard-coded version here. - - powershell: > - src/Installers/Windows/build.ps1 - -x64 artifacts/runtime/aspnetcore-runtime-internal-2.1.6-servicing-$(Build.BuildNumber)-win-x64.zip - -x86 artifacts/runtime/aspnetcore-runtime-internal-2.1.6-servicing-$(Build.BuildNumber)-win-x86.zip - -Config $(BuildConfiguration) - -BuildNumber $(Build.BuildNumber) - -SignType $(_SignType) - displayName: Build Windows installers - - task: PublishTestResults@2 - displayName: Publish test results - condition: always() - inputs: - testRunner: vstest - testResultsFiles: 'artifacts/logs/**/*.trx' - - task: PublishBuildArtifacts@1 - displayName: Upload artifacts - condition: eq(variables['system.pullrequest.isfork'], false) - inputs: - pathtoPublish: ./artifacts/ - artifactName: artifacts-Windows-Release - artifactType: Container - # Detect OSS Components in use in the product. Only needs to run on one OS in the matrix. - - task: ms.vss-governance-buildtask.governance-build-task-component-detection.ComponentGovernanceComponentDetection@0 - displayName: 'Component Detection' - inputs: - # This funky GUID represents the product "ASP.NET and EF Core" - governanceProduct: 'c641993b-8380-e811-80c3-0004ffb4789e' - snapshotForceEnabled: true - - task: MicroBuildCleanup@1 - displayName: Cleanup MicroBuild tasks - condition: always() - -- phase: macOS - dependsOn: Windows - queue: - name: Hosted macOS Preview - matrix: - Release: - BuildConfiguration: Release - variables: - CI: true - DOTNET_SKIP_FIRST_TIME_EXPERIENCE: true - steps: - - task: DownloadBuildArtifacts@0 - displayName: Download artifacts - inputs: - artifactName: artifacts-Windows-Release - downloadPath: $(Build.SourcesDirectory)/.deps - itemPattern: '**/*.nupkg' - # Workaround https://github.com/Microsoft/vsts-tasks/issues/6739 - - task: CopyFiles@2 - displayName: Copy package assets to correct folder - inputs: - sourceFolder: $(Build.SourcesDirectory)/.deps/artifacts-Windows-Release - targetFolder: $(Build.SourcesDirectory)/.deps - - script: > - ./build.sh - --ci - /t:Prepare - /t:Restore - /t:GeneratePropsFiles - /t:BuildSharedFx - /p:SharedFxRID=osx-x64 - /p:BuildNumber=$(Build.BuildNumber) - displayName: Build osx-x64 runtime - - task: PublishTestResults@2 - displayName: Publish test results - condition: always() - inputs: - testRunner: vstest - testResultsFiles: 'artifacts/logs/**/*.trx' - - task: PublishBuildArtifacts@1 - displayName: Upload artifacts - condition: eq(variables['system.pullrequest.isfork'], false) - inputs: - pathtoPublish: ./artifacts/ - artifactName: artifacts-macOS-Release - artifactType: Container - -- phase: Linux - dependsOn: - - Windows - - macOS - queue: - name: DotNetCore-Linux - matrix: - Release: - BuildConfiguration: Release - variables: - CI: true - DOTNET_SKIP_FIRST_TIME_EXPERIENCE: true - steps: - - task: DownloadBuildArtifacts@0 - displayName: Download artifacts - inputs: - artifactName: artifacts-Windows-Release - downloadPath: $(Build.SourcesDirectory)/.deps - itemPattern: '**/*.nupkg' - - task: DownloadBuildArtifacts@0 - displayName: Download Windows artifacts - inputs: - artifactName: artifacts-Windows-Release - downloadPath: $(Build.SourcesDirectory)/.r - itemPattern: '**/aspnetcore-runtime-*' - - task: DownloadBuildArtifacts@0 - displayName: Download macOS artifacts - inputs: - artifactName: artifacts-macOS-Release - downloadPath: $(Build.SourcesDirectory)/.r - itemPattern: '**/aspnetcore-runtime-*' - # Workaround https://github.com/Microsoft/vsts-tasks/issues/6739 - - task: CopyFiles@2 - displayName: Copy package assets to correct folder - inputs: - sourceFolder: $(Build.SourcesDirectory)/.deps/artifacts-Windows-Release - targetFolder: $(Build.SourcesDirectory)/.deps - # TODO: Make the cumulative zips build in their own step - - task: CopyFiles@2 - displayName: Copy package assets to correct folder - inputs: - sourceFolder: $(Build.SourcesDirectory)/.r/artifacts-Windows-Release - targetFolder: $(Build.SourcesDirectory)/artifacts/ - - task: CopyFiles@2 - displayName: Copy package assets to correct folder - inputs: - sourceFolder: $(Build.SourcesDirectory)/.r/artifacts-macOS-Release - targetFolder: $(Build.SourcesDirectory)/artifacts/ - - script: > - ./build.sh - --ci - /t:Prepare - /t:Restore - /t:GeneratePropsFiles - /t:BuildSharedFx - /p:SharedFxRID=linux-x64 - /p:BuildNumber=$(Build.BuildNumber) - displayName: Build linux-x64 runtime - - script: > - ./build.sh - --ci - /t:BuildSharedFx - /p:SharedFxRID=linux-arm - /p:BuildNumber=$(Build.BuildNumber) - displayName: Build linux-arm runtime - - script: > - ./dockerbuild.sh - alpine - /t:Prepare - /t:GeneratePropsFiles - /t:BuildSharedFx - /p:SharedFxRID=linux-musl-x64 - /p:BuildNumber=$(Build.BuildNumber) - displayName: Build linux-musl-x64 runtime - # TODO: configure installers to run in one build.sh invocation - - script: > - ./build.sh - --ci - /t:BuildInstallers - /p:_SharedFxSourceDir=$(Build.SourcesDirectory)/artifacts/runtime/ - displayName: Build linux installers - - task: PublishTestResults@2 - displayName: Publish test results - condition: always() - inputs: - testRunner: vstest - testResultsFiles: 'artifacts/logs/**/*.trx' - - task: PublishBuildArtifacts@1 - displayName: Upload artifacts - condition: eq(variables['system.pullrequest.isfork'], false) - inputs: - pathtoPublish: ./artifacts/ - artifactName: artifacts-Linux-Release - artifactType: Container diff --git a/.azure/pipelines/jobs/default-build.yml b/.azure/pipelines/jobs/default-build.yml index dc8c7d1eb624f63812f7d801d13e7ccd9ef32892..7e79628ce3c610aadc9fa8472aadff16ea6ddf11 100644 --- a/.azure/pipelines/jobs/default-build.yml +++ b/.azure/pipelines/jobs/default-build.yml @@ -121,9 +121,15 @@ jobs: - ${{ if eq(parameters.agentOs, 'Windows') }}: - script: .\$(BuildDirectory)\build.cmd -ci /p:SignType=$(_SignType) /p:Configuration=$(BuildConfiguration) $(BuildScriptArgs) displayName: Run build.cmd + - powershell: eng\scripts\KillProcesses.ps1 + displayName: Kill processes + condition: always() - ${{ if ne(parameters.agentOs, 'Windows') }}: - script: ./$(BuildDirectory)/build.sh -ci -p:Configuration=$(BuildConfiguration) $(BuildScriptArgs) displayName: Run build.sh + - script: eng/scripts/KillProcesses.sh + displayName: Kill processes + condition: always() - task: PublishTestResults@2 displayName: Publish test results condition: always() diff --git a/eng/scripts/KillProcesses.ps1 b/eng/scripts/KillProcesses.ps1 new file mode 100644 index 0000000000000000000000000000000000000000..29b3657281d9ad2319a52f6ed3c1e4e20fdd56c9 --- /dev/null +++ b/eng/scripts/KillProcesses.ps1 @@ -0,0 +1,16 @@ +$ErrorActionPreference = 'Continue' + +taskkill /T /F /IM dotnet.exe +taskkill /T /F /IM testhost.exe +taskkill /T /F /IM iisexpress.exe +taskkill /T /F /IM iisexpresstray.exe +taskkill /T /F /IM w3wp.exe +taskkill /T /F /IM msbuild.exe +taskkill /T /F /IM vbcscompiler.exe +taskkill /T /F /IM git.exe +taskkill /T /F /IM vctip.exe +taskkill /T /F /IM chrome.exe +taskkill /T /F /IM h2spec.exe +iisreset /restart + +exit 0 diff --git a/eng/scripts/KillProcesses.sh b/eng/scripts/KillProcesses.sh new file mode 100755 index 0000000000000000000000000000000000000000..f52511739b52a31526e5baf66b9369616b9cb385 --- /dev/null +++ b/eng/scripts/KillProcesses.sh @@ -0,0 +1,4 @@ +#!/usr/bin/env bash + +pkill dotnet || true +exit 0