Repository navigation
ci: run the apt steps through util/apt_packages.py (#1967) - #2034
Conversation
|
GOOD TO GO at
|
e5019f3 to
5a7d0ff
Compare
|
Coverage: 91.54% (unit tier, Python 3.15,
Per-file detail: the |
5a7d0ff to
2924d34
Compare
|
Rebased onto |
|
resolve conflicts |
2924d34 to
51cfe7b
Compare
|
Rebase only, no new changes: CI on the previous head |
- util/apt_packages.py: plan, seed, install and collect, running the
former shell's commands under sudo with the same retries, timeout(1)
bounds, fallback mirror, cache key and annotations. Plan and install
both read APT_PACKAGES; install --name titles engine-tests' warnings.
Standard library only, 3.7-compatible.
- unit-tests.yml: engine-tests' and pypcap-parity's (so its KTLO twin's)
plan, seed, install and collect steps run the script on
/usr/bin/python3; id, if, continue-on-error and timeout-minutes are
unchanged. The cache steps and the AppArmor step stay as they were.
- tests: test_apt_packages_1967.py covers each subcommand, its parity
with the former shell on stand-in binaries, and pins every site. The
apt retry, cache, timeout, AppArmor and KTLO command pins follow the
script, and the KTLO scan now reads say() and a script's {level}; the
#2020 timeout guard now scans util/ scripts too.
- workflows.rst: the script joins the Workflow Scripts table.
51cfe7b to
e5a1fb9
Compare
|
Rebase only, no new code changes: The rebase conflicted in CI on the previous head |
make pylint,make mypy,make isort)make testpasses, and a test case covers the changeWhat is the purpose of your pull request?
ci— workflows or build toolingDescription of your pull request and other information
#1967 step 2, item 4: the apt script, in Python per the ruling on #1967. Stacked on #2031, so review only the top commit. It is independent of #2032.
util/apt_packages.py {plan,seed,install,collect}replaces the inline shell in the apt steps ofengine-testsandpypcap-parity, and the KTLO twin picks it up through its alias. Everyid,if:,continue-on-error,timeout-minutes, cache key and path is unchanged and pinned.actions/cacherestore and save stay as they are.sudo timeout 60|180 apt-get …with notimeoutoption. Only a roottimeoutcan kill apt's children, which the runner user cannot do.test_gnu_timeout_2020now scansutil/*.pyas well.APT_PACKAGES, so the cache key and the install cannot drift apart. The steps run on/usr/bin/python3, not the leg's interpreter.The shape pin fails on #2031's
unit-tests.yml(13 failed) and passes here. Parity tests run the old shell and the script against stand-inapt-get,sudoandtimeout, and compare output, commands and files. The 58 test files that readunit-tests.ymlor the docs give1164 passed.One pin was tightened:
test_ktlo_legs_stay_green_1672's command scan now also sees annotations printed throughsay(.