Skip to content

Commit 7fa1e13

Browse files
committed
feat: Document release process
Signed-off-by: Vitor Mattos <[email protected]>
1 parent 979d14b commit 7fa1e13

File tree

2 files changed

+88
-1
lines changed

2 files changed

+88
-1
lines changed

β€Ždeveloper_manual/index.rst

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -58,4 +58,5 @@ Visit our `blog <https://libresign.coop/posts/>`__
5858
setup-environment
5959
branch-policies
6060
commits
61-
pull-request
61+
pull-request
62+
release-process
Lines changed: 86 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,86 @@
1+
Release process
2+
===============
3+
4+
The release process will start creating an issue using one of the following name suggestions:
5+
6+
.. code-block:: plain
7+
8+
Release process for v20.1.9
9+
Release process for v20.1.9 and v20.1.8
10+
11+
To the body, add the following template. Read all and replace the placeholders with the correct values.
12+
13+
.. code-block:: markdown
14+
15+
<!-- CASE SENSITIVE replace the following strings in the template -->
16+
<!-- 1. Replace "20.1.9" with the version number e.g. "12.2.4" -->
17+
<!-- Replace "20.1.8" with the previous version number e.g. "12.2.3" -->
18+
<!-- 2. Replace "stable30" with the LibreSign minor branch name e.g. "stable22" -->
19+
<!-- 3. Replace "20" with the LibreSign version e.g. "12" for "stable22" -->
20+
<!-- 4. Replace CASE SENSITIVE "X" with the Nextcloud stable branch number e.g. "22" for "stable22" -->
21+
## πŸ’Ί Preparation
22+
- [ ] Check there are no pending backports:
23+
- [ ] https://github.com/LibreSign/libresign/labels/backport-request
24+
- [ ] Check all milestones don't have priority issues still open
25+
<!-- Add above the link of stables that will be involved in this release process -->
26+
<!-- Get branches/versions to release from https://github.com/LibreSign/libresign/milestones -->
27+
- [ ] https://github.com/LibreSign/libresign/milestone/318
28+
- [ ] https://github.com/LibreSign/libresign/milestone/319
29+
- [ ] Check there are no important PRs open against the branch
30+
<!-- Add above the link with correct base branch of stables that will be involved in this release process -->
31+
<!-- Get branches/versions to release from https://github.com/LibreSign/libresign/milestones -->
32+
- [ ] https://github.com/LibreSign/libresign/pulls?q=is%3Apr+is%3Aopen+base%3Astable30
33+
- [ ] https://github.com/LibreSign/libresign/pulls?q=is%3Apr+is%3Aopen+base%3Astable31
34+
- [ ] List all PRs that will be added to the changelog
35+
<!-- List the content to add at the pull request using the follow command and pay attention to replace the milestone name and the version number:
36+
37+
gh pr list --repo LibreSign/libresign --state merged -S "milestone:\"Next Patch (30)\" " -L 100
38+
-->
39+
- [ ] 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.
40+
<!-- name suggestions to commit and pull request:
41+
chore(release): Changelog for 20.1.9
42+
chore(release): Changelog for 20.1.9 and 20.1.8
43+
-->
44+
- [ ] <!-- Add link to PR here -->
45+
- [ ] Merge the PR
46+
<!-- Duplicate the follow steps for each version that will be released, starting with the oldest version. -->
47+
<!-- Pay attention to start with the **oldest** version here, so the appstore and github releases show the newest version as "Last release" and them. -->
48+
## πŸš€ v20.1.9
49+
- [ ] Backport the changelog from main to the stable branches
50+
- [ ] <!-- Add link to PR here -->
51+
<!-- At the backport PR, do the following steps: -->
52+
- [ ] Remove changelog entries in `CHANGELOG.md` of higher versions
53+
- [ ] Bump the version in `appinfo/info.xml`
54+
- [ ] Bump the version in `package.json` and in `package-lock.json`. The following command will return a new version name, make sure it matches what you expect:
55+
```sh
56+
# Make sure the printed version matches the info.xml version
57+
npm version --no-git-tag-version $(xmllint --xpath '/info/version/text()' appinfo/info.xml)
58+
```
59+
- [ ] Merge the backport
60+
- [ ] Do a quick smoke test signing documents with:
61+
- [ ] Chrome
62+
- [ ] Edge
63+
- [ ] Firefox
64+
- [ ] Safari
65+
- [ ] Create the new milestone
66+
- [ ] Rename milestone `πŸ’š Next Patch (X)` to `v20.1.9` in https://github.com/LibreSign/libresign/milestones
67+
Unless last release of the stable branch:
68+
- [ ] Create a follow up milestone for `πŸ’š Next Patch (X)` (Due date in ~4 weeks, ~4 days for beta/RC)
69+
- [ ] Move all open PRs and issues from milestone `v20.1.9` to `πŸ’š Next Patch (X)`: https://github.com/LibreSign/libresign/issues?q=is%3Aissue%20state%3Aopen%20milestone%3Av20.1.9
70+
- [ ] Move all open PRs and issues from milestone `v20.1.9` to `πŸ’š Next Patch (X)`: https://github.com/LibreSign/libresign/issues?q=is%3Apr%20state%3Aopen%20milestone%3Av20.1.9
71+
- [ ] Close the `v20.1.9` milestone
72+
- [ ] Create a new release
73+
- [ ] Prepare a (pre-)release in https://github.com/LibreSign/libresign/releases/new?tag=v20.1.9&target=stable30
74+
- [ ] Make sure that chosen tag is v20.1.9, target is stable30, and previous tag is v20.1.8
75+
- [ ] Add the content of respective `CHANGELOG.md` section from merged PR
76+
- [ ] Use the **Generate release notes** button and wrap the output result into
77+
```
78+
## What's Changed
79+
<!-- Add the content of the changelog section here -->
80+
81+
Milestone: [v20.1.9]<!-- Add the link to the closed milestone here -->
82+
**Full Changelog**: https://github.com/LibreSign/libresign/compare/v20.1.9...v20.1.8
83+
- [ ] Publish release
84+
- [ ] Check that the GitHub Action started: https://github.com/LibreSign/libresign/actions
85+
- [ ] Ensure that the GitHub Action finished successfully: https://github.com/LibreSign/libresign/actions
86+
- [ ] Post the changelog in [πŸ’¬ LibreSign team public πŸ‘₯](https://t.me/LibreSign)

0 commit comments

Comments
Β (0)