Reduce incidence of build storms (#3079)
* Narrower build trigger matrix, introduce batching so changes to main don't trigger builds for every checkin if there are other builds running, expand core to test everything in CI * Wire up CtestExcludeRegex * Improvements including scoping to exclude storage tests * Use correct trigger settings for storage
This commit is contained in:
parent
f84c8d2af7
commit
198327e16c
@ -14,6 +14,9 @@ parameters:
|
||||
- name: CtestRegex
|
||||
type: string
|
||||
default: .*
|
||||
- name: CtestExcludeRegex
|
||||
type: string
|
||||
default: ''
|
||||
- name: BuildReleaseArtifacts
|
||||
type: boolean
|
||||
default: true
|
||||
@ -41,6 +44,7 @@ jobs:
|
||||
ServiceDirectory: ${{ parameters.ServiceDirectory }}
|
||||
TestPipeline: ${{ parameters.TestPipeline }}
|
||||
CtestRegex: ${{ parameters.CtestRegex }}
|
||||
CtestExcludeRegex: ${{ parameters.CtestExcludeRegex }}
|
||||
CoverageReportPath: ${{ parameters.CoverageReportPath }}
|
||||
CoverageEnabled: ${{ parameters.CoverageEnabled }}
|
||||
LineCoverageTarget: ${{ parameters.LineCoverageTarget }}
|
||||
|
||||
@ -11,6 +11,9 @@ parameters:
|
||||
- name: CtestRegex
|
||||
type: string
|
||||
default: .*
|
||||
- name: CtestExcludeRegex
|
||||
type: string
|
||||
default: ''
|
||||
- name: CoverageReportPath
|
||||
type: string
|
||||
default: 'sdk/*/*/*cov_xml.xml'
|
||||
@ -125,8 +128,16 @@ jobs:
|
||||
BuildArgs: "$(BuildArgs)"
|
||||
Env: "$(CmakeEnvArg)"
|
||||
|
||||
- script: ctest -C Debug -V --tests-regex ${{ parameters.CtestRegex }} --no-compress-output -T Test
|
||||
- pwsh: |
|
||||
ctest `
|
||||
-C Debug `
|
||||
-V `
|
||||
--tests-regex '${{ parameters.CtestRegex }}' `
|
||||
--exclude-regex '${{ parameters.CtestExcludeRegex }}' `
|
||||
--no-compress-output `
|
||||
-T Test
|
||||
workingDirectory: build
|
||||
displayName: Test
|
||||
|
||||
- task: PublishTestResults@2
|
||||
inputs:
|
||||
|
||||
@ -153,7 +153,7 @@ stages:
|
||||
parameters:
|
||||
WorkingDirectory: $(Pipeline.Workspace)/vcpkg
|
||||
|
||||
# SkipCheckingForChanges is true to skip the commit step
|
||||
# SkipCheckingForChanges is true to skip the commit step
|
||||
# (which is already done by Update-VcpkgPort.ps1)
|
||||
- template: /eng/common/pipelines/templates/steps/create-pull-request.yml
|
||||
parameters:
|
||||
|
||||
@ -5,6 +5,9 @@ parameters:
|
||||
- name: CtestRegex
|
||||
type: string
|
||||
default: .*
|
||||
- name: CtestExcludeRegex
|
||||
type: string
|
||||
default: ''
|
||||
- name: CoverageEnabled
|
||||
type: boolean
|
||||
default: true
|
||||
@ -41,6 +44,7 @@ stages:
|
||||
ServiceDirectory: ${{ parameters.ServiceDirectory }}
|
||||
Artifacts: ${{ parameters.Artifacts }}
|
||||
CtestRegex: ${{ parameters.CtestRegex }}
|
||||
CtestExcludeRegex: ${{ parameters.CtestExcludeRegex }}
|
||||
CoverageEnabled: ${{ parameters.CoverageEnabled }}
|
||||
CoverageReportPath: ${{ parameters.CoverageReportPath }}
|
||||
LineCoverageTarget: ${{ parameters.LineCoverageTarget }}
|
||||
|
||||
@ -1,5 +1,6 @@
|
||||
# NOTE: Please refer to https://aka.ms/azsdk/engsys/ci-yaml before editing this file.
|
||||
trigger:
|
||||
batch: true
|
||||
branches:
|
||||
include:
|
||||
- master
|
||||
@ -34,7 +35,11 @@ stages:
|
||||
parameters:
|
||||
ServiceDirectory: core
|
||||
# CI has static code analysis disabled, while LiveTest will have it enabled
|
||||
CtestRegex: azure-core.
|
||||
# In the case of changes to core we want to re-run all CI tests for all
|
||||
# libraries to check for potential regressions everywhere.
|
||||
CtestRegex: .*
|
||||
# Storage tests are live-only tests and must be excluded from CI runs
|
||||
CtestExcludeRegex: livetest|azure-storage
|
||||
LiveTestCtestRegex: '"azure-core.|json-test"'
|
||||
LiveTestTimeoutInMinutes: 90 # default is 60 min. We need a little longer on worst case for Win+jsonTests
|
||||
LineCoverageTarget: 77
|
||||
|
||||
@ -1,5 +1,6 @@
|
||||
# NOTE: Please refer to https://aka.ms/azsdk/engsys/ci-yaml before editing this file.
|
||||
trigger:
|
||||
batch: true
|
||||
branches:
|
||||
include:
|
||||
- main
|
||||
@ -8,9 +9,6 @@ trigger:
|
||||
- hotfix/*
|
||||
paths:
|
||||
include:
|
||||
- eng/
|
||||
- CMakeLists.txt
|
||||
- sdk/core
|
||||
- sdk/identity
|
||||
|
||||
pr:
|
||||
@ -22,9 +20,6 @@ pr:
|
||||
- hotfix/*
|
||||
paths:
|
||||
include:
|
||||
- eng/
|
||||
- CMakeLists.txt
|
||||
- sdk/core
|
||||
- sdk/identity
|
||||
|
||||
stages:
|
||||
|
||||
@ -1,5 +1,6 @@
|
||||
# NOTE: Please refer to https://aka.ms/azsdk/engsys/ci-yaml before editing this file.
|
||||
trigger:
|
||||
batch: true
|
||||
branches:
|
||||
include:
|
||||
- main
|
||||
@ -8,10 +9,6 @@ trigger:
|
||||
- hotfix/*
|
||||
paths:
|
||||
include:
|
||||
- cmake-modules/
|
||||
- eng/
|
||||
- CMakeLists.txt
|
||||
- sdk/core
|
||||
- sdk/keyvault
|
||||
|
||||
pr:
|
||||
@ -23,10 +20,6 @@ pr:
|
||||
- hotfix/*
|
||||
paths:
|
||||
include:
|
||||
- cmake-modules/
|
||||
- eng/
|
||||
- CMakeLists.txt
|
||||
- sdk/core/
|
||||
- sdk/keyvault
|
||||
|
||||
stages:
|
||||
|
||||
@ -8,11 +8,6 @@ trigger:
|
||||
- hotfix/*
|
||||
paths:
|
||||
include:
|
||||
- cmake-modules/
|
||||
- eng/
|
||||
- CMakeLists.txt
|
||||
- sdk/core
|
||||
- sdk/identity
|
||||
- sdk/storage
|
||||
|
||||
pr:
|
||||
@ -24,11 +19,6 @@ pr:
|
||||
- hotfix/*
|
||||
paths:
|
||||
include:
|
||||
- cmake-modules/
|
||||
- eng/
|
||||
- CMakeLists.txt
|
||||
- sdk/core/
|
||||
- sdk/identity/
|
||||
- sdk/storage
|
||||
|
||||
stages:
|
||||
|
||||
@ -1,5 +1,6 @@
|
||||
# NOTE: Please refer to https://aka.ms/azsdk/engsys/ci-yaml before editing this file.
|
||||
trigger:
|
||||
batch: true
|
||||
branches:
|
||||
include:
|
||||
- main
|
||||
@ -8,10 +9,6 @@ trigger:
|
||||
- hotfix/*
|
||||
paths:
|
||||
include:
|
||||
- cmake-modules/
|
||||
- eng/
|
||||
- CMakeLists.txt
|
||||
- sdk/core
|
||||
- sdk/template
|
||||
|
||||
pr:
|
||||
@ -23,10 +20,6 @@ pr:
|
||||
- hotfix/*
|
||||
paths:
|
||||
include:
|
||||
- cmake-modules/
|
||||
- eng/
|
||||
- CMakeLists.txt
|
||||
- sdk/core/
|
||||
- sdk/template
|
||||
|
||||
stages:
|
||||
|
||||
Loading…
Reference in New Issue
Block a user