| 1 | #!/usr/bin/env bash |
| 2 | set -euo pipefail |
| 3 | |
| 4 | SITE=/root/projects-site |
| 5 | PROJ=/root/noxstrap |
| 6 | OUT=$SITE/data/noxstrap |
| 7 | SHOTS=${SHOTS:-/tmp/noxstrap-shots} |
| 8 | |
| 9 | echo "==> running the test suite" |
| 10 | cd "$PROJ" |
| 11 | cargo test --release |
| 12 | |
| 13 | echo "==> building the windows executable" |
| 14 | cargo build --release --target x86_64-pc-windows-gnu -p noxstrap |
| 15 | |
| 16 | echo "==> staging the binary" |
| 17 | mkdir -p "$OUT/files" |
| 18 | rm -f "$OUT/files/"*.exe "$OUT/files/"*.zip |
| 19 | cp target/x86_64-pc-windows-gnu/release/noxstrap.exe "$OUT/files/noxstrap.exe" |
| 20 | |
| 21 | echo "==> rendering screenshots" |
| 22 | mkdir -p "$SHOTS" |
| 23 | cargo run --release -q -p nox-gfx --example preview -- "$SHOTS/renderer.png" |
| 24 | cargo run --release -q -p nox-text --example specimen -- "$SHOTS/text.png" |
| 25 | NOX_FRAMES=90 NOX_DUMP="$SHOTS/app.png" cargo run --release -q -p noxstrap |
| 26 | NOX_FRAMES=2 NOX_DUMP="$SHOTS/hover.png" NOX_POINTER=274,229 cargo run --release -q -p noxstrap |
| 27 | NOX_FRAMES=3 NOX_DUMP="$SHOTS/versions.png" NOX_POINTER=84,134 NOX_PRESS=1 cargo run --release -q -p noxstrap |
| 28 | NOX_FRAMES=3 NOX_DUMP="$SHOTS/mods.png" NOX_POINTER=84,164 NOX_PRESS=1 cargo run --release -q -p noxstrap |
| 29 | NOX_FRAMES=3 NOX_DUMP="$SHOTS/tweaks.png" NOX_POINTER=84,194 NOX_PRESS=1 cargo run --release -q -p noxstrap |
| 30 | NOX_FRAMES=3 NOX_DUMP="$SHOTS/settings.png" NOX_POINTER=84,224 NOX_PRESS=1 cargo run --release -q -p noxstrap |
| 31 | mkdir -p "$OUT/shots" |
| 32 | cp "$SHOTS"/*.png "$OUT/shots/" |
| 33 | |
| 34 | echo "==> snapshotting source" |
| 35 | rm -rf "$OUT/src" |
| 36 | mkdir -p "$OUT/src" |
| 37 | find . \ |
| 38 | -path ./target -prune -o \ |
| 39 | -path ./.git -prune -o \ |
| 40 | -name 'Cargo.lock' -prune -o \ |
| 41 | -name '*.png' -prune -o \ |
| 42 | -type f -print | while read -r file; do |
| 43 | dest="$OUT/src/${file#./}" |
| 44 | mkdir -p "$(dirname "$dest")" |
| 45 | cp "$file" "$dest" |
| 46 | done |
| 47 | |
| 48 | echo "==> building source archive" |
| 49 | cd "$OUT/src" |
| 50 | zip -q -r -9 "$OUT/files/noxstrap-source.zip" . |
| 51 | |
| 52 | echo "==> rebuilding site" |
| 53 | cd "$SITE" |
| 54 | cargo build --release |
| 55 | if systemctl is-active --quiet projects-site; then |
| 56 | echo "==> restarting service" |
| 57 | systemctl restart projects-site |
| 58 | fi |
| 59 | |
| 60 | echo "done:" |
| 61 | ls -la "$OUT/files" |