Excluding Files from Distribution
To work around the lack of file exclusion in Meson's dist rule using Git, list the files to ignore when producting the tarball in the .gitattributes file.
Here is an example of a .gitattributes file:
flatpak export-ignore tools export-ignore .editorconfig export-ignore .gitattributes export-ignore .gitignore export-ignore .gitlab-ci export-ignore .gitlab-ci.yml export-ignore
Commit your changes to that file, if any.
Producing the Version
Ensure you are on the latest version of the master branch.
Update the version in meson.build.
Update the NEWS file following the existing format, it should contain:
- user-facing changes like new features, UI changes and translation changes
- developer-facing changes like API changes
- packager-facing changes like new dependencies and build system changes
- nothing about what doesn't go into the tarball, like Flatpak packaging, editor rules, git files and CI files.
Try to talk about all the releavant changes, but no more. Be concise.
Commit these changes with the Version 3.2.1} message.
Pushing the Version
Double-check that the everything is correct before pushing. NEWS file cannot be changed later!
Open a merge request. If possible, have someone proofread it, then merge it. If it needs to be rebased, update NEWS again before merging.
Do $ git pull to pull in the changes from NEWS merge request. Produce a tag with $ git tag -a 3.2.1 and the Version 3.2.1 message.
Do $ git log and make sure the tag is on the correct commit, then push it: $ git push origin 3.2.1 --follow-tags.
Dealing with errors
In case of an error, add .1 to version number in meson.build and add the following to NEWS file:
=============== Version 188.8.131.52 =============== * Fix release failure in 3.2.1.
Pay attention to the number of = characters around the version!
Commit that with Version 184.108.40.206 message and tag it again.
Double-check that the everything is correct before pushing!
Add a warning to this page.
Producing the Tarball
GNOME Games repo has a script for producing tarball.
$ cd tools $ ./make-tarball.sh
It will produce gnome-games-3.2.1.tar.xz.
Publishing the Tarball
To publish the tarball:
$ scp gnome-games-3.2.1.tar.xz (user)@master.gnome.org: $ ssh (user)@master.gnome.org ftpadmin install gnome-games-3.2.1.tar.xz
Updating Flatpak build (for stable branch only)
Bump gnome-games version in flatpak/org.gnome.Games.json file, also check for other GNOME dependency updates and bump them if needed.
Do the same for https://github.com/flathub/org.gnome.Games