Initial: MPQ patch packager (Gitea Action, StormLib-based)

A BigWigs-style CI packager for WoW MPQ patch archives. Reads an mpq.yaml
manifest, stages files, builds a vanilla-1.12-compatible patch-X.mpq via
StormLib, and (in the example workflow) attaches it to a Gitea release on tag.
This commit is contained in:
2026-06-25 21:34:12 -05:00
parent df6372ac94
commit 4293e90a97
12 changed files with 628 additions and 0 deletions
+27
View File
@@ -0,0 +1,27 @@
#!/usr/bin/env bash
# Gitea Action entrypoint. Reads action inputs from the INPUT_* environment
# variables Gitea/GitHub Actions set, then runs the packager.
set -euo pipefail
manifest="${INPUT_MANIFEST:-mpq.yaml}"
repo="${INPUT_REPO:-${GITHUB_WORKSPACE:-.}}"
out_dir="${INPUT_OUT_DIR:-dist}"
version="${INPUT_VERSION:-${GITHUB_REF_NAME:-}}"
# Derive revision/date from git when available; harmless if absent.
revision=""
date_iso=""
if command -v git >/dev/null 2>&1 && git -C "$repo" rev-parse --short HEAD >/dev/null 2>&1; then
revision="$(git -C "$repo" rev-parse --short HEAD)"
date_iso="$(git -C "$repo" show -s --format=%cI HEAD)"
fi
echo "mpq-packager: manifest=$manifest repo=$repo version=${version:-<none>}"
exec python3 /opt/mpq-packager/package.py \
--manifest "$manifest" \
--repo "$repo" \
--out-dir "$out_dir" \
--version "$version" \
--revision "$revision" \
--date "$date_iso"