This project publishes GitHub Releases containing:
- Linux binaries (amd64, arm64)
- Debian
.debpackages (amd64, arm64)
A release is created automatically by GitHub Actions when a tag matching v* is pushed.
The semantic versioning is applied, i.e. it follows SemVer (vMAJOR.MINOR.PATCH) format.
git checkout main
git pull
git checkout -b changelog/1.1.0make release-prep VERSION=1.1.0 # version without "v" prefix- It must not be UNRELEASED, set
unstableby default. - If needed, edit debian/changelog manually.
make deb
make deb-lint
make deb-testgit add debian/changelog
git commit -m "debian: release 1.1.0"
git push -u origin changelog/v1.1.0Open a PR and merge it into main after review and approval.
After the PR is merged:
git checkout main
git pull
git tag v1.1.0
git push origin v1.1.0This triggers GitHub Actions to build artifacts and create the GitHub Release:
- Linux binaries for amd64 and arm64.
- Debian artifacts (
"deb") for amd64 and arm64.
Assume we are releasing v1.1.0
mkdir /tmp/archive
./debian/release-prep-archive.sh /tmp/archive 1.1.0
./debian/release-publish-archive.sh <full path to signing keys>/ /tmp/archive
As a sanity check run find /tmp/archive then push to the archive with:
gsutil rsync -r /tmp/archive/ gs://fioup.foundries.io/