Skip to content

Commit e68db45

Browse files
ClaudiaComitomrfh92mtar
authored
Documentation updates after new release (#1704)
* loose ends after releasing * remove version update --------- Co-authored-by: Fabian Hoppe <[email protected]> Co-authored-by: Michael Tarnawa <[email protected]>
1 parent ad77c99 commit e68db45

File tree

2 files changed

+52
-91
lines changed

2 files changed

+52
-91
lines changed

README.md

+2-2
Original file line numberDiff line numberDiff line change
@@ -110,10 +110,10 @@ computational and memory needs of your laptop and desktop.
110110
## Requirements
111111

112112
### Basics
113-
- python >= 3.8
113+
- python >= 3.9
114114
- MPI (OpenMPI, MPICH, Intel MPI, etc.)
115115
- mpi4py >= 3.0.0
116-
- pytorch >= 1.11.0
116+
- pytorch >= 2.0.0
117117

118118
### Parallel I/O
119119
- h5py

RELEASE.md

+50-89
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,12 @@
22

33
These are basic instructions for internal use. Will be expanded as the need arises.
44

5-
### Major or minor version update
5+
### Table of Contents
6+
- [Major or minor release](#major-or-minor-release)
7+
- [Patch release](#patch-release)
8+
- [conda-forge build](#conda-forge-build)
9+
10+
### Major or minor release
611

712
(e.g. 1.4 --> 1.5, or 1.5 --> 2.0)
813

@@ -21,7 +26,17 @@ git pull
2126
git checkout -b release/1.5.x
2227
```
2328

24-
2. Update `heat/core/version.py` like this:
29+
2. Create a new branch off `release/1.5.x` and update the version number in `heat/core/version.py`:
30+
31+
```bash
32+
git checkout release/1.5.x
33+
git pull
34+
git checkout -b workflows/version-update
35+
```
36+
37+
38+
39+
Update `heat/core/version.py` like this:
2540

2641
```python
2742
"""This module contains Heat's version information."""
@@ -36,81 +51,80 @@ extension: str = "dev" # <-- set to None
3651
"""Indicates special builds, e.g. for specific hardware."""
3752
```
3853

39-
3. Commit and push new `version.py` in `release/1.5.x`
54+
3. Commit and push new `version.py` in `workflows/version-update`.
55+
56+
4. If necessary, also update the Requirements section on README.md to reflect the latest version of the dependencies.
57+
58+
5. Update `CITATION.cff` if needed, i.e. add names of non-core contributors (they are included in the Release notes draft you just created). Push to `workflows/version-update`.
59+
60+
6. Create a pull request from `workflows/version-update` to `release/1.5.x`
61+
62+
- Remember to get a reviewers approval.
63+
- Wait for the tests to finish.
64+
- Squash and merge.
4065

41-
4. Draft release notes:
66+
7. Draft release notes:
4267

4368
- Go to the GitHub repo's [Releases](https://github.com/helmholtz-analytics/heat/releases) page.
4469
- The release notes draft is automated. Click on Edit Draft
45-
- Select the new tag: v1.3.0. Modify Target branch: `release/1.5.x`
70+
- Select the new tag: v1.5.0. Modify Target branch: `release/1.5.x`
4671
- Edit release notes as needed (see older releases)
47-
- Click on Save but do not publish yet
48-
49-
5. Update `CITATION.cff` if needed, i.e. add names of non-core contributors (they are included in the Release notes draft you just created). Push to the release branch.
72+
- Click on Save **but do not publish yet**
5073

51-
6. Build wheel in your local `heat/` directory, make sure you are on branch `release/1.5.x`.
74+
8. Build wheel in your local `heat/` directory, make sure you are on branch `release/1.5.x`.
5275

5376
```bash
5477
rm -f dist/*
5578
python -m build
5679
```
5780

58-
You might have to install the `build` package first (i.e. with `conda install build` or `pip install build`)
81+
You might have to install the `build` package first (i.e. with `conda install -c conda-forge build` or `pip install build`)
5982

60-
7. Upload to Test PyPI and verify things look right. You need to install `twine` first.
83+
9. Upload to Test PyPI and verify things look right. You need to install `twine` first.
6184

6285
```bash
6386
twine upload -r testpypi dist/*
6487
```
6588

6689
`twine` will prompt for your username and password.
6790

68-
8. When everything works, upload to PyPI:
91+
10. When everything works, upload to PyPI:
6992

7093
```bash
7194
twine upload dist/*
7295
```
7396

74-
9. Go back to the Release Notes draft and publish them. The new release is out!
97+
11. Go back to the Release Notes draft and publish them. The new release is out!
7598

7699
- Make sure the CHANGELOG.md got updated, if not, call @JuanPedroGHM.
77100
- Check our [Zenodo page](https://zenodo.org/doi/10.5281/zenodo.2531472) to make sure a DOI was created for the release.
78101

79-
10. Check status of our conda-forge recipe: (Need to be listed as maintainer, either @ClaudiaComito, @mrfh92, @JuanPedroGHM)
80-
- Go to https://github.com/conda-forge/heat-feedstock
81-
- A new PR should have been automatically created.
82-
- Changes can be pushed to the PR.
83-
- Make sure the version number is correct.
84-
- Make sure the SHA points to the correct PyPI release.
85-
- Make sure dependencies match.
86-
- Once the PR is done, wait for the CI checks to finish and merge.
87-
- Refer to the conda-forge docs if there are any issues: https://conda-forge.org/docs/maintainer/updating_pkgs.html#pushing-to-regro-cf-autotick-bot-branch
88-
89-
11. Now we want to update `main` to include the latest release, we want to modify the version on main so that `minor` is increased by 1, and `extension` is "dev". In this example we want the version on `main` to be:`1.4.0-dev`.
102+
12. On branch `main`, we want to modify the version so that `minor` is increased by 1, and `extension` is "dev". In this example we want the version on `main` to be:`1.6.0-dev`. We need to create a new branch from `main`:
90103

91104
```bash
92105
git checkout main
93106
git pull
94107
git checkout -b workflows/update-version-main
95-
git merge release/1.5.x --no-ff --no-commit
108+
git branch
96109
```
97110

98-
Modify `version.py` so that `extension` is `"dev"`. Commit and push the changes.
111+
On branch `workflows/update-version-main`, modify `version.py` so that `minor` is increased by 1, and `extension` is `"dev"`. Commit and push the changes.
99112

100-
12. Create a PR with `main` as the base branch.
113+
13. Create a PR with `main` as the base branch.
114+
115+
14. Get approval and merge. You're done! Except if you're a conda-forge maintainer, then see [conda-forge build](#conda-forge-build).
101116

102-
13. Get approval and merge. You're done!
103117

104118
### Patch release
105119

106-
(e.g. 1.3.0 --> 1.3.1)
120+
(e.g. 1.5.0 --> 1.5.1)
107121

108-
1. Check that all intended branches have been merged to the release branch you want to upgrade, in this example `release/1.3.x`. Branch off from `release/1.3.x` and create a new branch:
122+
1. Check that all intended branches have been merged to the release branch you want to upgrade, in this example `release/1.5.x`. Create a new branch off `release/1.5.x`, e.g.:
109123

110124
```bash
111-
git checkout release/1.3.x
125+
git checkout release/1.5.x
112126
git pull
113-
git checkout -b minor-version-update
127+
git checkout -b workflows/version-update
114128
```
115129

116130
2. Update `heat/core/version.py` like this:
@@ -120,75 +134,22 @@ git checkout -b minor-version-update
120134
121135
major: int = 1
122136
"""Indicates Heat's main version."""
123-
minor: int = 3
137+
minor: int = 5
124138
"""Indicates feature extension."""
125139
micro: int = 0 # <-- update to 1
126140
"""Indicates revisions for bugfixes."""
127141
extension: str = None
128142
"""Indicates special builds, e.g. for specific hardware."""
129143
```
130144

131-
3. Commit and push new `version.py` in `minor-version-update`
132-
133-
4. Create a pull request from `minor-version-update` to `release/1.3.x`
134-
135-
- Remember to get a reviewers approval.
136-
- Wait for the test to finish.
137-
- Squash and merge.
138-
139-
140-
5. Draft release notes:
141-
142-
- Go to the GitHub repo's [Releases](https://github.com/helmholtz-analytics/heat/releases) page.
143-
- The release notes draft is automated. Click on Edit Draft
144-
- Select the new tag: `v1.3.1`
145-
- Edit release notes as needed (see older releases)
146-
- Save the changes to the release notes WITHOUT PUBLISHING!!
147-
148-
6. Build wheel in your local `heat/` directory, make sure you are on branch `release/1.3.x`.
149-
150-
```bash
151-
rm -f dist/*
152-
python -m build
153-
```
154-
155-
You might have to install the `build` package first (i.e. with `conda install build` or `pip install build`)
156-
157-
7. Upload to Test PyPI and verify things look right. You need to install `twine` first.
145+
3. Follow steps 3-14 from the [Major or minor release section](#major-or-minor-release).
158146

159-
```bash
160-
twine upload -r testpypi dist/*
161-
```
162-
163-
`twine` will prompt for your username and password.
164-
165-
- Look at the testpypi repository and make sure everything is correct (version number, readme, etc.)
166-
167-
8. When everything works, upload to PyPI:
168147

169-
```bash
170-
twine upload dist/*
171-
```
172-
173-
9. Update conda-forge recipe (Need to be listed as maintainer, either @ClaudiaComito, @mrfh92, @JuanPedroGHM)
174-
- Go to https://github.com/conda-forge/heat-feedstock
175-
- A new PR should have been automatically created.
148+
## conda-forge build
149+
After releasing, the conda-forge automation will create a new PR on https://github.com/conda-forge/heat-feedstock. It's normal if this takes hours. conda-forge maintainers will review the PR and merge it if everything is correct.
176150
- Changes can be pushed to the PR.
177151
- Make sure the version number is correct.
178152
- Make sure the SHA points to the correct PyPI release.
179153
- Make sure dependencies match.
180154
- Once the PR is done, wait for the CI checks to finish and merge.
181155
- Refer to the conda-forge docs if there are any issues: https://conda-forge.org/docs/maintainer/updating_pkgs.html#pushing-to-regro-cf-autotick-bot-branch
182-
183-
184-
10. Go back to the Release Notes draft and publish them. The new release is out!
185-
- Make sure the CHANGELOG.md got updated in the release branch, in this case `release/1.3.x`, if not, call @JuanPedroGHM.
186-
- Check Zenodo to make sure a DOI was created for the release.
187-
188-
11. Now we want to update `main` to the latest version, and we want the version on `main` to be `1.4.0-dev`.
189-
- Create a new branch from `release/1.3.x`, for example `merge-latest-release-into-main`
190-
- Merge `main` into `merge-latest-release-into-main`, resolve conflicts and push.
191-
- Create a PR from `merge-latest-release-into-main`, base branch must be `main`
192-
- Make sure the version number in `merge-latest-release-into-main` is correct (i.e., it matches that in `main`).
193-
- Make sure the CHANGELOG.md in `merge-latest-release-into-main` matches that in the latest release branch, in this example`release/1.3.x`.
194-
- Get a reviewers approval, wait for the CI checks to pass, and merge.

0 commit comments

Comments
 (0)