#!/usr/bin/env bash set -euo pipefail SITE=/root/projects-site PROJ=/root/noxstrap OUT=$SITE/data/noxstrap SHOTS=${SHOTS:-/tmp/noxstrap-shots} echo "==> running the test suite" cd "$PROJ" cargo test --release echo "==> building the windows executable" cargo build --release --target x86_64-pc-windows-gnu -p noxstrap echo "==> staging the binary" mkdir -p "$OUT/files" rm -f "$OUT/files/"*.exe "$OUT/files/"*.zip cp target/x86_64-pc-windows-gnu/release/noxstrap.exe "$OUT/files/noxstrap.exe" echo "==> rendering screenshots" mkdir -p "$SHOTS" cargo run --release -q -p nox-gfx --example preview -- "$SHOTS/renderer.png" cargo run --release -q -p nox-text --example specimen -- "$SHOTS/text.png" NOX_FRAMES=90 NOX_DUMP="$SHOTS/app.png" cargo run --release -q -p noxstrap NOX_FRAMES=2 NOX_DUMP="$SHOTS/hover.png" NOX_POINTER=274,229 cargo run --release -q -p noxstrap NOX_FRAMES=3 NOX_DUMP="$SHOTS/versions.png" NOX_POINTER=84,134 NOX_PRESS=1 cargo run --release -q -p noxstrap NOX_FRAMES=3 NOX_DUMP="$SHOTS/mods.png" NOX_POINTER=84,164 NOX_PRESS=1 cargo run --release -q -p noxstrap NOX_FRAMES=3 NOX_DUMP="$SHOTS/tweaks.png" NOX_POINTER=84,194 NOX_PRESS=1 cargo run --release -q -p noxstrap NOX_FRAMES=3 NOX_DUMP="$SHOTS/settings.png" NOX_POINTER=84,224 NOX_PRESS=1 cargo run --release -q -p noxstrap mkdir -p "$OUT/shots" cp "$SHOTS"/*.png "$OUT/shots/" echo "==> snapshotting source" rm -rf "$OUT/src" mkdir -p "$OUT/src" find . \ -path ./target -prune -o \ -path ./.git -prune -o \ -name 'Cargo.lock' -prune -o \ -name '*.png' -prune -o \ -type f -print | while read -r file; do dest="$OUT/src/${file#./}" mkdir -p "$(dirname "$dest")" cp "$file" "$dest" done echo "==> building source archive" cd "$OUT/src" zip -q -r -9 "$OUT/files/noxstrap-source.zip" . echo "==> rebuilding site" cd "$SITE" cargo build --release if systemctl is-active --quiet projects-site; then echo "==> restarting service" systemctl restart projects-site fi echo "done:" ls -la "$OUT/files"