Add MPQ verify modes, harden CI assertions, fix CRLF/docstring
CI / build-and-smoke (push) Failing after 31s

- mpqpack gains --list and --cat (StormLib-backed) for reading archives back
- CI now asserts the archive lists the expected file and that version
  substitution landed inside the MPQ, not just that a file exists
- Dockerfile strips CRLF from entrypoint/package so local Windows builds work
- drop invalid escape in package.py docstring
This commit is contained in:
2026-06-25 21:54:09 -05:00
parent 64abb39d0b
commit 922aea9bc1
5 changed files with 59 additions and 5 deletions
+10 -2
View File
@@ -28,8 +28,16 @@ jobs:
-v "$PWD/test:/work" \
mpq-packager:ci
- name: Assert artifact exists
- name: Assert archive is valid and contains the expected file
run: |
set -euo pipefail
test -s test/dist/patch-Z.mpq
echo "OK: $(stat -c%s test/dist/patch-Z.mpq) bytes"
echo "size: $(stat -c%s test/dist/patch-Z.mpq) bytes"
# Read the archive back with StormLib (mpqpack --list/--cat).
docker run --rm --entrypoint mpqpack -v "$PWD/test:/work" mpq-packager:ci \
--list /work/dist/patch-Z.mpq | tee /tmp/list.txt
grep -q 'Interface\\AddOns\\Fixture\\Hello.lua' /tmp/list.txt
docker run --rm --entrypoint mpqpack -v "$PWD/test:/work" mpq-packager:ci \
--cat /work/dist/patch-Z.mpq 'Interface\AddOns\Fixture\Hello.lua' \
| grep -q 'VERSION = "v0.0.0-ci"'
echo "OK: archive valid, path + substitution confirmed"