@@ -30,20 +30,30 @@ Both install the binary, man page, and shell completions to the standard paths.
3030## How it works
3131
3232` main ` is the source of truth. A push that changes a package's ` PKGBUILD ` is
33- mirrored to that package's AUR git repo.
33+ mirrored to that package's AUR git repo. Nothing reaches ` main ` except through
34+ a reviewed pull request, so ** merging is the approval to publish** .
3435
3536```
36- project release (vX.Y.Z) ──repository_dispatch(aur-bump)──▶ publish .yml
37- nvcheck.yml (weekly) ──repository_dispatch(aur-bump)──▶ publish .yml
37+ project release (vX.Y.Z) ──repository_dispatch(aur-bump)──▶ bump .yml
38+ nvcheck.yml (weekly) ──repository_dispatch(aur-bump)──▶ bump .yml
3839 │
39- bump.sh: set pkgver, updpkgsums, regen .SRCINFO │
40- build-test in an archlinux container (makepkg + namcap) │
41- commit to main, then push PKGBUILD + .SRCINFO to the AUR ◀┘
40+ bump.sh: set pkgver, updpkgsums, regen .SRCINFO │
41+ build-test in an archlinux container (makepkg + namcap) │
42+ open PR ──ci.yml re-verifies──▶ you merge ─────────────▶│
43+ ▼
44+ push-aur.yml
45+ push PKGBUILD + .SRCINFO to the AUR
4246```
4347
44- - ** ` publish.yml ` ** (dispatch / manual): bumps one package directory,
45- build-tests it, and publishes. A release fires one ` aur-bump ` per variant, so
46- both ` <name> ` and ` <name>-bin ` update automatically.
48+ - ** ` bump.yml ` ** (dispatch / manual): bumps one package directory, build-tests
49+ it, and opens a pull request. A release fires one ` aur-bump ` per variant, so
50+ both ` <name> ` and ` <name>-bin ` get their own PR. This workflow never touches
51+ the AUR.
52+ - ** ` push-aur.yml ` ** (push to ` main ` ): publishes whichever package directories
53+ the push changed. ` AUR_SSH_PRIVATE_KEY ` is reachable only from here — never
54+ from a dispatch-triggered run — so firing a dispatch cannot publish to the
55+ AUR on its own. ` workflow_dispatch ` with a package name re-pushes one package
56+ by hand.
4757- ** ` nvcheck.yml ` ** (scheduled): runs nvchecker (` packages.toml ` ) and, for any
4858 package whose upstream release is newer than the committed ` pkgver ` , fires the
4959 same ` aur-bump ` dispatch — a safety net for a release whose dispatch was
@@ -61,7 +71,7 @@ snailrace/ snailrace-bin/
6171ttysvg/ ttysvg-bin/
6272packages.toml # nvchecker sources (all 8 packages)
6373scripts/bump.sh # set pkgver, updpkgsums, regen .SRCINFO
64- .github/workflows/ # ci.yml, publish .yml, nvcheck.yml
74+ .github/workflows/ # ci.yml, bump.yml, push-aur .yml, nvcheck.yml
6575```
6676
6777## Local development
@@ -93,6 +103,13 @@ that regenerate `.SRCINFO` and validate sums on commit. CI regenerates
93103 the AUR — verified free; the first publish registers them.
941043 . Secrets: ` AUR_SSH_PRIVATE_KEY ` (this repo); the org ` TAP_GITHUB_TOKEN ` PAT
95105 extended to cover ` shellcell/aur ` (used by the release dispatch and by
96- ` nvcheck.yml ` to fire dispatches).
106+ ` nvcheck.yml ` to fire dispatches, and by ` bump.yml ` to open PRs that CI
107+ will actually run on).
971084 . ` aur-bump ` dispatch job added to each project's release workflow (fires one
98109 dispatch per variant).
110+
111+ ` bump.yml ` requires ` TAP_GITHUB_TOKEN ` and fails fast without it. The PAT is
112+ not optional: a PR opened by the default ` GITHUB_TOKEN ` does not trigger
113+ ` ci.yml ` , so the bump would land unverified — and creating one at all needs
114+ the org-level * Allow GitHub Actions to create and approve pull requests*
115+ setting, which a PAT sidesteps entirely.
0 commit comments