Skip to content

Commit ca99db8

Browse files
committed
Add maintainance docs
1 parent 6122e9a commit ca99db8

File tree

2 files changed

+54
-0
lines changed

2 files changed

+54
-0
lines changed

MAINT.md

Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
## Maintainance notes
2+
3+
- Please see the [versioning policy](https://github.com/flatpak/flatpak-builder/tree/main?tab=readme-ov-file#supported-versions).
4+
- Stable branches will only get bugfixes and non-breaking enhancements.
5+
- Everything is merged to `main` and from time to time suitable changes
6+
are backported to the stable `flatpak-builder-1.EVEN_MINOR.x`
7+
branches. GitHub milestone can be used for tracking which PRs should
8+
be backported.
9+
- Stable tags are created from `flatpak-builder-1.EVEN_MINOR.x` branch.
10+
- Unstable tags are created from the `main` branch.
11+
- The first release of a new stable release line eg. `1.6.0`
12+
is tagged from `main`. After that the `flatpak-builder-1.6.x` branch
13+
is to be created and the `1.6.1` is made from that branch. During this
14+
time `main` should not receive breaking changes until the new
15+
stable branch is created.
16+
17+
## Releasing
18+
19+
- Update the `NEWS`
20+
- Update version number in `meson.build` and `configure.ac`.
21+
- Open a PR titled "Release $VERSION" with the above to see if CI passes.
22+
- Merge the PR to the target branch.
23+
- Check out the target branch, pull the above change locally and make
24+
sure the submodules are correct and checked out.
25+
- Build with `meson` and `make`, with all options enabled.
26+
- Create a tarball with `make dist`. The tarball is created from a
27+
clean checkout. It is produced as `flatpak-builder-$VERSION.tar.xz`.
28+
- Verify the project is buildable using the tarball. The tarball MUST
29+
contain the submodule files.
30+
31+
## Tagging
32+
33+
- The tags are created in the `MAJOR.MINOR.PATCH` format eg. `1.4.6`
34+
(WITHOUT the `v*` prefix).
35+
- Ideally the tags should be signed and annotated tags. Optionally
36+
git-evtag can be used.
37+
- The tag message should have the changelog and the checksum of the
38+
tarball that will be attached to GitHub releases.
39+
- Once the tag is pushed, a GitHub release from that tag is to be
40+
created.
41+
42+
The release tag is the new tag, the title is `VERSION` and the release
43+
body is the message from the tag. Additional notifications and details
44+
can be documented to the release body.
45+
46+
Then the `flatpak-builder-$VERSION.tar.xz` tarball is to be attahced.
47+
This is the primary way downstreams consume Flatpak builder.
48+
49+
50+
NOTE: GitHub releases are set as _immutable_, so please be careful.

README.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -73,3 +73,7 @@ Rarely used:
7373
* rpm2cpio & cpio
7474
* svn
7575
* bzr
76+
77+
# Maintainance docs
78+
79+
Please see the [maintainance docs](https://github.com/flatpak/flatpak-builder/blob/main/MAINT.md).

0 commit comments

Comments
 (0)