Compare commits

..
Author SHA1 Message Date
william 8db8347df0 Chain Portainer redeploy to the end of the build workflow, not a parallel webhook
The separate Gitea push webhook to Portainer fired in parallel with this
build workflow on the same push event, so it could redeploy before the
new image finished pushing — Portainer would then pull the still-current
:latest tag and silently keep running old code. Removed that webhook;
redeploy now only happens as this workflow's last step, after the image
push actually completes.
2026-08-23 15:11:31 +00:00
2 changed files with 7 additions and 8 deletions
+7
View File
@@ -31,3 +31,10 @@ jobs:
IMAGE="${{ vars.REGISTRY_HOST }}/${{ gitea.repository }}/claude-agent:latest" IMAGE="${{ vars.REGISTRY_HOST }}/${{ gitea.repository }}/claude-agent:latest"
docker build -t "$IMAGE" ./agent docker build -t "$IMAGE" ./agent
docker push "$IMAGE" docker push "$IMAGE"
- name: Trigger Portainer redeploy
# Deliberately NOT a separate Gitea repo webhook firing in parallel on the same
# push — that raced with this build and could redeploy before the new image was
# actually pushed, silently keeping the old code running. Chaining it here as the
# last step guarantees the image exists before Portainer goes to pull it.
run: curl -f -X POST "${{ secrets.PORTAINER_WEBHOOK_URL }}"
-8
View File
@@ -1,8 +0,0 @@
# Contributing
- Changes land via pull request — no direct pushes to `main`. Branch protection enforces
this (see README.md, "Branch protection on `main`").
- This applies to the Claude bot too: it only ever opens PRs, never pushes or merges
directly. `claude-bot`'s account is deliberately excluded from the merge whitelist, so a
human always reviews and merges.
- Open a PR against `main` and wait for review before merging.