Skip to content

test(iso): exercise installer UI in QEMU - #118

Open
castrojo wants to merge 22 commits into
mainfrom
test/gui-installer-e2e
Open

test(iso): exercise installer UI in QEMU#118
castrojo wants to merge 22 commits into
mainfrom
test/gui-installer-e2e

Conversation

@castrojo

@castrojo castrojo commented Aug 1, 2026

Copy link
Copy Markdown

Summary

  • add scheduled/manual Dakota GUI installer acceptance coverage for dev and stable channels
  • drive the auto-launched installer via guest AT-SPI and verify an installed disk boots
  • retain debug-only accessibility configuration and collect diagnostics on failure

Validation

  • pre-commit run --all-files

  • python3 -m pytest tests/ -q

  • actionlint .github/workflows/scheduled-gui-installer.yml

  • I am using an agent and I take responsibility for this PR

Add scheduled GUI acceptance coverage that drives the auto-launched bootc-installer via AT-SPI, installs to a virtual disk, and verifies the installed system boots.

Assisted-by: GPT-5.6 Terra via GitHub Copilot

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@github-actions

github-actions Bot commented Aug 1, 2026

Copy link
Copy Markdown

✅ LUKS End-to-End Test lts (stable) — PASSED

Step Details
ISO build 6028 MiB · 19m 17s
LUKS E2E 11m 49s
Result ✅ success

Live boot
Live boot

Plymouth passphrase prompt
Plymouth passphrase prompt

Installed system (post-LUKS unlock)
Installed system (post-LUKS unlock)

Workflow run

@github-actions

github-actions Bot commented Aug 1, 2026

Copy link
Copy Markdown

❌ Plain Install E2E lts (stable) — FAILED

Step Details
ISO build 6028 MiB · 19m 13s
Plain E2E N/A
QEMU RAM 4096 MiB (tight overlay tmpfs)
Result ❌ failure

Workflow run

@github-actions

github-actions Bot commented Aug 1, 2026

Copy link
Copy Markdown

✅ LUKS End-to-End Test lts (dev) — PASSED

Step Details
ISO build 6028 MiB · 19m 56s
LUKS E2E 13m 48s
Result ✅ success

Live boot
Live boot

Plymouth passphrase prompt
Plymouth passphrase prompt

Installed system (post-LUKS unlock)
Installed system (post-LUKS unlock)

Workflow run

@github-actions

github-actions Bot commented Aug 1, 2026

Copy link
Copy Markdown

✅ Plain Install E2E lts (dev) — PASSED

Step Details
ISO build 6028 MiB · 19m 11s
Plain E2E 14m 26s
QEMU RAM 4096 MiB (tight overlay tmpfs)
Result ✅ success

Workflow run

@github-actions

github-actions Bot commented Aug 1, 2026

Copy link
Copy Markdown

❌ Plain Install E2E dakota (dev) — FAILED

Step Details
ISO build 4436 MiB · 25m 12s
Plain E2E N/A
QEMU RAM 4096 MiB (tight overlay tmpfs)
Result ❌ failure

Workflow run

@github-actions

github-actions Bot commented Aug 1, 2026

Copy link
Copy Markdown

✅ LUKS End-to-End Test dakota (dev) — PASSED

Step Details
ISO build 4436 MiB · 25m 23s
LUKS E2E 13m 44s
Result ✅ success

Live boot
Live boot

Plymouth passphrase prompt
Plymouth passphrase prompt

Installed system (post-LUKS unlock)
Installed system (post-LUKS unlock)

Workflow run

@github-actions

github-actions Bot commented Aug 1, 2026

Copy link
Copy Markdown

✅ Plain Install E2E dakota (stable) — PASSED

Step Details
ISO build 4436 MiB · 28m 34s
Plain E2E 17m 34s
QEMU RAM 4096 MiB (tight overlay tmpfs)
Result ✅ success

Workflow run

@github-actions

github-actions Bot commented Aug 1, 2026

Copy link
Copy Markdown

✅ LUKS End-to-End Test dakota (stable) — PASSED

Step Details
ISO build 4436 MiB · 37m 11s
LUKS E2E 11m 58s
Result ✅ success

Live boot
Live boot

Plymouth passphrase prompt
Plymouth passphrase prompt

Installed system (post-LUKS unlock)
Installed system (post-LUKS unlock)

Workflow run

@github-actions

github-actions Bot commented Aug 1, 2026

Copy link
Copy Markdown

❌ Plain Install E2E stable (stable) — FAILED

Step Details
ISO build 7684 MiB · 48m 33s
Plain E2E N/A
QEMU RAM 4096 MiB (tight overlay tmpfs)
Result ❌ failure

Workflow run

@github-actions

github-actions Bot commented Aug 1, 2026

Copy link
Copy Markdown

❌ LUKS End-to-End Test stable (stable) — FAILED

