PowerShell/.vsts-ci/windows/windows-packaging.yml

106 lines
3.4 KiB
YAML

name: PR-$(System.PullRequest.PullRequestNumber)-$(Date:yyyyMMdd)$(Rev:.rr)
trigger:
# Batch merge builds together while a merge build is running
batch: true
branches:
include:
- master
- release*
- feature*
paths:
exclude:
- tests/*
- docs/*
- demos/*
- CHANGELOG/*
- .devcontainer/*
- .github/*
- .poshchan/*
- .vscode/*
- code-server/*
- docker/*
pr:
branches:
include:
- master
- release*
- feature*
paths:
# file extension filters are not supported when this was written.
# This really should be /src/**/*.csproj
include:
- .vsts-ci/windows/*
- assets/wix/*
- build.psm1
- global.json
- nuget.config
- PowerShell.Common.props
- src/Microsoft.Management.Infrastructure.CimCmdlets/Microsoft.Management.Infrastructure.CimCmdlets.csproj
- src/Microsoft.Management.UI.Internal/Microsoft.PowerShell.GraphicalHost.csproj
- src/Microsoft.PowerShell.Commands.Diagnostics/Microsoft.PowerShell.Commands.Diagnostics.csproj
- src/Microsoft.PowerShell.Commands.Management/Microsoft.PowerShell.Commands.Management.csproj
- src/Microsoft.PowerShell.Commands.Utility/Microsoft.PowerShell.Commands.Utility.csproj
- src/Microsoft.PowerShell.ConsoleHost/Microsoft.PowerShell.ConsoleHost.csproj
- src/Microsoft.PowerShell.CoreCLR.Eventing/Microsoft.PowerShell.CoreCLR.Eventing.csproj
- src/Microsoft.PowerShell.GlobalTool.Shim/Microsoft.PowerShell.GlobalTool.Shim.csproj
- src/Microsoft.PowerShell.MarkdownRender/Microsoft.PowerShell.MarkdownRender.csproj
- src/Microsoft.PowerShell.SDK/Microsoft.PowerShell.SDK.csproj
- src/Microsoft.PowerShell.Security/Microsoft.PowerShell.Security.csproj
- src/Microsoft.WSMan.Management/Microsoft.WSMan.Management.csproj
- src/Microsoft.WSMan.Runtime/Microsoft.WSMan.Runtime.csproj
- src/Modules/PSGalleryModules.csproj
- src/powershell-win-core/powershell-win-core.csproj
- tools/ci.psm1
- tools/packaging/*
variables:
- name: GIT_CONFIG_PARAMETERS
value: "'core.autocrlf=false'"
- name: DOTNET_CLI_TELEMETRY_OPTOUT
value: 1
- name: POWERSHELL_TELEMETRY_OPTOUT
value: 1
# Avoid expensive initialization of dotnet cli, see: https://donovanbrown.com/post/Stop-wasting-time-during-NET-Core-builds
- name: DOTNET_SKIP_FIRST_TIME_EXPERIENCE
value: 1
- name: __SuppressAnsiEscapeSequences
value: 1
- group: fakeNugetKey
- name: SBOMGenerator_Formats
value: spdx:2.2
resources:
repositories:
- repository: ComplianceRepo
type: github
endpoint: PowerShell
name: PowerShell/compliance
ref: master
stages:
- stage: PackagingWin
displayName: Packaging for Windows
dependsOn: [] # by specifying an empty array, this stage doesn't depend on the stage before it
jobs:
# Unlike daily builds, we do not upload nuget package to MyGet so we do not wait on tests to finish.
- template: templates/windows-packaging.yml
- template: templates/windows-packaging.yml
parameters:
channel: stable
architecture: x86
- template: templates/windows-packaging.yml
parameters:
channel: preview
architecture: x86
- template: templates/windows-packaging.yml
parameters:
channel: preview
architecture: arm
runtimePrefix: win
- template: templates/windows-packaging.yml
parameters:
channel: preview
architecture: arm64
runtimePrefix: win