Skip to content

Commit

Permalink
Update release guide
Browse files Browse the repository at this point in the history
  • Loading branch information
fsimonis committed Sep 4, 2024
1 parent 0feb2ad commit 4778351
Showing 1 changed file with 9 additions and 7 deletions.
16 changes: 9 additions & 7 deletions docs/ReleaseGuide.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,21 +13,23 @@ The release of the `python-bindings` repository is made directly from a release
* `CHANGELOG.md` on `python-bindings-v2.1.1.1`.
* There is no need to bump the version anywhere else, since we use the [python-versioneer](https://github.com/python-versioneer/python-versioneer/) for maintaining the version everywhere else.

4. [Draft a New Release](https://github.com/precice/python-bindings/releases/new) in the `Releases` section of the repository page in a web browser.
4. *Optional* test the [py-pyprecice Spack package](https://github.com/spack/spack/blob/develop/var/spack/repos/builtin/packages/py-pyprecice/package.py) using `spack dev-build py-pyprecice@develop`.

5. [Draft a New Release](https://github.com/precice/python-bindings/releases/new) in the `Releases` section of the repository page in a web browser.

* The release tag needs to be the exact version number (i.e.`v2.1.1.1` or `v2.1.1.1rc1`, compare to [existing tags](https://github.com/precice/python-bindings/tags)).
* If this is a stable release, use `@target:master`. If this is a pre-release, use `@target:python-bindings-v2.1.1.1`. If you are making a pre-release, **directly skip to the [pre-release](#pre-release) section below**.
* Release title is also the version number (i.e. `v2.1.1.1` or `v2.1.1.1rc1`, compare to [existing releases](https://github.com/precice/python-bindings/tags)).

5. As soon as one approving review is made, merge the release PR (from `python-bindings-v2.1.1.1`) into `master`.
6. As soon as one approving review is made, merge the release PR (from `python-bindings-v2.1.1.1`) into `master`.

6. Merge `master` into `develop` for synchronization of `develop`.
7. Merge `master` into `develop` for synchronization of `develop`.

7. If everything is in order up to this point then the new version can be released by hitting the "Publish release" button in your release Draft. This will create the corresponding tag and trigger [publishing the release to PyPI](https://github.com/precice/python-bindings/actions?query=workflow%3A%22Upload+Python+Package%22).
8. If everything is in order up to this point then the new version can be released by hitting the "Publish release" button in your release Draft. This will create the corresponding tag and trigger [publishing the release to PyPI](https://github.com/precice/python-bindings/actions?query=workflow%3A%22Upload+Python+Package%22).

8. Now there exists be a tag corresponding to the release on `master`. Re-run the [docker release workflow `build-docker.yml` via dispatch]([https://github.com/precice/fenics-adapter/actions/workflows/build-docker.yml](https://github.com/precice/python-bindings/actions/workflows/build-docker.yml)) such that the correct version is picked up by `versioneer`. Check the version in the container via `docker pull precice/python-bindings`, then `docker run -ti precice/python-bindings`, and inside the container `$ python3 -c "import precice; print(precice.__version__)"`. ⚠️ There is an open issue that needs fixing https://github.com/precice/python-bindings/issues/195 ⚠️
9. Now there exists be a tag corresponding to the release on `master`. Re-run the [docker release workflow `build-docker.yml` via dispatch]([https://github.com/precice/fenics-adapter/actions/workflows/build-docker.yml](https://github.com/precice/python-bindings/actions/workflows/build-docker.yml)) such that the correct version is picked up by `versioneer`. Check the version in the container via `docker pull precice/python-bindings`, then `docker run -ti precice/python-bindings`, and inside the container `$ python3 -c "import precice; print(precice.__version__)"`. ⚠️ There is an open issue that needs fixing https://github.com/precice/python-bindings/issues/195 ⚠️

9. Add an empty commit (details https://github.com/precice/python-bindings/issues/109) on master by running the steps:
10. Add an empty commit (details https://github.com/precice/python-bindings/issues/109) on master by running the steps:

```bash
git checkout master
Expand Down Expand Up @@ -56,7 +58,7 @@ The release of the `python-bindings` repository is made directly from a release

For more details refer to https://github.com/precice/python-bindings/issues/109 and https://github.com/python-versioneer/python-versioneer/issues/217.

10. *Temporarily not maintained* Update Spack package (refer to `python-bindings/spack/README.md`).
11. *Temporarily not maintained* Update the [py-pyprecice Spack package](https://github.com/spack/spack/blob/develop/var/spack/repos/builtin/packages/py-pyprecice/package.py).

Check failure on line 61 in docs/ReleaseGuide.md

View workflow job for this annotation

GitHub Actions / check_md

Ordered list item prefix [Expected: 1; Actual: 11; Style: 1/1/1]

Check failure on line 61 in docs/ReleaseGuide.md

View workflow job for this annotation

GitHub Actions / check_md

Ordered list item prefix [Expected: 1; Actual: 11; Style: 1/1/1]

## Pre-release

Expand Down

0 comments on commit 4778351

Please sign in to comment.