Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
41 commits
Select commit Hold shift + click to select a range
4f82f9c
Stage v3 import workflow
zerodancing Sep 7, 2026
515da62
Stage MCM v3 payload 001/085
zerodancing Sep 7, 2026
090c9d7
Stage MCM v3 payload 002/085
zerodancing Sep 7, 2026
692fd96
Stage MCM v3 payload 003/085
zerodancing Sep 7, 2026
fa7274a
Stage MCM v3 payload 004/085
zerodancing Sep 7, 2026
9eecd29
Add temporary v3 baseline export workflow
zerodancing Sep 7, 2026
2a62caa
Disable obsolete staged importer
zerodancing Sep 7, 2026
ce0f019
Stage exact v3 patch 001/019
zerodancing Sep 7, 2026
03c5aef
Stage complete v3 patch 001/033
zerodancing Sep 7, 2026
fb94509
Stage complete v3 patch 002/033
zerodancing Sep 7, 2026
c4521b4
Initialize final v3 staging payload
zerodancing Sep 7, 2026
ed485d2
Add final binary v3 importer
zerodancing Sep 8, 2026
5ebe3ff
Gate final v3 importer on complete payload
zerodancing Sep 8, 2026
7953c1f
Stage v3 archive part 1/4
zerodancing Sep 8, 2026
78489c0
Stage v3 archive part 2/4
zerodancing Sep 8, 2026
f99c9bd
Stage v3 archive part 3/4
zerodancing Sep 8, 2026
824e296
Stage v3 archive part 4/4
zerodancing Sep 8, 2026
5ea7c17
Mark MCM v3.0.0 payload ready
zerodancing Sep 8, 2026
02076c6
Run final v3 importer after complete staging
zerodancing Sep 8, 2026
d5b7808
Stage compact v3 patch 00/38
zerodancing Sep 8, 2026
851e8dc
Disable temporary binary importer during patch staging
zerodancing Sep 8, 2026
821d276
Stage compact v3 patch 01/38
zerodancing Sep 8, 2026
7a17499
Probe staged binary blobs
zerodancing Sep 8, 2026
50c6248
Record staged binary blob refs
zerodancing Sep 8, 2026
0415797
Stage compact v3 patch 02/38
zerodancing Sep 8, 2026
a6ebfd2
Stage compact v3 patch 03/38
zerodancing Sep 8, 2026
ce94905
Stage compact v3 patch 04/38
zerodancing Sep 8, 2026
6b0e80d
Add final verified v3 staging workflow
zerodancing Sep 8, 2026
1a062dc
Stage compact verified v3 delta
zerodancing Sep 8, 2026
c6e4aab
Trigger verified v3 staging finalize
zerodancing Sep 8, 2026
479cfc7
Add exact runner baseline export
zerodancing Sep 8, 2026
44555a9
Export exact runner baseline
zerodancing Sep 8, 2026
0c613e1
Add exact v3 finalizer
zerodancing Sep 8, 2026
9c2cff0
Stage exact v3 delta 01/13
zerodancing Sep 8, 2026
8888fd2
Use exact Base64 delta transport
zerodancing Sep 8, 2026
bf80818
Stage exact delta d00
zerodancing Sep 8, 2026
932ac0a
Stage exact delta d01
zerodancing Sep 8, 2026
3cefe11
Stage exact delta d02
zerodancing Sep 8, 2026
7161503
Stage exact delta d04
zerodancing Sep 8, 2026
660d1f0
Stage exact delta d05
zerodancing Sep 8, 2026
1d378b3
Stage exact delta d06
zerodancing Sep 8, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
31 changes: 31 additions & 0 deletions .github/workflows/export-staging-base.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
name: Export staging baseline

on:
push:
branches: [mcm-v3-import]
paths:
- '.github/workflows/export-staging-base.yml'
- '.mcm-import/EXPORT_BASE'

permissions:
contents: read

jobs:
export:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Pack exact current mod tree
shell: bash
run: |
set -euo pipefail
tar -cJf mcm-github-baseline.tar.xz metamorph_creative_menu
sha256sum mcm-github-baseline.tar.xz > mcm-github-baseline.sha256
- uses: actions/upload-artifact@v4
with:
name: mcm-github-baseline
path: |
mcm-github-baseline.tar.xz
mcm-github-baseline.sha256
if-no-files-found: error
retention-days: 1
31 changes: 31 additions & 0 deletions .github/workflows/export-zpatch-base.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
name: Export exact zpatch baseline

