[gimp] devel-docs: update release-howto file.
- From: Jehan <jehanp src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gimp] devel-docs: update release-howto file.
- Date: Wed, 4 Aug 2021 22:16:29 +0000 (UTC)
commit 2749706442cfb32dd2975013f8e2d3f29dff79e1
Author: Jehan <jehan girinstud io>
Date: Thu Aug 5 00:14:22 2021 +0200
devel-docs: update release-howto file.
devel-docs/release-howto.txt | 156 ++++++++++++++++++++++++++-----------------
1 file changed, 95 insertions(+), 61 deletions(-)
---
diff --git a/devel-docs/release-howto.txt b/devel-docs/release-howto.txt
index d377c61df2..057701107a 100644
--- a/devel-docs/release-howto.txt
+++ b/devel-docs/release-howto.txt
@@ -9,8 +9,8 @@
(set type="stable", or just no type for stable releases).
Some installers may feature more prominently software with recent
- releases if the appropriate tag was set (e.g. GNOME Software has a
- "Recent Releases" category).
+ releases if the appropriate tag was set (e.g. GNOME Software and
+ Flathub have a "Recent Releases" category).
If a description is added, it may be featured in installers and
will be translatable (use <_p> or <_li> tags to make the strings
@@ -31,7 +31,7 @@
on, and how many changes to expect. An example message is:
https://mail.gnome.org/archives/gnome-i18n/2016-October/msg00035.html
- ( ) Also notify the maintainers of the official builds for Windows
+ ( ) Notify the maintainers of the official builds for Windows
(irc:ender/@jernejs), macOS (irc:Samm/@samm-git and
irc:DesMcG/@DesMcGuinness) and flatpak (irc:Jehan/@Jehan) of the
upcoming release so they have some time to sort out issues with
@@ -80,10 +80,29 @@
Check that all jobs are successful because we should not release
with code known not to build in some conditions.
- Note: some jobs rely on our meson build which has race condition
- bugs so if some jobs fail, you should check if it is because of
- bugs in the code or issues with meson or the CI infrastructure.
- When unsure, it is better to trigger a job retry.
+ The following procedure allows to simulate a release:
+
+ [ ] Go to https://gitlab.gnome.org/GNOME/gimp/-/pipelines
+
+ [ ] Click the "Run pipeline" button.
+
+ [ ] Choose the appropriate branch and add the variable
+ `CI_COMMIT_TAG` to any value (it will simulate a build with a
+ tag, which is characteristical of a release).
+
+ [ ] The following jobs should be triggered:
+ build-image, deps-debian, gimp-distcheck-debian, sources,
+ deps-win32-native, gimp-win32-native, packaging-win32-native,
+ deps-win64-native, gimp-win64-native, packaging-win64-native
+ and win-installer-nightly.
+
+ [ ] Check in particular:
+ * the job `win-installer-nightly` should contain a working
+ Windows installer and 2 checksum files;
+ * the job `sources` should contain a tar.bz2 tarball and 2
+ checksum files.
+
+ If these steps work fine, we are ready to tag and publish.
( ) Bump the version number to an even micro in configure.ac and
commit this change. It should be the version number of the
@@ -101,50 +120,6 @@
code change since the last CI check, the CI should build fine once
again. Make sure of it.
- ( ) Make dist tarballs [DEPRECATED - taken from CI jobs]
-
- 🛈 These instructions are left for information purpose and so that
- maintainers remember the way to test locally that distribution
- tarball creation works fine. Nevertheless this is already what the
- continuous integration does (jobs `gimp-distcheck-debian` and
- `sources` in particular) from a clean slate. So as we check the CI
- success, this step is now unecessary. Moreover we should now always
- publish the tarball prepared by the CI, not by a local build, for
- purpose of process transparency.
-
- [ ] Start with a checkout of the GIMP tree. Make sure the
- checkout is up to date, clean from uncommitted changes.
-
- [ ] Run 'git clean -x -d -f' (Warning: you will lose any files
- that are not added).
-
- [ ] Run 'git diff'. This should not generate any output, or your
- tree has local modifications.
-
- [ ] Run ./autogen.sh --enable-gtk-doc
-
- [ ] Run 'make' to do a complete build of the source tree.
-
- [ ] Run 'make distcheck'. Avoid passing make -j since that can
- cause mysterious fails.
-
- [ ] If changes to generated files are made by the above command
- (run 'git diff' to find out), commit+push them and repeat
- from the beginning of this sub-section.
-
- [ ] If there are problems reported by 'make distcheck', fix
- them. If you made changes in the tree to get 'make distcheck'
- running, commit+push them and repeat from the beginning of
- this sub-section.
-
- [ ] If 'make distcheck' passed and created tarballs, go to the
- next item.
-
- [ ] A successful run of the 'make distcheck' would create the final
- dist tarballs. It will include a ChangeLog generated from the
- 'git log'. Note that we don't bother with any release commit,
- that's what tags are for (see below).
-
( ) Tag the release (don't forget to push the tag)
git tag -s GIMP_2_x_y
git push origin GIMP_2_x_y
@@ -152,18 +127,19 @@
All release tags are signed in order for the authenticity and
origin of the release to be publicly verified.
- ( ) Gitlab will run a new CI pipeline specifically for the tag (tag
- pipelines build less jobs, only the necessary ones to create the
- tarball). Once it is done, you will find a tarball, SHA256 and
- SHA512 checksum files on the artifacts of the job `sources`. A
- direct link, for instance for the GIMP_2_99_6 tag would be:
+ ( ) Gitlab will run a new CI pipeline specifically for the tag.
+ Once it is done, you will find a tarball, a Windows installer,
+ SHA256 and SHA512 checksum files on the artifacts of the job
+ `sources` and `win-installer-nightly`.
+ Direct links, for instance for the GIMP_2_99_6 tag, would be:
https://gitlab.gnome.org/GNOME/gimp/-/jobs/artifacts/GIMP_2_99_6/browse/?job=sources
+ https://gitlab.gnome.org/GNOME/gimp/-/jobs/artifacts/GIMP_2_99_6/browse/?job=win-installer-nightly
- ( ) Publish dist tarballs:
+ ( ) Ask the Windows installer maintainers to test the installer then to
+ sign it if all looks fine.
- [ ] Use `sha256sum` and `sha512sum` to create checksums of the
- tarball (tar.bz2).
+ ( ) Publish dist tarballs:
[ ] Upload the 3 files (tar.bz2 tarball and 2 checksums) to
/gimp_ftp/incoming/ on master.gnome.org (do not upload to your
@@ -207,6 +183,10 @@
milestones might be closed (up to what feels the most needed for
organization of reports).
+ ( ) Publish the Windows installer with a similar procedure to the
+ source tarballs. The checksum files will probably have to be
+ regenerated after the installer's signature.
+
( ) Check out or update the 'gimp-web' module, check out its testing
branch.
@@ -235,11 +215,12 @@
with the `tools/download/mt` tool. Here is an example of
command as run for the revision 2 of GIMP 2.10.24 installer:
- $ tools/downloads/mt -c "GIMP 2.10.24 Installer for Microsoft Windows - 32 and 64 Bit - Update 2:
custom GTK fixes for drag&drop issues with certain screen grabbers (issue #1082), tiny SVG icons (issue
#1563) and pasting images from some other applications (issue #3481)" -p "v2.10/windows"
gimp-2.10.24-setup-2.exe
+ $ tools/downloads/mt -c "GIMP 2.10.24 Installer for Microsoft Windows - 32 and 64 Bit - Update 2:
custom GTK fixes for drag&drop issues with certain screen grabbers (issue #1082), tiny SVG icons (issue
#1563) and pasting images from some other applications (issue #3481)" -p "v2.10/windows" -m
"./tools/downloads/downloads.http.txt" gimp-2.10.24-setup-2.exe
[ ] Check regularly that most (ideally all) mirrors synced the new
- files. The following command allows to query all mirrors:
+ files. The following commands allows to query all mirrors:
+ $ tools/downloads/update-mirrors.py --ssh-user $SSH_USER # where $SSH_USER is your user on
download.gimp.org server.
$ tools/downloads/gimp-check-mirrors.py
https://download.gimp.org/mirror/pub/gimp/v2.10/windows/gimp-2.10.24-setup-2.exe
We want to hold the news a bit because if we publish without
@@ -263,3 +244,56 @@
everything as fast as possible.
( ) Grab a properly chilled beverage and enjoy yourself.
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+Optional: debug the source tarball
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+The source tarball is now created by the `gimp-distcheck-debian` CI job.
+Nevertheless in case it were to fail, and you need to debug or
+exceptionally create your own local tarball for publishing, here would
+be the manual version:
+
+ ( ) Make dist tarballs [DEPRECATED - taken from CI jobs]
+
+ 🛈 These instructions are left for information purpose and so that
+ maintainers remember the way to test locally that distribution
+ tarball creation works fine. Nevertheless this is already what the
+ continuous integration does (jobs `gimp-distcheck-debian` and
+ `sources` in particular) from a clean slate. So as we check the CI
+ success, this step is now unecessary. Moreover we should now always
+ publish the tarball prepared by the CI, not by a local build, for
+ purpose of process transparency.
+
+ [ ] Start with a checkout of the GIMP tree. Make sure the
+ checkout is up to date, clean from uncommitted changes.
+
+ [ ] Run 'git clean -x -d -f' (Warning: you will lose any files
+ that are not added).
+
+ [ ] Run 'git diff'. This should not generate any output, or your
+ tree has local modifications.
+
+ [ ] Run ./autogen.sh --enable-gtk-doc
+
+ [ ] Run 'make' to do a complete build of the source tree.
+
+ [ ] Run 'make distcheck'. Avoid passing make -j since that can
+ cause mysterious fails.
+
+ [ ] If changes to generated files are made by the above command
+ (run 'git diff' to find out), commit+push them and repeat
+ from the beginning of this sub-section.
+
+ [ ] If there are problems reported by 'make distcheck', fix
+ them. If you made changes in the tree to get 'make distcheck'
+ running, commit+push them and repeat from the beginning of
+ this sub-section.
+
+ [ ] If 'make distcheck' passed and created tarballs, go to the
+ next item.
+
+ [ ] A successful run of the 'make distcheck' would create the final
+ dist tarballs. It will include a ChangeLog generated from the
+ 'git log'. Note that we don't bother with any release commit,
+ that's what tags are for (see below).
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]