Skip to content

Commit 111d765

Browse files
maxrjonesd-v-bjhamman
authored
Add a release checklist issue template (#3210)
* Add a release checklist issue template * Fix typo * Fix indentation * Update release-checklist.md Co-authored-by: Joe Hamman <joe@earthmover.io> * Tag downstream maintainers in checklist --------- Co-authored-by: Davis Bennett <davis.v.bennett@gmail.com> Co-authored-by: Joe Hamman <joe@earthmover.io>
1 parent d9b5c8c commit 111d765

File tree

2 files changed

+59
-33
lines changed

2 files changed

+59
-33
lines changed
Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,56 @@
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+
- [ ] Check that downstream libraries work well (maintainers can make executive decisions about whether all checks are required for this release).
28+
- [ ] Xarray (@jhamman @dcherian @TomNicholas)
29+
- Zarr's upstream compatibility is tested via the [Upstream Dev CI worklow](https://github.com/pydata/xarray/actions/workflows/upstream-dev-ci.yaml).
30+
- 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.
31+
- Check that the expected version of Zarr-Python was tested using the `Version Info` step of the `upstream-dev` job.
32+
- 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.
33+
- [ ] Titiler.Xarray (@maxrjones)
34+
- [Modify dependencies](https://github.com/developmentseed/titiler/blob/main/src/titiler/xarray/pyproject.toml) for titiler.xarray.
35+
- Modify triggers for running [the test workflow](https://github.com/developmentseed/titiler/blob/61549f2de07b20cca8fb991cfcdc89b23e18ad05/.github/workflows/ci.yml#L5-L7).
36+
- Push the branch to the repository and check for the actions for any failures.
37+
38+
**Release**:
39+
40+
- [ ] Go to https://github.com/zarr-developers/zarr-python/releases.
41+
- [ ] Click "Draft a new release".
42+
- [ ] 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`).
43+
- [ ] 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".
44+
- [ ] Click on "Generate release notes" to auto-fill the description.
45+
- [ ] Make a release by clicking the 'Publish Release' button, this will automatically create a tag too.
46+
- [ ] Verify that release workflows succeeded.
47+
- [ ] The latest version is correct on [PyPI](https://pypi.org/project/zarr/).
48+
- [ ] The stable version is correct on [ReadTheDocs](https://zarr.readthedocs.io/en/stable/).
49+
50+
**After release**:
51+
52+
- [ ] Review and merge the pull request on the conda-forge [zarr-feedstock](https://github.com/conda-forge/zarr-feedstock) that will be automatically generated.
53+
54+
---
55+
56+
- [ ] Party :tada:

docs/developers/contributing.rst

Lines changed: 3 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -339,36 +339,6 @@ breaking changes may be more frequent than usual.
339339
Release procedure
340340
-----------------
341341

342-
Pre-release
343-
~~~~~~~~~~~
344-
1. Make sure that all pull requests which will be included in the release
345-
have been properly documented as changelog files in the :file:`changes/` directory.
346-
2. Run ``towncrier build --version x.y.z`` to create the changelog, and commit the result
347-
to the main branch.
348-
349-
Releasing
350-
~~~~~~~~~
351-
1. Go to https://github.com/zarr-developers/zarr-python/releases
352-
2. Click "Draft a new release".
353-
3. Choose a version number prefixed with a `v` (e.g. `v0.0.0`).
354-
For pre-releases, include the appropriate suffix (e.g. `v0.0.0a1` or `v0.0.0rc2`).
355-
4. Set the description of the release to::
356-
357-
See release notes https://zarr.readthedocs.io/en/stable/release-notes.html#release-0-0-0
358-
359-
replacing the correct version numbers. For pre-release versions,
360-
the URL should omit the pre-release suffix, e.g. "a1" or "rc1".
361-
5. Click on "Generate release notes" to auto-fill the description.
362-
363-
After creating the release, the documentation will be built on
364-
https://readthedocs.io. Full releases will be available under
365-
`/stable <https://zarr.readthedocs.io/en/stable>`_ while
366-
pre-releases will be available under
367-
`/latest <https://zarr.readthedocs.io/en/latest>`_.
368-
369-
Post-release
370-
~~~~~~~~~~~~
371-
372-
- Review and merge the pull request on the
373-
`conda-forge feedstock <https://github.com/conda-forge/zarr-feedstock>`_ that will be
374-
automatically generated.
342+
Open an issue on GitHub announcing the release using the release checklist template:
343+
`https://github.com/zarr-developers/zarr-python/issues/new?template=release-checklist.md <https://github.com/zarr-developers/zarr-python/issues/new?template=release-checklist.md>`_.
344+
The release checklist includes all steps necessary for the release.

0 commit comments

Comments
 (0)