fix(apk): keep -modcacherw when overriding GOFLAGS The GOFLAGS="-trimpath" passed to make clobbers abuild's default GOFLAGS, dropping -modcacherw: the module cache then extracts read-only and the CI cache tarball made from it fails to unpack on the next build (mkdir into 0555 dirs, permission denied — warm build #266). The poisoned gomod tarball was deleted by ad-hoc job #268.
ci: cache Go module and build dirs via cacher Same scheme as sr-ht-dolt (dbd8638 there): restore ~/go/pkg/mod and ~/.cache/go-build from the Garage docker-cache bucket before abuild and seed them back after, keyed by go.sum via cacher (go.bigb.es/cacher). GOCACHE/GOMODCACHE are re-pinned inside build() because abuild redirects them into its throwaway $tmpdir and an upstream typo in abuild.in clobbers any pre-set GOMODCACHE with GOCACHE's value.
ci: commit the apk build, packaging and mirror-trigger files These three were written but never committed, so the whole publishing chain was dead from its first link: with no .build.yml on sourcecraft there is none on the git.srht.bigb.es mirror either, so the push hook has no manifest to submit, no build ever ran, and compare.sr.ht has never appeared in the apk index at repo.bigb.es — which today holds spec.sr.ht alone. The code itself was mirroring fine, which is what made this hard to see: the sourcehut side sits on the current commit, so everything looks configured until you ask git which of these files it actually knows about. .sourcecraft/webhooks.yaml is in the same state and has the same consequence one level up: the gitsync webhook was never registered, so the mirror has been riding its hourly safety-net poll rather than updating on push. The build secret apk-ci-s3 the publish task needs now exists on the account, so nothing else blocks the first build.