Commit 19f045e3 authored by Alexandru Băluț's avatar Alexandru Băluț

docs: Update how to release

parent e287a615
...@@ -17,43 +17,32 @@ Most of the steps below should be done in the [development environment](HACKING. ...@@ -17,43 +17,32 @@ Most of the steps below should be done in the [development environment](HACKING.
* Move the remaining open issues somewhere else, for example to the next milestone. * Move the remaining open issues somewhere else, for example to the next milestone.
* Close the current milestone. * Close the current milestone.
2. Make sure we depend on the latest GStreamer. This should be done as soon as GStreamer makes a release. 2. Check your local dev env:
* Find the latest tag in https://cgit.freedesktop.org/gstreamer/gstreamer/ * Make sure your sandbox is using the latest GStreamer release: `$ ptvenv --update`
* See our current requirement for Gst at the bottom in [check.py](../pitivi/check.py)
* If they are different, update the files which contain the old version, for example: `$ git grep "1\.8\.2"` and `$ git commit -a -m "Use GStreamer <gstreamer-version>"`
3. Check your local repository:
* Make sure your sandbox is using the latest GStreamer release: `$ ptvenv --update --gst-version=<gst-version>`
* Check `$ git status` does not show any change * Check `$ git status` does not show any change
4. Make sure the tests pass: 3. Update the following files:
```
$ ninja -C mesonbuild/ test
```
<!-- * `$ make validate` FIXME! -->
5. Update the following files:
* [meson.build](https://gitlab.gnome.org/GNOME/pitivi/blob/master/meson.build): * [meson.build](https://gitlab.gnome.org/GNOME/pitivi/blob/master/meson.build):
If doing a bugfix release, add or increase the micro. If doing a bugfix release, add or increase the micro.
If doing a regular release, bump YY up and remove the micro from If doing a regular release, bump YY up and remove the micro from
the version number, for example: 0.97.1 -> 0.98. Normally this is the the version number, for example: 0.97.1 -> 0.98. Normally this is the
same as the name of the Phabricator milestone you just archived. same as the name of the Phabricator milestone you just archived.
* [RELEASE](https://gitlab.gnome.org/GNOME/pitivi/blob/master/RELEASE): * [data/org.pitivi.Pitivi.appdata.xml.in](https://gitlab.gnome.org/GNOME/pitivi/blob/master/data/org.pitivi.Pitivi.appdata.xml.in):
Update the short version of the release notes. Add a new release tag with the exec summary of changes.
To get the list of contributors: `$ git shortlog -s -n <previous-tag>..`
To get the list of translators: `$ for i in po/*.po help/*; do echo $i; git shortlog -s <previous-tag>.. $i; done`
* [NEWS](https://gitlab.gnome.org/GNOME/pitivi/blob/master/NEWS): * [NEWS](https://gitlab.gnome.org/GNOME/pitivi/blob/master/NEWS):
A shorter version of RELEASE, with the exec summary of changes. Copy the exec summary of changes also here. This ends up in the `.news` file at [download.gnome.org/sources/pitivi](https://download.gnome.org/sources/pitivi/).
* [AUTHORS](https://gitlab.gnome.org/GNOME/pitivi/blob/master/AUTHORS): * [AUTHORS](https://gitlab.gnome.org/GNOME/pitivi/blob/master/AUTHORS):
If there are new maintainers. If there are new maintainers.
6. Commit the changes: `$ git commit -a -m "Release <version-number>"` 4. Commit the changes: `$ git commit -a -m "Release <version-number>"`
7. Create the distribution archive: 5. Create the distribution archive:
``` ```
$ ninja -C mesonbuild/ dist $ ninja -C mesonbuild/ dist
$ ls -l mesonbuild/meson-dist/*.tar.* $ ls -l mesonbuild/meson-dist/*.tar.*
``` ```
On an X system, `ninja dist` might not work because the unit tests fail because of X. In this case, stop X and use a fake X server: `xvfb-run ninja -C mesonbuild/ dist`.
Install it on a real system and give it a spin. For example on Archlinux: Install it on a real system and give it a spin. For example on Archlinux:
``` ```
$ cd /tmp $ cd /tmp
...@@ -69,24 +58,27 @@ If there are new maintainers. ...@@ -69,24 +58,27 @@ If there are new maintainers.
$ pitivi $ pitivi
``` ```
8. Create a tag and push it to the official repository. The TAG must always include the micro. This means when doing a regular release with version number X.YY, the TAG is X.YY.0. When doing a bug-fix release, the version number already includes a micro, so it's all fine. 6. Create a tag and push it to the official repository. The TAG must always include the micro. This means when doing a regular release with version number X.YY, the TAG is X.YY.0. When doing a bug-fix release, the version number already includes a micro, so it's all fine.
``` ```
$ git tag -a <TAG> -m "Release <version-number>" $ git tag -a <TAG> -m "Release <version-number>"
$ git push origin <TAG> $ git push origin <TAG>
``` ```
We use tag X.YY.0 instead of X.YY because we want to have the option of later creating the X.YY branch to the official repository, since it's not possible to have both a tag and a branch with the same name. This branch would gather backported fixes and be used for doing future X.YY.Z bug-fix releases. We use tag X.YY.0 instead of X.YY because we want to have the option of later creating the X.YY branch to the official repository, since it's not possible to have both a tag and a branch with the same name. This branch would gather backported fixes and be used for doing future X.YY.Z bug-fix releases.
9. Publish the archive on Gnome: 7. Publish the archive on Gnome:
``` ```
$ scp mesonbuild/meson-dist/pitivi-X.YY.Z.tar.xz GNOME-USER@master.gnome.org: $ scp mesonbuild/meson-dist/pitivi-X.YY.Z.tar.xz GNOME-USER@master.gnome.org:
$ ssh GNOME-USER@master.gnome.org -t ftpadmin install pitivi-X.YY.Z.tar.xz $ ssh GNOME-USER@master.gnome.org -t ftpadmin install pitivi-X.YY.Z.tar.xz
``` ```
The tarball will appear on https://download.gnome.org/sources/pitivi/X.YY/pitivi-X.YY.Z.tar.xz The tarball will appear on https://download.gnome.org/sources/pitivi/X.YY/pitivi-X.YY.Z.tar.xz
10. Send out an announcement mail to: 8. Spread the word about the release
* gstreamer-devel@lists.freedesktop.org * Send an [email](https://lists.freedesktop.org/archives/gstreamer-devel/2017-September/065566.html) to gstreamer-devel@lists.freedesktop.org
* gnome-i18n@gnome.org (thanking translators) * Send an [email](https://mail.gnome.org/archives/gnome-i18n/2017-September/msg00136.html) to gnome-i18n@gnome.org thanking translators.
* [Archlinux](https://www.archlinux.org/packages/community/x86_64/pitivi/), click "Flag Package Out-of-Date".
* [Debian](https://packages.debian.org/pitivi), click the "unstable" Debian version and look for "maintainer".
* [Fedora](https://apps.fedoraproject.org/packages/pitivi), look for Point of Contact.
11. On pitivi.org, update "releases.txt" for the app's update notification feature 9. Update http://www.pitivi.org/releases.txt for the app's update notification feature
12. Bump the Z in the version number in [meson.build](https://gitlab.gnome.org/GNOME/pitivi/blob/master/meson.build), for example if it was a regular release: 0.98 -> 0.98.1 or if it was a bug-fix release: 0.97.1 -> 0.97.2, and `$ commit -a -m "Back to development"` 10. Bump the Z in the version number in [meson.build](https://gitlab.gnome.org/GNOME/pitivi/blob/master/meson.build), for example if it was a regular release: 0.98 -> 0.98.1 or if it was a bug-fix release: 0.97.1 -> 0.97.2, and `$ commit -a -m "Back to development"`
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment