ci: fix the nightly integration-tests job (missing deps + interpreter mix) - #198
Open
bketelsen wants to merge 1 commit into
Open
ci: fix the nightly integration-tests job (missing deps + interpreter mix)#198bketelsen wants to merge 1 commit into
bketelsen wants to merge 1 commit into
Conversation
The nightly integration jobs have failed on every scheduled run. Two stacked problems: 1. The job's apt list was missing packages meson requires (gettext for msgfmt, desktop-file-utils for update-desktop-database, appstream), so 'Build GResources' died first. The list now mirrors the UI-tests job's proven set. 2. With the build fixed, pytest still could not run: the job used actions/setup-python (toolcache interpreter first in PATH) while installing dependencies via apt into the system Python — 'No module named pytest' no matter what apt installs. The unit job pairs setup-python with pip install; the UI job uses system Python with apt packages. The integration job now follows the UI job's pattern, which the GTK/gi stack needs anyway. Diagnosed and verified on a fork where the same workflow now passes all eight nightly jobs. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
hanthor
approved these changes
Jul 23, 2026
hanthor
left a comment
Member
There was a problem hiding this comment.
Approve. Both fixes are coherent: the added apt packages (gettext/msgfmt, desktop-file-utils, appstream) are genuinely required by meson setup for the GResources build, and dropping actions/setup-python so pytest resolves against the system Python where python3-pytest is installed fixes the interpreter/PATH mismatch. Aligning the integration job with the working UI-tests job is the right pattern for the GTK/gi stack. Fork-verified green. LGTM.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
The Python Integration Tests jobs in the nightly workflow fail on every scheduled run (checked: every nightly since at least Jul 2 is red at ~1 minute). Two stacked problems, both in the integration job only:
Build never succeeded: the job's apt list was missing packages
meson setuprequires —gettext(msgfmt for i18n),desktop-file-utils(update-desktop-database),appstream— so Build GResources died first. The list now mirrors the UI-tests job's, which demonstrably builds the project on these runners.pytest could never run: the job used
actions/setup-python(putting a toolcache interpreter first in PATH) while installing its dependencies via apt into the system Python —No module named pytestregardless of the apt list. The workflow's other jobs are each internally consistent (unit tests: setup-python +pip install pytest; UI tests: system Python + apt packages); the integration job mixed the two models. It now follows the UI job's pattern, which the GTK/gi stack requires anyway.Verification
Applied to a downstream fork (frostyard/bootc-installer) where the same workflow previously failed identically: the next
workflow_dispatchrun passed all 8 jobs (run). The integration tests themselves are root/FISHERMAN_BIN-gated e2e installs that skip in CI, so the job now builds, collects, and exits green.🤖 Generated with Claude Code