1 # Maintaining telescope
5 To create a "chain of trust" for signify keys, we when doing the
6 release N we also generate the keys for N+1 and include the public key
7 in the repo, under the `keys/` directory.
9 Tags should be signed with a known ssh key. We don't usually use GPG
10 nor sign every commit, as it makes little sense.
12 Before making a release it's better to double-check that everything is
13 in order. The ChangeLog file should be up-to-date and used as a base
14 to create the release notes. Release notes should be useful both for
15 the end users and for packagers: breaking changes, new or changed
16 dependencies, bug fixes and new features needs to be clearly stated.
18 It goes without sayng that before making a release all known bugs must
21 Every release so far was named after an Italian song. It started by
22 trying to keep the "space" theme, but then I (op) started to just use
23 a song I was listening to many times in the release period. There may
24 or may not be any meaning behind the chosen song. The "limitation"
25 that songs are from italian groups is not meant to exclude the rest of
26 the world, it's just an arbitrary choice done by me (op). Other
27 projects that I maintain (gmid) use song as a release name, so I just
28 wanted to differentiate a bit (and maybe advertise some Italian indie
31 Minor releases (e.g. 0.10.1) are reserved for bug fixes and inherit the
32 name of the previous release (e.g. 0.10).
34 When everything is in place, remove `-current` from `configure.ac` and
35 bump the version, then run
37 $ make release PUBKEY=... PRIVKEY=...
39 signify(1) will then prompt for the password to unlock the private
40 key. It will also try to check the signed tarball against the public
41 key, as a safety measure.
43 Note to op: on OpenBSD I'm using an `obj` directory for the build, and
44 `make release` needs to be run after cd'ing there.
46 Then upload the tarballs, make the tag (and sign it!), add `-current`
47 to the version in `configure.ac`, make the release on Codeberg and
48 GitHub, and remember to upload the generated tarballs there as well.
50 Finally, update and publish the website too.