|
| 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