106 lines
3.4 KiB
YAML
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
|