This is a summary of the steps used to release a new version of Games. It sums-up and completes the steps from MaintainersCorner/Releasing and AdrienPlazas/Releasing.

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 3.2.1.1
===============

* Fix release failure in 3.2.1.

Pay attention to the number of = characters around the version!

Commit that with Version 3.2.1.1 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

AlexanderMikhaylenko/Releasing (last edited 2018-10-21 12:35:57 by AlexanderMikhaylenko)