|
| 1 | +--- |
| 2 | +name: Zarr-Python release checklist |
| 3 | +about: Checklist for a new Zarr-Python release. [For project maintainers only!] |
| 4 | +title: Release Zarr-Python vX.Y.Z |
| 5 | +labels: release-checklist |
| 6 | +assignees: '' |
| 7 | + |
| 8 | +--- |
| 9 | + |
| 10 | +**Release**: [v0.x.x](https://github.com/zarr-developers/zarr-python/milestones/?) |
| 11 | +**Scheduled Date**: 20YY/MM/DD |
| 12 | + |
| 13 | +**Priority PRs/issues to complete prior to release** |
| 14 | + |
| 15 | +- [ ] Priority pull request #X |
| 16 | + |
| 17 | +**Before release**: |
| 18 | + |
| 19 | +- [ ] Make sure that all pull requests which will be included in the release have been properly documented as changelog files in the [`changes/` directory](https://github.com/zarr-developers/zarr-python/tree/main/changes). |
| 20 | +- [ ] Run ``towncrier build --version x.y.z`` to create the changelog, and commit the result to the main branch. |
| 21 | +- [ ] Check [SPEC 0](https://scientific-python.org/specs/spec-0000/#support-window) to see if the minimum supported version of Python or NumPy needs bumping. |
| 22 | +- [ ] Check to ensure that: |
| 23 | + - [ ] Deprecated workarounds/codes/tests are removed. Run `grep "# TODO" **/*.py` to find all potential TODOs. |
| 24 | + - [ ] All tests pass in the ["Tests" workflow](https://github.com/zarr-developers/zarr-python/actions/workflows/test.yml) |
| 25 | + - [ ] All tests pass in the ["GPU Tests" workflow](https://github.com/zarr-developers/zarr-python/actions/workflows/gpu_test.yml) |
| 26 | + - [ ] All tests pass in the ["Hypothesis" workflow](https://github.com/zarr-developers/zarr-python/actions/workflows/hypothesis.yaml) |
| 27 | + - [ ] All tests pass in [Xarray's upstream test](https://github.com/pydata/xarray/actions/workflows/upstream-dev-ci.yaml) |
| 28 | + - [ ] Click on the most recent workflow and check that the `upstream-dev` job has run and passed. `upstream-dev` is not run on all all workflow runs. |
| 29 | + - [ ] Check that the expected version of Zarr-Python was tested using the `Version Info` step of the `upstream-dev` job. |
| 30 | + - [ ] If testing on a branch other than `main` is needed, open a PR modifying https://github.com/pydata/xarray/blob/90ee30943aedba66a37856b2332a41264e288c20/ci/install-upstream-wheels.sh#L56 and add the `run-upstream` label. |
| 31 | + |
| 32 | +**Release**: |
| 33 | + |
| 34 | +- [ ] Go to https://github.com/zarr-developers/zarr-python/releases |
| 35 | + - [ ] Click "Draft a new release" |
| 36 | + - [ ] Choose a version number prefixed with a `v` (e.g. `v0.0.0`). For pre-releases, include the appropriate suffix (e.g. `v0.0.0a1` or `v0.0.0rc2`). |
| 37 | + - [ ] Set the description of the release to: `See release notes https://zarr.readthedocs.io/en/stable/release-notes.html#release-0-0-0`, replacing the correct version numbers. For pre-release versions, the URL should omit the pre-release suffix, e.g. "a1" or "rc1". |
| 38 | + - [ ] Click on "Generate release notes" to auto-fill the description. |
| 39 | + - [ ] Make a release by clicking the 'Publish Release' button, this will automatically create a tag too. |
| 40 | +- [ ] Verify that release workflows succeeded. |
| 41 | + - [ ] The latest version is correct on [PyPI].(https://pypi.org/project/zarr/) |
| 42 | + - [ ] The stable version is correct on [ReadTheDocs].(https://zarr.readthedocs.io/en/stable/) |
| 43 | + |
| 44 | +**After release**: |
| 45 | + |
| 46 | +- [ ] Review and merge the pull request on the conda-forge [zarr-feedstock](https://github.com/conda-forge/zarr-feedstock) |
| 47 | + that will be automatically generated. |
| 48 | + |
| 49 | +--- |
| 50 | + |
| 51 | +- [ ] Party :tada: |
0 commit comments