Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix: move the release instructions to the repository #1621

Merged
merged 7 commits into from
Jan 12, 2024
Merged
Show file tree
Hide file tree
Changes from 6 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
36 changes: 36 additions & 0 deletions RELEASE.md
Original file line number Diff line number Diff line change
@@ -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 in our wiki](https://github.com/pydata/pydata-sphinx-theme/wiki/Release-checklist). See [the release documentation](https://pydata-sphinx-theme.readthedocs.io/en/latest/contribute/policies.html#release-policy) for an overview of release processes.
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think that having two locations for roughly the same list of information will mean one of them goes out-of-date and we create confusion about which process should be followed. I'd suggest either:

  1. Deleting this wiki page
  2. Deleting most content in RELEASE.md and just providing a link to the wiki page

That way there's a single source of truth. Does that make sense?

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

That makes sense 👍 - we'd already discussed moving this to the release.md file and get rid of the wiki (this was the only content in there).

12rambau marked this conversation as resolved.
Show resolved Hide resolved
```
4 changes: 2 additions & 2 deletions docs/community/practices/release.md
Original file line number Diff line number Diff line change
Expand Up @@ -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

Expand All @@ -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
Expand Down