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.
build: package spec.sr.ht as an apk and wire push->build->mirror Deploy the service from our own apk repo instead of cloning and compiling this tree inside the srht stack's Dockerfile. - APKBUILD: build css then static binaries (CGO_ENABLED=0), install under ASSETS=/usr/share/sourcehut so specsrht-migrate resolves schema and migrations at the real runtime path. pkgver rewritten by CI to 0.0.<commit-count> for a monotonic, pinnable version. - .build.yml: builds.sr.ht manifest — assemble the shared sourcehut scss partials (core.sr.ht CORE_VER + pinned Bootstrap submodule), throwaway per-build signing key, abuild, publish *.apk to the Garage repo bucket (append-only; apk-mirror on phoebe re-indexes and signs). - .sourcecraft/webhooks.yaml: push webhook to the phoebe gitsync service so the git.srht.bigb.es mirror updates in seconds, which is what makes the push -> apk build fire immediately.