on:
push:
branches: [mcm-v3-import]
paths:
- '.mcm-zpatch/EXPORT'

permissions:
contents: read

jobs:
export:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Build exact runner baseline tar
shell: bash
run: |
set -euo pipefail
test "$(tr -d '\r\n ' < metamorph_creative_menu/VERSION.txt)" = '2.0.0'
tar --sort=name --mtime='UTC 1970-01-01' --owner=0 --group=0 --numeric-owner \
-cf mcm-old.tar metamorph_creative_menu
sha256sum mcm-old.tar > mcm-old.tar.sha256
- uses: actions/upload-artifact@v4
with:
name: exact-zpatch-baseline
path: |
mcm-old.tar
mcm-old.tar.sha256
retention-days: 1
85 changes: 85 additions & 0 deletions .github/workflows/finalize-v3-exact.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,85 @@
name: Finalize exact MCM 3.0.0 staging

on:
push:
branches: [mcm-v3-import]
paths:
- '.mcm-zpatch2/READY'

permissions:
contents: write

concurrency:
group: finalize-exact-mcm-v3
cancel-in-progress: false

jobs:
finalize:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0

- name: Build and verify exact runner v2 baseline
shell: bash
run: |
set -euo pipefail
test "$(tr -d '\r\n ' < metamorph_creative_menu/VERSION.txt)" = '2.0.0'
tar --sort=name --mtime='UTC 1970-01-01' --owner=0 --group=0 --numeric-owner \
-cf /tmp/mcm-old.tar metamorph_creative_menu
echo '30e7fda0b1dfa1ca1b8681b6068c5311043c26d87e7600d149323444bf98ffa4 /tmp/mcm-old.tar' | sha256sum -c -

- name: Decode and apply verified v3 delta
shell: bash
run: |
set -euo pipefail
test "$(find .mcm-zpatch2 -maxdepth 1 -name 'd*.b64' -type f | wc -l)" -eq 16
cat .mcm-zpatch2/d*.b64 | base64 -d > /tmp/mcm.delta.zst
echo '065e7420fe70fb4eddcd86905504f6e2898aef9f8226753efc5e53489325606f /tmp/mcm.delta.zst' | sha256sum -c -
command -v zstd >/dev/null
zstd -d --patch-from=/tmp/mcm-old.tar /tmp/mcm.delta.zst -o /tmp/mcm-new.tar
echo 'd1170a841516a9b97fab36c68035bab7c3015c25c12abc1bc33aa89e63656c41 /tmp/mcm-new.tar' | sha256sum -c -
rm -rf metamorph_creative_menu
tar -xf /tmp/mcm-new.tar

test "$(tr -d '\r\n ' < metamorph_creative_menu/VERSION.txt)" = '3.0.0'
grep -Fq 'v3.0.0' metamorph_creative_menu/mod.xml
test "$(find metamorph_creative_menu -type f | wc -l)" -eq 518
! grep -RniE 'test_?34|test 34' metamorph_creative_menu --exclude-dir=.git
test ! -e metamorph_creative_menu/files/integrations/ew/companion_request.lua
test ! -e metamorph_creative_menu/tests/companion_request_mock.lua
test ! -e metamorph_creative_menu/BOSS_FIX_TEST32_RU.md
test ! -e metamorph_creative_menu/KOLMI_FIX_TEST31_RU.md

- name: Refresh public version markers
shell: python
run: |
from pathlib import Path
for path in Path('.').glob('README*.md'):
text = path.read_text(encoding='utf-8')
path.write_text(text.replace('2.0.0', '3.0.0'), encoding='utf-8')

- name: Remove all temporary staging transport
shell: bash
run: |
set -euo pipefail
rm -rf .mcm-import .mcm-final .mcm-patch .mcm-zpatch .mcm-zpatch2
rm -f .github/workflows/finalize-v3-exact.yml
rm -f .github/workflows/finalize-v3-zpatch.yml
rm -f .github/workflows/export-zpatch-base.yml
rm -f .github/workflows/export-staging-base.yml
rm -f .github/workflows/import-chunked-v3.yml
rm -f .github/workflows/import-binary-v3.yml
rm -f .github/workflows/apply-v3-release-patch.yml

- name: Commit clean v3 staging tree
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 -A
git diff --cached --quiet && { echo 'No staged changes'; exit 1; }
git commit -m 'Stage Metamorph Creative Menu 3.0.0 release tree'
git push origin HEAD:mcm-v3-import
82 changes: 82 additions & 0 deletions .github/workflows/finalize-v3-zpatch.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,82 @@
name: Finalize MCM 3.0.0 staging

on:
push:
branches: [mcm-v3-import]
paths:
- '.mcm-zpatch/READY'

permissions:
contents: write

concurrency:
group: finalize-mcm-v3
cancel-in-progress: false

jobs:
finalize:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0

- name: Verify exact v2 baseline
shell: bash
run: |
set -euo pipefail
test "$(tr -d '\r\n ' < metamorph_creative_menu/VERSION.txt)" = '2.0.0'
tar --sort=name --mtime='UTC 1970-01-01' --owner=0 --group=0 --numeric-owner \
-cf /tmp/mcm-old.tar metamorph_creative_menu
echo '8a825a221c57594bb54b063736c21aab59dd0edb703dda3b5af0f7c7cbaf5e14 /tmp/mcm-old.tar' | sha256sum -c -

- name: Reconstruct exact v3 tree
shell: bash
run: |
set -euo pipefail
base64 -d .mcm-zpatch/delta.zst.b64 > /tmp/mcm.delta.zst
echo '43dc6572ac132f22dd1bb22da31ef29d2f615ecc0814e8d9ffc60045c2670498 /tmp/mcm.delta.zst' | sha256sum -c -
command -v zstd >/dev/null
zstd -d --patch-from=/tmp/mcm-old.tar /tmp/mcm.delta.zst -o /tmp/mcm-new.tar
echo 'd1170a841516a9b97fab36c68035bab7c3015c25c12abc1bc33aa89e63656c41 /tmp/mcm-new.tar' | sha256sum -c -
rm -rf metamorph_creative_menu
tar -xf /tmp/mcm-new.tar

test "$(tr -d '\r\n ' < metamorph_creative_menu/VERSION.txt)" = '3.0.0'
grep -Fq 'v3.0.0' metamorph_creative_menu/mod.xml
test "$(find metamorph_creative_menu -type f | wc -l)" -eq 518
! grep -RniE 'test_?34|test 34' metamorph_creative_menu --exclude-dir=.git
test ! -e metamorph_creative_menu/files/integrations/ew/companion_request.lua
test ! -e metamorph_creative_menu/tests/companion_request_mock.lua
test ! -e metamorph_creative_menu/BOSS_FIX_TEST32_RU.md
test ! -e metamorph_creative_menu/KOLMI_FIX_TEST31_RU.md

- name: Refresh public version markers
shell: python
run: |
from pathlib import Path
for path in Path('.').glob('README*.md'):
text = path.read_text(encoding='utf-8')
path.write_text(text.replace('2.0.0', '3.0.0'), encoding='utf-8')

- name: Remove all staging transport
shell: bash
run: |
set -euo pipefail
rm -rf .mcm-import .mcm-final .mcm-patch .mcm-zpatch
rm -f .github/workflows/finalize-v3-zpatch.yml
rm -f .github/workflows/export-staging-base.yml
rm -f .github/workflows/import-chunked-v3.yml
rm -f .github/workflows/import-binary-v3.yml
rm -f .github/workflows/apply-v3-release-patch.yml

- name: Commit clean v3 staging tree
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 -A
git diff --cached --quiet && { echo 'No staged changes'; exit 1; }
git commit -m 'Stage Metamorph Creative Menu 3.0.0 release tree'
git push origin HEAD:mcm-v3-import
1 change: 1 addition & 0 deletions .mcm-final/.placeholder
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
staging
1 change: 1 addition & 0 deletions .mcm-final/blob-marker.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
temporary binary blob size probe
3 changes: 3 additions & 0 deletions .mcm-final/blob-probe-refs.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
f8c38bef56206423584fe48066d4f851627cf37b
84d4194210b82e1a97e42ea7fb10a1a46c5d5ebb
a7c58c59b85034e331004f6a20c7ffca058e2c1f
1 change: 1 addition & 0 deletions .mcm-import/READY
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
a4879dfc06b71c46e146fd19ff82425fe7be6601e2aee54f984e417def48e48a
Loading