Skip to content

Commit 30a6782

Browse files
committed
DOC: Document the release process at a high level
Document the release process at a high level.
1 parent 8ee7ee2 commit 30a6782

1 file changed

Lines changed: 41 additions & 0 deletions

File tree

docs/devs/releases.md

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -109,3 +109,44 @@ Additional tasks required of an LTS manager:
109109
* If a bug is identified as existing within the LTS series and can be fixed without breaking API or derivative compatibility.
110110

111111
As many dependencies as possible should be pinned to specific versions relevant to the environment they are installed in. Packages (Debian `.deb` files, conda packages, Python wheels) should be archived in case of a loss of the external packages.
112+
113+
### Releasing versions
114+
115+
The general principles to release a version across the NiPreps projects can be
116+
summarized as follows:
117+
118+
1. Prepare the changes into the `CHANGES.rst` document under using the
119+
appropriate version number.
120+
121+
Across the NiPreps, the `CHANGES.rst` document is intended to host the
122+
version release notes, containing a high-level description of changes
123+
across releases and changes requiring particular attention (e.g. breaking
124+
changes of the API) being described in detail using dedicated subsections.
125+
The list of all merged PRs is expected to be added at the end of the
126+
release section.
127+
128+
1. Tag the version in git, e.g.
129+
130+
```
131+
git tag 26.0.0rc0 -m "Memory-mapped dataset loading"
132+
```
133+
134+
and push it.
135+
136+
Note that the version number has to be determined manually following the
137+
criteria established in this document.
138+
139+
1. Release the version on GitHub from the tag, writing the appropriate release
140+
notes on GitHub. Ideally, the release notes should be created using the
141+
appropriate contents from the `CHANGES.rst` file.
142+
143+
At this point, the version should be pushed to [PyPI](https://pypi.org)
144+
automatically upon a successful build.
145+
146+
Similarly, the documentation of the new version should be deployed
147+
automatically to the web using the `gh-pages` branch.
148+
149+
!!! note "Note"
150+
The NiPreps projects usually have dedicated GitHub Actions workflow files
151+
for these purposes (e.g. named `.github/workflows/pypi-package.yml` and
152+
`.github/workflows/docs-build-update.yml`).

0 commit comments

Comments
 (0)