#!/bin/sh # Smoke gate for all Void templates (ticket #28): one command builds every # template in dependency order, signs the result with a throwaway key, installs # voculinux from that repository in a clean Void image and smokes it. The gate # runs the same code path as a release (packaging/void/build-release.sh), so a # gate that passes is a release that would build. # # Usage: packaging/void/smoke.sh # or: just void-smoke # # Podman only, never Docker. Nothing is published, and the release key is not # used. Needs the same tools as a release: podman, openssl, git, python3.11, # and uv 0.12.x or 0.13.x (see packaging/void/README.md). set -eu CDPATH="" HERE=$(dirname -- "$0") HERE=$(cd -- "$HERE" && pwd) # Dependency order: the app last. tests/test_void_smoke_gate.py fails if this # list drifts from packaging/void/srcpkgs. # shellcheck disable=SC2034 # read as data by build-release.sh, which parses this line PKGS="python3-PyAudio python3-pynput python3-pywhispercpp voculinux" exec "$HERE/build-release.sh" smoke