|
8 | 8 | - main |
9 | 9 | - release/* |
10 | 10 |
|
11 | | -parameters: |
12 | | -- name: ApiScanSourceBranch |
13 | | - default: refs/heads/main |
14 | | - |
15 | 11 | # Global variables |
16 | 12 | variables: |
17 | 13 | - name: DotNetCoreVersion |
18 | | - value: 6.0.x |
| 14 | + value: 9.0.x |
19 | 15 |
|
20 | 16 | jobs: |
21 | 17 | - job: build |
|
24 | 20 | strategy: |
25 | 21 | matrix: |
26 | 22 | macOS: |
27 | | - vmImage: macOS-13 |
| 23 | + vmImage: macOS-15 |
28 | 24 | windows: |
29 | 25 | vmImage: windows-2022 |
30 | | - Codeql.Enabled: true |
31 | 26 | pool: |
32 | 27 | vmImage: $(vmImage) |
33 | 28 | workspace: |
|
41 | 36 | inputs: |
42 | 37 | version: $(DotNetCoreVersion) |
43 | 38 |
|
44 | | - - task: UseDotNet@2 |
45 | | - displayName: Use .NET Core 8.0.x |
46 | | - inputs: |
47 | | - version: 8.0.x |
48 | | - |
49 | 39 | - task: DotNetCoreCLI@2 |
50 | 40 | displayName: Build solution Xamarin.Android.Tools.sln |
51 | 41 | inputs: |
|
87 | 77 | path: $(Build.ArtifactStagingDirectory) |
88 | 78 | artifactName: Artifacts - $(System.JobName) |
89 | 79 | condition: always() |
90 | | - |
91 | | -- job: api_scan |
92 | | - displayName: API Scan |
93 | | - dependsOn: build |
94 | | - condition: false |
95 | | - #condition: and(eq(dependencies.build.result, 'Succeeded'), eq(variables['Build.SourceBranch'], '${{ parameters.ApiScanSourceBranch }}')) |
96 | | - pool: |
97 | | - name: Azure Pipelines |
98 | | - vmImage: windows-2022 |
99 | | - timeoutInMinutes: 480 |
100 | | - workspace: |
101 | | - clean: all |
102 | | - steps: |
103 | | - - task: DownloadPipelineArtifact@2 |
104 | | - displayName: Download build artifacts |
105 | | - inputs: |
106 | | - artifactName: Output - windows |
107 | | - downloadPath: $(Build.SourcesDirectory) |
108 | | - |
109 | | - - task: CopyFiles@2 |
110 | | - displayName: Collect Files for APIScan |
111 | | - inputs: |
112 | | - Contents: | |
113 | | - $(Build.SourcesDirectory)\**\?(*.dll|*.exe|*.pdb) |
114 | | - !$(Build.SourcesDirectory)\**\ls-jdks.* |
115 | | - TargetFolder: $(Build.StagingDirectory)\apiscan |
116 | | - OverWrite: true |
117 | | - flattenFolders: true |
118 | | - |
119 | | - - powershell: Get-ChildItem -Path "$(Build.StagingDirectory)\apiscan" -Recurse |
120 | | - displayName: List Files for APIScan |
121 | | - |
122 | | - - task: APIScan@2 |
123 | | - displayName: Run APIScan |
124 | | - inputs: |
125 | | - softwareFolder: $(Build.StagingDirectory)\apiscan |
126 | | - symbolsFolder: 'SRV*http://symweb;$(Build.StagingDirectory)\apiscan' |
127 | | - softwareName: $(ApiScanName) |
128 | | - softwareVersionNum: $(Build.SourceBranchName)-$(Build.SourceVersion)$(System.JobAttempt) |
129 | | - isLargeApp: true |
130 | | - toolVersion: Latest |
131 | | - env: |
132 | | - AzureServicesAuthConnectionString: runAs=App;AppId=$(ApiScanClientId);TenantId=$(ApiScanTenant);AppKey=$(ApiScanSecret) |
133 | | - |
134 | | - - task: SdtReport@2 |
135 | | - displayName: Guardian Export - Security Report |
136 | | - inputs: |
137 | | - GdnExportAllTools: false |
138 | | - GdnExportGdnToolApiScan: true |
139 | | - GdnExportOutputSuppressionFile: source.gdnsuppress |
140 | | - |
141 | | - - task: PublishSecurityAnalysisLogs@3 |
142 | | - displayName: Publish Guardian Artifacts |
143 | | - inputs: |
144 | | - ArtifactName: APIScan Logs |
145 | | - ArtifactType: Container |
146 | | - AllTools: false |
147 | | - APIScan: true |
148 | | - ToolLogsNotFoundAction: Warning |
149 | | - |
150 | | - - task: PostAnalysis@2 |
151 | | - displayName: Fail Build on Guardian Issues |
152 | | - inputs: |
153 | | - GdnBreakAllTools: false |
154 | | - GdnBreakGdnToolApiScan: true |
0 commit comments