Skip to content
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
15 changes: 13 additions & 2 deletions eng/pipelines/templates/jobs/archetype-sdk-client.yml
Original file line number Diff line number Diff line change
Expand Up @@ -41,17 +41,28 @@ parameters:
- name: PostTestSteps
type: stepList
default: []
- name: MatrixFile
type: string
default: eng/pipelines/templates/stages/platform-matrix.json
- name: JobName
type: string
default: Validate
- name: RunMetaJobs
type: boolean
default: true

jobs:
- template: /eng/common/pipelines/templates/jobs/archetype-sdk-tests-generate.yml
parameters:
GenerateJobName: ${{ parameters.JobName }}_generate_matrix
MatrixConfigs:
- Name: base
Path: eng/pipelines/templates/stages/platform-matrix.json
Path: ${{ parameters.MatrixFile }}
Selection: all
GenerateVMJobs: true
JobTemplatePath: /eng/pipelines/templates/jobs/ci.tests.yml
AdditionalParameters:
DisplayName: ${{ parameters.JobName }}
Artifacts: ${{ parameters.Artifacts }}
ServiceDirectory: ${{ parameters.ServiceDirectory }}
TestPipeline: ${{ parameters.TestPipeline }}
Expand All @@ -66,7 +77,7 @@ jobs:
PostTestSteps: ${{ parameters.PostTestSteps }}

# Disable build for cpp - client
- ${{ if ne(parameters.ServiceDirectory, 'not-specified' )}}:
- ${{ if and(eq(parameters.RunMetaJobs, 'true'), ne(parameters.ServiceDirectory, 'not-specified' )) }}:
- ${{ each artifact in parameters.Artifacts }}:
- job:
displayName: Create API Review for ${{ artifact.name }}
Expand Down
5 changes: 4 additions & 1 deletion eng/pipelines/templates/jobs/ci.tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -52,11 +52,14 @@ parameters:
- name: PostTestSteps
type: stepList
default: []
- name: DisplayName
type: string
default: Validate


jobs:
- job:
displayName: "Validate"
displayName: ${{ parameters.DisplayName }}
dependsOn: ${{ parameters.DependsOn }}
condition: and(succeededOrFailed(), ne(variables['Skip.Test'], 'true'), ne(${{ parameters.Matrix }}, '{}'))
strategy:
Expand Down
14 changes: 12 additions & 2 deletions eng/pipelines/templates/stages/archetype-cpp-release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,8 @@ parameters:
TestPipeline: false
DependsOn:
- Build
IntegrationDependsOn:
- PrePublishBuild

stages:
- ${{if and(eq(variables['Build.Reason'], 'Manual'), eq(variables['System.TeamProject'], 'internal'))}}:
Expand Down Expand Up @@ -240,8 +242,15 @@ stages:

- ${{if eq(variables['System.TeamProject'], 'internal') }}:
- stage: Integration
dependsOn: ${{ parameters.DependsOn }}
condition: and(succeeded(), or(eq(variables['PublishDailyVcpkg'], 'true'), eq(variables['Build.Reason'],'Schedule')))
dependsOn: ${{ parameters.IntegrationDependsOn }}
condition: >-
and(
succeededOrFailed(),
or(
eq(variables['PublishDailyVcpkg'], 'true'),
eq(variables['Build.Reason'],'Schedule')
)
)
jobs:
- job: PublishDailyVcpkg
displayName: Publish to vcpkg daily branch
Expand All @@ -252,6 +261,7 @@ stages:

steps:
- checkout: self

- download: current
artifact: packages

Expand Down
29 changes: 29 additions & 0 deletions eng/pipelines/templates/stages/archetype-sdk-client.yml
Original file line number Diff line number Diff line change
Expand Up @@ -88,12 +88,38 @@ stages:
ArtifactsSource: ${{ parameters.ArtifactsSource }}
CMakeTestOptions: ${{ parameters.CMakeTestOptions }}
CMakeSourceTestOptions: ${{ parameters.CMakeSourceTestOptions }}

# PrePublishBuild runs a narrower set of fast builds. If these builds pass,
# Integration can launch immediately without awaiting more build and test jobs
- stage: PrePublishBuild
dependsOn: []
jobs:
- template: /eng/pipelines/templates/jobs/archetype-sdk-client.yml
parameters:
MatrixFile: eng/pipelines/templates/stages/platform-matrix-quick.json
JobName: QuickValidate
ServiceDirectory: ${{ parameters.ServiceDirectory }}
Artifacts: ${{ parameters.Artifacts }}
CtestRegex: ${{ parameters.CtestRegex }}
CtestExcludeRegex: ${{ parameters.CtestExcludeRegex }}
CoverageEnabled: ${{ parameters.CoverageEnabled }}
CoverageReportPath: ${{ parameters.CoverageReportPath }}
LineCoverageTarget: ${{ parameters.LineCoverageTarget }}
BranchCoverageTarget: ${{ parameters.BranchCoverageTarget }}
${{ if eq(parameters.ServiceDirectory, 'template') }}:
TestPipeline: true
TestEnv: ${{ parameters.TestEnv }}
PreTestSteps: ${{ parameters.PreTestSteps }}
PostTestSteps: ${{ parameters.PostTestSteps }}
RunMetaJobs: false

- stage: Build
dependsOn: []
jobs:
- template: /eng/pipelines/templates/jobs/archetype-sdk-client.yml
parameters:
MatrixFile: eng/pipelines/templates/stages/platform-matrix.json
JobName: Validate
ServiceDirectory: ${{ parameters.ServiceDirectory }}
Artifacts: ${{ parameters.Artifacts }}
CtestRegex: ${{ parameters.CtestRegex }}
Expand Down Expand Up @@ -128,7 +154,10 @@ stages:
- template: archetype-cpp-release.yml
parameters:
ServiceDirectory: ${{ parameters.ServiceDirectory }}
IntegrationDependsOn:
- PrePublishBuild
DependsOn:
- PrePublishBuild
- Build
# Only depend on `LiveTest` if there are live tests to execute
- ${{ if and(eq(variables['System.TeamProject'], 'internal'), ne(parameters.LiveTestCtestRegex, '')) }}:
Expand Down
22 changes: 22 additions & 0 deletions eng/pipelines/templates/stages/platform-matrix-quick.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
{

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

minor but you left this file with the name quick in it.

"displayNames": {
"_": ""
},
"include": [
{
"StaticConfigs": {
"Ubuntu22": {
"OSVmImage": "MMSUbuntu22.04",

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do you also want to remove this from the default matrix?

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Perhaps I'm missing something but that just shows removal of included: {} how does that map to this build configuration?

"Pool": "azsdk-pool-mms-ubuntu-2204-general",
"VCPKG_DEFAULT_TRIPLET": "x64-linux",
"BuildArgs": "-j 10",
"RunProxyTests": true
}
},

"BuildSettings": {
"included": {}
}
}
]
}
1 change: 0 additions & 1 deletion eng/pipelines/templates/stages/platform-matrix.json
Original file line number Diff line number Diff line change
Expand Up @@ -156,7 +156,6 @@
"CODE_COVERAGE": "enabled",
"PublishMapFiles": "true"
},
"included": {},
"included_release": {
"CMAKE_BUILD_TYPE": "Release",
"CmakeArgs": " -DBUILD_TESTING=ON -DBUILD_PERFORMANCE_TESTS=ON -DRUN_LONG_UNIT_TESTS=ON",
Expand Down