Skip to content

ci: add final job to aggregate build-test results#438

Merged
jdx merged 2 commits into
mainfrom
ci-final-job
Apr 11, 2026
Merged

ci: add final job to aggregate build-test results#438
jdx merged 2 commits into
mainfrom
ci-final-job

Conversation

@jdx

@jdx jdx commented Apr 11, 2026

Copy link
Copy Markdown
Owner

Summary

  • Add a final job to the build-test workflow that depends on all other jobs
  • Fails if any upstream job failed or was skipped
  • Provides a single required status check for branch protection

Test plan

  • final job passes when all other jobs pass
  • final job fails when any upstream job fails

🤖 Generated with Claude Code


Note

Low Risk
Low risk workflow-only change; primary risk is CI/branch protection behavior changing (the new final job can fail when upstream jobs are skipped/cancelled).

Overview
Adds a final GitHub Actions job to the build-test workflow that always runs after all other jobs and exits non-zero if any dependency job was failure, cancelled, or skipped.

This provides a single aggregated status check suitable for branch protection, instead of requiring each individual job to be marked as required.

Reviewed by Cursor Bugbot for commit e5ac8b3. Bugbot is set up for automated code reviews on this repo. Configure here.

@gemini-code-assist

Copy link
Copy Markdown

Note

Gemini is unable to generate a review for this pull request due to the file types involved not being currently supported.

@greptile-apps

greptile-apps Bot commented Apr 11, 2026

Copy link
Copy Markdown

Greptile Summary

This PR adds a final aggregator job to the build-test workflow that depends on all six existing jobs and fails if any upstream result is failure, cancelled, or skipped. This provides a single stable status check name for branch protection rules.

Confidence Score: 5/5

Safe to merge — workflow-only change with correct aggregator logic and no production code impact.

All six upstream jobs are listed in needs, if: always() ensures the job runs regardless of upstream outcome, and the contains-based condition correctly catches failure/cancelled/skipped states. No P0 or P1 findings.

No files require special attention.

Important Files Changed

Filename Overview
.github/workflows/test.yml Adds a final aggregator job with correct if: always(), complete needs list covering all six upstream jobs, and a contains-based step condition to fail on any non-success result.

Flowchart

%%{init: {'theme': 'neutral'}}%%
flowchart TD
    build --> final
    test_ubuntu --> test_agg["test (matrix)"]
    test_macos --> test_agg
    test_windows --> test_agg
    test_alpine --> test_agg
    test_agg --> final
    specific_version --> final
    checksum_failure --> final
    custom_cache_key --> final
    fetch_from_github --> final
    final -->|"any result = failure/cancelled/skipped"| FAIL["exit 1 ❌"]
    final -->|all results = success| PASS["success ✅"]
Loading

Reviews (4): Last reviewed commit: "Merge branch 'main' into ci-final-job" | Re-trigger Greptile

Comment thread .github/workflows/test.yml Outdated

@cursor cursor Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Cursor Bugbot has reviewed your changes and found 1 potential issue.

Fix All in Cursor

❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.

Reviewed by Cursor Bugbot for commit 7ced575. Configure here.

Comment thread .github/workflows/test.yml Outdated
Adds a `final` job that depends on all other jobs and fails if any
of them failed or were skipped. This provides a single required status
check for branch protection instead of listing each job individually.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@jdx jdx enabled auto-merge (squash) April 11, 2026 18:54
@jdx jdx merged commit a407fef into main Apr 11, 2026
21 checks passed
@jdx jdx deleted the ci-final-job branch April 11, 2026 18:55
@jdx jdx mentioned this pull request Apr 18, 2026
@jdx jdx mentioned this pull request May 22, 2026
@jdx jdx mentioned this pull request Jun 4, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant