- Shipped
- April 17, 2026 at 8:43 PM UTC
- Author
- Kamo
- Commit
- 4123431
Reworks the CI/CD flow so the initial deploy is no longer blocked by translation time. The pipeline now: 1. build_initial — builds and pushes image tagged :{sha} 2. deploy_k1m1_initial — deploys :{sha} to k1m1 (parallel) 3. deploy_k2m1_initial — deploys :{sha} to k2m1 (parallel) 4. translate_and_rebuild — runs only after both initial deploys succeed. Checks en.json hash against messages/.translation-hash (or honors force_retranslate input). If translation is needed, port-forwards TranslateService, runs scripts/translate.ts, commits the updated locales + hash to main, then rebuilds and pushes a new image tagged :{sha}-i18n. Emits outputs.translated=true|false. 5. deploy_k1m1_retranslated (conditional) — if translated, rolls out :{sha}-i18n to k1m1 6. deploy_k2m1_retranslated (conditional) — same for k2m1 Users see the new content immediately with English-fallback locale values (already committed into all 22 locale JSONs), and the translated locales roll out in a second wave once the translate service has finished. The translate commit uses [skip ci] so it does not re-trigger the workflow, avoiding an infinite deploy loop.