Commit 6b454c60 authored by intrigeri's avatar intrigeri
Browse files

Release process: adapt garbage collection of IUKs to the single SquashFS diff...

Release process: adapt garbage collection of IUKs to the single SquashFS diff upgrade scheme (#15284)

In the single SquashFS diff upgrade scheme, we'll generate and publish many more
IUKs and will need to delete obsolete ones more aggressively. The good news is
that we have a much better criterion for that than the age of an IUK: since
every new release will have IUKs that upgrade to this new release from any older
version that has the same "X" as the new release in "version X.Y", we know
it follows that any IUK that upgrades to anything but the version that
was just released is obsolete and can go away.

So essentially, at any point in time, our mirrors will store the set of IUKs
that upgrade to the current version of Tails, and that's it. The only exceptions
are:

 - IUKs v1, that we'll need to garbage collect manually at a well chosen time;
   this is a one-time cleanup operation and does not seem worth automating;

 - In the release process, between the time the IUKs for the new release
   are uploaded, and the time when the RM goes this this post-release
   cleanup step, our mirrors will store 2 sets of IUKs: those that upgrade
   to the previous version, and those that upgrade to the new one.
parent a9fa544b
......@@ -1495,15 +1495,16 @@ this, and skip what does not make sense for a RC.
then re-run `ssh bittorrent.lizard transmission-remote --list` and make sure everything looks good
1. Remove any remaining RC for the just-published release from
`rsync.lizard:/srv/rsync/tails/tails/alpha/`
1. Remove IUKs that are more than 9 months old from
`/{stable,alpha}/iuk` on the rsync server:
1. If you've published a final release, remove IUKs that upgrade to an
older version as they were superseded by this release:
- first check that it's not going to remove anything we want to keep:
ssh rsync.lizard /bin/sh -c \
\"find /srv/rsync/tails/tails/alpha/iuk/v2 \
/srv/rsync/tails/tails/stable/iuk/v2 \
-type f -name '*.iuk' -mtime '+270' \
-type f -name '*.iuk' \
-not -name "*_to_${VERSION:?}.iuk" \
-not -name '*~test_*~test.iuk' \
-not -name '*~testoverlayfs_*~testoverlayfs.iuk' \
-ls \
......@@ -1514,7 +1515,8 @@ this, and skip what does not make sense for a RC.
ssh rsync.lizard /bin/sh -c \
\"find /srv/rsync/tails/tails/alpha/iuk/v2 \
/srv/rsync/tails/tails/stable/iuk/v2 \
-type f -name '*.iuk' -mtime '+270' \
-type f -name '*.iuk' \
-not -name "*_to_${VERSION:?}.iuk" \
-not -name '*~test_*~test.iuk' \
-not -name '*~testoverlayfs_*~testoverlayfs.iuk' \
-delete \
......
Supports Markdown
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