Skip to content

Commit 1df8650

Browse files
ewelsclaude
andcommitted
docs: add release process to AGENTS.md and CONTRIBUTING.md
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
1 parent e69f0d6 commit 1df8650

2 files changed

Lines changed: 32 additions & 0 deletions

File tree

AGENTS.md

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -221,6 +221,24 @@ GitHub Actions (`.github/workflows/ci.yml`) runs on push to `main` and all PRs:
221221

222222
All three must pass. Uses `dtolnay/rust-toolchain@stable` and `Swatinem/rust-cache@v2`.
223223

224+
## Release Process
225+
226+
Releases are triggered via **workflow dispatch** (GitHub Actions UI or `gh workflow run release`).
227+
The workflow (`.github/workflows/release.yml`) does the following:
228+
229+
1. Reads the version from `Cargo.toml` and validates it matches `Cargo.lock`.
230+
2. Builds all binary variants (8 targets) and Docker images (baseline + 3 SIMD).
231+
3. Only after all builds pass: creates a git tag, GitHub release (with changelog from `CHANGELOG.md`), and uploads binary artifacts.
232+
4. Publishes to crates.io as the final step.
233+
234+
To prepare a release:
235+
236+
1. Update `version` in `Cargo.toml`.
237+
2. Run `cargo update --package rustqc` to sync `Cargo.lock`.
238+
3. Add a new section to `CHANGELOG.md` following the existing format.
239+
4. Commit and push to `main`.
240+
5. Trigger the Release workflow via GitHub Actions.
241+
224242
## Key Dependencies
225243

226244
| Crate | Purpose |

CONTRIBUTING.md

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -172,6 +172,20 @@ All pull requests must pass three checks:
172172
2. `cargo fmt --check`
173173
3. `cargo clippy -- -D warnings`
174174

175+
## Releasing
176+
177+
Releases are triggered via **workflow dispatch** (GitHub Actions UI or `gh workflow run release`).
178+
The workflow builds all binary variants and Docker images, and only creates the tag, GitHub release,
179+
and crates.io publish after all builds pass.
180+
181+
To prepare a release:
182+
183+
1. Update `version` in `Cargo.toml`.
184+
2. Run `cargo update --package rustqc` to sync `Cargo.lock`.
185+
3. Add a new section to `CHANGELOG.md` following the existing format.
186+
4. Commit and push to `main`.
187+
5. Trigger the **Release** workflow via GitHub Actions.
188+
175189
## Reporting issues
176190

177191
Please open a [GitHub issue](https://github.com/seqeralabs/RustQC/issues) with:

0 commit comments

Comments
 (0)