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
+35
View File
@@ -0,0 +1,35 @@
# CI for the packager itself: build the Docker image and smoke-test that it
# produces a non-empty patch-Z.mpq from the test fixture.
name: CI
on:
push:
branches: [main]
pull_request:
jobs:
build-and-smoke:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Build image
run: docker build -t mpq-packager:ci .
- name: Package the fixture
run: |
set -euo pipefail
docker run --rm \
-e INPUT_MANIFEST=mpq.yaml \
-e INPUT_VERSION=v0.0.0-ci \
-e INPUT_OUT_DIR=/work/dist \
-e GITHUB_WORKSPACE=/work \
-v "$PWD/test:/work" \
mpq-packager:ci
- name: Assert artifact exists
run: |
set -euo pipefail
test -s test/dist/patch-Z.mpq
echo "OK: $(stat -c%s test/dist/patch-Z.mpq) bytes"