Commit d7062763 authored by Tails developers's avatar Tails developers

IUK-related release process & design doc updates.

parent 99478279
......@@ -47,44 +47,49 @@ The scenarios about this are described in Cucumber-style, using
`iuk` [[contribute/Git]] repository. Run the `features/create` to run
them (see [[contribute/release_process/tails-iuk]] for details).
Documentation on how to actually do that is on
[[contribute/release_process#prepare-iuk]].
#### I should test the IUK
Until we have [[!tails_ticket 6090 desc="automated tests"]],
Until we have more complete [[!tails_ticket 6090 desc="automated tests"]],
I should manually try to install the IUK as intended on top of the old
version of Tails, and I should check that the resulting system behaves
as it should.
#### I should prepare update-description files
See [[contribute/release_process/test#incremental-updates]].
FIXME
#### I should prepare update-description files
* for the previous release (to announce they may update using the IUK
that's being prepared)
* for the new release (to announce no update is available)
See [[contribute/release_process#prepare-update-description-files]].
#### I should publish the IUK
FIXME
See [[contribute/release_process#publish-iuk]].
#### I should publish update-description files
FIXME
This is done at the same time as the release is announced, by simply
pushing the release Git branch live to master.
### When I prepare a major release
FIXME
#### I should prepare an update-description file
FIXME
* for the previous release (to announce they may update using the
release that's being prepared)
* for the new release (to announce that no update is available)
See [[contribute/release_process#prepare-update-description-files]].
#### I should publish the update-description file
FIXME
This is done at the same time as the release is announced, by simply
pushing the release Git branch live to master.
# Implementation
......@@ -165,6 +170,8 @@ other than *stable* is something that would be worth
implement a channels system in phase one, but the infrastructure we
set up does leave room for such future extension.
<a id="update-description-files"></a>
### Update-description files
We want the client to get an answer to questions such as "I run
......
......@@ -260,28 +260,40 @@ suite should be ready, so it is time to:
* `git push --tags`
* build the final image!
<a id="prepare-iuk"></a>
Build the Incremental Update Kit
--------------------------------
Example:
Skip this step when preparing a major release.
Example (point `PERL5LIB` to a checkout of the relevant tag of Tails'
perl5lib):
$ sudo tails-create-iuk --squashfs-diff-name 0.14.squashfs \
--old-iso tails-i386-0.14\~rc2.iso \
--new-iso tails-i386-0.14.iso \
--outfile Tails_i386_0.14-rc2_to_0.14.iuk
# PERL5LIB=/home/user/tails/perl5lib/lib \
tails-create-iuk --squashfs-diff-name "$VERSION.squashfs" \
--old-iso tails-i386-0.13.iso \
--new-iso tails-i386-0.14.iso \
--outfile Tails_i386_0.13_to_0.14.iuk
<a id="prepare-update-description-files"></a>
Prepare update-description files
--------------------------------
1. Prepare update-description files (see [[!tails_todo incremental_upgrades]]
1. Prepare update-description files (see the [[Update-description
files
specification|contribute/design/incremental_updates#update-description-files]]
for details):
* update (create if needed) an update-description file for every
*previous* supported release (e.g. N-1, N-1~rc2) that describes
the path to the one being released,
* create a new update-description for the version being released,
that expresses that no update is available for that one yet
1. Detach-sign the update-description files.
that expresses that *no* update is available for that one yet
1. Detach-sign each update-description file.
1. Rename the detached signatures from `.asc` to `.sig`.
1. Add the update-description files and their detached signatures to
the Git branch used to prepare the release (`stable` or `testing`).
Generate the OpenPGP signatures and Torrents
============================================
......@@ -369,6 +381,14 @@ and on the live wiki (even for a release candidate):
git commit wiki/src/inc/trace -m "Updating trace file after uploading $VERSION."
)
<a id="publish-iuk"></a>
Publish the IUK
---------------
Same as for the ISO, but the IUK should land into
`/srv/rsync/tails/tails/$DIST/iuk/`.
Wait for the HTTP mirrors to catch up
-------------------------------------
......@@ -378,7 +398,7 @@ Make sure every webserver listed in the `dl.amnesia.boum.org` round
robin pool has the new version. Drop those that are lagging behind and
notify their administrators.
Test downloading the ISO over HTTP.
Test downloading the ISO and IUK over HTTP.
Testing
=======
......
......@@ -356,6 +356,8 @@ Tests to run:
Tails on it: should warn this action is not supported, and direct
the user to the "Clone & Install" operation mode.
<a id="incremental-updates"></a>
# Incremental updates
The following should be tested once incremental updates are ready for
......
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