Release process in Grilo

Creating a new release in Grilo is a process with several steps. Here we describe the steps we follow, so anyone can take the role of creating the release.

This process is valid both for core and for plugins release. Though we usually perform this steps in this order, it is not strictly necessary to do in this way, and we can perform some steps before others.

Also, if some of the steps fails, after fixing the problem leading to the issue could be needed to start again the whole process.

1. Clean the repository

We need to start with a clean environment, updated to the last version.

 $ git pull
 $ git clean -xfd

2. Bump to the new version

We need to update all files with specific information for the new version.

  • Update configure.ac file

    • Update GrlNet version, if applies

    • Update GrlPls version, if applies

    • Update GRL_LT_VERSION libtool version variable

    • Update GRLNET_LT_VERSION libtool version variable

    • Update GRLPLS_LT_VERSION libtool version variable

  • Update NEWS file

    • Add the more relevant changes since the last version
  • Update documentation
    • Document the new added or changed functions using "Since: " GTK+ doc tag

    • Document the deprecated functions using "Deprecated: " GTK+ doc tag

3. Make sure everything works fine

In most cases this step can be done before the previous one.

The point here is to be sure that everything works like a charm.

 $ ./autogen.sh
 $ make
 $ make check
 $ make distcheck

4. Commit all the changes

Do the "Release 0.2.x" commit

5. Create a tag

Add a signed tag to make easier tracking the release.

 $ git tag -a -s grilo-0.2.x

6. Upload the new release to GNOME public server

 $ make dist-xz
 $ scp grilo-0.2.x.tar.xz master.gnome.org:
 $ ssh master.gnome.org
 [master ~] ftpadmin install grilo-0.2.x.tar.xz

7. Increase the release version for next release

Update configure.ac to use new release 0.2.x+1

8. Update git repository

Make sure the new release is pushed correctly to git repository

 $ git push
 $ git push --tags

9. Make announcement on mailing list

Time to announce the new release in the mailing list. The best approach is to reuse a previous announcement and change it to reflect the new release.

The announcement should include:

  • What is new
  • Contributors
  • API changes
    • Added
    • Removed
    • Changed
    • Deprecated

The announcement should be sent to the following mailing lists:

  • grilo-list@gnome.org

  • gnome-multimedia@gnome.org

  • gnome-announce-list@gnome.org

10. Update NEWS in Grilo main page

After the announcement reaches the mailing lists, add a proper entry in the NEWS section in Grilo main page, linking to the email with the announcement.

Projects/Grilo/ReleaseProcess (last edited 2014-08-24 15:42:47 by jasuarez)