ci(release): deploy production from runtime builder
Deploy / Build Production Runtime Images (push) Successful in 17m7s
Deploy / Deploy Production (push) Failing after 7s
CI/CD Pipeline / Validate Code Quality And Tests (push) Has been cancelled
Deploy / Deploy Staging (push) Has been cancelled

This commit is contained in:
Xiaoxia AI
2026-06-22 18:36:56 +08:00
parent 1245f7b270
commit 61163eadca
3 changed files with 41 additions and 49 deletions
+3 -3
View File
@@ -58,10 +58,10 @@ On `v*` tag push:
4. It builds `apps/web/dist` in a Node Docker container, not on production.
5. It packages `release-<tag>.tar.gz` with the prebuilt Web dist.
6. It uploads both `runtime-images-<tag>.tar` and `release-<tag>.tar.gz` to production.
7. `deploy-production` runs after the build job succeeds.
8. `deploy-production` extracts the prebuilt release artifact, loads `/var/lib/xiaoxia-saas-production/runtime-images-<tag>.tar`, and restarts API/Worker/Web.
7. `deploy-production` runs after the build job succeeds, on `runtime-builder`, and drives production over SSH.
8. `deploy-production` extracts the prebuilt release artifact on production, loads `/var/lib/xiaoxia-saas-production/runtime-images-<tag>.tar`, and restarts API/Worker/Web.
If either the release tar or runtime image tar is missing, production deploy must fail.
If either the release tar or runtime image tar is missing, production deploy must fail. The production deploy job intentionally also runs on `runtime-builder` because Gitea `needs` scheduling previously skipped the downstream `ubuntu-latest` deploy job after a successful cross-runner build.
## Preflight checks on runner