You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/DEVELOPMENT.md
+36-10Lines changed: 36 additions & 10 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -158,7 +158,15 @@ The notification framework is modular and event-driven. For detailed instruction
158
158
159
159
## Project Versioning
160
160
161
-
We utilize a centralized semantic versioning manager script located in`scripts/version_manager.py` to synchronize versions across backend configs, APIs, frontend packages, and installation docs. It also automates staging, committing, tagging, and pushing to trigger CI/CD pipelines (such as Gitea Package / Docker Image builds).
161
+
We utilize a centralized semantic versioning manager script located in
162
+
`scripts/version_manager.py` to synchronize versions across backend configs,
163
+
APIs, frontend packages, and installation docs. It also automates staging,
164
+
committing, tagging, and pushing to trigger CI/CD pipelines (Docker image
165
+
builds + GitHub Release automation).
166
+
167
+
For the full release workflow (commit-time changelog rule, RC/final flow,
168
+
catch-up procedure, GitHub Release automation), see
169
+
[RELEASE_PROCESS.md](RELEASE_PROCESS.md).
162
170
163
171
### Versioning Commands:
164
172
- **Show Current Version**:
@@ -167,29 +175,47 @@ We utilize a centralized semantic versioning manager script located in `scripts/
167
175
```
168
176
- **Set Explicit Version**:
169
177
```bash
170
-
python3 scripts/version_manager.py set1.1.0-rc.1
178
+
python3 scripts/version_manager.py set0.3.0-rc.2
171
179
```
172
180
- **Automatically Bump Version**:
173
181
```bash
174
182
python3 scripts/version_manager.py bump [major | minor | patch | rc]
175
183
```
176
-
*`major`: Promotes to next major release (e.g. `1.0.0` ->`2.0.0`)
177
-
*`minor`: Promotes to next minor release (e.g. `1.0.0` ->`1.1.0`)
178
-
*`patch`: Promotes to next patch release or removes release candidate suffix (e.g. `1.0.0` ->`1.0.1`, `1.0.1-rc.2` ->`1.0.1`)
179
-
*`rc`: Sets or increments release candidate number on the upcoming release (e.g. `1.0.0` ->`1.0.1-rc.1`, `1.0.1-rc.1` ->`1.0.1-rc.2`)
184
+
*`major`: Promotes to next major release (e.g. `0.3.0` ->`1.0.0`)
185
+
*`minor`: Promotes to next minor release (e.g. `0.3.0` ->`0.4.0`)
186
+
*`patch`: Promotes to next patch release or removes release candidate suffix (e.g. `0.3.0` ->`0.3.1`, `0.3.0-rc.2` ->`0.3.0`)
187
+
*`rc`: Sets or increments release candidate number on the upcoming release (e.g. `0.3.0` ->`0.3.1-rc.1`, `0.3.0-rc.1` ->`0.3.0-rc.2`)
188
+
- **Catch-up (commit + tag + push the version already in`config.py`)**:
Use this when you ran `set`/`bump` without `--git --push`, or edited
193
+
`CHANGELOG.md` after the version bump.
180
194
181
195
### Git & CI/CD Integration:
182
196
When setting or bumping a version, you can automate staging, committing, and tagging using:
183
-
- `--git` or `-g`: Automatically stages updated files, commits them with `chore(release): bump version to X.Y.Z`, and creates an annotated git tag `vX.Y.Z`.
184
-
- `--push` or `-p`: Pushes both the new commit and the release tag to the remote repository (`origin`), which triggers Gitea Package/Container builds.
0 commit comments