Skip to content

Commit 95e7700

Browse files
authored
Migrate build pipeline to 1ES Standard (Security) (#117)
* Migrate build pipeline to 1ES Standard (Security) Migrate to standard of Microsoft 1ES Pipeline template with enhanced build checks and security
1 parent 3361457 commit 95e7700

File tree

1 file changed

+138
-125
lines changed

1 file changed

+138
-125
lines changed

azure-pipelines.yml

Lines changed: 138 additions & 125 deletions
Original file line numberDiff line numberDiff line change
@@ -19,134 +19,147 @@ variables:
1919
# The version of dotnet core to use.
2020
Build.DotNetCoreVersion: 3.x
2121

22-
jobs:
23-
- job: MicrosoftPerformanceToolsLinux
22+
resources:
23+
repositories:
24+
- repository: 1ESPipelineTemplates
25+
type: git
26+
name: 1ESPipelineTemplates/1ESPipelineTemplates
27+
ref: refs/tags/release
28+
extends:
29+
template: v1/1ES.Official.PipelineTemplate.yml@1ESPipelineTemplates
30+
parameters:
31+
sdl:
32+
spotBugs:
33+
enabled: false # Doesn't run producing empty file and failing build
2434
pool:
25-
vmImage: 'windows-latest'
26-
name: Azure Pipelines
27-
demands:
28-
- msbuild
29-
- vstest
35+
name: Azure-Pipelines-1ESPT-ExDShared
36+
image: windows-2022
37+
os: windows
38+
customBuildTags:
39+
- ES365AIMigrationTooling
40+
stages:
41+
- stage: stage
42+
jobs:
43+
- job: MicrosoftPerformanceToolsLinux
44+
templateContext:
45+
outputs:
46+
- output: pipelineArtifact
47+
targetPath: '$(Build.ArtifactStagingDirectory)'
48+
artifactName: 'drop'
49+
publishLocation: 'Container'
50+
steps:
51+
- task: UseDotNet@2
52+
displayName: Use DotNet Core
53+
inputs:
54+
packageType: 'sdk'
55+
version: $(Build.DotNetCoreVersion)
56+
performMultiLevelLookup: true
3057

31-
steps:
32-
- task: UseDotNet@2
33-
displayName: Use DotNet Core
34-
inputs:
35-
packageType: 'sdk'
36-
version: $(Build.DotNetCoreVersion)
37-
performMultiLevelLookup: true
58+
- task: DotNetCoreCLI@2
59+
displayName: DotNetCore restore
60+
inputs:
61+
command: 'restore'
62+
projects: '$(System.DefaultWorkingDirectory)/Microsoft-Perf-Tools-Linux-Android.sln'
63+
verbosityRestore: $(Debug.NuGetVerbosityRestore)
64+
includeNugetOrg: true
3865

39-
- task: DotNetCoreCLI@2
40-
displayName: DotNetCore restore
41-
inputs:
42-
command: 'restore'
43-
projects: '$(System.DefaultWorkingDirectory)/Microsoft-Perf-Tools-Linux-Android.sln'
44-
verbosityRestore: $(Debug.NuGetVerbosityRestore)
45-
includeNugetOrg: true
46-
47-
- task: DotNetCoreCLI@2
48-
displayName: DotNetCore build
49-
inputs:
50-
command: 'build'
51-
arguments: '--configuration Release --verbosity normal'
52-
projects: |
53-
CtfPlayback\CtfPlayback.csproj
54-
CtfUnitTest\CtfUnitTest.csproj
55-
LTTngCds\LTTngCds.csproj
56-
LTTngDataExtensions\LTTngDataExtensions.csproj
57-
LTTngDataExtUnitTest\LTTngDataExtUnitTest.csproj
58-
LTTngDriver\LTTngDriver.csproj
59-
PerfCds\PerfCds.csproj
60-
PerfDataExtensions\PerfDataExtensions.csproj
61-
PerfettoCds\PerfettoCds.csproj
62-
PerfUnitTest\PerfUnitTest.csproj
63-
LinuxLogParsers\LinuxPlugins-MicrosoftPerformanceToolkSDK\Cloud-init\Cloud-Init.csproj
64-
LinuxLogParsers\LinuxPlugins-MicrosoftPerformanceToolkSDK\DmesgIsoLog\Dmesg.csproj
65-
LinuxLogParsers\LinuxPlugins-MicrosoftPerformanceToolkSDK\WaLinuxAgent\WaLinuxAgent.csproj
66-
LinuxLogParsers\LinuxPlugins-MicrosoftPerformanceToolkSDK\AndroidLogCat\AndroidLogcat.csproj
67-
LinuxLogParsers\LinuxLogParsersUnitTest\LinuxLogParsersUnitTest.csproj
68-
69-
includesymbols: true
70-
versioningScheme: 'byBuildNumber'
71-
72-
- task: DotNetCoreCLI@2
73-
displayName: DotNetCore test
74-
inputs:
75-
command: 'test'
76-
projects: '$(System.DefaultWorkingDirectory)/Microsoft-Perf-Tools-Linux-Android.sln'
66+
- task: DotNetCoreCLI@2
67+
displayName: DotNetCore build
68+
inputs:
69+
command: 'build'
70+
arguments: '--configuration Release --verbosity normal'
71+
projects: |
72+
CtfPlayback\CtfPlayback.csproj
73+
CtfUnitTest\CtfUnitTest.csproj
74+
LTTngCds\LTTngCds.csproj
75+
LTTngDataExtensions\LTTngDataExtensions.csproj
76+
LTTngDataExtUnitTest\LTTngDataExtUnitTest.csproj
77+
LTTngDriver\LTTngDriver.csproj
78+
PerfCds\PerfCds.csproj
79+
PerfDataExtensions\PerfDataExtensions.csproj
80+
PerfettoCds\PerfettoCds.csproj
81+
PerfUnitTest\PerfUnitTest.csproj
82+
LinuxLogParsers\LinuxPlugins-MicrosoftPerformanceToolkSDK\Cloud-init\Cloud-Init.csproj
83+
LinuxLogParsers\LinuxPlugins-MicrosoftPerformanceToolkSDK\DmesgIsoLog\Dmesg.csproj
84+
LinuxLogParsers\LinuxPlugins-MicrosoftPerformanceToolkSDK\WaLinuxAgent\WaLinuxAgent.csproj
85+
LinuxLogParsers\LinuxPlugins-MicrosoftPerformanceToolkSDK\AndroidLogCat\AndroidLogcat.csproj
86+
LinuxLogParsers\LinuxLogParsersUnitTest\LinuxLogParsersUnitTest.csproj
87+
88+
includesymbols: true
89+
versioningScheme: 'byBuildNumber'
7790

78-
- task: CopyFiles@2
79-
displayName: Copy PerfDataExtensions Build to Output Artifacts
80-
inputs:
81-
SourceFolder: 'PerfDataExtensions/bin/$(BuildConfiguration)/netstandard2.1'
82-
Contents: '**'
83-
TargetFolder: '$(Build.ArtifactStagingDirectory)/Microsoft-Performance-Tools-Linux/MicrosoftPerfToolkitAddins/PerfDataExtensions'
84-
85-
- task: CopyFiles@2
86-
displayName: Copy LTTngDataExtensions Build to Output Artifacts
87-
inputs:
88-
SourceFolder: 'LTTngDataExtensions/bin/$(BuildConfiguration)/netstandard2.1'
89-
Contents: '**'
90-
TargetFolder: '$(Build.ArtifactStagingDirectory)/Microsoft-Performance-Tools-Linux/MicrosoftPerfToolkitAddins/LTTngDataExtensions'
91-
92-
- task: CopyFiles@2
93-
displayName: Copy LTTngDriver Build to Output Artifacts
94-
inputs:
95-
SourceFolder: 'LTTngDriver/bin/$(BuildConfiguration)/netcoreapp3.1'
96-
Contents: '**'
97-
TargetFolder: '$(Build.ArtifactStagingDirectory)/Microsoft-Performance-Tools-Linux/LTTngDriver'
98-
99-
- task: CopyFiles@2
100-
displayName: Copy Perfetto Build to Output Artifacts
101-
inputs:
102-
SourceFolder: 'PerfettoCds/bin/$(BuildConfiguration)/netstandard2.1'
103-
Contents: '**'
104-
TargetFolder: '$(Build.ArtifactStagingDirectory)/Microsoft-Performance-Tools-Linux/MicrosoftPerfToolkitAddins/Perfetto'
105-
106-
- task: CopyFiles@2
107-
displayName: Copy Cloud-init Build to Output Artifacts
108-
inputs:
109-
SourceFolder: 'LinuxLogParsers/LinuxPlugins-MicrosoftPerformanceToolkSDK/Cloud-init/bin/$(BuildConfiguration)/netstandard2.1'
110-
Contents: '**'
111-
TargetFolder: '$(Build.ArtifactStagingDirectory)/Microsoft-Performance-Tools-Linux/MicrosoftPerfToolkitAddins/Cloud-init'
91+
- task: DotNetCoreCLI@2
92+
displayName: DotNetCore test
93+
inputs:
94+
command: 'test'
95+
projects: '$(System.DefaultWorkingDirectory)/Microsoft-Perf-Tools-Linux-Android.sln'
11296

113-
- task: CopyFiles@2
114-
displayName: Copy DmesgIsoLog Build to Output Artifacts
115-
inputs:
116-
SourceFolder: 'LinuxLogParsers/LinuxPlugins-MicrosoftPerformanceToolkSDK/DmesgIsoLog/bin/$(BuildConfiguration)/netstandard2.1'
117-
Contents: '**'
118-
TargetFolder: '$(Build.ArtifactStagingDirectory)/Microsoft-Performance-Tools-Linux/MicrosoftPerfToolkitAddins/Dmesg'
119-
120-
- task: CopyFiles@2
121-
displayName: Copy WaLinuxAgent Build to Output Artifacts
122-
inputs:
123-
SourceFolder: 'LinuxLogParsers/LinuxPlugins-MicrosoftPerformanceToolkSDK/WaLinuxAgent/bin/$(BuildConfiguration)/netstandard2.1'
124-
Contents: '**'
125-
TargetFolder: '$(Build.ArtifactStagingDirectory)/Microsoft-Performance-Tools-Linux/MicrosoftPerfToolkitAddins/WaLinuxAgent'
126-
127-
- task: CopyFiles@2
128-
displayName: Copy AndroidLogCat Build to Output Artifacts
129-
inputs:
130-
SourceFolder: 'LinuxLogParsers/LinuxPlugins-MicrosoftPerformanceToolkSDK/AndroidLogCat/bin/$(BuildConfiguration)/netstandard2.1'
131-
Contents: '**'
132-
TargetFolder: '$(Build.ArtifactStagingDirectory)/Microsoft-Performance-Tools-Linux/MicrosoftPerfToolkitAddins/AndroidLogCat'
133-
134-
- task: CopyFiles@2
135-
displayName: Copy Launcher
136-
inputs:
137-
SourceFolder: 'Launcher'
138-
Contents: '**'
139-
TargetFolder: '$(Build.ArtifactStagingDirectory)/Microsoft-Performance-Tools-Linux/Launcher'
140-
141-
- task: CopyFiles@2
142-
displayName: Copy Extra Release Files
143-
inputs:
144-
SourceFolder: 'ReleaseFiles'
145-
Contents: '**'
146-
TargetFolder: '$(Build.ArtifactStagingDirectory)/Microsoft-Performance-Tools-Linux'
97+
- task: CopyFiles@2
98+
displayName: Copy PerfDataExtensions Build to Output Artifacts
99+
inputs:
100+
SourceFolder: 'PerfDataExtensions/bin/$(BuildConfiguration)/netstandard2.1'
101+
Contents: '**'
102+
TargetFolder: '$(Build.ArtifactStagingDirectory)/Microsoft-Performance-Tools-Linux/MicrosoftPerfToolkitAddins/PerfDataExtensions'
103+
104+
- task: CopyFiles@2
105+
displayName: Copy LTTngDataExtensions Build to Output Artifacts
106+
inputs:
107+
SourceFolder: 'LTTngDataExtensions/bin/$(BuildConfiguration)/netstandard2.1'
108+
Contents: '**'
109+
TargetFolder: '$(Build.ArtifactStagingDirectory)/Microsoft-Performance-Tools-Linux/MicrosoftPerfToolkitAddins/LTTngDataExtensions'
110+
111+
- task: CopyFiles@2
112+
displayName: Copy LTTngDriver Build to Output Artifacts
113+
inputs:
114+
SourceFolder: 'LTTngDriver/bin/$(BuildConfiguration)/netcoreapp3.1'
115+
Contents: '**'
116+
TargetFolder: '$(Build.ArtifactStagingDirectory)/Microsoft-Performance-Tools-Linux/LTTngDriver'
117+
118+
- task: CopyFiles@2
119+
displayName: Copy Perfetto Build to Output Artifacts
120+
inputs:
121+
SourceFolder: 'PerfettoCds/bin/$(BuildConfiguration)/netstandard2.1'
122+
Contents: '**'
123+
TargetFolder: '$(Build.ArtifactStagingDirectory)/Microsoft-Performance-Tools-Linux/MicrosoftPerfToolkitAddins/Perfetto'
124+
125+
- task: CopyFiles@2
126+
displayName: Copy Cloud-init Build to Output Artifacts
127+
inputs:
128+
SourceFolder: 'LinuxLogParsers/LinuxPlugins-MicrosoftPerformanceToolkSDK/Cloud-init/bin/$(BuildConfiguration)/netstandard2.1'
129+
Contents: '**'
130+
TargetFolder: '$(Build.ArtifactStagingDirectory)/Microsoft-Performance-Tools-Linux/MicrosoftPerfToolkitAddins/Cloud-init'
131+
132+
- task: CopyFiles@2
133+
displayName: Copy DmesgIsoLog Build to Output Artifacts
134+
inputs:
135+
SourceFolder: 'LinuxLogParsers/LinuxPlugins-MicrosoftPerformanceToolkSDK/DmesgIsoLog/bin/$(BuildConfiguration)/netstandard2.1'
136+
Contents: '**'
137+
TargetFolder: '$(Build.ArtifactStagingDirectory)/Microsoft-Performance-Tools-Linux/MicrosoftPerfToolkitAddins/Dmesg'
138+
139+
- task: CopyFiles@2
140+
displayName: Copy WaLinuxAgent Build to Output Artifacts
141+
inputs:
142+
SourceFolder: 'LinuxLogParsers/LinuxPlugins-MicrosoftPerformanceToolkSDK/WaLinuxAgent/bin/$(BuildConfiguration)/netstandard2.1'
143+
Contents: '**'
144+
TargetFolder: '$(Build.ArtifactStagingDirectory)/Microsoft-Performance-Tools-Linux/MicrosoftPerfToolkitAddins/WaLinuxAgent'
147145

148-
- task: PublishBuildArtifacts@1
149-
inputs:
150-
PathtoPublish: '$(Build.ArtifactStagingDirectory)'
151-
ArtifactName: 'drop'
152-
publishLocation: 'Container'
146+
- task: CopyFiles@2
147+
displayName: Copy AndroidLogCat Build to Output Artifacts
148+
inputs:
149+
SourceFolder: 'LinuxLogParsers/LinuxPlugins-MicrosoftPerformanceToolkSDK/AndroidLogCat/bin/$(BuildConfiguration)/netstandard2.1'
150+
Contents: '**'
151+
TargetFolder: '$(Build.ArtifactStagingDirectory)/Microsoft-Performance-Tools-Linux/MicrosoftPerfToolkitAddins/AndroidLogCat'
152+
153+
- task: CopyFiles@2
154+
displayName: Copy Launcher
155+
inputs:
156+
SourceFolder: 'Launcher'
157+
Contents: '**'
158+
TargetFolder: '$(Build.ArtifactStagingDirectory)/Microsoft-Performance-Tools-Linux/Launcher'
159+
160+
- task: CopyFiles@2
161+
displayName: Copy Extra Release Files
162+
inputs:
163+
SourceFolder: 'ReleaseFiles'
164+
Contents: '**'
165+
TargetFolder: '$(Build.ArtifactStagingDirectory)/Microsoft-Performance-Tools-Linux'

0 commit comments

Comments
 (0)