|
3 | 3 | This file contains the workflow required to make a `PyBaMM` release on |
4 | 4 | GitHub, PyPI, and conda-forge by the maintainers. |
5 | 5 |
|
6 | | -## Initial release (automated) |
| 6 | +## Creating a release |
7 | 7 |
|
8 | | -1. The `update_version.yml` workflow will run on every 1st of January, May |
9 | | - and September, updating incrementing the version to `vYY.MM.0` by running |
10 | | - `scripts/update_version.py` in the following files: |
| 8 | +1. Checkout the latest develop branch, then create a local tag `vYY.MM.0` |
| 9 | + with the new version. The year and month are taken from the date of the |
| 10 | + release. The final number represents the bug fix version, which is zero for |
| 11 | + a new release. |
| 12 | + |
| 13 | +2. Run `scripts/update_version.py` to update the following files: |
11 | 14 |
|
12 | | - - `pybamm/version.py` |
13 | | - - `docs/conf.py` |
14 | 15 | - `CITATION.cff` |
15 | | - - `pyproject.toml` |
16 | 16 | - `CHANGELOG.md` |
17 | 17 |
|
18 | | - These changes will be automatically pushed to a new branch `vYY.MM` |
19 | | - and a PR from `vYY.MM` to `main` will be created. |
| 18 | + These changes should be pushed to a release branch `vYY.MM.0` |
| 19 | + and a PR from `vYY.MM.0` to `main` needs to be created. |
20 | 20 |
|
21 | | -2. Create a new GitHub _release_ with the tag `vYY.MM.0` from the `vYY.MM` |
22 | | - branch and a description copied from `CHANGELOG.md`. |
| 21 | +3. After the release PR has been merged, create a new GitHub _release_ with the |
| 22 | + tag `vYY.MM.0` from the `vYY.MM` branch and a description copied from |
| 23 | + `CHANGELOG.md`. |
23 | 24 |
|
24 | | -3. This release will automatically trigger `publish_pypi.yml` and create a |
| 25 | +4. This release will automatically trigger `publish_pypi.yml` and create a |
25 | 26 | _release_ on PyPI. |
26 | 27 |
|
27 | | -## Bug fix releases (manual) |
| 28 | +## Bug fix releases |
28 | 29 |
|
29 | | -If a new release is required after the release of `vYY.MM.{x-1}` - |
| 30 | +If a new bugfix release is required after the release of `vYY.MM.{x-1}` - |
30 | 31 |
|
31 | 32 | 1. Create a new branch for the `vYY.MM.x` release using the `vYY.MM.{x-1}` tag. |
32 | 33 |
|
33 | 34 | 2. Cherry-pick the bug fixes to `vYY.MM.x` branch once the fix is |
34 | 35 | merged into `develop`. The CHANGELOG entry for such fixes should go under the |
35 | 36 | `YY.MM.x` heading in `CHANGELOG.md` |
36 | 37 |
|
37 | | -3. Run `scripts/update_version.py` manually while setting `VERSION=vYY.MM.x` |
38 | | - in your environment. This will update the version in the following files: |
| 38 | +3. Run `scripts/update_version.py` manually to update: |
39 | 39 |
|
40 | | - - `pybamm/version.py` |
41 | | - - `docs/conf.py` |
42 | 40 | - `CITATION.cff` |
43 | | - - `pyproject.toml` |
44 | 41 | - `CHANGELOG.md` |
45 | 42 |
|
46 | 43 | Commit the changes to your release branch. |
|
0 commit comments