Files
voculinux/packaging/void/smoke.sh
T
xavierk b47a65c91e
CI / security (push) Successful in 1m15s
CI / lint (push) Successful in 23s
CI / ai-review (push) Skipped
fix(void): build the xbps release from the tag, not an attached sdist (#37)
Every release is built from its tag alone by packaging/void/build-release.sh, shared by the tag workflow and local dry runs. Signs in a network-less container with the key mounted read-only and publishes to the tag release and the rolling latest release.
2026-11-06 15:31:47 +00:00

26 lines
1.0 KiB
Bash
Executable File

#!/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