Skip to content

Comments

End 2 End tests for OctoPi using qemu#879

Open
guysoft wants to merge 5 commits intodevelfrom
feature/e2e
Open

End 2 End tests for OctoPi using qemu#879
guysoft wants to merge 5 commits intodevelfrom
feature/e2e

Conversation

@guysoft
Copy link
Owner

@guysoft guysoft commented Feb 22, 2026

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

- Update build.yml to build both armhf and arm64 using CustomPiOS v2
  board system (BASE_BOARD matrix) with base_image_downloader
- Add testing/ directory with Docker+QEMU-based E2E test harness that
  boots an OctoPi arm64 image, verifies SSH access, and checks
  OctoPrint web server availability
- Add e2e-test.yml workflow triggered by build completion that runs E2E
  tests on the arm64 artifact and uploads screenshot + logs
- Add e2e-test job to build.yml with needs: build, downloads the
  octopi-arm64 artifact and runs the QEMU test + screenshot
- Change e2e-test.yml to trigger on push to feature/e2e and devel
  using a stable arm64 image (workflow_run doesn't work from
  non-default branches)
E2E testing lives in build.yml as a job that tests the built arm64
image. No need for a separate workflow against a stable image.
The previous screenshot captured OctoPrint's "starting up" loading
screen instead of the actual UI. Now both the CI workflow and the
E2E test wait for OctoPrint to fully finish its startup phase by
checking for CONFIG_WIZARD in the page HTML, and puppeteer waits
for the #wizard_dialog to become visible before capturing.
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