blob: 09248b42ef4d509756bccbd25bd8032a7223a12c (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
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"
|