Commit 242e49d5 authored by Cyril 'kibi' Brulebois's avatar Cyril 'kibi' Brulebois
Browse files

Merge branch 'feature/17658-allow-building-iuks-in-parallel-on-jenkins' (17658)

Conflicts:
	bin/copy-iuks-to-rsync-server-and-verify
	wiki/src/contribute/release_process.mdwn
parents 6f21007c df791c47
......@@ -8,7 +8,7 @@ import sys
from typing import List
from pathlib import Path
JENKINS_IUKS_BASE_URL = "https://nightly.tails.boum.org/kibi_collect_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()
......
......@@ -954,7 +954,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
......@@ -972,14 +972,16 @@ Build the Incremental Upgrade Kits on Jenkins
has finished, and that images have appeared on the web server:
<https://iso-history.tails.boum.org/>
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
......@@ -988,12 +990,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>
......@@ -1010,11 +1015,13 @@ If this verification succeeds, move on to the next section.
Else, if this verification fails, then:
1. Visit the web page whose URL is printed by the following command:
echo "https://jenkins.tails.boum.org/job/build_IUKs/${CANDIDATE_JENKINS_IUKS_BUILD_ID:?}/parameters/"
1. Visit this page: `https://jenkins.tails.boum.org/job/parallel_build_IUKs/lastBuild/parameters/`
It tells you which parameters you've passed to the Jenkins job.
It tells you which parameters you've passed to the upstream Jenkins
job, which spawned the many workers. Make sure to use the build
history browser to find the right `parallel_build_IUKs` job in case
there were several attempts; the URL above assumes the last build
is what you're interested in (see `lastBuild` part).
2. Double-check that you've passed the correct parameters.
......@@ -1024,11 +1031,20 @@ Else, if this verification fails, then:
Else, if the parameters where correct, then follow the next steps.
2. As detailed in [[!tails_ticket 17658]], the `parallel_*_IUKs` jobs
are maintained manually instead of through `jenkins-job-builder`; it
might be that changes to the serial version (`build_IUKs`) weren't
reflected into the parallel version (`parallel_build_IUKs`). You
might want to try a build with the serial version before filing a
ticket (maybe for a single source version for a quick temperature
check, then for all of them if the first one matches your local
version).
3. File an issue about this problem.
Specify:
- Which set of parameters you've passed to the *build_IUKs*
- Which set of parameters you've passed to the *parallel_build_IUKs*
job, so that the person who'll investigate the problem
can reproduce it.
- The ID of the build that failed to reproduce your
......
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