feat(packaging): add .deb package generation via nfpm#49
Merged
Conversation
Add Debian/Ubuntu package support using nfpm: - packaging/nfpm.yaml: declarative nfpm config (binary, man page, license) - release.yml: new package-deb job with matrix for amd64/arm64/armhf/386 - README.md: add .deb installation instructions, remove duplicate section
- Replace deprecated install.goreleaser.com URL with direct binary download from GitHub Releases (nfpm v2.45.1, pinned version) - Add chmod +x on staged binary to ensure execute bit is set - Fix armhf -> arm7 arch token (nfpm input, maps to armhf output for deb)
Move SHA256 checksum generation to a dedicated 'checksums' job that runs after both 'release' and 'package-deb', so sha256sums.txt covers binaries, man page and .deb packages consistently.
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
Closes #38
packaging/nfpm.yamlwith declarative nfpm configuration (binary, man page, license)package-debjob torelease.ymlthat generates.debpackages foramd64,arm64,armhf, and386on every tagged releaseREADME.mdwith Debian/Ubuntu installation instructionsHow it works
After the existing
releasejob completes,package-debruns in parallel per architecture (fail-fast: false):buildartifactsnfpmvia the official installer scriptnfpm package -p debwithVERSIONandGOARCHenv vars.debto the GitHub Release withgh release upload --clobberArtifacts produced
Definition of Done
.debpackages for amd64 and arm64 architectures (+ armhf and 386)dpkg -i sql-pipe_<version>_<arch>.debworks (nfpm produces standard-compliant packages).debartifacts are uploaded to GitHub Releases by the CI workflow