Skip to content

feat(pkg): publish a tag-based package instead of the -git PKGBUILD - #11

Merged
phmatray merged 1 commit into
mainfrom
feat/package-on-release
Sep 4, 2026
Merged

feat(pkg): publish a tag-based package instead of the -git PKGBUILD#11
phmatray merged 1 commit into
mainfrom
feat/package-on-release

Conversation

@phmatray

@phmatray phmatray commented Sep 4, 2026

Copy link
Copy Markdown
Contributor

Implements part of macarchy/macarchy-install#17 (parent: macarchy/macarchy-install#14).

This repo already had a PKGBUILD, and nothing built it

It was aikit-git — sourced from git+https, versioned by a pkgver() running git describe, published nowhere. A release still carried only GitHub's source zip.

before after
pkgname=aikit-git pkgname=aikit
source=(git+https://…) the tag's tarball
pkgver()git describe rewritten from the tag by the job
conflicts=("aikit") conflicts=("aikit-git") — the VCS variant is retired, not kept beside
provides=("aikit=…") dropped — a package must not provide its own name

check() still runs bin/aikit-selftest and aikit.install still prints the setup note.

Verified

Built on aarch64 Asahi, read back with tar -tf: aikit, aikit-selftest, aikit-status, aikit-sync, both units, and the share/ tree with the omarchy fragments.

🤖 Generated with Claude Code

https://claude.ai/code/session_01SYBhT1xfp3MQ1w3687F4Mp

This repo already had a PKGBUILD and nothing built it. It was `aikit-git`:
sourced from git+https, versioned by a pkgver() running `git describe`, and
published nowhere -- so a release carried only GitHub's source zip, same as every
other repo in the org. macarchy-install#17.

It is a release package now. The source is the tag's tarball, so the artifact
attached to a release is built from that release rather than from whatever HEAD
happened to be. The pkgver() is gone, the -git variant is retired via conflicts=
rather than kept beside this one (two packages for one program is how they
drift), and the redundant provides= of its own name is dropped.

What made the original good survives the conversion: check() still runs
bin/aikit-selftest, and aikit.install still prints the setup note.

Built locally and read back with tar -tf: four commands, both units, and the
share/ tree including the omarchy fragments.

Carried over from the slice that proved the pattern (macarchy-install#16): the
job hangs off release-please's release_created output, because a
`release: [published]` trigger never fires on a GITHUB_TOKEN-created release;
pkgver is rewritten from the tag rather than through extra-files, which cannot
parse a PKGBUILD; and the upload globs because PKGEXT differs between machines.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01SYBhT1xfp3MQ1w3687F4Mp
@phmatray
phmatray merged commit 6334390 into main Sep 4, 2026
2 checks passed
@phmatray
phmatray deleted the feat/package-on-release branch September 4, 2026 23:55
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