Skip to content

Commit 55aa94c

Browse files
committed
βž• Add more detail info about the brief of release system workflow.
1 parent 8043cec commit 55aa94c

File tree

1 file changed

+64
-1
lines changed

1 file changed

+64
-1
lines changed

β€Ždocs_with_docusarus/contents/development/ci-cd/release-system.mdxβ€Ž

Lines changed: 64 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,27 @@ The release workflows for this template are now maintained in the centralized re
1414

1515
Publishes production artifacts (PyPI package, container images, docs) using the centralized `rw_release_complete.yaml` workflow logic.
1616

17+
- **Purpose** – Ship the production-ready version of your project whenever you approve a release.
18+
- **Effects** – Builds from locked dependencies, signs artifacts (if configured), pushes semantic tags, and updates changelog summaries.
19+
- **Targets** – PyPI (wheel + sdist), Docker Hub/GHCR images, and the published Docusaurus docs site.
20+
21+
```mermaid
22+
flowchart LR
23+
classDef config fill:#fef3c7,stroke:#d97706,color:#78350f;
24+
classDef workflow fill:#4338ca,stroke:#1e1b4b,color:#fff;
25+
classDef jobs fill:#e0f2fe,stroke:#0284c7,color:#0c4a6e;
26+
classDef targets fill:#dcfce7,stroke:#15803d,color:#14532d,font-weight:bold;
27+
28+
intent[intent.yaml<br/>release configuration]:::config
29+
trigger["release.yml<br/>(local workflow)"]:::workflow
30+
reusable["Reusable workflow<br/>rw_release_complete.yaml"]:::workflow
31+
jobs[Build β†’ Test β†’ Sign β†’ Publish]:::jobs
32+
targets[(PyPI Β· Docker Hub/GHCR Β· Docs)]:::targets
33+
34+
intent --> trigger --> reusable --> jobs --> targets
35+
```
36+
- **Documentation** – See the reusable workflow guide for production releases: [rw_release_complete.yaml](https://chisanan232.github.io/GitHub-Action_Reusable_Workflows-Python/docs/next/workflows/release/rw_release_complete) (hosted in `Chisanan232/GitHub-Action_Reusable_Workflows-Python`).
37+
1738
:::note Documentation
1839
See the reusable workflow guide for production releases: [rw_release_complete.yaml](https://chisanan232.github.io/GitHub-Action_Reusable_Workflows-Python/docs/next/workflows/release/rw_release_complete) (hosted in `Chisanan232/GitHub-Action_Reusable_Workflows-Python`).
1940
:::
@@ -23,6 +44,27 @@ See the reusable workflow guide for production releases: [rw_release_complete.ya
2344

2445
Creates staging/TestPyPI packages, RC container images, and preview documentation to test releases before production.
2546

47+
- **Purpose** – Provide a safe rehearsal of the full release pipeline with artifacts you can share internally.
48+
- **Effects** – Publishes release-candidate packages, tags container images with `-rc`, and deploys docs to preview channels without touching production identifiers.
49+
- **Targets** – TestPyPI, staging container registries (Docker Hub/GHCR), and preview docs buckets or branches.
50+
51+
```mermaid
52+
flowchart LR
53+
classDef config fill:#fef3c7,stroke:#d97706,color:#78350f;
54+
classDef workflow fill:#7c3aed,stroke:#4c1d95,color:#fff;
55+
classDef jobs fill:#ede9fe,stroke:#6d28d9,color:#312e81;
56+
classDef targets fill:#cffafe,stroke:#0e7490,color:#0f172a,font-weight:bold;
57+
58+
intent[intent.yaml<br/>staging overrides]:::config
59+
trigger["release-staging.yml<br/>(local workflow)"]:::workflow
60+
reusable["Reusable workflow<br/>rw_release_staging_complete.yaml"]:::workflow
61+
jobs[Build β†’ Tag `-rc` β†’ Publish preview docs]:::jobs
62+
targets[(TestPyPI Β· Staging registries Β· Preview docs)]:::targets
63+
64+
intent --> trigger --> reusable --> jobs --> targets
65+
```
66+
- **Documentation** – Reusable staging workflow reference: [rw_release_staging_complete.yaml](https://chisanan232.github.io/GitHub-Action_Reusable_Workflows-Python/docs/next/workflows/release/rw_release_staging_complete).
67+
2668
:::note Documentation
2769
Reusable staging workflow reference: [rw_release_staging_complete.yaml](https://chisanan232.github.io/GitHub-Action_Reusable_Workflows-Python/docs/next/workflows/release/rw_release_staging_complete).
2870
:::
@@ -32,13 +74,34 @@ Reusable staging workflow reference: [rw_release_staging_complete.yaml](https://
3274

3375
Dry-runs the release pipeline for pull requests, verifying builds and security checks without publishing artifacts.
3476

77+
- **Purpose** – Catch packaging, signing, or configuration issues before they reach staging or production.
78+
- **Effects** – Executes the same jobs as a real release (build, test, SBOM, signing) but discards artifacts after validation.
79+
- **Targets** – No registries are updated; results remain within the PR context and GitHub Actions artifact storage for review.
80+
81+
```mermaid
82+
flowchart LR
83+
classDef config fill:#fef3c7,stroke:#d97706,color:#78350f;
84+
classDef workflow fill:#0ea5e9,stroke:#1e3a8a,color:#fff;
85+
classDef jobs fill:#dbeafe,stroke:#1d4ed8,color:#1e3a8a;
86+
classDef targets fill:#fde68a,stroke:#c2410c,color:#7c2d12,font-weight:bold;
87+
88+
intent[intent.yaml<br/>validation mode]:::config
89+
trigger["release-validate.yml<br/>(local workflow)"]:::workflow
90+
reusable["Reusable workflow<br/>rw_release_validation_complete.yaml"]:::workflow
91+
jobs[Build β†’ Test β†’ Security scans β†’ Summaries]:::jobs
92+
targets[(Report only Β· Artifacts stored in run)]:::targets
93+
94+
intent --> trigger --> reusable --> jobs --> targets
95+
```
96+
- **Documentation** – Reusable validation workflow details: [rw_release_validation_complete.yaml](https://chisanan232.github.io/GitHub-Action_Reusable_Workflows-Python/docs/next/workflows/release/rw_release_validation_complete).
97+
3598
:::note Documentation
3699
Reusable validation workflow details: [rw_release_validation_complete.yaml](https://chisanan232.github.io/GitHub-Action_Reusable_Workflows-Python/docs/next/workflows/release/rw_release_validation_complete).
37100
:::
38101

39102
## Overview
40103

41-
- **Centralized logic**: All release orchestration lives in the reusable workflow repository.
104+
- **Centralized logic**: All release orchestration lives in the [reusable workflow repository](https://github.com/Chisanan232/GitHub-Action_Reusable_Workflows-Python).
42105
- **Multi-target support**: Python packages, container images, and documentation publishing remain available through the shared workflows.
43106
- **Configuration-driven**: Child projects configure releases via `intent.yaml`, delegating implementation details to the centralized workflows.
44107
- **Release targets at a glance**:

0 commit comments

Comments
Β (0)