But the CI workflow spikersoft-backend/.gitea/workflows/spikersoft-artpipe-processor.yml only redeploys spikersoft-artpipe-modeling after building and pushing a new image. The five resident model stacks keep running whatever container they had at their last manual deploy, so every CI image push drifts the residents (which serve the production stages) away from the fallback lane.
The cutover runbook (spikersoft-infrastructure/docs/artpipe-server-cutover-runbook.md §3) already documents the intended behavior — “After this, the ArtPipeProcessor CI workflow redeploys all six on every image push” — the workflow just doesn't do it.
Secondary problem
The workflow's pull_request trigger runs the same build_and_publish job, which pushes the prod :latest tag (and the downstream deploy job then redeploys prod) from unmerged PR code.
Proposed fix
In spikersoft-artpipe-processor.yml:
Extend the deploy job's SSH script to redeploy all six stacks, mirroring runbook §3 (five with docker-stack-gpu.yml, blender with docker-stack.yml, each docker stack deploy --with-registry-auth from /mnt/infrastructure/<stack>).
Gate the registry push, deploy, and notify steps/jobs so they only run on master pushes / workflow_dispatch — PR builds keep the Docker build as a check but never touch the registry or prod.
spikersoft-artstudio-metrics is unaffected (has its own workflow).
Repo: spikersoft-backend
## Summary
All six artpipe Swarm stacks run the same image `git.spikersoft.com/spikerj/spikersoft-artpipe-processor:latest`:
- `spikersoft-artpipe-modeling` (per-stage fallback lane)
- `spikersoft-artpipe-model-sdxl`, `-triposr`, `-safety`, `-hunyuan` (GPU residents, `docker-stack-gpu.yml`)
- `spikersoft-artpipe-model-blender` (CPU resident, `docker-stack.yml`)
But the CI workflow `spikersoft-backend/.gitea/workflows/spikersoft-artpipe-processor.yml` only redeploys **`spikersoft-artpipe-modeling`** after building and pushing a new image. The five resident model stacks keep running whatever container they had at their last manual deploy, so every CI image push drifts the residents (which serve the production stages) away from the fallback lane.
The cutover runbook (`spikersoft-infrastructure/docs/artpipe-server-cutover-runbook.md` §3) already documents the intended behavior — “After this, the ArtPipeProcessor CI workflow redeploys all six on every image push” — the workflow just doesn't do it.
## Secondary problem
The workflow's `pull_request` trigger runs the same `build_and_publish` job, which **pushes the prod `:latest` tag** (and the downstream `deploy` job then redeploys prod) from unmerged PR code.
## Proposed fix
In `spikersoft-artpipe-processor.yml`:
1. Extend the deploy job's SSH script to redeploy all six stacks, mirroring runbook §3 (five with `docker-stack-gpu.yml`, blender with `docker-stack.yml`, each `docker stack deploy --with-registry-auth` from `/mnt/infrastructure/<stack>`).
2. Gate the registry push, deploy, and notify steps/jobs so they only run on master pushes / `workflow_dispatch` — PR builds keep the Docker build as a check but never touch the registry or prod.
`spikersoft-artstudio-metrics` is unaffected (has its own workflow).
Repo: `spikersoft-backend`
Resolved in spikersoft-backend PR #200 (merged): image push now redeploys all six artpipe stacks, and PR builds stay off the registry/prod :latest. Closing.
Resolved in spikersoft-backend PR #200 (merged): image push now redeploys all six artpipe stacks, and PR builds stay off the registry/prod :latest. Closing.
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Summary
All six artpipe Swarm stacks run the same image
git.spikersoft.com/spikerj/spikersoft-artpipe-processor:latest:spikersoft-artpipe-modeling(per-stage fallback lane)spikersoft-artpipe-model-sdxl,-triposr,-safety,-hunyuan(GPU residents,docker-stack-gpu.yml)spikersoft-artpipe-model-blender(CPU resident,docker-stack.yml)But the CI workflow
spikersoft-backend/.gitea/workflows/spikersoft-artpipe-processor.ymlonly redeploysspikersoft-artpipe-modelingafter building and pushing a new image. The five resident model stacks keep running whatever container they had at their last manual deploy, so every CI image push drifts the residents (which serve the production stages) away from the fallback lane.The cutover runbook (
spikersoft-infrastructure/docs/artpipe-server-cutover-runbook.md§3) already documents the intended behavior — “After this, the ArtPipeProcessor CI workflow redeploys all six on every image push” — the workflow just doesn't do it.Secondary problem
The workflow's
pull_requesttrigger runs the samebuild_and_publishjob, which pushes the prod:latesttag (and the downstreamdeployjob then redeploys prod) from unmerged PR code.Proposed fix
In
spikersoft-artpipe-processor.yml:docker-stack-gpu.yml, blender withdocker-stack.yml, eachdocker stack deploy --with-registry-authfrom/mnt/infrastructure/<stack>).workflow_dispatch— PR builds keep the Docker build as a check but never touch the registry or prod.spikersoft-artstudio-metricsis unaffected (has its own workflow).Repo:
spikersoft-backendResolved in spikersoft-backend PR #200 (merged): image push now redeploys all six artpipe stacks, and PR builds stay off the registry/prod :latest. Closing.