feat: publish Arch Linux package to the AUR (#29) - #36
Open
rapatao wants to merge 1 commit into
Open
Conversation
Add a goreleaser `aurs:` publisher that generates a PKGBUILD + .SRCINFO from the already-built linux tar.gz archives and pushes them to aur.archlinux.org, mirroring the existing homebrew_casks/nix publishers. The AUR package is named md2-bin: the -bin suffix is required by AUR guidelines for prebuilt-binary packages whose sources are public. The generated package() installs the binary and, since MIT is a custom license on Arch, the LICENSE text. Pushes are skipped on prereleases (skip_upload: auto). The release workflow forwards the AUR_KEY secret (passwordless SSH private key) to goreleaser. README gains an Arch Linux (AUR) install entry.
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.
Closes #29.
What
Publishes an AUR package (
md2-bin) so Arch/Manjaro users canyay -S md2-bin/paru -S md2-bin, rounding out Linux distro coverage alongside the.deb/.rpm/.apkpackages (#28).Adds a goreleaser
aurs:publisher that generates aPKGBUILD+.SRCINFOfrom the already-built linuxtar.gzarchives (no build-from-source; md2 is CGO-free) and pushes them toaur.archlinux.orgover SSH — mirroring the existinghomebrew_casks:/nix:publishers..goreleaser.yaml—aurs:block (namemd2-bin,provides/conflictsmd2,optdependschromium,skip_upload: auto, custompackage()installing the binary + MIT LICENSE text).github/workflows/release.yml— forwards theAUR_KEYsecret to goreleaserREADME.md— Arch Linux (AUR) install entryAUR-guidelines compliance
md2-bin— the-binsuffix is required for prebuilt-binary packages whose sources are public..SRCINFOand the maintainer comment; references the release tarball viasource=+ sha256 (tarball/filelist never committed); pushes to themasterbranch.package()installs the LICENSE text to/usr/share/licenses/md2-bin/(keepsnamcapclean).Verified
goreleaser checkpasses; a snapshot build (release --snapshot --skip=publish,...) generated a correctPKGBUILD+.SRCINFOwith arch-specificsource_x86_64/source_aarch64arrays and the binary + license install.The
aurs:publisher is inert until these one-time, out-of-repo steps are done by the maintainer:AUR_KEYrepository secret — GitHub → Settings → Secrets and variables → Actions → new secretAUR_KEY= the matching private (passwordless) SSH key.md2-binpackage name — goreleaser auto-creates the AUR repo on the first non-prerelease tag push (ssh://aur@aur.archlinux.org/md2-bin.git) if the name is free and the key is authorized. No manual registration needed beyond having the account + key.Notes:
skip_upload: auto→ prereleases do not push to AUR; tag an-rcfirst to sanity-check without touching AUR.yay -S md2-bin/paru -S md2-bin.