Skip to content

Commit 32c6db3

Browse files
committed
chore: update steps to create a new release
Signed-off-by: Vitor Mattos <[email protected]>
1 parent 396db0e commit 32c6db3

File tree

1 file changed

+52
-15
lines changed

1 file changed

+52
-15
lines changed

developer_manual/release-process.rst

Lines changed: 52 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,50 @@
11
Release process
22
===============
33

4+
Resuming the steps:
5+
6+
1. Identify the next version number of all releases.
7+
2. Create the changelog of all branches that will be released.
8+
You will need to create the changelog in the :code:`CHANGELOG.md` file from the :code:`main` branch and then backport it to the stable branches.
9+
3. Make the necessary changes into the codebase to prepare the release.
10+
11+
.. note::
12+
You can use the :code:`[skip ci]` tag in the commit message to skip the CI checks for the backport PRs to make the process faster.
13+
14+
4. Create a pull request to the `main` branch with the changes that you made.
15+
5. After the CI finish with success and the PR is merged, backport the changes to the stable branches that will be released.
16+
6. After the backport PRs are merged, create the releases in GitHub.
17+
7. Verify that the GitHub Action that creates the packages and publish them in the Nextcloud App Store finish with success.
18+
8. Announce the release in the Telegram channel.
19+
420
Version numbers
521
---------------
622

723
- The version number follows **MAJOR.MINOR.PATCH**.
8-
- ``MAJOR`` aligns with the supported Nextcloud Server version (see :ref:`supported-nextcloud-versions`).
24+
- ``MAJOR`` aligns with the supported Nextcloud Server version.
925
- ``MINOR`` is used for LibreSign feature releases.
1026
- ``PATCH`` is used for bug fixes or small improvements.
1127

28+
1. Go to Milestones in the LibreSign repository:
29+
30+
https://github.com/LibreSign/libresign/milestones
31+
32+
2. Identify what is the next patch version to be released.
33+
3. Look the closed items to identify if we have new features,
34+
35+
1. If is a major release, increment with :code:`1` the :code:`MAJOR` version and reset :code:`MINOR` and :code:`PATCH`.
36+
37+
.. note::
38+
We only create a major release when is created a new stable branch for a new Nextcloud major version.
39+
40+
2. To new features, increment with :code:`1` the ``MINOR`` version and reset ``PATCH`` to ``0``.
41+
3. To bug fixes, increment the ``PATCH`` version.
42+
1243
Stable branches
1344
---------------
1445

15-
Each **stable branch** in LibreSign corresponds to a specific Nextcloud **MAJOR** version.
46+
Each **stable branch** in LibreSign corresponds to a specific Nextcloud **MAJOR** version.
47+
1648
For example: ``stable21`` is compatible with Nextcloud 21.
1749

