Commit a17f5539 authored by Cyril 'kibi' Brulebois's avatar Cyril 'kibi' Brulebois
Browse files

Release process: enable parallelism for IUK builds in Jenkins

v2: Use names agreed on in #17658
parent 17973cc4
......@@ -8,7 +8,7 @@ import sys
from typing import List
from pathlib import Path
JENKINS_IUKS_BASE_URL = "https://nightly.tails.boum.org/build_IUKs/builds"
JENKINS_IUKS_BASE_URL = "https://nightly.tails.boum.org/parallel_collect_IUKs/builds"
RSYNC_SERVER_HOSTNAME = "rsync.lizard"
LOG_FORMAT = "%(asctime)-15s %(levelname)s %(message)s"
log = logging.getLogger()
......
......@@ -885,7 +885,7 @@ Push the released ISO and USB images and their artifacts (`.buildlog`,
`.build-manifest`, and `.packages` files) to our Tails ISO history git-annex
repo, so that:
- The Jenkins `build_IUKs` job can fetch them.
- The Jenkins `parallel_build_IUKs` job can fetch them.
- Our isotesters can fetch them from there for their testing.
How to do so is described in the `ISO_history.mdwn` document in the RM team's
......@@ -899,14 +899,16 @@ on <https://iso-history.tails.boum.org/>.
Build the Incremental Upgrade Kits on Jenkins
------------------------------------------
1. On <https://jenkins.tails.boum.org/job/build_IUKs/build?delay=0sec>,
1. On <https://jenkins.tails.boum.org/job/parallel_build_IUKs/configure>, adjust
the `SOURCE_VERSION` axis to list all versions in `$IUK_SOURCE_VERSIONS`,
and save the updated configuration.
1. On <https://jenkins.tails.boum.org/job/parallel_build_IUKs/build?delay=0sec>,
fill the form with these values:
- `TAILS_GIT_COMMIT`: the value of `$TAG` in your release environment
- `SOURCE_DATE_EPOCH`: the value of `$SOURCE_DATE_EPOCH` in your
release environment
- `SOURCE_VERSIONS`: the value of `$IUK_SOURCE_VERSIONS` in your
release environment
- `NEW_VERSION`: the value of `$VERSION` in your release environment
- `EXTRA_ARGS`: leave it blank
......@@ -915,12 +917,15 @@ Build the Incremental Upgrade Kits on Jenkins
3. After a few seconds, a new build appears on top of the _Build
History_ sidebar. Click on the progress bar of this new build.
3. **Verify:** A downstream `parallel_collect_IUKs` job should appear,
to be triggered once the `parallel_build_IUKs` has completed successfully.
4. Set the `$CANDIDATE_JENKINS_IUKS_BUILD_ID` environment variable
to the ID of this job (an integer).
to the ID of that downstream job (an integer).
5. Wait until this *build_IUKs* job completes successfully.
5. Wait until both `parallel_build_IUKs` and `parallel_collect_IUKs` jobs complete successfully.
It should take about 10-15 minutes for each member of
the `$IUK_SOURCE_VERSIONS` list.
the `$IUK_SOURCE_VERSIONS` list, distributed across `isobuilderN` workers.
<a id="reproducibility-sanity-check-iuk"></a>
......@@ -938,6 +943,8 @@ Else, if this verification fails, then:
1. Visit the web page whose URL is printed by the following command:
**XXX: Made obsolete if we keep two jobs (build then collect)**
echo "https://jenkins.tails.boum.org/job/build_IUKs/${CANDIDATE_JENKINS_IUKS_BUILD_ID:?}/parameters/"
It tells you which parameters you've passed to the Jenkins job.
......
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