ProjectReunion/build/ProjectReunion-CI.yml

201 строка
5.5 KiB
YAML
Исходник Обычный вид История

# see https://docs.microsoft.com/azure/devops/pipelines/process/phases for info on yaml ADO jobs
name: $(BuildDefinitionName)_$(date:yyMM).$(date:dd)$(rev:rrr)
variables:
- template: WindowsAppSDK-Versions.yml
- template: WindowsAppSDK-CommonVariables.yml
- name: buildOutputDir
value: $(Build.SourcesDirectory)\BuildOutput
2022-06-15 09:58:45 +03:00
jobs:
- job: PreChecks
pool:
vmImage: 'windows-2019'
steps:
- task: PowerShell@2
displayName: 'Smoke test props and targets in \build\NuSpecs'
inputs:
targetType: 'inline'
script: |
$targetPaths = "$(Build.SourcesDirectory)\build\NuSpecs\*.targets"
$propPaths = "$(Build.SourcesDirectory)\build\NuSpecs\*.props"
Get-ChildItem $targetPaths | ForEach-Object { $_.Name; [xml](Get-Content $_) | Out-Null }
Get-ChildItem $propPaths | ForEach-Object { $_.Name; [xml](Get-Content $_) | Out-Null }
failOnStderr: true
2022-06-22 01:14:09 +03:00
# Scans the root source folder for security vulnerability
- task: CredScan@2
inputs:
toolMajorVersion: 'V2'
# This PostAnalysis will fail the pipeline if CredScan identifies an issue
- task: PostAnalysis@1
inputs:
AllTools: false
APIScan: false
BinSkim: false
CodesignValidation: false
CredScan: true
FortifySCA: false
FxCop: false
ModernCop: false
PoliCheck: false
RoslynAnalyzers: false
SDLNativeRules: false
Semmle: false
TSLint: false
ToolLogsNotFoundAction: 'Standard'
- job: Build
pool:
vmImage: 'windows-2019'
timeoutInMinutes: 120
strategy:
maxParallel: 10
matrix:
Debug_x86:
buildPlatform: 'x86'
buildConfiguration: 'Debug'
Release_x86:
buildPlatform: 'x86'
buildConfiguration: 'Release'
PGOBuildMode: 'Optimize'
Release_x64:
buildPlatform: 'x64'
buildConfiguration: 'Release'
PGOBuildMode: 'Optimize'
Release_Arm64:
buildPlatform: 'arm64'
buildConfiguration: 'Release'
variables:
publishDir : $(Build.ArtifactStagingDirectory)
steps:
- template: AzurePipelinesTemplates\WindowsAppSDK-BuildDevProject-Steps.yml
parameters:
channel: ${{ variables.channel }}
2022-06-22 01:14:09 +03:00
# This pipeline is unable to access OneBranch, so skip running BinaryAnalysis.
runSDLBinaryAnalysis: false
- template: AzurePipelinesTemplates\WindowsAppSDK-PublishProjectOutput-Steps.yml
parameters:
GenerateSBOM: false
- task: PublishBuildArtifacts@1
displayName: 'Publish BuildOutput'
inputs:
artifactName: BuildOutput
PathtoPublish: '$(buildOutputDir)'
2022-06-22 01:14:09 +03:00
- task: BinSkim@3
inputs:
InputType: 'Basic'
Function: 'analyze'
AnalyzeTarget: '$(Build.ArtifactStagingDirectory)\*.dll;$(Build.ArtifactStagingDirectory)\*.exe'
AnalyzeVerbose: true
condition: ne(variables['buildConfiguration'], 'Debug')
- task: PostAnalysis@1
inputs:
AllTools: false
APIScan: false
BinSkim: true
BinSkimBreakOn: 'Error'
CodesignValidation: false
CredScan: false
FortifySCA: false
FxCop: false
ModernCop: false
PoliCheck: false
RoslynAnalyzers: false
SDLNativeRules: false
Semmle: false
TSLint: false
ToolLogsNotFoundAction: 'Standard'
- job: BuildMRT
pool:
vmImage: 'windows-latest'
strategy:
maxParallel: 10
matrix:
Release_x86:
buildPlatform: 'x86'
buildConfiguration: 'Release'
Release_x64:
buildPlatform: 'x64'
buildConfiguration: 'Release'
Release_Arm64:
buildPlatform: 'ARM64'
buildConfiguration: 'Release'
steps:
- template: build-mrt.yml
parameters:
buildJobName: 'BuildMRTCore'
GenerateSBOM: false
2022-06-22 01:14:09 +03:00
# This pipeline is unable to access OneBranch, so skip running BinaryAnalysis.
runSDLBinaryAnalysis: false
- task: PublishBuildArtifacts@1
displayName: 'Publish BuildOutput'
inputs:
artifactName: BuildOutput
PathtoPublish: '$(buildOutputDir)'
2022-06-22 01:14:09 +03:00
- task: BinSkim@3
inputs:
InputType: 'Basic'
Function: 'analyze'
AnalyzeTarget: '$(Build.ArtifactStagingDirectory)\*.dll;$(Build.ArtifactStagingDirectory)\*.exe'
AnalyzeVerbose: true
- task: PostAnalysis@1
inputs:
AllTools: false
APIScan: false
BinSkim: true
BinSkimBreakOn: 'Error'
CodesignValidation: false
CredScan: false
FortifySCA: false
FxCop: false
ModernCop: false
PoliCheck: false
RoslynAnalyzers: false
SDLNativeRules: false
Semmle: false
TSLint: false
ToolLogsNotFoundAction: 'Standard'
- job: PublishMRT
dependsOn:
- BuildMRT
condition: in(dependencies.BuildMRT.result, 'Succeeded')
pool:
vmImage: 'windows-latest'
steps:
- template: publish-mrt.yml
- template: AzurePipelinesTemplates\WindowsAppSDK-RunHelixTests-Job.yml
Set up Helix pipeline (#241) * preparehelixpayload * Update ProjectReunion-CI.yml for Azure Pipelines * remove , * update parameters * change param names * params no cmdlet * add helix files * added WinUi dependencies to nuget.config for TAEF redist * reduce taef redist version, remove winUI packagefeed * updated script to use projectreunionhelix.sln * test project * fix directory * update packages.config * update build output variable * fix diretory * second nuget restore * wrong nuget.config path * update nuget version * testdirectory * wrong directory * latest version of taef redist * develop version * new dir * update rest of script from liftedixp * add helix access token * remove WinUi dependecies * uncomment preparehelix * uncomment 2nd nuget restore * update helix payload directory * use root dir * remove hello world sample test * add creator arg * remove creator * update helix SDK * undo newer version * only RS5 queue * try xaml queues * helix api access token * use helix access token * test result powershell * Update ProjectReunion-CI.yml for Azure Pipelines * Update ProjectReunion-CI.yml for Azure Pipelines * helix type job filter * azurepipeline helper scripts * unknown test * testsuite name * empty job type * remove test suite check * update test type * uncomment * debug * winui2 scripts * debug * helix access token needed * helix access token * use liftedixp ps1 file * update path * build config * replace code * only run one flavour * fix yml file * fix indentation * one flavour only * different URI * api 5.1 * remove unrelaible tests * debug * debug comment * null check * powershell works now * fix yml error * null check * typo * grab screenshots and logs * debug * screenshot count * grab all files but dumps * no helix token * remove failing test * comment out test * remove unneeded files * remove more unneeded stuff, remove debug matrix * resolve PR comments * lower expected tests run value
2020-10-20 20:27:16 +03:00
parameters:
name: 'RunTestsInHelix'
dependsOn:
- Build
- BuildMRT
condition: in(dependencies.Build.result, 'Succeeded', 'SucceededWithIssues')
Set up Helix pipeline (#241) * preparehelixpayload * Update ProjectReunion-CI.yml for Azure Pipelines * remove , * update parameters * change param names * params no cmdlet * add helix files * added WinUi dependencies to nuget.config for TAEF redist * reduce taef redist version, remove winUI packagefeed * updated script to use projectreunionhelix.sln * test project * fix directory * update packages.config * update build output variable * fix diretory * second nuget restore * wrong nuget.config path * update nuget version * testdirectory * wrong directory * latest version of taef redist * develop version * new dir * update rest of script from liftedixp * add helix access token * remove WinUi dependecies * uncomment preparehelix * uncomment 2nd nuget restore * update helix payload directory * use root dir * remove hello world sample test * add creator arg * remove creator * update helix SDK * undo newer version * only RS5 queue * try xaml queues * helix api access token * use helix access token * test result powershell * Update ProjectReunion-CI.yml for Azure Pipelines * Update ProjectReunion-CI.yml for Azure Pipelines * helix type job filter * azurepipeline helper scripts * unknown test * testsuite name * empty job type * remove test suite check * update test type * uncomment * debug * winui2 scripts * debug * helix access token needed * helix access token * use liftedixp ps1 file * update path * build config * replace code * only run one flavour * fix yml file * fix indentation * one flavour only * different URI * api 5.1 * remove unrelaible tests * debug * debug comment * null check * powershell works now * fix yml error * null check * typo * grab screenshots and logs * debug * screenshot count * grab all files but dumps * no helix token * remove failing test * comment out test * remove unneeded files * remove more unneeded stuff, remove debug matrix * resolve PR comments * lower expected tests run value
2020-10-20 20:27:16 +03:00
# Create Nuget Package
- template: AzurePipelinesTemplates\WindowsAppSDK-CreateNugetPackage-Job.yml
parameters:
publishToMaestro: false
jobName: CreateNugetPackage
dependsOn:
- Build
- PublishMRT
prereleaseVersionTag: ci
condition: |
and
(
in(dependencies.PublishMRT.result, 'Succeeded', 'SucceededWithIssues', 'Skipped'),
in(dependencies.Build.result, 'Succeeded', 'SucceededWithIssues', 'Skipped')
)