Skip to content

Commit

Permalink
Document new Release Helper
Browse files Browse the repository at this point in the history
  • Loading branch information
Jackenmen committed Sep 15, 2024
1 parent ba3eccf commit 312777a
Show file tree
Hide file tree
Showing 3 changed files with 53 additions and 5 deletions.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
58 changes: 53 additions & 5 deletions source/core-devs/release-process.rst
Original file line number Diff line number Diff line change
Expand Up @@ -37,8 +37,26 @@ Types of releases
Making a release
----------------

As much as possible, the release steps are automated and guided by the **Release Helper** script,
which is shipped with the repository at ``tools/release_helper.py``.

To use the script, you will need to install the `GitHub CLI <https://cli.github.com>`__
and authenticate with your GitHub account using the ``gh auth login`` command.

The script can be started simply by running:

.. prompt::

.venv/bin/python tools/release_helper.py

which will ask you about the release type you want to make and then guide you through the process.

#. Ensure there are no release blockers.

.. note::

These will be listed to you by the **Release Helper**.

.. tab:: Hotfix release

You can *generally* skip this. Might still be worth checking
Expand All @@ -51,6 +69,10 @@ Making a release

#. Check state of all open pull requests for this milestone.

.. note::

These will be listed to you by the **Release Helper**.

.. tab:: Hotfix release

This is a hotfix release, you should focus on getting the critical fix out,
Expand All @@ -62,15 +84,19 @@ Making a release
Decide which should be kept for the release, cooperate with another org member(s) on this.
Move any pull requests not targeted for release to a new milestone with name of the release
that should come after current one.
These will be listed to you by the **Release Helper**.

#. Review changelog PR.

.. note::

At this point, you should have an up-to-date milestone containing all PRs
that are contained in this release. If you're not sure if all PRs are properly assigned,
you might find the ``=getunreleasedcommits MILESTONE_NAME`` bot command
in one of testing channels on Red server useful.
you might find **Release Helper**'s "Show unreleased commits without a milestone" command
helpful:

.. figure:: /_images/release-helper-changelog-unreleased-commits.png
:target: /_images/release-helper-changelog-unreleased-commits.png

The changelog PR should always be merged into ``V3/develop``. You should remember to later
cherry-pick/backport it to a proper branch if you're not making a release from ``V3/develop``.
Expand All @@ -86,12 +112,21 @@ Making a release

- Add (or ask PR author to add) any missing entries based on the release's milestone.
- Update the contributors list in the changelog using contributors list for the milestone
that you can generate using ``=getcontributors MILESTONE_NAME`` bot command
in one of testing channels on Red server.
that you can generate using **Release Helper**'s "Get contributor list formatted for the changelog"
command:

.. figure:: /_images/release-helper-changelog-contributor-list.png
:target: /_images/release-helper-changelog-contributor-list.png

- Merge the PR once it's ready.

#. Run "Prepare Release" workflow.

.. note::

This can be triggered automatically with the **Release Helper**.
The below steps are an alternative way that doesn't require the use of that tool.

Go to https://github.com/Cog-Creators/Red-DiscordBot/actions/workflows/prepare_release.yml

.. tip::
Expand All @@ -112,10 +147,19 @@ Making a release

#. Merge the automatically created PRs.

.. note::

These will be listed to you by the **Release Helper**.

Wait for "Prepare Release" workflow to finish and merge the PRs that it created.

#. Create a short-lived release branch.

.. note::

This is a manual step - the **Release Helper** will pause at this step
for you to perform the necessary actions.

.. tab:: Hotfix release

.. note::
Expand Down Expand Up @@ -171,6 +215,10 @@ Making a release

#. Write (not send!) an announcement for the new release.

.. note::

This and the following steps are not performed by the **Release Helper**.

This is the announcement that you will later `post to Discord <publish-announcement>`.

Remember to:
Expand All @@ -196,7 +244,7 @@ Making a release
Full changelogs here: <https://docs.discord.red/en/stable/changelog_3_4_0.html#redbot-3-4-12-2021-06-17>
#. Make a new release through `GitHub Releases <https://github.com/Cog-Creators/Red-DiscordBot/releases/new>`.
#. Make a new release through `GitHub Releases <https://github.com/Cog-Creators/Red-DiscordBot/releases/new>`__.

.. attention::

Expand Down

0 comments on commit 312777a

Please sign in to comment.