Skip to content

ci: make the fork's PR checks meaningful - #7

Merged
JSBtechnologies merged 2 commits into
mainfrom
fork-ci-hygiene
Oct 21, 2026
Merged

JSBtechnologies merged 2 commits into
mainfrom
fork-ci-hygiene

Conversation

@JSBtechnologies

Copy link
Copy Markdown
Owner

Summary

Make the fork's PR checks mean something. Upstream's CI assumes OpenAI infrastructure (self-hosted runner groups, paid macOS runners, a BuildBuddy cache, signing/publishing secrets, an OpenAI API key for the issue bots); in the fork those jobs fail in seconds or queue forever, so every PR was red for reasons unrelated to the change.

Pruned, in the workflow files with Fork: comments

  • blocking-ci.yml: drop the bazel and sdk calls and their required entries.
  • rust-ci.yml: the Bazel-backed "Argument comment lint" matrix is upstream-only (if: github.repository == 'openai/codex'); results accepts it being skipped outside upstream.

Disabled as a repository setting (already applied with gh workflow disable; scripts/fork-ci-disable.sh records the list so it can be re-run after an upstream merge): post-merge full CI, V8 canary, all upstream release/publishing workflows, the issue bots, the stale-PR sweeper, the CLA assistant.

Real findings those checks had surfaced, fixed

  • verify_cargo_workspace_manifests.py: stale code-mode feature exception.
  • scenarios_read_only_mcp.rs is a one-line stub no module declares (upstream main is in the same state); delete it and its orphaned snapshot so cargo shear is clean.
  • .codespellignore: WRONLY (O_WRONLY) and oint (LaTeX \oint).

docs/fork-ci.md documents what runs, what is off, and how to resolve conflicts on these lines when merging upstream.

Test plan

  • python3 .github/scripts/verify_cargo_workspace_manifests.py passes
  • codespell --ignore-words=.codespellignore clean
  • cargo shear --deny-warnings: no issues
  • cargo check -p codex-core --tests passes
  • both edited workflows parse as YAML
  • this PR's own checks: only blob-size-policy, cargo-deny, Codespell, repo-checks and rust-ci should run, and go green

Upstream's CI assumes OpenAI infrastructure (self-hosted runner groups, paid
macOS runners, a BuildBuddy cache, signing and publishing secrets, an OpenAI
API key for the issue bots). In the fork those jobs fail in seconds or queue
forever, so every PR is red for reasons unrelated to the change.

- blocking-ci.yml: drop the `bazel` and `sdk` calls and their `required`
  entries, with a comment explaining why.
- rust-ci.yml: the Bazel-backed "Argument comment lint" matrix is
  upstream-only (`if: github.repository == 'openai/codex'`); `results`
  accepts it being skipped outside upstream.
- scripts/fork-ci-disable.sh: disables, as a repository setting, the
  workflows that only make sense upstream (post-merge full CI, V8 canary,
  release and publishing workflows, issue bots, stale-PR sweeper, CLA).
- docs/fork-ci.md: what runs, what is off, and how to resolve conflicts on
  these lines when merging upstream.

Also fix the three real findings those checks had surfaced:

- verify_cargo_workspace_manifests.py: code-mode no longer declares the
  `sandbox` feature, so its exception was stale.
- core tests: `scenarios_read_only_mcp.rs` is a one-line stub that no module
  declares (upstream main is in the same state, with the snapshot left
  behind). Delete the stub and its orphaned snapshot so cargo shear stops
  flagging an unlinked file.
- .codespellignore: `WRONLY` (O_WRONLY) and `oint` (LaTeX \oint).
@JSBtechnologies
JSBtechnologies merged commit 27a38ac into main Oct 21, 2026
9 checks passed
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