Skip to content

Build Debian packages and binaries on release tags - #1

Merged
gilesw merged 2 commits into
mainfrom
release-workflow
Oct 28, 2026
Merged

gilesw merged 2 commits into
mainfrom
release-workflow

Conversation

@gilesw

@gilesw gilesw commented Oct 28, 2026 •

Copy link
Copy Markdown

Adds a release pipeline so below can be installed from a GitHub release instead of built from source.

  • build.yml builds on Ubuntu 22.04 for amd64 and arm64 (glibc 2.35), runs the tests with the same cgroup2 skips as ci.yml, packages with cargo deb using the existing [package.metadata.deb], and installs the package in Ubuntu 22.04 and 24.04 containers to check below --version and that below.service is enabled. Runs on workflow_dispatch or from release.yml.
  • release.yml runs on v* tags and attaches the .deb files and binaries to the release.
  • scripts/package_deb.sh versions the package from git describe against the v<crate version> tag, so builds after 0.11.0 are 0.11.0+git<n>.<sha>.
  • maintainer-scripts is set in the deb metadata; cargo-deb needs it for the systemd unit to be packaged and enabled.
  • docs/building.md describes the packages.

build_deb.yml builds below on Ubuntu 22.04 for amd64 and arm64, runs the
tests, packages it with cargo deb using the existing metadata, and
installs the package in Ubuntu 22.04 and 24.04 containers to check the
service is enabled. release.yml runs it on v* tags and attaches the
packages and binaries to the GitHub release.

cargo-deb only installs the systemd unit when maintainer-scripts is set,
so it now points at etc/ alongside unit-scripts.
It builds the binary as well as the deb.
@gilesw
gilesw merged commit ed00d9b into main Oct 28, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant