ci(refactor-release): split build workflow by trigger - #12749
ci(refactor-release): split build workflow by trigger#12749DariuszPorowski wants to merge 4 commits into
Conversation
Dependency Review✅ No vulnerabilities or license issues or OpenSSF Scorecard issues found.OpenSSF Scorecard
Scanned Files
|
98ebd2c to
2ed9810
Compare
There was a problem hiding this comment.
Pull request overview
Splits the previously monolithic build workflow into trigger-scoped entry points (build-validation, build-main, build-release) while extracting the shared build/publish jobs into reusable workflows, and updates contributor/release docs and workflow comments to reference the new workflow paths.
Changes:
- Replaces
build.yamlwith trigger-specific workflows for validation, main-branch pushes, and tag releases. - Extracts CLI, images, Helm chart, Bicep types, and GitHub Release publishing into reusable workflows (
__build-*.yaml,__publish-release.yaml). - Updates release runbook/docs and workflow comments that previously referenced
build.yaml.
Reviewed changes
Copilot reviewed 12 out of 12 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
.github/workflows/build.yaml |
Removes the monolithic build workflow after logic is relocated. |
.github/workflows/build-validation.yaml |
Adds PR/merge-queue/release-branch/manual validation entry workflow that composes reusable jobs. |
.github/workflows/build-main.yaml |
Adds main-branch entry workflow that composes reusable jobs. |
.github/workflows/build-release.yaml |
Adds tag-release entry workflow that composes reusable jobs. |
.github/workflows/__build-cli.yaml |
Reusable workflow for CLI build/publish matrix and artifact upload. |
.github/workflows/__build-images.yaml |
Reusable workflow for image build/publish and metrics artifact upload. |
.github/workflows/__build-helm-chart.yaml |
Reusable workflow for Helm lint/package/push. |
.github/workflows/__build-bicep-types.yaml |
Reusable workflow for dispatching Bicep types publishing and monitoring the remote workflow. |
.github/workflows/__publish-release.yaml |
Reusable workflow for creating GitHub Releases and attaching built artifacts + checksums. |
.github/workflows/copilot-setup-steps.yml |
Updates CI workflow references in agent setup comments. |
.github/workflows/update-resource-types.yaml |
Updates comments to reference build-main.yaml for Bicep republishing. |
docs/contributing/contributing-releases/README.md |
Updates release runbook references from build.yaml to build-release.yaml. |
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## dp/git-cliff-changelog-bootstrap #12749 +/- ##
=================================================================
Coverage 59.82% 59.82%
=================================================================
Files 779 779
Lines 46058 46058
=================================================================
+ Hits 27554 27555 +1
+ Misses 18504 18503 -1 ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
2ed9810 to
d7c436a
Compare
Functional Tests - statestore-noncloud2 tests 2 ✅ 3m 1s ⏱️ Results for commit 8742de3. ♻️ This comment has been updated with latest results. |
Functional Tests - corerp-cloud32 tests ±0 29 ✅ - 2 23m 25s ⏱️ + 3m 46s For more details on these failures, see this check. Results for commit ccb132d. ± Comparison against base commit ab6a705. ♻️ This comment has been updated with latest results. |
Addresses review feedback on #12749. Signed-off-by: Dariusz Porowski <3431813+DariuszPorowski@users.noreply.github.com>
d7c436a to
023c35a
Compare
Addresses review feedback on #12749. Signed-off-by: Dariusz Porowski <3431813+DariuszPorowski@users.noreply.github.com>
023c35a to
8742de3
Compare
Addresses review feedback on #12749. Signed-off-by: Dariusz Porowski <3431813+DariuszPorowski@users.noreply.github.com>
8742de3 to
f0752e9
Compare
Addresses review feedback on #12749. Signed-off-by: Dariusz Porowski <3431813+DariuszPorowski@users.noreply.github.com>
f0752e9 to
4709277
Compare
4709277 to
f9812b3
Compare
f9812b3 to
1d38ac6
Compare
1d38ac6 to
f217b3a
Compare
Signed-off-by: Dariusz Porowski <3431813+DariuszPorowski@users.noreply.github.com>
Signed-off-by: Dariusz Porowski <3431813+DariuszPorowski@users.noreply.github.com>
The split copied every job into all three workflows, so publish-release could never run in validation or main builds, the Helm chart and Bicep types jobs carried ref clauses their trigger cannot match, and the summary shell block was duplicated verbatim three times. Keep only the jobs each trigger can run, narrow the remaining conditions to that trigger, and move the summary into a tested script. Restores the workflow_dispatch entry point that build.yaml offered for main and tag rebuilds. Build Check, the only required status check these workflows produce, is unchanged. Signed-off-by: Dariusz Porowski <3431813+DariuszPorowski@users.noreply.github.com>
Addresses review feedback on #12749. Signed-off-by: Dariusz Porowski <3431813+DariuszPorowski@users.noreply.github.com>
f217b3a to
ccb132d
Compare
Radius functional test overviewClick here to see the test run details
Test Status⌛ Building Radius and pushing container images for functional tests... |
Functional Tests - corerp-noncloud190 tests ±0 186 ✅ ±0 1h 9m 38s ⏱️ - 3m 16s For more details on these failures, see this check. Results for commit ccb132d. ± Comparison against base commit ab6a705. |
Summary
build.yamlinto trigger-scoped validation, main-branch, and tagged-release workflows.Build Checkstatus.This is PR 5 in GitHub stack #12738 and depends on #12743.
Reason for change
The release lifecycle migration needs ordinary validation, main edge publication, and tagged release publication to have separate workflow entry points before their implementations diverge in later phases. This PR is a mechanical split: release behavior and artifact production remain unchanged.
How to test
actionlintover the eight split workflow files.ghalintagainst the changed workflows.zizmor --pedanticagainst the changed workflows.build.yamlfrom the parent commit.Build Summarywith success and failure result combinations.Local validation confirms the original triggers are preserved across
build-validation.yaml,build-main.yaml, andbuild-release.yaml; all five moved leaf jobs match their original parsed definitions apart from the explicit reusable-workflow input boundary.File change summary
.github/workflows/build-validation.yaml.github/workflows/build-main.yamlmain..github/workflows/build-release.yamlv*tag pushes..github/workflows/__build-*.yaml.github/workflows/__publish-release.yaml.github/workflows/build.yaml.github/workflows/copilot-setup-steps.yml.github/workflows/update-resource-types.yamlbuild-main.yaml.docs/contributing/contributing-releases/README.mdbuild-release.yaml.