From 936d2406784931b22b3755b0ff9972fbc37c8be8 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Fri, 10 Sep 2021 22:41:59 +0000 Subject: [PATCH] [release/6.0] Capture `dotnet` dumps (#36392) Capture dotnet dumps - backport of #36385 - capture `dotnet` dumps - builds are failing soon after `dotnet msbuild` launch - do not upload dumps twice nit: Remove disabled explicit component detection job --- .azure/pipelines/ci.yml | 4 --- .azure/pipelines/jobs/default-build.yml | 33 +++++++++++++++---------- 2 files changed, 20 insertions(+), 17 deletions(-) diff --git a/.azure/pipelines/ci.yml b/.azure/pipelines/ci.yml index 1c73eda5a94..31fe503a5ee 100644 --- a/.azure/pipelines/ci.yml +++ b/.azure/pipelines/ci.yml @@ -661,10 +661,6 @@ stages: - powershell: "& ./src/Servers/IIS/tools/UpdateIISExpressCertificate.ps1; & ./src/Servers/IIS/tools/update_schema.ps1" displayName: Setup IISExpress test certificates and schema artifacts: - - name: Windows_Test_Dumps - path: artifacts/dumps/ - publishOnError: true - includeForks: true - name: Windows_Test_Logs path: artifacts/log/ publishOnError: true diff --git a/.azure/pipelines/jobs/default-build.yml b/.azure/pipelines/jobs/default-build.yml index 4f03f73e137..a4f57a3dba9 100644 --- a/.azure/pipelines/jobs/default-build.yml +++ b/.azure/pipelines/jobs/default-build.yml @@ -135,6 +135,8 @@ jobs: - BuildDirectory: $(System.DefaultWorkingDirectory) - ${{ if ne(parameters.buildDirectory, '') }}: - BuildDirectory: ${{ parameters.buildDirectory }} + - COMPlus_DbgEnableMiniDump: 1 + - COMPlus_DbgMiniDumpName: "$(System.DefaultWorkingDirectory)/dotnet-%d.%t.core" - DOTNET_CLI_HOME: $(System.DefaultWorkingDirectory) - DOTNET_SKIP_FIRST_TIME_EXPERIENCE: true - TeamName: AspNetCore @@ -261,24 +263,29 @@ jobs: condition: always() # Run component detection after all successful Build:* jobs unless overridden e.g. for Alpine build. - # Disabled for now because detector limits some error handling to the auto-injected task. Will re-enable once fixed. - - ${{ if and(startsWith(parameters.jobDisplayName, 'Build:'), eq(parameters.agentOs, 'NotARealOperatingSystem'), ne(variables['skipComponentGovernanceDetection'], 'true'), ne(parameters.skipComponentGovernanceDetection, 'true'), notin(variables['Build.Reason'], 'PullRequest')) }}: - - task: ms.vss-governance-buildtask.governance-build-task-component-detection.ComponentGovernanceComponentDetection@0 - condition: and(succeeded(), ne(variables['CG_RAN'], 'true')) - displayName: 'Component Detection' - inputs: - ${{ if eq(parameters.agentOs, 'Windows') }}: - ignoreDirectories: '.dotnet,.packages,artifacts\log,artifacts\symbols,artifacts\tmp' - ${{ if ne(parameters.agentOs, 'Windows') }}: - ignoreDirectories: '.dotnet,.packages,artifacts/log,artifacts/symbols,artifacts/tmp' - sourceScanPath: $(Build.SourcesDirectory) - verbosity: Verbose # Make sure auto-injected component detection does _not_ execute in other jobs nor when overridden. - # No need to recheck variables or build reason because auto-injected component detection honors those values. - ${{ if or(not(startsWith(parameters.jobDisplayName, 'Build:')), eq(parameters.skipComponentGovernanceDetection, 'true')) }}: - script: echo "##vso[task.setvariable variable=CG_RAN]true" displayName: 'Skip Component Detection' + - task: CopyFiles@2 + displayName: Create dump directory + condition: always() + continueOnError: true + inputs: + contents: '*.core' + sourceFolder: $(System.DefaultWorkingDirectory) + targetFolder: artifacts/dumps/ + - task: PublishBuildArtifacts@1 + displayName: Upload dump files + condition: always() + continueOnError: true + inputs: + artifactName: ${{ coalesce(parameters.jobName, parameters.agentOs) }}_Dumps + artifactType: Container + parallel: true + pathtoPublish: artifacts/dumps/ + - ${{ each artifact in parameters.artifacts }}: - task: PublishBuildArtifacts@1 displayName: Upload artifacts from ${{ artifact.path }} -- GitLab