From f50e7b91c33ada7b7ad0ca9d502559ea9a801ee7 Mon Sep 17 00:00:00 2001 From: Rambaud Pierrick <12rambau@users.noreply.github.com> Date: Fri, 12 Jan 2024 19:19:29 +0100 Subject: [PATCH] fix: move the release instructions to the repository (#1621) * fix: update text and links * fix: add code highlight * fix: wire correct file in our documentation * chore: trigger CI * remove mention of semantic versioning Co-authored-by: Daniel McCloy * refactor: lint * Update RELEASE.md --------- Co-authored-by: Daniel McCloy --- RELEASE.md | 36 +++++++++++++++++++++++++++++ docs/community/practices/release.md | 4 ++-- 2 files changed, 38 insertions(+), 2 deletions(-) create mode 100644 RELEASE.md diff --git a/RELEASE.md b/RELEASE.md new file mode 100644 index 000000000..1abdf5fff --- /dev/null +++ b/RELEASE.md @@ -0,0 +1,36 @@ +# Release instructions + +This page contains the steps to make a release and some helpful resources to get you started. + +Create an issue and copy/paste the steps below to release a new version. Close the issue when it is done. + +These steps should be taken in order to create a new release![^release-refs] + +```md +**Double check for quality-control** + +- [ ] There are no [open issues with a `impact: block-release` label](https://github.com/pydata/pydata-sphinx-theme/labels/impact%3A%20block-release) + +**Prepare the codebase for a new version** + +- [ ] Bump `__version__` in [`__init__.py`](https://github.com/pydata/pydata-sphinx-theme/blob/main/src/pydata_sphinx_theme/__init__.py#L16) +- [ ] Update our [version switcher `.json` file](https://github.com/pydata/pydata-sphinx-theme/blob/main/docs/_static/switcher.json) with the new version +- [ ] Make a release commit: `git commit -m 'bump: 0.1.9 → 0.2.0'` +- [ ] Push the RLS commit `git push upstream main` +- [ ] If a **release candidate** is needed, tick this box when we're now ready for a full release. + +**Make the release** + +- [ ] [Start a new GitHub release](https://github.com/pandas-dev/pydata-sphinx-theme/releases/new) + - Call the release the current version, e.g. `v0.2.0` + - In the **`Choose a Tag:`** dropdown, type in the release name (e.g., `v0.2.0`) and click "Create new tag" + - In the **`Target:`** dropdown, pin it to the release commit that you've just pushed. + - Generate the automatic release notes, eventually manually specify the previous version (useful when several release candidate have been made) +- [ ] Confirm that the release completed + - [The `publish` github action job](https://github.com/pydata/pydata-sphinx-theme/blob/main/.github/workflows/publish.yml#L31) has completed successfully in the [actions tab](https://github.com/pydata/pydata-sphinx-theme/actions). + - [The PyPI version is updated](https://pypi.org/project/pydata-sphinx-theme/) +- [ ] Hide the previous patch version build in the RDT interface if needed. +- [ ] Celebrate, you're done! + +[^release-refs]: Taken from [the release checklist](https://github.com/pydata/pydata-sphinx-theme/blob/main/RELEASE.md). See [the release documentation](https://pydata-sphinx-theme.readthedocs.io/en/latest/contribute/policies.html#release-policy) for an overview of release processes. +``` diff --git a/docs/community/practices/release.md b/docs/community/practices/release.md index 6b4617a40..4ea4809ee 100644 --- a/docs/community/practices/release.md +++ b/docs/community/practices/release.md @@ -19,7 +19,7 @@ Anybody is encouraged to make a new release if: - It has been more than a month since the last release. - OR a significant change has been made to our code that warrants a release. -- AND there are no open issues with a [{guilabel}`block-release`](https://github.com/pydata/pydata-sphinx-theme/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3Ablock-release) label. +- AND there are no open issues with a [{guilabel}`impact: block-release`](https://github.com/pydata/pydata-sphinx-theme/labels/impact%3A%20block-release) label. ### Release candidates @@ -35,7 +35,7 @@ Follow these steps to make a release: - (optionally) **Create a [GitHub milestones](https://github.com/pydata/pydata-sphinx-theme/milestones)** to organize the issues that should be resolved as part of a new release. - **Decide if it's time** to make a release be reading [](releases:when) and decide if it is time for a release. -- **Copy the release checklist into a new issue**. We have [a release checklist in our wiki](https://github.com/pydata/pydata-sphinx-theme/wiki/Release-checklist#release-instructions). +- **Copy the [release checklist](https://github.com/pydata/pydata-sphinx-theme/blob/main/RELEASE.md) into a new issue**. - **Complete the checklist**. That's it! ## Choosing a version increment