Replace the workflow_dispatch deploy with an Activate step in build.yml
that runs only for X.Y.Z tags: it repoints the ~/hsa-app/hsa symlink and
restarts the user service. Pre-release tags (e.g. 0.0.0a2) are still
built, tested, and staged into releases/ but not activated. Remove
deploy.yml and update INSTALL.md accordingly.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
build.yml now only stages the binary into ~/hsa-app/releases on tag
(no symlink swap or restart). Activation is a separate workflow_dispatch
workflow (deploy.yml) the user triggers from the Forgejo Actions tab,
passing the tag to point the symlink at and restart. Update INSTALL.md
to describe the stage/activate split.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
On tag push, scp the binary to ~/hsa-app/releases/hsa-app-V<tag>/hsa,
repoint the ~/hsa-app/hsa symlink, and restart the user systemd
service. Add deploy/hsa_app.service unit and deploy/INSTALL.md with
host layout, one-time install, deploy, and rollback steps.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
On a tag push, scp the built hsa binary to ~/hsa-app-V<tag> on the
target host (created if missing). Reuses the FORGEJO_SSH key; host and
user come from the HSA_APP_HOST / HSA_APP_USER repo vars. Branch
pushes still only build and test.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
git inside the golang container flags the mounted repo as dubious
ownership (different UID), so `go build` fails obtaining VCS status
(exit 128). The binary doesn't need git version stamping here.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
The only registered act_runner advertises the `shell` label, not
`docker`, so `runs-on: docker` left the job queued forever. The host
has the docker CLI (the resume repo builds via `docker run` on this
same runner), so keep running the build/test inside a golang container.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>