Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
16 commits
Select commit Hold shift + click to select a range
ed2c072
build(deps): ENG-4683 add axum + tokio dev-dependencies for the HTTP …
jimbofreedman Jul 27, 2026
1959b94
test(crate): ENG-4683 compile README code fences as doctests
jimbofreedman Jul 27, 2026
b414566
docs(crate): ENG-4683 add axum HTTP server example
jimbofreedman Jul 27, 2026
1b73da8
docs(crate): ENG-4683 rewrite README with quickstarts, pipeline diagr…
jimbofreedman Jul 27, 2026
d9c194f
test(crate): ENG-4683 pin README to EDGE_GROUPS, the axum example, th…
jimbofreedman Jul 27, 2026
1acc92e
test(crate): ENG-4683 assert the README quickstart route works for an…
jimbofreedman Jul 27, 2026
676941d
fix(crate): ENG-4683 address peer review — derive resolution, strengt…
jimbofreedman Jul 27, 2026
aaad329
docs(crate): ENG-4683 restore README review fixes lost to a stray che…
jimbofreedman Jul 27, 2026
7feb155
test(crate): ENG-4683 end-to-end tests for the axum example
jimbofreedman Jul 27, 2026
45daf96
fix(crate): ENG-4683 address review — close the doctest bypass, harde…
jimbofreedman Jul 27, 2026
fc1c30d
fix(crate): ENG-4683 close residual gaps found re-reviewing the fixes
jimbofreedman Jul 27, 2026
698e845
fix(crate): ENG-4683 QA — accept blank entries in the block= list
jimbofreedman Jul 27, 2026
7e305da
refactor(crate): ENG-4683 collapse two README table parsers into one
jimbofreedman Jul 27, 2026
a14db49
fix(crate): ENG-4683 address Copilot review
jimbofreedman Jul 27, 2026
5cc7f0a
docs(crate): ENG-4683 fix stale bind-address comment in the e2e test
jimbofreedman Jul 27, 2026
fe2f4f9
docs(crate): ENG-4683 add CHANGELOG entry for the README + axum quick…
jimbofreedman Jul 28, 2026
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
7 changes: 7 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,13 @@
# The downstream-consumer test sub-package is a library crate too; same
# rationale for excluding its lockfile.
tests/downstream_consumer/Cargo.lock
# `/target/` above is root-anchored, so it does not cover the nested
# sub-package. Running the sub-package's suite directly — e.g.
# `cargo test --manifest-path tests/downstream_consumer/Cargo.toml`,
# which is how you reproduce ENG-4683's AC3 locally — drops ~300 MB of
# build output here. tests/downstream_consumer_smoke.rs itself redirects
# to a target dir under $OUT_DIR and never creates this.
tests/downstream_consumer/target/

# macOS — https://github.com/github/gitignore/blob/main/Global/macOS.gitignore
.DS_Store
Expand Down
9 changes: 9 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,15 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
`cargo codspeed`). `[skip-perf]` in a PR title bypasses the perf job.
Uploads authenticate to CodSpeed over OpenID Connect (`id-token: write`)
via the org's CodSpeed GitHub App — no `CODSPEED_TOKEN` secret required.
- Onboarding documentation (ENG-4683): a full `README.md` with a
copy-pasteable library quickstart, a 50-line axum HTTP server
quickstart, the build-pipeline diagram, the `data-{N}km` feature
matrix, and the 13 edge groups. The axum snippet ships as a runnable
`examples/axum_server.rs`, and both quickstarts work on default
features (`data-50km`) with no data setup. Drift is pinned by tests:
README fences compile under `cargo test --doc`, the edge-group table
is compared against `EDGE_GROUPS`, and an end-to-end test boots the
example and asserts GeoJSON `[lng, lat]` output.
- Automated release pipeline (ENG-4692): `release-plz` opens a
`chore: release vX.Y.Z` PR from conventional commits and, on merge,
publishes to crates.io and creates the GitHub release/tag;
Expand Down
15 changes: 15 additions & 0 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -71,12 +71,27 @@ tempfile = "3"
# deny.toml's licence allowlist — no library or downstream-consumer impact.
serde = { version = "1", features = ["derive"] }
serde_json = "1"
# ENG-4683: examples/axum_server.rs (the README's HTTP quickstart).
# Dev-only — no library or downstream-consumer impact, and the wasm CI
# job builds lib-only (`cargo build`, no --all-targets) so these never
# cross-compile. Both MUST stay on ONE line: tests/changelog.rs:32-43
# derives the crate version from the first `version`-prefixed line, so a
# multi-line inline table here would introduce a second candidate.
# `net` is beyond the feature list ENG-4683 originally named: axum::serve
# takes a tokio::net::TcpListener, which that feature gates. axum's own
# `tokio` feature would activate it transitively, but the example names
# the path directly, so we declare it directly.
axum = "0.8"
tokio = { version = "1", features = ["macros", "net", "rt-multi-thread"] }
# ENG-4690: CodSpeed's drop-in criterion replacement. Behaves as plain
# criterion under `cargo bench` (incl. html_reports) and registers benches
# with the CodSpeed harness under `cargo codspeed`. Re-exports the full
# criterion 0.5 API, so benches/route.rs is ordinary criterion code.
codspeed-criterion-compat = { version = "2", features = ["html_reports"] }

# NOTE: every [dev-dependencies] entry must stay ABOVE this table —
# [[bench]] starts a new table, so anything added below it would silently
# become part of the bench target instead of a dependency.
[[bench]]
name = "route"
harness = false
Loading
Loading