~jugmac00/launchpad:add-how-to-get-overview-of-buildfarm

Last commit made on 2022-12-01
Get this branch:
git clone -b add-how-to-get-overview-of-buildfarm https://git.launchpad.net/~jugmac00/launchpad
Only Jürgen Gmach can upload to this branch. If you are Jürgen Gmach please log in for upload directions.

Branch merges

Branch information

Name:
add-how-to-get-overview-of-buildfarm
Repository:
lp:~jugmac00/launchpad

Recent commits

097308e... by Jürgen Gmach

Add how-to get overview of Launchpad's build farm

Succeeded
[SUCCEEDED] docs:0 (build)
[SUCCEEDED] lint:0 (build)
[SUCCEEDED] mypy:0 (build)
13 of 3 results
df6d643... by Colin Watson

Disallow ProductSeries translation exports to most users

Merged from https://code.launchpad.net/~cjwatson/launchpad/+git/launchpad/+merge/433813

20d7835... by Colin Watson

Remove unnecessary condition

0b25108... by Colin Watson

Fix race in build worker tests

Merged from https://code.launchpad.net/~cjwatson/launchpad/+git/launchpad/+merge/433863

a6ff5f2... by Colin Watson

Fix race in build worker tests

Our buildbot frequently hits a race in `TestWorker.test_abort`. This
race occurs when `WorkerTestHelpers.triggerGoodBuild` tells the worker
to start a build, which then runs through launchpad-buildd and
eventually attempts to execute launchpad-buildd's helper programs to
unpack a chroot and run an actual build in it; because the Launchpad
test suite isn't set up to run full builds itself (and we wouldn't want
it to even if it were), this fails. If launchpad-buildd manages to do
all this before responding to the subsequent `worker.abort()` call from
the test, then the abort call fails because the builder is unexpectedly
not in the `BUILDING` state any more.

To fix this, we insert a substitute version of the "builder-prep"
program that launchpad-buildd calls at the start of a build, which just
reads a line from a named pipe and then exits non-zero after doing so.
This allows us to control the progress of the build by only writing to
that named pipe during test cleanup.

While launchpad-buildd's test harness is now set up to support this,
unfortunately the necessary code only landed after we dropped Python 3.5
support from launchpad-buildd, and we still need that in Launchpad. For
now, copy the test harness code to avoid this, which is well worth it
given how often we run into this test race.

This change also allows simplifying
`TestWorker.test_status_after_build`, which previously had to work
around a similar race; see commit 20737acd94.

0e77107... by Colin Watson

Fix handling of the access-token git parameter

Merged from https://code.launchpad.net/~cjwatson/launchpad/+git/launchpad/+merge/433826

a3aff59... by Colin Watson

Fix handling of the access-token git parameter

turnip converts authentication parameters it receives from
`authenticateWithPassword` to strings, causing authorization to fail
with errors like this:

  remote: Unexpected Zope exception: TypeError: Expected int, found
  <class 'str'>: '16'

Convert the parameter back to an integer.

51cef3d... by Colin Watson

Avoid false positives in navigation to upload logs for builds

Merged from https://code.launchpad.net/~cjwatson/launchpad/+git/launchpad/+merge/433548

ba9712e... by Colin Watson

Disallow ProductSeries translation exports to most users

Exporting translations for an entire `ProductSeries` can be benign, but
in some cases (e.g. `/linuxmint/latest` on production) it can be very
expensive; and users who aren't admins or responsible for the project in
question should generally export an individual `POTemplate` or `POFile`
instead. Restrict this operation to admins, owners of the project,
release managers of the project series, or owners of applicable
translation groups, in much the same way as we already do for
translation exports of entire source packages.

LP: #1998037

f29302c... by Colin Watson

Handle translation export upload failures

Merged from https://code.launchpad.net/~cjwatson/launchpad/+git/launchpad/+merge/433803