Convert windows CI to stages (#9607)

This commit is contained in:
Travis Plunk 2019-05-16 10:30:50 -07:00 committed by GitHub
parent a84ea7c710
commit a39d985118
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
5 changed files with 77 additions and 78 deletions

View file

@ -85,7 +85,8 @@ jobs:
- template: templates/verify-xunit.yml
parameters:
pool: Hosted Ubuntu 1604
dependsOn: linux_build
parentJobs:
- linux_build
- job: CodeCovTestPackage
displayName: CodeCoverage and Test Packages

View file

@ -79,7 +79,8 @@ jobs:
- template: templates/verify-xunit.yml
parameters:
pool: 'Hosted macOS'
dependsOn: mac_build
parentJobs:
- mac_build
- job: CodeCovTestPackage
displayName: CodeCoverage and Test Packages

View file

@ -1,5 +1,5 @@
parameters:
dependsOn: 'win_build'
parentJobs: []
pool: 'Hosted VS2017'
jobName: 'xunit_verify'
@ -9,7 +9,7 @@ jobs:
pool:
name: ${{ parameters.pool }}
dependsOn:
- ${{ parameters.dependsOn }}
${{ parameters.parentJobs }}
steps:
- task: DownloadBuildArtifacts@0
displayName: 'Download build artifacts'

View file

@ -6,23 +6,27 @@ trigger:
include:
- master
- release*
- feature*
paths:
include:
- '*'
exclude:
- /.vsts-ci/misc-analysis.yml
- /.github/ISSUE_TEMPLATE/*
- /.dependabot/config.yml
pr:
branches:
include:
- master
- release*
- feature*
paths:
include:
- '*'
exclude:
- /.vsts-ci/misc-analysis.yml
- /.github/ISSUE_TEMPLATE/*
- /.dependabot/config.yml
variables:
GIT_CONFIG_PARAMETERS: "'core.autocrlf=false'"
@ -35,49 +39,42 @@ resources:
- repo: self
clean: true
jobs:
- template: templates/ci-build.yml
stages:
- stage: BuildWin
displayName: Build for Windows
jobs:
- template: templates/ci-build.yml
- template: templates/windows-test.yml
parameters:
purpose: UnelevatedPesterTests
tagSet: CI
parentJobs:
- win_build
- stage: TestWin
displayName: Test for Windows
jobs:
- template: templates/windows-test.yml
parameters:
purpose: UnelevatedPesterTests
tagSet: CI
- template: templates/windows-test.yml
parameters:
purpose: ElevatedPesterTests
tagSet: CI
parentJobs:
- win_build
- template: templates/windows-test.yml
parameters:
purpose: ElevatedPesterTests
tagSet: CI
- template: templates/windows-test.yml
parameters:
purpose: UnelevatedPesterTests
tagSet: Others
parentJobs:
- win_build
- template: templates/windows-test.yml
parameters:
purpose: UnelevatedPesterTests
tagSet: Others
- template: templates/windows-test.yml
parameters:
purpose: ElevatedPesterTests
tagSet: Others
parentJobs:
- win_build
- template: templates/windows-test.yml
parameters:
purpose: ElevatedPesterTests
tagSet: Others
# we wait for all tests to finish as this phase uploads the daily nuget package to MyGet.
# we want to upload only if tests have passed.
- template: templates/windows-packaging.yml
parameters:
parentJobs:
- win_test_UnelevatedPesterTests_CI
- win_test_ElevatedPesterTests_CI
- win_test_UnelevatedPesterTests_Others
- win_test_ElevatedPesterTests_Others
- verify_xunit
- template: templates/verify-xunit.yml
parameters:
pool: 'Hosted VS2017'
- stage: PackagingWin
displayName: Packaging for Windows
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/verify-xunit.yml
parameters:
pool: 'Hosted VS2017'
dependsOn: win_build

View file

@ -11,7 +11,6 @@ trigger:
include:
- '*'
exclude:
- /tools/releaseBuild/**/*
- /.vsts-ci/misc-analysis.yml
- /.github/ISSUE_TEMPLATE/*
- /.dependabot/config.yml
@ -25,7 +24,6 @@ pr:
include:
- '*'
exclude:
- /tools/releaseBuild/**/*
- /.vsts-ci/misc-analysis.yml
- /.github/ISSUE_TEMPLATE/*
- /.dependabot/config.yml
@ -41,41 +39,43 @@ resources:
- repo: self
clean: true
jobs:
- template: templates/ci-build.yml
stages:
- stage: BuildWin
displayName: Build for Windows
jobs:
- template: templates/ci-build.yml
- template: templates/windows-test.yml
parameters:
purpose: UnelevatedPesterTests
tagSet: CI
parentJobs:
- win_build
- stage: TestWin
displayName: Test for Windows
jobs:
- template: templates/windows-test.yml
parameters:
purpose: UnelevatedPesterTests
tagSet: CI
- template: templates/windows-test.yml
parameters:
purpose: ElevatedPesterTests
tagSet: CI
parentJobs:
- win_build
- template: templates/windows-test.yml
parameters:
purpose: ElevatedPesterTests
tagSet: CI
- template: templates/windows-test.yml
parameters:
purpose: UnelevatedPesterTests
tagSet: Others
parentJobs:
- win_build
- template: templates/windows-test.yml
parameters:
purpose: UnelevatedPesterTests
tagSet: Others
- template: templates/windows-test.yml
parameters:
purpose: ElevatedPesterTests
tagSet: Others
parentJobs:
- win_build
- template: templates/windows-test.yml
parameters:
purpose: ElevatedPesterTests
tagSet: Others
# 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/verify-xunit.yml
parameters:
pool: 'Hosted VS2017'
- 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/verify-xunit.yml
parameters:
pool: 'Hosted VS2017'
dependsOn: win_build