Skip to content

Commit 94acc90

Browse files
chore: remove codspeed, use criterion directly in benchmarks
Co-authored-by: samueltardieu <44656+samueltardieu@users.noreply.github.com>
1 parent e1f2222 commit 94acc90

File tree

11 files changed

+115
-371
lines changed

11 files changed

+115
-371
lines changed

.github/copilot-instructions.md

Lines changed: 20 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -77,6 +77,19 @@
7777
# Run checks
7878
cargo deny check
7979
```
80+
81+
**8. Test with Minimal Versions:**
82+
```bash
83+
# Set dependencies to their minimum allowed versions (requires nightly)
84+
cargo +nightly update -Zminimal-versions
85+
86+
# Run tests with stable compiler under minimal versions
87+
cargo +stable test --tests --benches
88+
89+
# Restore normal (latest) versions afterwards
90+
cargo update
91+
```
92+
This catches cases where minimum version bounds in Cargo.toml are set too low.
8093
### Release Build
8194
```bash
8295
cargo build --release
@@ -163,8 +176,6 @@
163176
2. **pre-commit.yaml** (Runs on PRs and merge groups):
164177
- Runs pre-commit hooks (trailing whitespace, TOML/YAML validation, codespell, conventional commits)
165178

166-
3. **codspeed.yml** (Runs on main branch pushes and PRs):
167-
- Runs performance benchmarks
168179

169180
## MSRV (Minimum Supported Rust Version)
170181

@@ -187,10 +198,11 @@
187198
2. **ALWAYS run formatting:** `cargo +stable fmt --all -- --check` (auto-fix with `cargo +stable fmt --all`)
188199
3. **ALWAYS run clippy with nightly:** `cargo +nightly clippy --all-targets -- -D warnings`
189200
4. **Check MSRV consistency:** `sh tests/check-msrv-consistency.sh` if you modify Cargo.toml or src/lib.rs
190-
5. **Remove trailing spaces:** All files must have trailing whitespace removed (pre-commit checks enforce this)
191-
6. **Unix line terminators:** Unix regular \n terminators must be used
192-
7. **DO NOT modify CHANGELOG.md:** The changelog is updated automatically during the release process and should not be modified in pull requests
193-
8. When you add new tests while fixing a bug, ensure that those tests fail with the current code version and pass with your proposed changes.
201+
5. **ALWAYS test with minimal versions** when modifying `Cargo.toml` dependencies: `cargo +nightly update -Zminimal-versions && cargo +stable test --tests --benches` (restore with `cargo update`)
202+
6. **Remove trailing spaces:** All files must have trailing whitespace removed (pre-commit checks enforce this)
203+
7. **Unix line terminators:** Unix regular \n terminators must be used
204+
8. **DO NOT modify CHANGELOG.md:** The changelog is updated automatically during the release process and should not be modified in pull requests
205+
9. When you add new tests while fixing a bug, ensure that those tests fail with the current code version and pass with your proposed changes.
194206

195207
### Commit Message Format
196208
This repository uses **conventional commits**. Every commit message must follow this format:
@@ -211,7 +223,8 @@
211223
4. **Tests must pass in both debug and release modes** on multiple toolchains (stable, beta, nightly, MSRV).
212224
5. **Documentation tests are separate** from regular tests. Always run both `cargo test --tests` and `cargo test --doc`.
213225
6. **Benchmarks are tests too**. Use `--benches` flag when running tests to include benchmark tests.
214-
7. **DO NOT modify CHANGELOG.md** in pull requests. The changelog is updated automatically by the release script (`release.sh`) which generates it from git commit messages.
226+
7. **Minimal versions must compile**. When changing dependencies in Cargo.toml, always verify with `cargo +nightly update -Zminimal-versions && cargo +stable test --tests --benches`. Some transitive dependencies require a minimum floor entry in `[dev-dependencies]` (e.g. `regex`) to prevent `-Zminimal-versions` from selecting versions too old to compile with current Rust.
227+
8. **DO NOT modify CHANGELOG.md** in pull requests. The changelog is updated automatically by the release script (`release.sh`) which generates it from git commit messages.
215228

216229
## Development Workflow
217230

.github/workflows/codspeed.yml

Lines changed: 0 additions & 45 deletions
This file was deleted.

0 commit comments

Comments
 (0)