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: RELEASE.md
+12-6Lines changed: 12 additions & 6 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -15,21 +15,27 @@ On the PR:
15
15
16
16
## Releasing PySCIPOpt
17
17
18
-
Releases run in two phases from `master`, driven by `./release.sh`. The tag and master push only happen in phase 2, so a failed RC leaves no semantic public trace — just a deletable `release-candidate-vX.Y.Z` branch.
18
+
Releases run in two phases from `master`, driven by `./release.sh`. The tag and master push only happen in phase 2, so an aborted release leaves no semantic public trace — just a deletable `staging-vX.Y.Z` branch.
19
19
20
20
Use `--dry-run` with any command to preview without side effects.
21
21
22
-
### Phase 1 — start a release candidate
22
+
### Phase 1 — start
23
23
24
24
```bash
25
25
./release.sh
26
26
```
27
27
28
-
Prompts for the version bump (patch/minor/major), updates `_version.py`, `setup.py`, and `CHANGELOG.md`, commits **locally**, pushes the commit to `release-candidate-vX.Y.Z` on origin, and triggers the build-wheels workflow on that branch (uploads to test-pypi). **Master is not pushed, no tag is created.** The script exits as soon as the workflow is dispatched — you do not wait.
28
+
Prompts for the version bump (patch/minor/major), updates `_version.py`, `setup.py`, and `CHANGELOG.md`, commits **locally**, pushes the commit to `staging-vX.Y.Z` on origin, and triggers the build-wheels workflow on that branch (uploads to test-pypi). **Master is not pushed, no tag is created.** The script exits as soon as the workflow is dispatched.
29
+
30
+
To skip the bump prompt (e.g., when test-pypi has already burnt the default next version and you need to jump ahead):
31
+
32
+
```bash
33
+
./release.sh --version=X.Y.Z
34
+
```
29
35
30
36
### Manual verification
31
37
32
-
Once the RC workflow finishes (~15–30 min), install from test-pypi and smoke-test:
38
+
Once the staging workflow finishes, install from test-pypi and smoke-test:
Checks the RC workflow succeeded, then tags `vX.Y.Z`, pushes master, and deletes the RC branch.
52
+
Checks the staging workflow succeeded, then tags `vX.Y.Z`, pushes master, and deletes the staging branch.
47
53
48
54
If the smoke test **fails** (or you change your mind):
49
55
50
56
```bash
51
57
./release.sh --rollback
52
58
```
53
59
54
-
Deletes the RC branch and resets the local release commit. test-pypi keeps the uploaded version string, so the next attempt must use a different bump.
60
+
Deletes the staging branch and resets the local release commit. test-pypi has already burnt the uploaded version string, so the next attempt must use `--version=` to pick a different one.
0 commit comments