1850
Release checklist
@@ -23,7 +55,7 @@ A new release starts by creating a GitHub issue with one of the following titles
2355
.. code-block:: plain
2456
2557
🚀 Release todo v20.1.9
26-
🚀 Release todo v20.1.9 and v20.1.8
58+
🚀 Release todo v20.1.9 and v21.1.8
2759
2860
In the body, paste and adapt the following template. Replace placeholders
2961
with the correct values as you progress through the steps.
@@ -32,7 +64,7 @@ with the correct values as you progress through the steps.
3264
3365
<!-- 1. Replace "20.1.9" with the version number e.g. "12.2.4" -->
3466
<!-- Replace "20.1.8" with the previous version number e.g. "12.2.3" -->
35-
<!-- 2. Replace "stable30" with the LibreSign minor branch name e.g. "stable22" -->
67+
<!-- 2. Replace "stable20" with the LibreSign minor branch name e.g. "stable22" -->
3668
## 💺 Preparation
3769
- [ ] Check there are no pending backports:
3870
- [ ] https://github.com/LibreSign/libresign/labels/backport-request
@@ -44,14 +76,19 @@ with the correct values as you progress through the steps.
4476
- [ ] Check there are no important PRs open against the branch
4577
<!-- Add above the link with correct base branch of stables that will be involved in this release process -->
4678
<!-- Get branches/versions to release from https://github.com/LibreSign/libresign/milestones -->
47-
- [ ] https://github.com/LibreSign/libresign/pulls?q=is%3Apr+is%3Aopen+base%3Astable30
48-
- [ ] https://github.com/LibreSign/libresign/pulls?q=is%3Apr+is%3Aopen+base%3Astable31
79+
- [ ] https://github.com/LibreSign/libresign/pulls?q=is%3Apr+is%3Aopen+base%3Astable20
80+
- [ ] https://github.com/LibreSign/libresign/pulls?q=is%3Apr+is%3Aopen+base%3Astable22
4981
- [ ] List all PRs that will be added to the changelog
50-
<!-- List the content to add at the pull request using the follow command and pay attention to replace the XX by the Nextcloud version:
51-
52-
gh pr list --repo LibreSign/libresign --state merged -S "milestone:\"Next Patch (XX)\" " -L 100
53-
-->
54-
- [ ] Create a PR against main branch at the `CHANGELOG.md` file with the changelog of all milestones that are subject to the release. Look the pattern used in the file and follow it.
82+
- [ ] Go to https://github.com/LibreSign/libresign/releases/new
83+
- [ ] Click at the button to create a new release draft with the next version number
84+
- [ ] At the tag field, type the next version number, e.g. `v20.1.9`
85+
- [ ] Select the base branch, e.g. `stable20`
86+
- [ ] Click at the button to **Generate release notes**
87+
- [ ] Go to the main branch, pull the latest changes and create a new branch called `chore/changelog`
88+
- [ ] Add the changelog entries to the `CHANGELOG.md` file, following the pattern used in the file.
89+
- [ ] Make this to all releases that will be done in this process.
90+
- [ ] Create a PR against `main` branch at the `CHANGELOG.md` file with the changelog of all milestones that are subject to the release. Look the pattern used in the file and follow it.
91+
You can use the :code:`[skip ci]` tag in the commit message to skip the CI checks for the backport PRs to make the process faster.
5592
<!-- name suggestions to commit and pull request:
5693
chore(release): Changelog for 20.1.9
5794
chore(release): Changelog for 20.1.9 and 20.1.8
@@ -63,7 +100,7 @@ with the correct values as you progress through the steps.
63100
<!-- Replace "XX" with the Nextcloud stable branch number e.g. "22" for "stable22" -->
64101
<!-- 1. Replace "20.1.9" with the version number e.g. "12.2.4" -->
65102
<!-- Replace "20.1.8" with the previous version number e.g. "12.2.3" -->
66-
<!-- 2. Replace "stable30" with the LibreSign minor branch name e.g. "stable22" -->
103+
<!-- 2. Replace "stable20" with the LibreSign minor branch name e.g. "stable22" -->
67104
## 🚀 v20.1.9
68105
- [ ] Backport the changelog from main to the stable branches
69106
- [ ] <!-- Add link to PR here -->
@@ -91,15 +128,15 @@ with the correct values as you progress through the steps.
91128
- [ ] Archive all issues and PRs that were merged in this release
92129
- [ ] https://github.com/orgs/LibreSign/projects/2/views/4
93130
- [ ] Create a new release
94-
- [ ] Prepare a (pre-)release in https://github.com/LibreSign/libresign/releases/new?tag=v20.1.9&target=stable30
95-
- [ ] Make sure that chosen tag is v20.1.9, target is stable30, and previous tag is v20.1.8
131+
- [ ] Prepare a (pre-)release in https://github.com/LibreSign/libresign/releases/new?tag=v20.1.9&target=stable20
132+
- [ ] Make sure that chosen tag is v20.1.9, target is stable20, and previous tag is v20.1.8
96133
- [ ] Add the content of respective `CHANGELOG.md` section from merged PR
97134
- [ ] Use the **Generate release notes** button and wrap the output result into
98135
```
99136
## What's Changed
100137
<!-- Add the content of the changelog section here -->
101138
102-
Milestone: [v20.1.9]<!-- Add the link to the closed milestone here -->
139+
Milestone: [v20.1.9](<!-- Add the link to the closed milestone here -->)
103140
**Full Changelog**: https://github.com/LibreSign/libresign/compare/v20.1.9...v20.1.8
104141
- [ ] Publish release
105142
- [ ] Check that the GitHub Action started: https://github.com/LibreSign/libresign/actions

0 commit comments

Comments
 (0)