Skip to content

chore(ci): add a CI-Result gate and the merge_group trigger - #1365

Merged
Woody4618 merged 2 commits into
solana-foundation:masterfrom
hoodieshq:chore/ci-merge-queue
Oct 1, 2026
Merged

Woody4618 merged 2 commits into
solana-foundation:masterfrom
hoodieshq:chore/ci-merge-queue

Conversation

@askov

@askov askov commented Oct 1, 2026 •

Copy link
Copy Markdown
Collaborator

Description

Adds a CI-Result job that a merge queue can require, and runs CI on merge-queue commits.

Changes

  • Adds a merge_group trigger to ci.yaml, so CI runs on the commits a merge queue builds.
  • Adds a CI-Result job that fails when a job in its needs fails or is cancelled.
  • Runs Build-Info on merge-queue commits, so the combined build must match bench/BUILD.md.
  • Leaves Storybook-Smoke-Tests out of CI-Result, so its continue-on-error setting still applies.

Behavior Changes

  • Every PR shows a CI / CI-Result check, red when Build-And-Test, Specs-Shards, Build-Info, Security-Audit or Sitemap-Check is red.

One gate job

The matrix jobs carry the Node version and the shard number in their names, such as Build-And-Test (22) and Specs-Shards (24.x, 2). A ruleset that requires those names blocks every PR after a .nvmrc bump. CI-Result keeps one name, and its needs list decides what blocks a merge.

Type of change

  • Other (please describe): CI configuration for a merge queue

Screenshots

Not a UI change.

Testing

  • CI-Result fails when a needed job fails. Fork run adds a throwaway exit 1 step to Sitemap-Check. Expect Sitemap-Check and CI-Result both to fail.
  • Without if: always(), a failed job skips the gate. Fork run also removes if: always(). Expect CI-Result to show as skipped, which a required check counts as passed.

Related Issues

Part of HOO-1838

Checklist

  • My code follows the project's style guidelines
  • All checks pass locally (pnpm test, pnpm lint, pnpm typecheck)
  • I have run build:info script to update build information

Additional Notes

After this merges, a repository admin adds a new branch ruleset for the default branch, with "Require status checks to pass" (CI-Result from GitHub Actions) and "Require merge queue" (squash). The existing master ruleset is an organization ruleset, so it stays unchanged.

@vercel

vercel Bot commented Oct 1, 2026

Copy link
Copy Markdown

@askov is attempting to deploy a commit to the Solana Foundation Team on Vercel.

A member of the Team first needs to authorize it.

@greptile-apps

greptile-apps Bot commented Oct 1, 2026 •

Copy link
Copy Markdown
Contributor

RetriggerConfidence Score: 5/5

[Critical risk] Adds merge gate logic to the CI workflow.

The PR appears safe to merge based on the reviewed changes.

Summary

This PR adds a merge_group trigger and a stable CI-Result check that fails when a required CI job fails or is cancelled. It also runs Build-Info on merge-queue commits.

Reviews (3) · Last reviewed commit: "chore(ci): run Build-Info on merge-queue..."

Comment thread .github/workflows/ci.yaml
askov added 2 commits October 1, 2026 16:47
A merge queue needs a required check, and upstream master requires none.
CI-Result fails when any CI job fails, and its name does not change with the
Node version or the shard count.
A skipped Build-Info passes CI-Result, so a queued commit could merge with a
bench/BUILD.md that does not match the combined build.
@askov
askov force-pushed the chore/ci-merge-queue branch from 62325aa to b8b8c7a Compare October 1, 2026 09:52
@vercel

vercel Bot commented Oct 1, 2026 •

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated
explorer Ready Ready Preview Oct 1, 2026 9:55am UTC

Request Review

@Woody4618
Woody4618 merged commit 5e16dda into solana-foundation:master Oct 1, 2026
16 checks passed

This branch was successfully deployed

1 active deployment
Preview — b8b8c7af Deployed Oct 1, 2026 by vercel[bot]
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