Skip to content

Add AUR publishing via just publish-aur - #58

Merged
l1a merged 1 commit into
mainfrom
feature/aur-publishing
Jul 26, 2026
Merged

Add AUR publishing via just publish-aur#58
l1a merged 1 commit into
mainfrom
feature/aur-publishing

Conversation

@l1a

@l1a l1a commented Jul 26, 2026

Copy link
Copy Markdown
Owner

What

Adds publishing to the AUR as part of the release flow, as a new binary package etr-terminal-bin (x86_64 + aarch64).

  • packaging/aur/PKGBUILD.in + packaging/aur/SRCINFO.in: templates for the AUR package, installing the prebuilt etr/etrs binaries from the GitHub release assets. Both files render from the same substitution pass so PKGBUILD and .SRCINFO can never disagree.
  • just publish-aur: verifies the current version's GitHub release assets exist (hard-fails with instructions if the release hasn't built yet), downloads them and computes sha256 checksums, renders the templates, clones ssh://aur@aur.archlinux.org/etr-terminal-bin.git, commits, and pushes. Exits cleanly with no empty commit if the AUR repo already matches.
  • just publish now invokes just publish-aur after cargo publish, so one command publishes crates.io + AUR (ordering: tag → release build → just publish).
  • Version bump 0.6.5 → 0.7.0 (new user-visible install channel); packaging/ excluded from the crates.io package; README + NOTES.md + wiki (Getting-Started) document the new install path.

Why

Arch users currently have only cargo install etr or manual GitHub release downloads. This gives them paru -S etr-terminal-bin.

Naming note: the AUR names etr and etr-bin are already taken by an unrelated ECMP-traceroute tool that also installs /usr/bin/etr. The package therefore uses etr-terminal-bin, declares conflicts=('etr' 'etr-bin'), and deliberately does not declare provides=('etr') (that would wrongly satisfy dependencies on the other tool).

Test plan

  • just pr gate passed: fmt, clippy, all 112 tests, man pages, Cargo.lock, version/NOTES.md checks.
  • Both templates rendered with dummy checksums: bash -n passes on the PKGBUILD; zero unsubstituted @…@ placeholders remain in either file.
  • Reviewer can dry-run rendering without touching the AUR: run the sed block from the publish-aur recipe against the templates.
  • The actual AUR push can only be verified live after v0.7.0 is tagged and released: run just publish-aur (requires an SSH key registered with an AUR account); the first push creates the package.

No Rust code changes; test count unchanged (112).

🤖 Generated with Claude Code

Adds packaging/aur/{PKGBUILD,SRCINFO}.in templates for a new AUR
package `etr-terminal-bin` (x86_64 + aarch64, prebuilt GitHub release
binaries; the AUR names etr/etr-bin are taken by an unrelated tool).
`just publish-aur` verifies the release assets exist, checksums them,
renders both files, and pushes to the AUR git repo; `just publish` now
runs it after cargo publish. Bump version to 0.7.0.

Assisted-By: Claude Fable 5
@l1a
l1a merged commit 8864523 into main Jul 26, 2026
23 checks passed
@l1a
l1a deleted the feature/aur-publishing branch July 26, 2026 01:01
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