Skip to content

End 2 End tests for OctoPi using qemu - #879

Merged
guysoft merged 3 commits into
develfrom
feature/e2e
Aug 2, 2026
Merged

End 2 End tests for OctoPi using qemu#879
guysoft merged 3 commits into
develfrom
feature/e2e

Conversation

@guysoft

@guysoft guysoft commented Feb 22, 2026

Copy link
Copy Markdown
Owner

This adds automated end2end tests that confirm that OctoPi loads octoprint and boots in a virtual qemu environment. Currently it tests that OctoPrint starts and that ssh is working and captures a screenshot of the install wizard.

It could be extended to include other tests. It runs on github actions and locally:

cd testing/
./run-test.sh

guysoft added 3 commits August 2, 2026 16:27
Reusable QEMU-based end-to-end test harness for OctoPi that boots the
built image, waits for SSH, patches haproxy for IPv4-only QEMU, and
verifies the OctoPrint setup wizard is reachable (HTTP 200 +
CONFIG_WIZARD) with a headless-Chrome screenshot + OCR retry.

Sources shared scripts from the CustomPiOS distro_testing framework
via the ghcr.io/guysoft/custompios:devel container image.
…oader

- Build armhf and arm64 in a fail-fast matrix (raspberrypiarmhf/armhf,
  raspberrypiarm64/arm64) and name artifacts octopi-${{ matrix.arch }}.
- Bump actions/checkout to v4 and pin CustomPiOS to ref: devel.
- Replace the hardcoded raspios_lite_armhf_latest wget with the shared
  base_image_downloader_wrapper.sh so arm64 images download correctly.
- Pass BASE_BOARD through build_dist and tag the image name with the
  matrix arch; always upload artifacts (not only on schedule) so the
  e2e-test job can consume them.
Add an e2e-test job that calls guysoft/CustomPiOS/.github/workflows/
e2e-test.yml@devel with the octopi-arm64 build artifact, gating on the
QEMU-based end-to-end harness added in the previous commit.
@guysoft
guysoft merged commit b24c43a into devel Aug 2, 2026
3 checks passed
@guysoft
guysoft deleted the feature/e2e branch August 2, 2026 17:48
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.

1 participant