fix: ship SKILL.md in the published crate so cargo install compiles#105
Merged
Conversation
SKILL.md landed in Cargo.toml's exclude list as a dev-only file, but `pond skill` embeds it via include_str!, so every crates.io release since v0.10.0 fails to compile under `cargo install pond-db` (brew/nix/ binstall ship prebuilt binaries and never hit the path). Drop it from exclude and add a check-package CI gate: `cargo package --list` must contain every include_str!/include_bytes! target, since publish runs with publish_no_verify and skips the verify build.
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.
Problem
cargo install pond-dbfails for every release since v0.10.0 (reported by Fabian):pond skill, which doesinclude_str!("../SKILL.md")insrc/main.rs.SKILL.mdsits inCargo.toml'sexclude(added as a dev-only file alongsideAGENTS.md/CLAUDE.md), so the published.cratephysically lacks the file the build needs. Verified against unpacked crates from crates.io: 0.9.0 is fine; 0.10.0 through 0.13.0 are all broken.publish_no_verify = trueskips the verify build at publish time, and brew/nix/binstall install prebuilt binaries so the compile path never runs.Fix
SKILL.mdfromexclude(33-line file, negligible crate-size impact), with a comment explaining why it must ship.pond:check-package, wired into the build-and-test moon run):cargo package --listmust contain everyinclude_str!/include_bytes!target found insrc/. No verify build needed; it is instant and catches exactly this class of breakage. Verified it fails against the pre-fixCargo.tomland passes now.release-plz.tomlcomment ("verified locally via cargo publish --dry-run") to point at the CI gate.Release note
This must land on
mainbefore release PR #103 (v0.13.1) merges, otherwise 0.13.1 ships equally broken for cargo installs.fmt, clippy, and full
cargo testpass locally (272 tests).