ci: Fix incorrect cancellation and host reporting#4385
Conversation
Host Test Results 1 files ± 0 1 suites ±0 2h 7m 24s ⏱️ - 14m 39s For more details on these errors, see this check. Results for commit ad726ad. ± Comparison against base commit b5cd4a5. This pull request removes 128 and adds 1 tests. Note that renamed tests count towards both.♻️ This comment has been updated with latest results. |
There was a problem hiding this comment.
Pull request overview
This PR adjusts GitHub Actions concurrency and reporting logic to prevent cross-workflow test-web-assets cancellations and to avoid publishing merged Host reports when upstream jobs didn’t actually run.
Changes:
- Add a required
callerinput to the reusabletest-web-assetsworkflow and include it in the concurrency group to avoid cross-workflow interference. - Pass the new
callerinput fromci,ci-host, andci-software-factory. - Tighten the Host report merge/publish job condition to avoid running when
host-testis skipped.
Reviewed changes
Copilot reviewed 4 out of 4 changed files in this pull request and generated 1 comment.
| File | Description |
|---|---|
| .github/workflows/test-web-assets.yaml | Adds caller input and incorporates it into the job concurrency group. |
| .github/workflows/ci.yaml | Passes caller: ci when invoking the reusable test-web-assets workflow. |
| .github/workflows/ci-software-factory.yaml | Passes caller: ci-software-factory when invoking the reusable test-web-assets workflow. |
| .github/workflows/ci-host.yaml | Passes caller: ci-host and updates Host merge/publish job gating logic. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
I’ve been noticing this a lot lately:
There should be no merging of host reports when the ancestor job is cancelled.
But why was it cancelled? Multiple workflows call
test-web-assetsto share an early job that builds the application for future jobs to use, so theconcurrency-groupneeds to include an identifier for the calling workflow so they don’t trample each other.