feat: distribution — crates.io publishable + cargo-dist release pipeline + install docs - #70
Merged
Conversation
Keep examples/notes/*.md + kibble.toml.example (include_str! build deps) and README/docs; drop only the ~600KB demo media. cargo publish --dry-run passes (packages + compiles from the tarball).
…tallers) dist init (0.32.0) → dist-workspace.toml + [profile.dist] + generated .github/workflows/release.yml. On tag v*: cross-compile aarch64/x86_64 for linux+macos + x86_64-windows → GitHub Release with binaries, sha256 checksums, and curl|sh / PowerShell installers. dist plan validates all 5 targets. First live release records which actually build.
…runbook One-line install front and center; document the tag-triggered release flow and the manual, human-gated crates.io publish.
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.
Sub-project A of "make kibble adoptable": kill install friction so kibble is a one-line install (the #1 lever for adoption / top-repo candidacy).
What's in it (3 commits)
exclude = ["assets/"]drops the ~600KB demo media from the crate while keeping theinclude_str!build deps (examples/notes/*.md,kibble.toml.example).cargo publish --dry-runpackages and compiles from the tarball (the real proof nothing needed at build time was dropped).dist init(0.32.0) →dist-workspace.toml+[profile.dist]+ generated.github/workflows/release.yml. On tagv*: cross-compiles 5 targets (linux x86_64/arm64, macOS Intel/Apple Silicon, windows x86_64) → GitHub Release with binaries, sha256 checksums, andcurl|sh+ PowerShell installers.dist planvalidates all 5. PRs only run the lightweight plan job — never a real release.## Installwith 3 methods (cargo install kibble/curl|shprebuilt / from source) +docs/RELEASING.mdrunbook.Verification
cargo publish --dry-run: packages + compiles from tarball, assets excluded, build deps kept.cargo test386 + integration;cargo buildfull + lean green; existing CI (ci.yml) untouched;[profile.release]unaffected.cargo publish --dry-runthencargo publish(needsCARGO_REGISTRY_TOKEN) →cargo install kibblegoes live.git tag v0.1.0 && git push origin main --tags→ the workflow builds binaries. Then record which of the 5 targets actually shipped and prune any failures (windows/arm are the usual risks) fromdist-workspace.toml+ README.🤖 Generated with Claude Code