1+ # https://aka.ms/yaml
2+
3+ name : " $(date:yyyyMMdd)$(rev:.r)"
4+
5+ trigger :
6+ - main
7+
8+ pr :
9+ - main
10+
11+ #
12+ # Build Variables
13+ #
14+ variables :
15+ buildPlatform : ' Any CPU'
16+ buildConfiguration : ' Release'
17+ # The version of dotnet core to use.
18+ Build.DotNetCoreVersion : 3.x
19+
20+ jobs :
21+ - job : MicrosoftPerformanceToolsLinux
22+ pool :
23+ vmImage : ' windows-latest'
24+ name : Azure Pipelines
25+ demands :
26+ - msbuild
27+ - vstest
28+
29+ steps :
30+ - task : UseDotNet@2
31+ displayName : Use DotNet Core
32+ inputs :
33+ packageType : ' sdk'
34+ version : $(Build.DotNetCoreVersion)
35+ performMultiLevelLookup : true
36+
37+ - task : DotNetCoreCLI@2
38+ displayName : DotNetCore restore
39+ inputs :
40+ command : ' restore'
41+ projects : ' $(System.DefaultWorkingDirectory)/Microsoft-Perf-Tools-Linux.sln'
42+ verbosityRestore : $(Debug.NuGetVerbosityRestore)
43+ includeNugetOrg : true
44+
45+ - task : DotNetCoreCLI@2
46+ displayName : DotNetCore build
47+ inputs :
48+ command : ' build'
49+ arguments : ' --configuration Release --verbosity normal'
50+ projects : |
51+ Antlr4.Runtime\Antlr4.Runtime.dotnet.csproj
52+ CtfPlayback\CtfPlayback.csproj
53+ CtfUnitTest\CtfUnitTest.csproj
54+ LttngCds\LttngCds.csproj
55+ LttngDataExtensions\LttngDataExtensions.csproj
56+ PerfCds\PerfCds.csproj
57+ PerfDataExtensions\PerfDataExtensions.csproj
58+ LinuxLogParsers\LinuxPlugins-MicrosoftPerformanceToolkSDK\Cloud-init\Cloud-Init.csproj
59+ LinuxLogParsers\LinuxPlugins-MicrosoftPerformanceToolkSDK\DmesgIsoLog\Dmesg.csproj
60+ LinuxLogParsers\LinuxPlugins-MicrosoftPerformanceToolkSDK\WaLinuxAgent\WaLinuxAgent.csproj
61+
62+ includesymbols : true
63+ versioningScheme : ' byBuildNumber'
64+
65+ - task : DotNetCoreCLI@2
66+ displayName : DotNetCore test
67+ inputs :
68+ command : ' test'
69+ projects : ' $(System.DefaultWorkingDirectory)/Microsoft-Perf-Tools-Linux.sln'
70+
71+ - task : CopyFiles@2
72+ displayName : Copy PerfDataExtensions Build to Output Artifacts
73+ inputs :
74+ SourceFolder : ' PerfDataExtensions/bin/$(BuildConfiguration)/netstandard2.1'
75+ Contents : ' **'
76+ TargetFolder : ' $(Build.ArtifactStagingDirectory)/Microsoft-Performance-Tools-Linux/MicrosoftPerfToolkitAddins/PerfDataExtensions'
77+
78+ - task : CopyFiles@2
79+ displayName : Copy LttngDataExtensions Build to Output Artifacts
80+ inputs :
81+ SourceFolder : ' LttngDataExtensions/bin/$(BuildConfiguration)/netstandard2.1'
82+ Contents : ' **'
83+ TargetFolder : ' $(Build.ArtifactStagingDirectory)/Microsoft-Performance-Tools-Linux/MicrosoftPerfToolkitAddins/LTTngDataExtensions'
84+
85+ - task : CopyFiles@2
86+ displayName : Copy Cloud-initBuild to Output Artifacts
87+ inputs :
88+ SourceFolder : ' LinuxLogParsers/LinuxPlugins-MicrosoftPerformanceToolkSDK/Cloud-init/bin/$(BuildConfiguration)/netstandard2.1'
89+ Contents : ' **'
90+ TargetFolder : ' $(Build.ArtifactStagingDirectory)/Microsoft-Performance-Tools-Linux/MicrosoftPerfToolkitAddins/Cloud-init'
91+
92+ - task : CopyFiles@2
93+ displayName : Copy DmesgIsoLog to Output Artifacts
94+ inputs :
95+ SourceFolder : ' LinuxLogParsers/LinuxPlugins-MicrosoftPerformanceToolkSDK/DmesgIsoLog/bin/$(BuildConfiguration)/netstandard2.1'
96+ Contents : ' **'
97+ TargetFolder : ' $(Build.ArtifactStagingDirectory)/Microsoft-Performance-Tools-Linux/MicrosoftPerfToolkitAddins/Dmesg'
98+
99+ - task : CopyFiles@2
100+ displayName : Copy WaLinuxAgent to Output Artifacts
101+ inputs :
102+ SourceFolder : ' LinuxLogParsers/LinuxPlugins-MicrosoftPerformanceToolkSDK/WaLinuxAgent/bin/$(BuildConfiguration)/netstandard2.1'
103+ Contents : ' **'
104+ TargetFolder : ' $(Build.ArtifactStagingDirectory)/Microsoft-Performance-Tools-Linux/MicrosoftPerfToolkitAddins/WaLinuxAgent'
105+
106+ - task : PublishBuildArtifacts@1
107+ inputs :
108+ PathtoPublish : ' $(Build.ArtifactStagingDirectory)'
109+ ArtifactName : ' drop'
110+ publishLocation : ' Container'
0 commit comments