Tough_Crowd/docs/developers/release-process.md

71 lines
2.6 KiB
Markdown

# Release process
I'd wish the release process to be more automated, but for now it's still a
few manual steps.
## Prepare the PR for the new release
### Edit files
1. Find the next version, using semantic versioning (e.g. `1.2.3`), depending on
the changes in the changelog
2. Execute `./new_release.sh NEW_VERSION` (replace `NEW_VERSION` with the new version)
3. Update the AppData release notes in `data/io.github.mightycreak.Diffuse.appdata.xml.in`:
- Look for the `<description>` tag under the new `<release>` tag
- Sum the release in one sentence in the `<p>` tag (e.g. highlights, ...)
- Paste the changes from CHANGELOG.md, and adapt it to HTML (see other
releases in the file)
### Create branch, PR and merge
1. Create a new branch (e.g. `release-1.2.3`)
2. Create a new PR
3. When everything's green: merge the PR
## Create new release on GitHub
1. Create a new release on GitHub's [new release page](https://github.com/MightyCreak/diffuse/releases/new):
- Choose a tag: Enter `v` followed with the new version (e.g. `v1.2.3`) and
create the tag
- Release title: the tag (e.g. `v1.2.3`)
- Description:
- For the first paragraph, paste the first paragraph from the release notes
- For the second paragraph, got to [CHANGELOG.md](https://github.com/MightyCreak/diffuse/blob/main/CHANGELOG.md)
and copy the URL anchor to the new release, then add this sentence
(adapt the changelog link):
```text
For a more detailed list of changes, see the
[changelog](https://github.com/MightyCreak/diffuse/blob/main/CHANGELOG.md#xyz---yyyy-mm-dd).
```
2. Publish release
## Create new release on Flatpak
1. Clone the Flathub repository: <https://github.com/flathub/io.github.mightycreak.Diffuse>
2. Copy the contents of `io.github.mightycreak.Diffuse.yml` in Diffuse repository
to Flathub's
3. Edit the file:
- Replace the content of the `diffuse` module with these lines:
```yaml
- name: diffuse
builddir: true
buildsystem: meson
config-opts:
- -Dlog_print_output=true
- -Duse_flatpak=true
sources:
- type: git
url: https://github.com/MightyCreak/diffuse
tag: <tag>
commit: <tag_commit>
```
- Replace `<tag>` with the release tag (e.g. `v1.2.3`)
- Replace `<tag_commit>` with the release tag commit (e.g. `c0cefac1c4ab99a309b65002e820f5c815e368e1`)
4. Create commit with changes and push to `main`
5. Check the build on Flathub: <https://flathub.org/builds/>
6. When it's done and successful, publish the build