|
Download .github/workflows/README.md from SaylorTwift/codex: direct link, hf CLI and curl.
- Browser
- Download file 1.83 kB
-
https://huggingface.co/SaylorTwift/codex/resolve/main/.github/workflows/README.md
- Command line
-
hf download hf://SaylorTwift/codex/.github/workflows/README.md
-
curl -L -o README.md https://huggingface.co/SaylorTwift/codex/resolve/main/.github/workflows/README.md
1.83 kB
| # Workflow Strategy | |
| The workflows in this directory are split so that pull requests get fast, review-friendly signal while `main` still gets the full cross-platform verification pass. | |
| ## Pull Requests | |
| - Required checks run against GitHub's synthetic merge commit, not the pull | |
| request head alone. This includes changes already on `main` and catches | |
| conflicts before they reach the branch. | |
| - `bazel.yml` is the main pre-merge verification path for Rust code. | |
| It runs Bazel `test` and Bazel `clippy` on the supported Bazel targets, | |
| including the generated Rust test binaries needed to lint inline `#[cfg(test)]` | |
| code. | |
| - `rust-ci.yml` keeps the Cargo-native PR checks intentionally small: | |
| - `cargo fmt --check` | |
| - `cargo shear` | |
| - `argument-comment-lint` on Linux, macOS, and Windows | |
| - `tools/argument-comment-lint` package tests when the lint or its workflow wiring changes | |
| ## Post-Merge On `main` | |
| - `bazel.yml` also runs on pushes to `main`. | |
| This re-verifies the merged Bazel path and helps keep the BuildBuddy caches warm. | |
| - `rust-ci-full.yml` is the full Cargo-native verification workflow. | |
| It keeps the heavier checks off the PR path while still validating them after merge: | |
| - the full Cargo `clippy` matrix | |
| - the full Cargo `nextest` matrix via per-platform archive-backed shards | |
| - Windows ARM64 nextest archives cross-compiled on Windows x64, then replayed on native Windows ARM64 shards | |
| - release-profile Cargo builds | |
| - cross-platform `argument-comment-lint` | |
| - Linux remote-env tests | |
| ## Rule Of Thumb | |
| - If a build/test/clippy check can be expressed in Bazel, prefer putting the PR-time version in `bazel.yml`. | |
| - Keep `rust-ci.yml` fast enough that it usually does not dominate PR latency. | |
| - Reserve `rust-ci-full.yml` for heavyweight Cargo-native coverage that Bazel does not replace yet. | |