name: Smoke latest ISO # Manual-trigger smoke test against the last ISO `build-iso.yml` produced. # Use this when you've changed something that only affects smoke-vm.sh, # the PVE setup, or the secrets — skips the 25-min ISO rebuild and only # runs the ~2-min VM boot + /:5000 check. # # The ISO lives at /data/smoke-cache/latest.iso on the runner, populated # by build-iso.yml's "Cache ISO for smoke-latest" step. That path is # inside the runner's already-mounted /data volume, so no extra bind # mounts needed. on: workflow_dispatch: concurrency: group: smoke-latest cancel-in-progress: false jobs: smoke: runs-on: self-hosted timeout-minutes: 10 steps: - uses: actions/checkout@v4 - name: Check cached ISO exists run: | iso=/data/smoke-cache/latest.iso if [ ! -f "$iso" ]; then echo "::error::$iso not found — trigger build-iso.yml first to populate the cache." exit 1 fi echo "Will smoke: $iso" ls -lh "$iso" - name: Smoke-test ISO on Proxmox test host env: PVE_TEST_HOST: ${{ secrets.PVE_TEST_HOST }} PVE_TEST_TOKEN: ${{ secrets.PVE_TEST_TOKEN }} SMOKE_SHA: ${{ github.sha }} run: ./scripts/smoke-vm.sh /data/smoke-cache/latest.iso