End 2 End tests for OctoPi using qemu - #879
Merged
Merged
Conversation
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.
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.
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