Skip to content

Add CI smoke tests and optional Klipper host sandbox - #438

Open
danoli3 wants to merge 1 commit into
OpenNeptune3D:devfrom
danoli3:tests/ci-and-host-sandbox
Open

Add CI smoke tests and optional Klipper host sandbox#438
danoli3 wants to merge 1 commit into
OpenNeptune3D:devfrom
danoli3:tests/ci-and-host-sandbox

Conversation

@danoli3

@danoli3 danoli3 commented Aug 14, 2026

Copy link
Copy Markdown

Summary

Adds host-side tests that do not need a printer, plus optional scripts to stand up a Klipper/Moonraker/Fluidd sandbox on Ubuntu or a Pi 4/5.

This is ready as a dev-tools PR. It does not change printer-confs/ motion configs or MCU firmware.

image

Why

generate_conf.py and the installer scripts are easy to break without noticing. A VM can exercise Fluidd/Moonraker/config generation, but not homing, mesh, PID, or STM32 flashes.

What landed

  • GitHub Actions smoke.yml runs tests/smoke.sh on push/PR
  • bash -n + shellcheck --severity=error on all shell scripts
  • generate_conf.py coverage for N4 0.8/1.2, N4 Pro 0.8/1.2, Plus, and Max (including Max mesh/probe/current bounds)
  • tests/setup.sh provisions Klipper, Moonraker, Fluidd, KAMP, generated configs
  • tests/enable-https.sh terminates TLS at nginx with a self-signed cert (Let's Encrypt cannot sign Parallels 10.211.55.x)
  • tests/sandbox-moonraker.conf omits Mainsail, Mobileraker, and display_connector so a sandbox does not warn about missing printer-image paths
  • tests/README.md documents Parallels/Ubuntu Server vs Pi, and what still requires the Max

Test plan

  • bash tests/smoke.sh on macOS (GNU getopt/shellcheck skipped, unittests passed)
  • Same suite intended for Ubuntu Actions
  • setup.sh on a Parallels Ubuntu 24.04 ARM64 VM (Fluidd + Moonraker up; Linux MCU GPIO not present, as documented)
  • enable-https.shhttps://10.211.55.11/ returns 200
  • Trimmed Moonraker config clears update_manager warnings on the sandbox
  • Confirm Actions is green after this PR is opened

Notes for reviewers

  • setup.sh refuses to run on a real OpenNept4une image unless --force is passed.
  • Do not copy tests/sandbox-moonraker.conf onto a printer; the image moonraker.conf still owns display/Mobileraker.
  • Klippy will not go ready on Parallels (GPIO chip device not found). That is expected.

Catch installer and generate_conf.py regressions in GitHub Actions
without printer hardware. Also add optional Ubuntu/Pi provision
scripts for Fluidd, Moonraker, HTTPS, and generated model configs
so host-side work can be tested in a VM.
@danoli3

danoli3 commented Aug 14, 2026

Copy link
Copy Markdown
Author

image
image

@danoli3

danoli3 commented Aug 14, 2026

Copy link
Copy Markdown
Author

image

@danoli3

danoli3 commented Aug 14, 2026

Copy link
Copy Markdown
Author

Action is working on my fork so just a contributor restriction on this PR currently for green tick
https://github.com/danoli3/OpenNept4une/actions/runs/31780800433/job/94705938503

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