fix(ci): install rustfmt explicitly and stabilize generated types#1
Merged
Conversation
dprint runs rustfmt via the exec plugin, but mise's rust toolchain doesn't reliably install the rustfmt component, so check:fmt fails in CI with "rustfmt is not installed for toolchain 1.92.0". Add an explicit rustup component install step, mirroring ../kv. generate:types ran openapi-typescript (4-space output) without a follow-up format, so the committed file (dprint-formatted, 2-space) always diffed against CI regeneration. Run dprint fmt inside the generate script so local and CI produce the same canonical output. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
The `default` bucket is documented as auto-managed (the REST API
rejects POSTs targeting it) and the TS SDK + middleware/auth route
unauthenticated default-bucket reads through `DEFAULT_BUCKET`. But
nothing actually materialized `<data_dir>/default/` on startup, so
PUT against the default bucket on a fresh data dir failed with
ENOENT during the final rename. All three TS PUT round-trip tests
hit this in CI.
Call `Storage::create_bucket("default", ..)` after Storage is
constructed; create_bucket is already idempotent. Rust integration
tests were unaffected because they always POST a unique bucket
first.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
The advisory database flags transitive vulns in crates we don't control upgrade timing on (rustls-webpki, etc.), turning every upstream advisory into a red CI light unrelated to changes in this repo. We monitor advisories out-of-band; the in-CI gate produces more noise than signal. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Compiling benches adds ~minutes per CI run for a gate that only verifies they still build. We run benches locally when tuning hot paths; the compile check isn't worth the wall-clock. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
check:fmtfailed withrustfmt is not installed for toolchain 1.92.0. dprint shells out to rustfmt via its exec plugin, but mise's rust toolchain wasn't installing the rustfmt component reliably. Add an explicitrustup component add rustfmt clippystep, mirroring../kv.generate-checkjob always diffed: the committedsdk/ts/src/types.tsis dprint-formatted (2-space) whileopenapi-typescriptemits 4-space. The local format step happened out-of-band. Move thedprint fmtintoscripts/generate-types.mjsso local and CI produce the same canonical output.Test plan
check:fmtpassesgenerated files up-to-date / check no diffpassesmise run generate:openapi && mise run generate:typesleaves a clean working tree