Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
70 changes: 0 additions & 70 deletions .github/workflows/changelog.yml

This file was deleted.

20 changes: 20 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,3 +18,23 @@ jobs:
- run: cargo fmt --all -- --check
- run: cargo clippy --workspace --all-targets -- -D warnings
- run: cargo test --workspace

soothfast:
# the bot's own merge must not regenerate again
if: github.event_name == 'pull_request' || !endsWith(github.actor, '[bot]')
runs-on: ubuntu-latest
environment: soothfast-bot
permissions:
contents: read
pull-requests: write
id-token: write
concurrency:
group: soothfast-${{ github.ref }}
cancel-in-progress: true
steps:
- uses: actions/checkout@v5
- uses: dtolnay/rust-toolchain@stable
- uses: Swatinem/rust-cache@v2
- uses: Verdenroz/soothfast@80b18d8831521646b65fec79c6df14d6f763c602 # v0.3.1
with:
changelog-packages: scry-core scry-server
6 changes: 5 additions & 1 deletion .github/workflows/docs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,11 @@ jobs:
- uses: Swatinem/rust-cache@v2
# callgrind fallback for PMU-less runners
- run: sudo apt-get update -qq && sudo apt-get install -y -qq valgrind
- run: cargo install cargo-soothfast --locked
# install only, pinned to Cargo.lock
- uses: Verdenroz/soothfast@80b18d8831521646b65fec79c6df14d6f763c602 # v0.3.1
with:
gate: "false"
changelog: "false"
- run: cargo soothfast measure -p scry-core --save-baseline base
- run: cargo soothfast docs check
- run: cargo soothfast docs build --baseline base
Expand Down
26 changes: 0 additions & 26 deletions .github/workflows/gate.yml

This file was deleted.

10 changes: 7 additions & 3 deletions CLAUDE.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ cargo clippy --workspace --all-targets -- -D warnings # CI treats warnings as
cargo fmt --all

cargo soothfast measure -p scry-core --save-baseline base # refresh perf baseline
cargo soothfast gate -p scry-core --against-ref origin/main # what gate.yml runs on PRs
cargo soothfast gate -p scry-core --against-ref origin/main # what CI runs on PRs
cargo soothfast docs check # doc claims vs the "base" baseline
cargo soothfast docs build --baseline base # site to ./site (published by docs.yml)

Expand Down Expand Up @@ -94,8 +94,12 @@ installed copies until the version is bumped in BOTH
`crates/scry-core/benches/soothfast.rs`; `docs/search.md` carries claims
checked against the `base` baseline (alloc claims are exact - changing a
measured function usually means re-measuring and updating the claim);
`gate.yml` measures PRs against their merge-base, so perf regressions in
measured functions fail CI by design, not by flake.
the `soothfast` job in `ci.yml` (the `Verdenroz/soothfast` action) gates PRs
against their merge-base and posts the result as a soothfast-bot comment, so
perf regressions in measured functions fail CI by design, not by flake. On
pushes to `main` the same job refreshes the baseline and lands CHANGELOG.md
as a `bot/soothfast-update` PR. Bump the action ref together with the
`soothfast` dependency; the action installs the CLI matching `Cargo.lock`.

## Config

Expand Down
16 changes: 8 additions & 8 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion crates/scry-core/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -40,5 +40,5 @@ tree-sitter-typescript = "0.23.2"
xxhash-rust = { version = "0.8.18", features = ["xxh64"] }

[dev-dependencies]
soothfast = { version = "0.2.0", features = ["runner"] }
soothfast = { version = "0.3.1", features = ["runner"] }
tempfile = "3.27.0"
5 changes: 4 additions & 1 deletion crates/scry-core/benches/soothfast.rs
Original file line number Diff line number Diff line change
Expand Up @@ -76,10 +76,13 @@ fn bench_chunk_rust(source: &str) {
keep(scry_core::chunker::chunk_file("bench.rs", keep(source)));
}

// Small enough that harness/codegen noise straddles the default threshold
// run-to-run.
#[bench(
group = "search",
setup = symbol_table,
covers = "scry_core::search::expand_symbols"
covers = "scry_core::search::expand_symbols",
tolerance = "8%"
)]
fn bench_expand_symbols(symbols: &[String]) {
keep(scry_core::search::expand_symbols(
Expand Down