From 6459443093ea7dc35b9d240fb8f01aaa3b40d7ba Mon Sep 17 00:00:00 2001 From: Peter Collins Date: Thu, 14 Mar 2024 15:02:32 -0700 Subject: [PATCH 1/2] [APIScan] Scan extra symbols and update parameters Updates the task parameters for API Scan to better match those used for VS scanning, which should allow us to only have to maintain one SEL. Additional symbols files from the latest binutils package are also now included. --- .../automation/azure-pipelines-nightly.yaml | 17 +++++++++++------ .../xaprepare/ConfigAndData/Configurables.cs | 2 +- .../xaprepare/Steps/Step_InstallGNUBinutils.cs | 5 +++++ 3 files changed, 17 insertions(+), 7 deletions(-) diff --git a/build-tools/automation/azure-pipelines-nightly.yaml b/build-tools/automation/azure-pipelines-nightly.yaml index a71b2ac0872..e0b8add93d5 100644 --- a/build-tools/automation/azure-pipelines-nightly.yaml +++ b/build-tools/automation/azure-pipelines-nightly.yaml @@ -294,6 +294,11 @@ stages: timeoutInMinutes: 480 workspace: clean: all + variables: + - name: ApiScanSoftwareName + value: VS + - name: ApiScanSoftwareVersion + value: 17.10 steps: - template: /build-tools/automation/yaml-templates/setup-test-environment.yaml parameters: @@ -317,21 +322,21 @@ stages: Contents: | $(System.DefaultWorkingDirectory)\bin\$(XA.Build.Configuration)\dotnet\packs\Microsoft.Android*\**\?(*.dll|*.exe|*.pdb) $(System.DefaultWorkingDirectory)\binutils-pdb\*.pdb - TargetFolder: $(Build.StagingDirectory)\apiscan + TargetFolder: $(Agent.TempDirectory)\T OverWrite: true flattenFolders: true - - pwsh: Get-ChildItem -Path "$(Build.StagingDirectory)\apiscan" -Recurse + - pwsh: Get-ChildItem -Path "$(Agent.TempDirectory)\T" -Recurse displayName: List Files for APIScan ### Run latest version of APIScan listed at https://www.1eswiki.com/wiki/APIScan_Build_Task - task: APIScan@2 displayName: Run APIScan inputs: - softwareFolder: $(Build.StagingDirectory)\apiscan - symbolsFolder: 'SRV*http://symweb;$(Build.StagingDirectory)\apiscan' - softwareName: $(ApiScanName) - softwareVersionNum: $(Build.SourceBranchName)-$(Build.SourceVersion)$(System.JobAttempt) + softwareFolder: $(Agent.TempDirectory)\T + symbolsFolder: 'SRV*http://symweb;$(Agent.TempDirectory)\T' + softwareName: $(ApiScanSoftwareName) + softwareVersionNum: $(ApiScanSoftwareVersion) isLargeApp: true toolVersion: Latest env: diff --git a/build-tools/xaprepare/xaprepare/ConfigAndData/Configurables.cs b/build-tools/xaprepare/xaprepare/ConfigAndData/Configurables.cs index af2831a6dc8..d121f94ce63 100644 --- a/build-tools/xaprepare/xaprepare/ConfigAndData/Configurables.cs +++ b/build-tools/xaprepare/xaprepare/ConfigAndData/Configurables.cs @@ -15,7 +15,7 @@ namespace Xamarin.Android.Prepare // partial class Configurables { - const string BinutilsVersion = "L_17.0.6-7.1.0"; + const string BinutilsVersion = "L_17.0.6-7.1.2"; const string MicrosoftOpenJDK17Version = "17.0.8"; const string MicrosoftOpenJDK17Release = "17.0.8.7"; diff --git a/build-tools/xaprepare/xaprepare/Steps/Step_InstallGNUBinutils.cs b/build-tools/xaprepare/xaprepare/Steps/Step_InstallGNUBinutils.cs index 7f094a4e364..48f3bf38e94 100644 --- a/build-tools/xaprepare/xaprepare/Steps/Step_InstallGNUBinutils.cs +++ b/build-tools/xaprepare/xaprepare/Steps/Step_InstallGNUBinutils.cs @@ -122,6 +122,11 @@ void CopyTools (string prefix) Utilities.CopyFile (toolSourcePath, toolDestinationPath); Utilities.CopyFile (toolSourcePdbPath, toolDestinationPdbPath); } + // Copy PDB files for tools that have been renamed + if (isWindows) { + Utilities.CopyFile (Path.Combine (sourcePath, "lld.pdb"), Path.Combine (symbolArchiveDir, "lld.pdb")); + Utilities.CopyFile (Path.Combine (sourcePath, "llvm-objcopy.pdb"), Path.Combine (symbolArchiveDir, "llvm-objcopy.pdb")); + } } } From 1853e24f8303a3f6a98001999c8793bd7da9bd82 Mon Sep 17 00:00:00 2001 From: Peter Collins Date: Fri, 15 Mar 2024 15:07:31 -0700 Subject: [PATCH 2/2] Try more performant pool --- build-tools/automation/azure-pipelines-nightly.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/build-tools/automation/azure-pipelines-nightly.yaml b/build-tools/automation/azure-pipelines-nightly.yaml index e0b8add93d5..18013be1df8 100644 --- a/build-tools/automation/azure-pipelines-nightly.yaml +++ b/build-tools/automation/azure-pipelines-nightly.yaml @@ -289,8 +289,8 @@ stages: - job: api_scan displayName: API Scan pool: - name: Azure Pipelines - vmImage: windows-2022 + name: MAUI-1ESPT + demands: ImageOverride -equals $(WindowsPoolImage1ESPT) timeoutInMinutes: 480 workspace: clean: all