first cycle lab release
This commit is contained in:
@@ -0,0 +1,56 @@
|
||||
#!/usr/bin/env bash
|
||||
# Real Modrinth integration in a disposable Git clone. Never changes runtime.
|
||||
set -euo pipefail
|
||||
task_root=$(cd -- "$(dirname -- "${BASH_SOURCE[0]}")/.." && pwd)
|
||||
cd "$task_root"
|
||||
task_check=$(mktemp -d "$task_root/.tools/phase3-check.XXXXXX")
|
||||
printf '%s\n' "$task_check" > .tools/phase3-check-path
|
||||
mkdir "$task_check/source"
|
||||
git ls-files --cached --others --exclude-standard -z > "$task_check/files.list"
|
||||
tar --null -T "$task_check/files.list" -cf "$task_check/source.tar"
|
||||
tar --no-same-owner -xf "$task_check/source.tar" -C "$task_check/source"
|
||||
git -C "$task_check/source" init -q
|
||||
git -C "$task_check/source" add -A
|
||||
git -C "$task_check/source" -c user.name='Phase 3 verification' -c user.email='phase3@localhost' commit -qm 'Temporary integration snapshot'
|
||||
git clone -q "$task_check/source" "$task_check/clone"
|
||||
cd "$task_check/clone"
|
||||
ln -s "$task_root/node_modules" node_modules
|
||||
mkdir -p .tools/packwiz
|
||||
cp "$task_root/.tools/packwiz/packwiz" .tools/packwiz/packwiz
|
||||
cp "$task_root/.tools/docker-compose" .tools/docker-compose
|
||||
|
||||
task_version() {
|
||||
sed -i "s/^version = \".*\"$/version = \"$1\"/" pack/pack.toml
|
||||
(cd pack && ../.tools/packwiz/packwiz --cache ../.tools/packwiz/cache --config ../.tools/packwiz/config.toml refresh)
|
||||
}
|
||||
|
||||
./mcpack remove sophisticated-backpacks --yes
|
||||
test ! -e pack/mods/sophisticated-backpacks.pw.toml
|
||||
task_version phase3-remove
|
||||
./mcpack build
|
||||
|
||||
./mcpack add https://modrinth.com/mod/sophisticated-backpacks/version/pJxNzk4X --yes
|
||||
rg -q 'version = "pJxNzk4X"' pack/mods/sophisticated-backpacks.pw.toml
|
||||
task_version phase3-add
|
||||
./mcpack build
|
||||
|
||||
./mcpack update sophisticated-backpacks --yes
|
||||
if rg -q 'version = "pJxNzk4X"' pack/mods/sophisticated-backpacks.pw.toml; then
|
||||
echo 'Expected update away from older Backpacks version' >&2
|
||||
exit 1
|
||||
fi
|
||||
task_version phase3-update
|
||||
./mcpack build
|
||||
|
||||
# Seed the older version again so --all proves an actual update, not just no-op.
|
||||
./mcpack add https://modrinth.com/mod/sophisticated-backpacks/version/pJxNzk4X --yes
|
||||
rg -q 'version = "pJxNzk4X"' pack/mods/sophisticated-backpacks.pw.toml
|
||||
./mcpack update --all --yes
|
||||
if rg -q 'version = "pJxNzk4X"' pack/mods/sophisticated-backpacks.pw.toml; then
|
||||
echo 'Expected update --all to replace older Backpacks version' >&2
|
||||
exit 1
|
||||
fi
|
||||
task_version phase3-all
|
||||
./mcpack build
|
||||
git diff -- pack > "$task_check/source-changes.diff"
|
||||
printf 'PASS: remove, add pinned version, update one, update all; four full builds.\nClone: %s\n' "$task_check/clone"
|
||||
Reference in New Issue
Block a user