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.
26 lines
1.0 KiB
Bash
Executable File
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
|