@@ -8,6 +8,7 @@ This repo uses GitHub Actions to deploy through four environments:
88- ** prod** – manual promotion of a specific RC to a ** final SemVer tag** (` vX.Y.Z ` ) and a ** GitHub Release** .
99
1010Releases are immutable and auditable:
11+
1112- ** RC tags** live only in preprod.
1213- ** Final tags** (` vX.Y.Z ` ) live only in prod and point to the exact commit that shipped.
1314
@@ -30,8 +31,8 @@ Releases are immutable and auditable:
3031## Pull Request Workflow (CI)
3132
3233** File:** ` CI/CD pull request `
34+ ** Trigger:** PR events (not drafts)
3335
34- - Triggers on PR events (not drafts).
3536- Runs stages: ** commit → test → build → acceptance** via reusable stage files:
3637 - ` stage-1-commit.yaml `
3738 - ` stage-2-test.yaml `
@@ -59,15 +60,18 @@ Releases are immutable and auditable:
5960** File:** ` CI/CD deploy to TEST `
6061** Trigger:** manual (` workflow_dispatch ` )
6162
62- ** Inputs**
63+ ### Inputs
64+
6365- ` tag ` : the ref to deploy (e.g., a ** dev** tag created by the dev workflow).
6466- ` environment ` : fixed to ` test ` .
6567
66- ** Behavior**
68+ ### Behavior
69+
6770- Checks out the provided tag, builds, and deploys to ** test** .
6871- ** No new tags** created. ** No GitHub Releases** created.
6972
70- ** Recommended usage**
73+ ### Recommended usage
74+
7175- Deploy the ** same commit** that was verified in dev by supplying the ` dev-<timestamp> ` tag here.
7276
7377---
@@ -78,19 +82,22 @@ Releases are immutable and auditable:
7882** Trigger:** manual (` workflow_dispatch ` )
7983
8084### Inputs
85+
8186- ** ` ref ` ** : branch/tag/SHA to deploy (` dev-<timestamp> ` tag).
8287- ** ` release_type ` ** : one of:
83- - ` patch ` – start a new ** patch** series → ` vX.Y.(Z+1)-rc.1 `
84- - ` minor ` – start a new ** minor** series → ` vX.(Y+1).0-rc.1 `
85- - ` major ` – start a new ** major** series → ` v(X+1).0.0-rc.1 `
86- - ` rc ` – ** keep the same base** version and cut the ** next RC** (e.g. ` -rc.1 ` → ` -rc.2 ` )
88+ - ` patch ` – start a new ** patch** series → ` vX.Y.(Z+1)-rc.1 `
89+ - ` minor ` – start a new ** minor** series → ` vX.(Y+1).0-rc.1 `
90+ - ` major ` – start a new ** major** series → ` v(X+1).0.0-rc.1 `
91+ - ` rc ` – ** keep the same base** version and cut the ** next RC** (e.g. ` -rc.1 ` → ` -rc.2 ` )
8792
8893### Behavior
94+
8995- Tags the ** checked-out commit** as the next ** RC** (` vX.Y.Z-rc.N ` ) and pushes it.
9096- Deploys to ** preprod** .
9197- Creates a ** GitHub pre-release** for that RC.
9298
9399### When to use which ` release_type `
100+
94101- Use ** ` patch ` /` minor ` /` major ` ** when starting a ** new base version** (first RC becomes ` -rc.1 ` ).
95102- Use ** ` rc ` ** when you need another candidate for the ** same base** (` -rc.N+1 ` ).
96103
@@ -102,9 +109,11 @@ Releases are immutable and auditable:
102109** Trigger:** manual (` workflow_dispatch ` )
103110
104111### Inputs
112+
105113- ** ` ref ` ** : the ** RC tag** to promote (e.g. ` v1.4.0-rc.2 ` ).
106114
107115### Behavior
116+
108117- Validates the RC tag exists.
109118- Creates the corresponding ** final tag** (e.g. ` v1.4.0 ` ) at the ** same commit** .
110119- Deploys to ** prod** .
@@ -132,7 +141,8 @@ Releases are immutable and auditable:
132141- ** RC tags** : ` vX.Y.Z-rc.N ` (preprod only; immutable; one per candidate).
133142- ** Final tags** : ` vX.Y.Z ` (prod only; immutable; exactly what shipped).
134143
135- ** Promotion path**
144+ ### Promotion path
145+
136146- Choose a commit (often via a ** dev tag** ) → cut RC(s) in ** preprod** → promote the selected RC to ** prod** .
137147
138148---
@@ -155,14 +165,15 @@ Fix, then cut a new RC (`-rc.N+1`). Only promote to prod when ready.
155165
156166## Quick Examples
157167
158- ** New minor release**
168+ ### New minor release
169+
1591701 . Dev (auto) → creates ` dev-20250818… ` .
1601712 . Preprod (manual) → ` ref=dev-20250818… ` , ` release_type=minor ` → ` v1.4.0-rc.1 ` .
1611723 . Preprod (manual) → ` release_type=rc ` → ` v1.4.0-rc.2 ` .
1621734 . Prod (manual) → ` ref=v1.4.0-rc.2 ` → final ` v1.4.0 ` .
163174
164- ** Same release, more candidates**
175+ ### Same release, more candidates
176+
165177- Already at ` v1.3.3-rc.1 ` .
166178- Preprod → ` release_type=rc ` → ` v1.3.3-rc.2 ` , test, repeat as needed.
167179- Prod → promote the stable RC to ` v1.3.3 ` .
168-
0 commit comments