Skip to content

ci: add checks-pass aggregator job#113

Merged
gregorydemay merged 2 commits intomainfrom
gdemay/add-checks-pass-aggregator
May 8, 2026
Merged

ci: add checks-pass aggregator job#113
gregorydemay merged 2 commits intomainfrom
gdemay/add-checks-pass-aggregator

Conversation

@gregorydemay
Copy link
Copy Markdown
Contributor

Summary

Add a single checks-pass aggregator status check that depends on every quality-gate job and fails if any upstream job is non-success (failure, cancelled, or skipped).

This lets GitHub branch protection / rulesets gate merges on a single context name (checks-pass) instead of enumerating every individual job. It also future-proofs the protection rule: adding or removing a CI job only needs an update to the needs: list here.

Mirrors the pattern already in use in dfinity/dogecoin-canister and dfinity/sol-rpc-canister.

Follow-up (admin action, not in this PR)

After this merges to main, an admin should add a required_status_checks rule listing checks-pass as a required context, so that future PRs can't merge with red CI.

Tracked via DEFI-2807.

Add a single status check that depends on every quality-gate job in
this workflow and explicitly fails if any of them is non-success
(failure, cancelled, or skipped).

This lets GitHub branch protection / rulesets gate merges on a single
context name (`checks-pass`) instead of enumerating every job
individually. It is also future-proof: adding or removing a CI job
only needs an update to the needs: list here, not to the protection
rule.

Mirrors the pattern already in use in dfinity/dogecoin-canister and
dfinity/sol-rpc-canister.
gregorydemay added a commit that referenced this pull request May 8, 2026
## Summary

Restore `Cargo.toml` and `Cargo.lock` to their state at commit `bc1394b`
(2026-04-21, the last commit on `main` where CI passed). Seven
Dependabot bumps merged in succession after that point left `main` red
because **branch protection on this repo doesn't currently gate on
status checks** (only on approval + CODEOWNERS), so each bump merged
without ever passing CI:

- #99 `ic-agent` 0.46.2 → 0.47.1
- #100 `uuid` 1.22.0 → 1.23.0
- #101 `ic-management-canister-types` 0.5.0 → 0.7.1 — likely root cause:
triggers `E0308: mismatched types` in lint
- #102 `proptest` 1.10.0 → 1.11.0
- #103 `pocket-ic` 12.0.0 → 13.0.0
- #106 `rustls-webpki` 0.103.10 → 0.103.12
- #107 `rustls-webpki` 0.103.12 → 0.103.13

Reverting all seven in one go restores `main` to the known-green state.
Each upgrade can be re-applied individually once branch protection is
configured to require CI to pass.

Mirrors the analogous fix in dfinity/sol-rpc-canister#321.

## Branch protection follow-up

The aggregator PR ([#113](#113))
adds a `checks-pass` job, and after both PRs land an admin needs to add
a `required_status_checks` rule listing `checks-pass` (mirroring what's
already in place on bitcoin-canister, dogecoin-canister, dex,
sol-rpc-canister, ledger-faucet, exchange-rate-canister,
crosschain-wallet). Tracked via DEFI-2807.
@gregorydemay gregorydemay marked this pull request as ready for review May 8, 2026 12:37
@gregorydemay gregorydemay requested a review from a team as a code owner May 8, 2026 12:37
@gregorydemay gregorydemay requested a review from mbjorkqvist May 8, 2026 12:37
@gregorydemay gregorydemay merged commit 132d369 into main May 8, 2026
11 checks passed
@gregorydemay gregorydemay deleted the gdemay/add-checks-pass-aggregator branch May 8, 2026 12:54
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.

2 participants