Skip to content

ci: run Test Workspace only on main, not on pull requests - #212

Merged
aaltshuler merged 1 commit into
mainfrom
ci/skip-workspace-tests-on-pr
Jun 13, 2026
Merged

ci: run Test Workspace only on main, not on pull requests#212
aaltshuler merged 1 commit into
mainfrom
ci/skip-workspace-tests-on-pr

Conversation

@aaltshuler

Copy link
Copy Markdown
Collaborator

The full workspace + failpoints suite was the slowest PR gate (~15min warm, up to the 75min cold ceiling) and dominated PR turnaround. This gates the test job with if: github.event_name != 'pull_request' so it runs only on push to main (post-merge), v* tags, and manual workflow_dispatch. RustFS S3 Integration needs: test, so it becomes push-/dispatch-only by the same cascade.

Test Workspace is dropped from the required-check list in branch-protection.json: a required context that never reports on PRs would leave every PR permanently pending (the job-never-reports trap the policy already documents).

Trade-off (chosen deliberately by the maintainer)

A regression the suite would catch now lands on main and reddens the post-merge run instead of being blocked pre-merge — main can briefly break. Mitigations (documented in ci.md):

  • Run cargo test --workspace --locked locally before merging non-trivial changes, or trigger this workflow on your branch via the Actions "Run workflow" button.
  • openapi.json is no longer auto-regenerated on PRs (that step is in the PR-skipped test job) — regenerate locally for server/API changes: OMNIGRAPH_UPDATE_OPENAPI=1 cargo test -p omnigraph-server --test openapi.

Fast PR gates that remain: Classify Changes, Check AGENTS.md Links, Test omnigraph-server --features aws, and the two CODEOWNERS checks.

⚠️ Post-merge action required

An admin must run ./scripts/apply-branch-protection.sh immediately after this merges, or GitHub keeps requiring the now-unreported Test Workspace context and every open PR stays permanently pending.

🤖 Generated with Claude Code

The full workspace + failpoints suite was the slowest PR gate (~15min
warm, up to the 75min cold ceiling) and dominated PR turnaround. Gate the
`test` job with `if: github.event_name != 'pull_request'` so it runs only
on push to `main` (post-merge), on `v*` tags, and on manual
`workflow_dispatch`. `RustFS S3 Integration` needs `test`, so it becomes
push-/dispatch-only by the same cascade.

Drop `Test Workspace` from the required-check list in
branch-protection.json: a required context that never reports on PRs (the
job no longer runs there) would leave every PR permanently pending — the
job-never-reports trap the policy already documents.

Trade-off accepted deliberately (chosen by the maintainer): a regression
the suite would catch now lands on `main` and reddens the post-merge run
instead of being blocked pre-merge, so `main` can briefly break. Mitigations
documented in ci.md: run `cargo test --workspace --locked` locally before
merging non-trivial changes (or trigger the workflow on your branch via
workflow_dispatch), and regenerate openapi.json locally for server/API
changes (the auto-regen step lived in the now-PR-skipped test job).

The fast PR gates remain: Classify Changes, Check AGENTS.md Links, the
AWS-feature build/test, and the two CODEOWNERS checks.

NOTE: an admin must run ./scripts/apply-branch-protection.sh after this
merges, or GitHub keeps requiring the now-unreported Test Workspace context.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@aaltshuler
aaltshuler requested a review from ragnorc as a code owner June 13, 2026 16:21

@greptile-apps greptile-apps 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.

aaltshuler has reached the 50-review limit for trial accounts. To continue receiving code reviews, upgrade your plan.

@aaltshuler
aaltshuler merged commit 81b66f9 into main Jun 13, 2026
8 checks passed
@aaltshuler
aaltshuler deleted the ci/skip-workspace-tests-on-pr branch July 2, 2026 00:02
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