Skip to content

[release/v7.5] Only build Linux for packaging changes #25326

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
116 changes: 116 additions & 0 deletions .vsts-ci/linux-internal.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,116 @@
# Pipeline to run Linux CI internally
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:
include:
- '*'
exclude:
- .vsts-ci/misc-analysis.yml
- .github/ISSUE_TEMPLATE/*
- .github/workflows/*
- .dependabot/config.yml
- .pipelines/*
- test/perf/*
pr:
branches:
include:
- master
- release*
- feature*
paths:
include:
- '*'
exclude:
- .dependabot/config.yml
- .github/ISSUE_TEMPLATE/*
- .github/workflows/*
- .vsts-ci/misc-analysis.yml
- .vsts-ci/windows.yml
- .vsts-ci/windows/*
- tools/cgmanifest.json
- LICENSE.txt
- test/common/markdown/*
- test/perf/*
- tools/releaseBuild/*
- tools/install*
- tools/releaseBuild/azureDevOps/templates/*
- README.md
- .spelling
- .pipelines/*

variables:
DOTNET_CLI_TELEMETRY_OPTOUT: 1
POWERSHELL_TELEMETRY_OPTOUT: 1
# Avoid expensive initialization of dotnet cli, see: https://donovanbrown.com/post/Stop-wasting-time-during-NET-Core-builds
DOTNET_SKIP_FIRST_TIME_EXPERIENCE: 1
__SuppressAnsiEscapeSequences: 1
nugetMultiFeedWarnLevel: none

resources:
repositories:
- repository: Docker
type: github
endpoint: PowerShell
name: PowerShell/PowerShell-Docker
ref: master

stages:
- stage: BuildLinuxStage
displayName: Build for Linux
jobs:
- template: templates/ci-build.yml
parameters:
pool: ubuntu-20.04
jobName: linux_build
displayName: linux Build

- stage: TestUbuntu
displayName: Test for Ubuntu
dependsOn: [BuildLinuxStage]
jobs:
- template: templates/nix-test.yml
parameters:
name: Ubuntu
pool: ubuntu-20.04
purpose: UnelevatedPesterTests
tagSet: CI

- template: templates/nix-test.yml
parameters:
name: Ubuntu
pool: ubuntu-20.04
purpose: ElevatedPesterTests
tagSet: CI

- template: templates/nix-test.yml
parameters:
name: Ubuntu
pool: ubuntu-20.04
purpose: UnelevatedPesterTests
tagSet: Others

- template: templates/nix-test.yml
parameters:
name: Ubuntu
pool: ubuntu-20.04
purpose: ElevatedPesterTests
tagSet: Others

- template: templates/verify-xunit.yml
parameters:
pool: ubuntu-20.04

- stage: PackageLinux
displayName: Package Linux
dependsOn: ["BuildLinuxStage"]
jobs:
- template: linux/templates/packaging.yml
parameters:
pool: ubuntu-20.04
28 changes: 10 additions & 18 deletions .vsts-ci/linux.yml
Original file line number Diff line number Diff line change
Expand Up @@ -34,24 +34,16 @@ pr:
- feature*
paths:
include:
- '*'
exclude:
- .dependabot/config.yml
- .github/ISSUE_TEMPLATE/*
- .github/workflows/*
- .vsts-ci/misc-analysis.yml
- .vsts-ci/windows.yml
- .vsts-ci/windows/*
- tools/cgmanifest.json
- LICENSE.txt
- test/common/markdown/*
- test/perf/*
- tools/releaseBuild/*
- tools/install*
- tools/releaseBuild/azureDevOps/templates/*
- README.md
- .spelling
- .pipelines/*
- .vsts-ci/linux.yml
- .vsts-ci/linux/templates/packaging.yml
- assets/manpage/*
- build.psm1
- global.json
- nuget.config
- PowerShell.Common.props
- src/*.csproj
- tools/ci.psm1
- tools/packaging/*

variables:
DOTNET_CLI_TELEMETRY_OPTOUT: 1
Expand Down
Loading