track the AUR package as a submodule, and document it as a release channel - #86
Merged
Conversation
…annel The AUR package sat on 3.5.0 through three patch releases. Nothing in the repo pointed at it: `docs/releasing.md` listed five artifacts and marked all five as published by CI, so the sixth channel was invisible from the one document a release is run out of. - **The submodule makes drift checkable from here.** `git submodule status` says which version the AUR is on, so a stale package shows up in the monorepo rather than in a user's `pacman -Syu`. - **`.gitmodules` uses the HTTPS URL, not SSH.** This repo is public, and the AUR's SSH URL needs a registered maintainer key even to clone, so `--recurse-submodules` would fail for every outside contributor. HTTPS on the AUR is read-only; maintainers set the push URL locally, and `aur/README.md` carries the command and the reason. - **`release.sh` still doesn't touch the AUR**, and the docs now say so in both the scripted and the manual path rather than only in the new section — the manual checklist is where someone mid-release actually looks. - **Automating it stays out of scope.** An AUR push needs a maintainer's SSH key as a CI secret, which is a separate decision from tracking the package here. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
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.
tl;dr
aur/, sogit submodule statussays which version Arch users are actually getting.makepkgbuild.git submodule update --init aur. Nothing else changes for anyone not cutting a release.Context
docs/releasing.mdlisted five artifacts and marked all five as published by CI. The AUR package was a sixth channel that no document mentioned and no job published, so it drifted silently — the only signal would have been an Arch user reporting a stale version.The package builds
alliumfrom the GitHub release source tarball, so a bump is only ever "point at the new tag, refresh the checksum, build once to check". Cheap to do, and correspondingly easy to leave undone.Usage
Existing checkouts pick the submodule up with:
Maintainers who intend to push to the AUR need one further step, once per checkout.
.gitmodulescarries the read-only HTTPS URL (see D1), so the push URL is set locally:Bumping the package after a release is six steps, written up in
aur/README.md.Decision rationale
.gitmodulesuses the HTTPS clone URL, not SSH. This repo is public, and the AUR's SSH URL needs an AUR account with a registered key even to clone — sogit clone --recurse-submoduleswould fail for every outside contributor. HTTPS on the AUR is read-only, which moves the cost onto maintainers as the extraset-url --pushabove: the many-reader case works by default, the few-writer case takes one command.git submodule syncre-derivesoriginfrom.gitmodules, so the push URL has to be re-set if anyone runs it. Called out inaur/README.mdnext to the push step it breaks.docs/releasing.mdnames the manual step in both the scripted and the unscripted release path instead — the manual checklist is where someone mid-release actually looks, so putting it only in the new section would have reproduced the original hole.Out of scope
release.shor CI — see D2.Test plan
makepkg -fagainst the 3.5.3 tarball buildsallium-tools-3.5.3-1-x86_64.pkg.tar.zst, and the packaged binary reportsallium 3.5.3 (language versions: 1, 2, 3).git ls-remote https://aur.archlinux.org/allium-tools.gitserves the pushed commit, confirming the URL in.gitmodulesresolves without credentials.