Step Details
ISO build 7684 MiB · 49m 30s
LUKS E2E N/A
Result ❌ failure

Workflow run

@github-actions

github-actions Bot commented Aug 1, 2026

Copy link
Copy Markdown

❌ LUKS End-to-End Test stable (dev) — FAILED

Step Details
ISO build 7684 MiB · 49m 56s
LUKS E2E N/A
Result ❌ failure

Workflow run

@github-actions

github-actions Bot commented Aug 1, 2026

Copy link
Copy Markdown

❌ Plain Install E2E stable (dev) — FAILED

Step Details
ISO build 7684 MiB · 49m 21s
Plain E2E N/A
QEMU RAM 4096 MiB (tight overlay tmpfs)
Result ❌ failure

Workflow run

@github-actions

github-actions Bot commented Aug 1, 2026

Copy link
Copy Markdown

❌ Plain Install E2E lts (stable) — FAILED

Step Details
ISO build 6028 MiB · 18m 11s
Plain E2E N/A
QEMU RAM 4096 MiB (tight overlay tmpfs)
Result ❌ failure

Workflow run

@github-actions

github-actions Bot commented Aug 1, 2026

Copy link
Copy Markdown

❌ Plain Install E2E dakota (dev) — FAILED

Step Details
ISO build 4436 MiB · 25m 18s
Plain E2E N/A
QEMU RAM 4096 MiB (tight overlay tmpfs)
Result ❌ failure

Workflow run

@github-actions

github-actions Bot commented Aug 1, 2026

Copy link
Copy Markdown

❌ LUKS End-to-End Test stable (stable) — FAILED

Step Details
ISO build 7684 MiB · 47m 58s
LUKS E2E N/A
Result ❌ failure

Workflow run

@github-actions

github-actions Bot commented Aug 1, 2026

Copy link
Copy Markdown

❌ Plain Install E2E stable (dev) — FAILED

Step Details
ISO build 7684 MiB · 48m 5s
Plain E2E N/A
QEMU RAM 4096 MiB (tight overlay tmpfs)
Result ❌ failure

Workflow run

@github-actions

github-actions Bot commented Aug 1, 2026

Copy link
Copy Markdown

❌ LUKS End-to-End Test stable (dev) — FAILED

Step Details
ISO build 7684 MiB · 49m 36s
LUKS E2E N/A
Result ❌ failure

Workflow run

@github-actions

github-actions Bot commented Aug 1, 2026

Copy link
Copy Markdown

❌ Plain Install E2E stable (stable) — FAILED

Step Details
ISO build 7684 MiB · 52m 13s
Plain E2E N/A
QEMU RAM 4096 MiB (tight overlay tmpfs)
Result ❌ failure

Workflow run

@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.

Reviewed the diff, the new scripts/atspi-installer-driver.py, the gui-e2e justfile recipe, and the test suite.

Assessment: solid, real test infrastructure, not tautological.

  • disk_mentions_target/find_disk_toggle correctly guard against matching a partition (/dev/vda1) instead of the whole device, and against clicking a sibling control outside the matching row — both are exercised with genuine negative tests (test_disk_toggle_never_selects_a_sibling_control, test_disk_match_requires_the_whole_device_name).
  • classify_page priority ordering (failure over completion, etc.) and _confirm_install's check that the confirmation page actually names the selected disk are meaningful safety assertions, not restatements of the implementation.
  • Failure-path tests (--check-dependencies, missing typelib, AT-SPI init failure) confirm clean exits with diagnostics rather than tracebacks — good coverage of the "guest doesn't have what we need" case.
  • The DEBUG-only gating of toolkit-accessibility/GTK_MODULES=atk-bridge is verified to never leak outside the DEBUG=1 guard (test_auto_launched_installer_enables_atspi_only_in_debug_builds), which matters since this touches the production desktop entry code path.
  • Harness timing is reasonable: poll_interval=1s default, configurable startup-timeout/timeout; the only hardcoded sleep is a 5s shutdown grace period after system_powerdown, which is justified and minor.

On CI: the check runs show several Plain E2E/LUKS E2E (stable channel) failures. I checked test-plain-install.yml/test-luks-install.yml history on main directly — both fail on a very similar cadence independent of this PR (e.g. runs on 8/11, 8/4, 7/28, 7/21 all failing on main with no relation to this branch), consistent with the repo's documented "active fisherman regression" on these channels. Python Unit Tests and ShellCheck are green. I don't read the E2E failures as caused by this PR.

No blocking concerns. Approving.


Generated by Claude Code

Copilot AI added 2 commits August 27, 2026 22:02
Native dracut images lacked squashfs, loop, and ISO9660 drivers, so QEMU could not mount the live image. Refresh generated skill indexes for the current catalog date.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Signed-off-by: Copilot <223556219+Copilot@users.noreply.github.com>
GitHub runners validate generated dates in UTC.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Signed-off-by: Copilot <223556219+Copilot@users.noreply.github.com>
@github-actions

