Template
feat(ci): layered promotion-gated test pipeline (build once → dev → rc → prod) [DRAFT] #6
Open
jmiller
wants to merge 1 commits from
feat/tiered-test-pipeline into main
pull from: feat/tiered-test-pipeline
merge into: :main
:main
:feat/tiered-test-pipeline
:feat/own-deploy-workflows
:fix/workflow-mokocli-paths
:chore/normalize-docs
:fix/rebrand-mokogitea
:fix/move-sync-trigger
:fix/gate-sync-trigger
:fix/move-workflow-sync-trigger
1 Commits
| Author | SHA1 | Message | Date | |
|---|---|---|---|---|
|
|
0f4b6848a2 |
feat(ci): layered promotion-gated test pipeline (build once → dev → rc → prod)
Universal: PR Check / Branch Policy (pull_request) Failing after 2s
Generic: Repo Health / Site Health (pull_request) Has been skipped
Generic: Repo Health / Access control (pull_request) Successful in 3s
Generic: Project CI / Lint & Validate (pull_request) Successful in 10s
Universal: PR Check / Validate PR (pull_request) Failing after 9s
Universal: PR Check / Secret Scan (pull_request) Successful in 12s
Generic: Project CI / Tests (pull_request) Has been cancelled
Universal: PR Check / Build RC Package (pull_request) Has been cancelled
Universal: PR Check / Report Issues (pull_request) Has been cancelled
Generic: Repo Health / Scripts governance (pull_request) Has been cancelled
Generic: Repo Health / Repository health (pull_request) Has been cancelled
Generic: Repo Health / Report: Scripts Governance (pull_request) Has been cancelled
Generic: Repo Health / Report: Repository Health (pull_request) Has been cancelled
Add .mokogitea/workflows/test-pipeline.yml implementing the tiered
"build once, test, promote the artifact" model from Template-Go#4:
- dev (push dev): build the image ONCE, run the suite, push the tested
artifact, move the `dev-tested` pointer, deploy to dev.
- rc (push rc): PULL the dev-tested artifact (no rebuild), promote it to
the RC registry, deploy that exact digest, run suite +
smoke vs the live RC instance, move `rc-healthy`.
- prod (push main): gate on an `rc-healthy` artifact existing (fail closed),
then promote the SAME digest to prod :version + :latest
and deploy — replacing the removed "verify dev healthy"
gate (MokoGitea-Fork#758).
Three independent `if:`-gated jobs, no `needs:` chain, so it avoids the Gitea
scheduler stall on dependent 2nd jobs (MokoGitea-Fork#756). All tier config is
driven from repo vars.*/secrets.*, reusing the DEV_*/RC_*/PROD_* variables and
shared DEPLOY_SSH_KEY/MOKOGITEA_TOKEN secrets from the deploy workflows (PR#5).
Gitea commit statuses pipeline/dev + pipeline/rc are published per tier.
First draft for review; env-specific wiring left as TODO in the header.
Refs #4
Claude-Session: https://claude.ai/code/session_01Wsno14cxE49MstXFs9G5KT
|