Skip to content

feat(pkg): publish an installable package on every release - #14

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

feat(pkg): publish an installable package on every release#14
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). Third repo on the pattern proven in macarchy/macarchy-touchbar#12.

An honest split, not a full install

macarchy-core is not shaped like the others: most of what install.sh lands is user configuration pacman may not write.

half where what
system /usr/bin, /usr/lib/systemd/user, /usr/lib/udev/rules.d 12 commands, 2 units + 2 timers, the battery rule
user /usr/share/macarchy-core/ as templates theme hooks, shell plugins, macarchy-keys.lua, starter configs

The scriptlet names every $HOME destination and says plainly that the package is partial — shipping something that looks complete and is not would be worse than no package. ./install.sh still does the whole job.

Verified

Built on aarch64 Asahi, read back with tar -tf: 12 commands, both units with ExecStart=/usr/bin/…, the udev rule, and agents examples hooks keys shell-plugins under /usr/share.

Suite: all shell suites + pytest pass.

🤖 Generated with Claude Code

https://claude.ai/code/session_01SYBhT1xfp3MQ1w3687F4Mp

macarchy-install#17. Built locally and read back with tar -tf: 12 commands in
/usr/bin, both units and both timers with ExecStart repointed off %h, and the
battery udev rule.

This package is deliberately NOT a full install, and says so. Most of what
install.sh lands is USER configuration -- theme hooks, shell plugins, the Hypr
key file, starter configs -- which pacman may not write into $HOME. Those ship as
templates under /usr/share/macarchy-core and the scriptlet names every
destination, rather than shipping something that looks complete and is not.
Running ./install.sh still does the whole job; the package exists so the commands
and units can be managed by pacman.

Carried over from the slice that proved this pattern (macarchy-install#16), each
of which was a real failure there: the job hangs off release-please's own
release_created output rather than a `release: [published]` trigger, which never
fires because release-please creates the Release with GITHUB_TOKEN and GitHub
raises no run from a GITHUB_TOKEN event; pkgver is rewritten from the tag rather
than maintained through extra-files, which cannot parse a PKGBUILD and stops
release PRs being built at all; and the units are repointed with a grep to
confirm, because verbatim they give 203/EXEC.

tests/test_pkgbuild.sh reads the code rather than the whole file -- comments name
every artefact, so a whole-file grep passes even when the install line is gone --
and checks that the scriptlet names each $HOME destination, since the split is
only honest while it does.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01SYBhT1xfp3MQ1w3687F4Mp
@phmatray
phmatray merged commit fed49d7 into main Sep 4, 2026
1 check 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