Copy link
Copy Markdown

❌ LUKS End-to-End Test lts (stable) — FAILED

Step Details
ISO build N/A · N/A
LUKS E2E N/A
Result ❌ skipped

Workflow run

@github-actions

Copy link
Copy Markdown

❌ LUKS End-to-End Test lts (dev) — FAILED

Step Details
ISO build N/A · N/A
LUKS E2E N/A
Result ❌ skipped

Workflow run

@github-actions

Copy link
Copy Markdown

❌ LUKS End-to-End Test dakota (stable) — FAILED

Step Details
ISO build N/A · N/A
LUKS E2E N/A
Result ❌ skipped

Workflow run

@github-actions

Copy link
Copy Markdown

❌ LUKS End-to-End Test dakota (dev) — FAILED

Step Details
ISO build N/A · N/A
LUKS E2E N/A
Result ❌ skipped

Workflow run

@github-actions

github-actions Bot commented Sep 2, 2026

Copy link
Copy Markdown

❌ LUKS End-to-End Test stable (stable) — FAILED

Step Details
ISO build N/A · N/A
LUKS E2E N/A
Result ❌ skipped

Workflow run

@github-actions

github-actions Bot commented Sep 2, 2026

Copy link
Copy Markdown

❌ LUKS End-to-End Test stable (dev) — FAILED

Step Details
ISO build N/A · N/A
LUKS E2E N/A
Result ❌ skipped

Workflow run

sec-check[bot] added 2 commits September 3, 2026 00:50
Signed-off-by: sec-check[bot] <sec-check[bot]@users.noreply.github.com>
(cherry picked from commit b3b559ee9cb2176e2752c522cd4012401e87526b)
Signed-off-by: sec-check[bot] <sec-check[bot]@users.noreply.github.com>
@github-actions

github-actions Bot commented Sep 3, 2026

Copy link
Copy Markdown

❌ Plain Install E2E lts (dev) — FAILED

Step Details
ISO build 6155 MiB · 19m 7s
Plain E2E N/A
QEMU RAM 4096 MiB (tight overlay tmpfs)
Result ❌ failure

Workflow run

@github-actions

github-actions Bot commented Sep 3, 2026

Copy link
Copy Markdown

❌ Plain Install E2E dakota (stable) — FAILED

Step Details
ISO build 4768 MiB · 26m 0s
Plain E2E N/A
QEMU RAM 4096 MiB (tight overlay tmpfs)
Result ❌ failure

Workflow run

@github-actions

github-actions Bot commented Sep 3, 2026

Copy link
Copy Markdown

❌ LUKS End-to-End Test lts (dev) — FAILED

Step Details
ISO build N/A · N/A
LUKS E2E N/A
Result ❌ skipped

Workflow run

@github-actions

github-actions Bot commented Sep 3, 2026

Copy link
Copy Markdown

❌ Plain Install E2E stable (stable) — FAILED

Step Details
ISO build 7812 MiB · 49m 10s
Plain E2E N/A
QEMU RAM 4096 MiB (tight overlay tmpfs)
Result ❌ failure

Workflow run

@github-actions

github-actions Bot commented Sep 3, 2026

Copy link
Copy Markdown

❌ LUKS End-to-End Test lts (stable) — FAILED

Step Details
ISO build N/A · N/A
LUKS E2E N/A
Result ❌ skipped

Workflow run

@github-actions

github-actions Bot commented Sep 3, 2026

Copy link
Copy Markdown

❌ LUKS End-to-End Test dakota (dev) — FAILED

Step Details
ISO build N/A · N/A
LUKS E2E N/A
Result ❌ skipped

Workflow run

@github-actions

github-actions Bot commented Sep 3, 2026

Copy link
Copy Markdown

❌ LUKS End-to-End Test dakota (stable) — FAILED

Step Details
ISO build N/A · N/A
LUKS E2E N/A
Result ❌ skipped

Workflow run

@github-actions

github-actions Bot commented Sep 3, 2026

Copy link
Copy Markdown

❌ Plain Install E2E lts (stable) — FAILED

Step Details
ISO build 6156 MiB · 72m 33s
Plain E2E N/A
QEMU RAM 4096 MiB (tight overlay tmpfs)
Result ❌ failure

Workflow run

@github-actions

github-actions Bot commented Sep 3, 2026

Copy link
Copy Markdown

❌ Plain Install E2E dakota (dev) — FAILED

Step Details
ISO build 4768 MiB · 75m 45s
Plain E2E N/A
QEMU RAM 4096 MiB (tight overlay tmpfs)
Result ❌ failure

Workflow run

@github-actions

github-actions Bot commented Sep 3, 2026

