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
See this link for more information
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.