diff options
| author | St33v <github@f3rr3t.com> | 2026-01-30 18:16:03 +1100 |
|---|---|---|
| committer | St33v <github@f3rr3t.com> | 2026-01-30 18:16:03 +1100 |
| commit | 70f2fc45af8a0ea98e0e6f7b4254928dc7bfe317 (patch) | |
| tree | 1e28e8e75053e9bdcde02dce1ae63da39147400f /forge/script/publish-sotd.sh | |
| parent | 8f4de5585ddb57331056ead793548cf22a9f685b (diff) | |
systemd paths (build works, publish might)
Diffstat (limited to 'forge/script/publish-sotd.sh')
| -rwxr-xr-x | forge/script/publish-sotd.sh | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/forge/script/publish-sotd.sh b/forge/script/publish-sotd.sh new file mode 100755 index 0000000..09248b4 --- /dev/null +++ b/forge/script/publish-sotd.sh @@ -0,0 +1,42 @@ +#!/usr/bin/env bash +set -euo pipefail + +ROOT="$HOME/dox/st33v.com" +OUT="$ROOT/forge/out" +SOTD="$ROOT/sotd" + +log() { printf '[sotd-publish] %s\n' "$*" >&2; } +die() { log "$*"; exit 1; } + +publish_marker="$OUT/PUBLISH" +[[ -f "$publish_marker" ]] || die "No publish marker: $publish_marker" + +# mkdir -p "$SOTD" + +# Find candidate release directories in OUT (ignore marker files) +release_dirs=() +for d in "$OUT"/*; do + [[ -d "$d" ]] || continue + release_dirs+=( "$d" ) +done + +[[ ${#release_dirs[@]} -eq 1 ]] || die "Expected exactly 1 release dir in $OUT, found ${#release_dirs[@]}" + +rel="${release_dirs[0]}" + +[[ -f "$rel/release.eno" ]] || die "Missing release.eno in $(basename "$rel")" + +shopt -s nullglob +wav_files=( "$rel"/*.wav ) +shopt -u nullglob +(( ${#wav_files[@]} > 0 )) || die "Missing .wav in $(basename "$rel")" + +dest="$SOTD/$(basename "$rel")" +[[ ! -e "$dest" ]] || die "Destination already exists: $dest" + +mv "$rel" "$dest" +log "Published: $dest" + +# Cleanup markers after successful publish +rm -f "$OUT/PUBLISH" "$OUT/BUILT" + |
