Creating a release - darktable-org/darktable GitHub Wiki
This will be the message copied/pasted into GitHub, sent to dt-dev and dt-user mailing-list and also the content of the dtorg new.
$ ./tools/release/devel-stats.sh release-4.0.1
is:pr is:closed milestone:4.2
is:issue is:closed milestone:4.2
$ tools/check_camera_support --compare release-4.0.1 HEAD
$ ./tools/release/generate-authors.sh release-4.0.1 HEAD > AUTHORS
Skip this section for corrective releases.
$ git branch darktable-4.2.x
$ git tag -s -a release-4.3.0 -m "the beginning of 4.3 dev cycle"
$ git checkout darktable-4.2.x
$ ./tools/release/generate-translation.sh
Check that the output seems ok based on the last committed translations. If ok, actualy do removed them:
$ ./tools/release/generate-translation.sh DO
$ git commit -a -m "remove uncomplete translations for 4.2 release."
Generate again the script to get a clean list of the translation for the release and cut&paste them into RELEASE_NOTES.md
.
$ ./tools/release/generate-translation.sh
$ git commit -a -m "update translation section for 4.2 release."
An entry into : data/org.darktable.darktable.appdata.xml.in
Edit version in : README.md
$ git commit -a -m "Add entry for 4.2 release."
The tag must be signed.
$ git tag -s -a release-4.2.0 -m "darktable 4.2.0 release"
$ ./tools/release/create_release.sh
There is instructions on how to install & run the release. Make sure you install and start it. Ensure that you can load an image and that the release number (top-left) is properly displayed.
To start it into a sandbox without touching your current installation the best is to use a memory db and send cache directory to /tmp:
$ /tmp/darktable-XXXXXX/darktable/bin/darktable --cachedir /tmp --configdir /tmp --library :memory:
$ gpg -ab --sign-with <YOUR-KEYID> darktable-4.2.0.tar.xz
You can verify the signature with:
$ gpg --verify darktable-4.2.0.tar.xz.asc darktable-4.2.0.tar.xz
Create the release page as Draft and upload the artifacts (.tar.xz and .tar.xz.asc).
The MacOS and Windows binaries will be uploaded at the same location when ready.
A message must be sent to the MacOS and Windows maintainers in charge of creating the binary release.
A message must be sent to the GNU/Linux maintainer of the OBS packages.