feat(_release-rust): opt-in Debian .deb build#101
Merged
Conversation
Add an opt-in `build_deb` input (default false) that builds, signs and checksums a Debian .deb package for Linux musl targets, mirroring the existing `enable_signing` opt-in pattern. - gated on `inputs.build_deb && contains(matrix.target, 'linux')` - installs cargo-deb via taiki-e/install-action@v2 - `cargo deb --no-build` packages the already-built/stripped/signed binary (no recompile); arch mapped amd64/arm64 from the musl triple - asset named kache_<version>_<arch>.deb (version = github.ref_name minus v) - signed with zondax/actions/sign-linux-binary@v1 (detached .asc) and checksummed (.sha256) like the other assets, uploaded via the same path - consumer Cargo.toml must set [package.metadata.deb] depends = "" Default off → fully backward-compatible (v10 keeps floating).
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.
What
Adds an opt-in Debian
.debbuild to the reusable_release-rust.ymlworkflow, mirroring the existingenable_signingopt-in pattern.How
workflow_callinputbuild_deb(boolean,required: false, defaultfalse). Default off → 100% backward-compatible, sov10can keep floating to main.inputs.build_deb && contains(matrix.target, 'linux').taiki-e/install-action@v2(tool: cargo-deb).cargo deb --no-build --target ${{ matrix.target }} --output <deb>— no recompile; it packages the binary already built/stripped/signed earlier in the job.x86_64-unknown-linux-musl → amd64,aarch64-unknown-linux-musl → arm64.kache_<version>_<arch>.deb, where<version>=github.ref_namewith a leadingvstripped (the same ref the release job uploads under).zondax/actions/sign-linux-binary@v1action and identical secrets as the other Linux assets → produces<deb>.asc.<deb>.sha256) like every other asset..deb,.deb.asc,.deb.sha256are uploaded through the sameupload-artifact→gh release uploadmechanism as the rest.Consumer requirement
The consuming repo's
Cargo.tomlmust define:No Cargo metadata is added here — that belongs to the consumer repo.
Merge order
Merge this and move
v10BEFORE thekacherepo passesbuild_deb: true.