Skip to content

feat(release): ship Debian packages for the APT registry - #23

Merged
ShortArrow merged 2 commits into
mainfrom
feat/deb-package
Oct 20, 2026
Merged

ShortArrow merged 2 commits into
mainfrom
feat/deb-package

Conversation

@ShortArrow

@ShortArrow ShortArrow commented Oct 20, 2026 •

Copy link
Copy Markdown
Owner

Each release gets Debian packages for amd64 and arm64 and a SHA256SUMS covering every asset, the two things pkg.shortarrow.jp needs before it indexes a package. The registry builds nothing itself: it polls releases and checks each .deb against the release's SHA256SUMS. The decision is ADR 0034.

The Linux release binaries move from ubuntu-latest to ubuntu-22.04 / ubuntu-22.04-arm. Built on 24.04, the aarch64 executable needs GLIBC_2.39 without the WEAK flag, so it cannot start on Debian 12 or Raspberry Pi OS bookworm (glibc 2.36), and the registry's post-publish check runs on bookworm. The x86_64 one needs 2.39 only weakly.

The libc6 floor in Depends is read from the executable at build time (glibc-floor.sh), so a later runner image that raises it changes the package rather than hiding behind a stale number. The bookworm install test fails in that case.

Depends on shortarrow-archive-keyring follows ivi-cli: the key that verifies the source stays installed as long as gitreant is. As a result, a .deb downloaded from the Release page does not install on a machine without the registry configured.

A prerelease tag builds its package as 0.3.0~rc.1-1, which sorts before 0.3.0-1, so a machine that installed an rc by hand upgrades to the release. The registry indexes stable releases only.

CI runs the same apt install test on every pull request with a debug build. The release workflow's deb job runs only on a tag, so the next rc rehearsal is its first run.

pkg.shortarrow.jp indexes the .deb files each project attaches to its
release with a SHA256SUMS. Building Linux on Ubuntu 22.04 keeps the
arm64 binary off glibc 2.39, which bookworm lacks (ADR 0034).
An rc package with the release's version would keep apt from upgrading
a machine that installed it; 0.3.0~rc.1 sorts before 0.3.0.
@ShortArrow
ShortArrow merged commit 61d826e into main Oct 20, 2026
13 checks passed
@ShortArrow
ShortArrow deleted the feat/deb-package branch October 20, 2026 03:56
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