Skip to content

ci: fix the nightly integration-tests job (missing deps + interpreter mix) - #198

Open
bketelsen wants to merge 1 commit into
projectbluefin:devfrom
frostyard:fix/upstream-nightly-integration
Open

ci: fix the nightly integration-tests job (missing deps + interpreter mix)#198
bketelsen wants to merge 1 commit into
projectbluefin:devfrom
frostyard:fix/upstream-nightly-integration

Conversation

@bketelsen

Copy link
Copy Markdown

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:

  1. Build never succeeded: the job's apt list was missing packages meson setup requires — 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.

  2. 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 pytest regardless 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_dispatch run 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

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 hanthor left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

@castrojo castrojo added the 4-review A pull request is awaiting review. label Jul 29, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

4-review A pull request is awaiting review.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants