63 lines
2.0 KiB
YAML
63 lines
2.0 KiB
YAML
name: One-time WorldMarkers update
|
|
|
|
on:
|
|
push:
|
|
branches:
|
|
- feature/client-tweaks
|
|
paths:
|
|
- .github/workflows/worldmarkers-update.yml
|
|
|
|
permissions:
|
|
contents: write
|
|
|
|
jobs:
|
|
update:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
|
|
- name: Download and verify WorldMarkers v0.7.1
|
|
shell: bash
|
|
run: |
|
|
set -euo pipefail
|
|
url="https://codeberg.org/MarcelineVQ/WeirdUtils/releases/download/v0.7.1/worldmarkers.dll"
|
|
tmp="/tmp/worldmarkers.dll"
|
|
curl -fL --retry 3 -o "$tmp" "$url"
|
|
|
|
expected_sha="7b0b0fcdb8bb9e82c5a18ab395af670f57da3e03035b27d5e244e4f8b457fdf2"
|
|
actual_sha="$(sha256sum "$tmp" | awk '{print $1}')"
|
|
test "$actual_sha" = "$expected_sha"
|
|
|
|
test "$(stat -c '%s' "$tmp")" = "488448"
|
|
|
|
python3 - <<'PY'
|
|
import struct
|
|
path="/tmp/worldmarkers.dll"
|
|
with open(path,"rb") as f:
|
|
data=f.read(64)
|
|
assert len(data)>=64 and data[:2]==b"MZ"
|
|
pe=struct.unpack_from("<I",data,0x3C)[0]
|
|
f.seek(pe)
|
|
assert f.read(4)==b"PE\0\0"
|
|
coff=f.read(20)
|
|
machine=struct.unpack_from("<H",coff,0)[0]
|
|
optional_size=struct.unpack_from("<H",coff,16)[0]
|
|
assert optional_size>=2
|
|
magic=struct.unpack("<H",f.read(2))[0]
|
|
assert machine==0x014C, hex(machine)
|
|
assert magic==0x010B, hex(magic)
|
|
PY
|
|
|
|
cp "$tmp" Payload/WeirdUtils/worldmarkers.dll
|
|
|
|
- name: Commit updated binary
|
|
shell: bash
|
|
run: |
|
|
set -euo pipefail
|
|
git config user.name "github-actions[bot]"
|
|
git config user.email "41898282+github-actions[bot]@users.noreply.github.com"
|
|
git add Payload/WeirdUtils/worldmarkers.dll
|
|
git diff --cached --quiet && exit 0
|
|
git commit -m "weirdutils: update WorldMarkers to v0.7.1"
|
|
git push origin HEAD:feature/client-tweaks
|