Copy link
Copy Markdown

❌ LUKS End-to-End Test stable (stable) — FAILED

Step Details
ISO build N/A · N/A
LUKS E2E N/A
Result ❌ skipped

Workflow run

@github-actions

github-actions Bot commented Sep 3, 2026

Copy link
Copy Markdown

❌ Plain Install E2E stable (dev) — FAILED

Step Details
ISO build N/A · N/A
Plain E2E N/A
QEMU RAM 4096 MiB (tight overlay tmpfs)
Result ❌ skipped

Workflow run

@github-actions

github-actions Bot commented Sep 3, 2026

Copy link
Copy Markdown

❌ LUKS End-to-End Test stable (dev) — FAILED

Step Details
ISO build N/A · N/A
LUKS E2E N/A
Result ❌ skipped

Workflow run

sec-check[bot] added 2 commits September 4, 2026 01:30
Signed-off-by: sec-check[bot] <sec-check[bot]@users.noreply.github.com>
Signed-off-by: sec-check[bot] <sec-check[bot]@users.noreply.github.com>
@github-actions

github-actions Bot commented Sep 4, 2026

Copy link
Copy Markdown

❌ Plain Install E2E lts (dev) — FAILED

Step Details
ISO build 6155 MiB · 18m 6s
Plain E2E N/A
QEMU RAM 4096 MiB (tight overlay tmpfs)
Result ❌ failure

Workflow run

@github-actions

github-actions Bot commented Sep 4, 2026

Copy link
Copy Markdown

❌ LUKS End-to-End Test stable (stable) — FAILED

Step Details
ISO build 7812 MiB · 37m 55s
LUKS E2E N/A
Result ❌ failure

Workflow run

@github-actions

github-actions Bot commented Sep 4, 2026

Copy link
Copy Markdown

✅ Plain Install E2E lts (stable) — PASSED

Step Details
ISO build 6155 MiB · 39m 42s
Plain E2E 15m 44s
QEMU RAM 4096 MiB (tight overlay tmpfs)
Result ✅ success

Workflow run

@github-actions

github-actions Bot commented Sep 4, 2026

Copy link
Copy Markdown

❌ LUKS End-to-End Test stable (dev) — FAILED

Step Details
ISO build 7812 MiB · 48m 57s
LUKS E2E N/A
Result ❌ failure

Workflow run

@github-actions

github-actions Bot commented Sep 4, 2026

Copy link
Copy Markdown

❌ LUKS End-to-End Test lts (dev) — FAILED

Step Details
ISO build N/A · N/A
LUKS E2E N/A
Result ❌ skipped

Workflow run

@github-actions

github-actions Bot commented Sep 4, 2026

Copy link
Copy Markdown

❌ LUKS End-to-End Test dakota (dev) — FAILED

Step Details
ISO build N/A · N/A
LUKS E2E N/A
Result ❌ skipped

Workflow run

@github-actions

github-actions Bot commented Sep 4, 2026

Copy link
Copy Markdown

❌ LUKS End-to-End Test lts (stable) — FAILED

Step Details
ISO build N/A · N/A
LUKS E2E N/A
Result ❌ skipped

Workflow run

@github-actions

github-actions Bot commented Sep 4, 2026

Copy link
Copy Markdown

❌ Plain Install E2E stable (dev) — FAILED

Step Details
ISO build 7812 MiB · 61m 3s
Plain E2E N/A
QEMU RAM 4096 MiB (tight overlay tmpfs)
Result ❌ failure

Workflow run

@github-actions

github-actions Bot commented Sep 4, 2026

Copy link
Copy Markdown

❌ LUKS End-to-End Test dakota (stable) — FAILED

Step Details
ISO build N/A · N/A
LUKS E2E N/A
Result ❌ skipped

Workflow run

@github-actions

github-actions Bot commented Sep 4, 2026

Copy link
Copy Markdown

❌ Plain Install E2E dakota (dev) — FAILED

Step Details
ISO build 4768 MiB · 75m 50s
Plain E2E N/A
QEMU RAM 4096 MiB (tight overlay tmpfs)
Result ❌ failure

Workflow run

@github-actions

github-actions Bot commented Sep 4, 2026

Copy link
Copy Markdown

❌ Plain Install E2E dakota (stable) — FAILED

Step Details
ISO build 4768 MiB · 79m 23s
Plain E2E N/A
QEMU RAM 4096 MiB (tight overlay tmpfs)
Result ❌ failure

Workflow run

@github-actions

github-actions Bot commented Sep 4, 2026

Copy link
Copy Markdown

❌ Plain Install E2E stable (stable) — FAILED

Step Details
ISO build N/A · N/A
Plain E2E N/A
QEMU RAM 4096 MiB (tight overlay tmpfs)
Result ❌ skipped

Workflow run

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants