forked from microsoft/infersharp
-
Notifications
You must be signed in to change notification settings - Fork 0
/
azure-pipelines-example-multistage.yml
68 lines (59 loc) · 1.99 KB
/
azure-pipelines-example-multistage.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
name: "InferSharp-AzurePipelinesExample-Multistage"
jobs:
# Example of existing build pipeline
- job: RunExistingBuildPipeline
pool:
vmImage: 'windows-2019'
steps:
# Build
- task: DotNetCoreCLI@2
displayName: 'dotnet build'
inputs:
projects: Examples/Examples.sln
# Copy binaries to a staging folder
- task: CopyFiles@2
displayName: 'Copy output binaries'
inputs:
SourceFolder: '$(Build.SourcesDirectory)/Examples/Examples/bin/Debug'
Contents: '**\?(*.dll|*.pdb|*.exe)'
TargetFolder: '$(Build.ArtifactStagingDirectory)'
# Publish binaries
- task: PublishBuildArtifacts@1
displayName: 'Publish binaries'
inputs:
PathtoPublish: '$(Build.ArtifactStagingDirectory)'
ArtifactName: 'infersharp-input'
publishLocation: 'Container'
# Run Infer#
- job: RunInferSharp
dependsOn: 'RunExistingBuildPipeline'
pool:
vmImage: 'ubuntu-20.04'
container:
image: mcr.microsoft.com/infersharp:v1.5
steps:
# Download binaries
- task: DownloadBuildArtifacts@0
displayName: 'Download binaries'
inputs:
buildType: 'current'
downloadType: 'single'
artifactName: 'infersharp-input'
downloadPath: '$(System.ArtifactsDirectory)'
- script: |
curl -o run_infersharp.sh https://raw.githubusercontent.com/microsoft/infersharpaction/v1.4.1/run_infersharp_ci.sh
curl -o .inferconfig https://raw.githubusercontent.com/microsoft/infersharp/v1.5/.inferconfig
chmod +x run_infersharp.sh
chmod +x .inferconfig
./run_infersharp.sh $(System.ArtifactsDirectory)
displayName: 'Run Infer# analysis'
# Display as build console logs
- script: cat $(Build.SourcesDirectory)/infer-out/report.txt
displayName: 'Infer# analysis result'
# Publish SARIF
- task: PublishBuildArtifacts@1
displayName: "Publish Infer# SARIF"
inputs:
PathtoPublish: "$(Build.SourcesDirectory)/infer-out/report.sarif"
ArtifactName: "infersharp-output"
publishLocation: "Container"