Commit e7a8d4c7 authored by Alexandru Băluț's avatar Alexandru Băluț

Update release instructions

Reviewers: thiblahute

Maniphest Tasks: T7757

Differential Revision: https://phabricator.freedesktop.org/D1765
parent 148c70a9
---
title: Releasing
short_description: How to make a release
...
# How to make a release
See also https://live.gnome.org/MaintainersCorner/Releasing
Ideally these instructions are in line with the [GNOME releasing process](https://live.gnome.org/MaintainersCorner/Releasing).
We make two types of releases:
- regular releases, when we have new features or improvements, and
- "smaller" bug-fix releases, when a regular relese needs patching.
Besides the regular releases, you can also make smaller bug-fix releases.
The regular releases have the version number X.YY, and the bug-fix
releases have the version number X.YY.Z, where Z is a relatively small
releases have the version number X.YY.Z, where Z is hopefully a relatively small
number (1, 2, 3...).
Most of the steps below should be done in the [development environment](HACKING.md): `$ source bin/pitivi-env` -> `(ptv-flatpak) $`
......@@ -24,18 +22,22 @@ Most of the steps below should be done in the [development environment](HACKING.
* 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
3. Check your local repository:
* Make sure your sandbox is using the latest GStreamer release: `$ ptvenv --update --gst-version=<gst-version>`
* `$ git status` does not show any change
* `$ configure` is all green
* Install git-archive-all in your sandbox to be able to create the archive to be distributed: `$ build/flatpak/py-configure --module=git-archive-all && make install`
* Check `$ git status` does not show any change
* Check `$ ptvenv ./configure` is all green
4. Make sure the tests pass
* `$ ninja test`
<!-- * `$ make validate` FIXME! -->
4. Make sure the tests pass:
```
$ ninja -C mesonbuild/ test
```
<!-- * `$ make validate` FIXME! -->
5. Update the following files:
* [meson.build](../meson.build):
Only if doing a regular release. Bump YY up and remove the micro from
If doing a bugfix release, add or increase the micro.
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
same as the name of the Phabricator milestone you just archived.
* [RELEASE](../RELEASE):
......@@ -49,16 +51,34 @@ If there are new maintainers.
6. Commit the changes: `$ git commit -a -m "Release <version-number>"`
7. Create the distribution archive
* `$ cd mesonbuild && ninja dist && cd .. && ls *.tar.gz`
* Install it on your favorite system, check that it works.
8. Create a tag: `$ git tag -a <version-number> -m "Release <version-number>"`
9. Push the tag to the official repository: `$ git push origin <version-number>`
7. Create the distribution archive, install it on your favorite system and check that it works:
* `$ ninja -C mesonbuild/ dist && ls *.tar.gz`
* For Archlinux try:
```
$ cd /tmp
$ asp checkout pitivi
$ cd /tmp/pitivi/repos/community-x86_64/
$ rm -rf .git # Without this, ./configure is confused re version number.
$ cp .../pitivi-X.YY.Z.tar.gz .
$ vim PKGBUILD
... Update "pkgver",
... Make sure "source" ends in .tar.gz
... Update "sha256sums"
$ makepkg
$ makepkg -i
$ 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.
```
$ git tag -a <TAG> -m "Release <version-number>"
$ 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 be used to gather backported fixes and be the official branch for doing a X.YY.Z bug-fix release.
10. Publish the archive
* `$ scp pitivi-X.YY.ZZ.tar.gz master.gnome.org:`
* On master.gnome.org, run `$ ftpadmin install pitivi-X.YY.ZZ.tar.gz`
* `$ scp pitivi-X.YY.Z.tar.gz USER@master.gnome.org:`
* On master.gnome.org, run `$ ftpadmin install pitivi-X.YY.Z.tar.gz`
The tarball will appear as `.tar.xz` on https://download.gnome.org/sources/pitivi/X.YY/ (also visible on http://ftp.gnome.org/pub/gnome/sources/pitivi/X.YY/)
11. Send out an announcement mail to:
......
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