File: release-process.md

package info (click to toggle)
diffuse 0.9.0-1
  • links: PTS, VCS
  • area: main
  • in suites: trixie
  • size: 3,160 kB
  • sloc: python: 7,689; xml: 5,993; sh: 61; makefile: 9
file content (70 lines) | stat: -rw-r--r-- 2,622 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
# 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