CI: give pq-all an apt budget that matches its job

pq-all is the only caller whose packages are not a subset of its
bundle: crossbuild-essential-* appear only in the 22.04 lists, and the
offline install is all-or-nothing, so it always takes the apt path -
the one the 45-minute timeout was widened for. The default budget caps
each install attempt at 250s and hard-fails a merely slow download.

Also state the real budget-seconds arithmetic: the loop overshoots by
retry-delay plus the SIGKILL grace, the floors make small values inert,
and the defaults need ~16 minutes rather than the 15 claimed.
pull/11219/head
Juliusz Sosinowicz 2026-08-24 12:11:46 +00:00
parent bba979c79d
commit 88e40d52df
2 changed files with 14 additions and 5 deletions

View File

@ -10,11 +10,13 @@ inputs:
default: '2'
budget-seconds:
description: >
Wall-clock the whole retry loop may spend. Split across the attempts,
so a wedged mirror is reported by this action instead of the job being
cancelled around it. Must fit inside the caller's timeout-minutes
alongside pull-timeout; the default suits jobs of 15 minutes or more,
short jobs have to lower it.
Nominal wall-clock for the whole retry loop, split across the attempts
as per-command deadlines, so a wedged mirror is reported by this action
instead of the job being cancelled around it. The loop overshoots it by
retry-delay plus 10s of SIGKILL grace, and the per-command floors make
values below retries*60 inert. This, plus pull-timeout, plus any
ccache-setup in the same job, has to fit the caller's timeout-minutes -
the defaults need ~16 minutes.
required: false
default: '600'
pull-timeout:

View File

@ -51,6 +51,13 @@ jobs:
with:
packages: autoconf automake libtool build-essential bubblewrap crossbuild-essential-arm64 crossbuild-essential-armhf
ghcr-debs-tag: ubuntu-24.04-minimal
# crossbuild-essential-* are not in the -minimal bundle (only the
# 22.04 lists carry them), and the offline install is all-or-nothing,
# so this caller always takes the apt path - see the timeout-minutes
# note above. The default budget would cap each install attempt at
# 250s and hard-fail a download that merely runs slow; 1200 gives it
# 500s an attempt and still reports inside the 45-minute job.
budget-seconds: '1200'
# ccache via the cross-platform composite; the script passes the
# compiler to configure as CC="ccache gcc" (or a per-config "cc").