Complete 26.3 parity acceptance and dual-version release workflow
Build and smoke / changes (push) Waiting to run

This commit is contained in:
dnorberg committed 2026-11-14 12:17:49 -05:00
1 parent 41daff1e61
commit 4a59fb5d02
26 files changed
+1241 -369

No files matched your search

+54 -3
View File
@@ -43,11 +43,62 @@ JARs; use new worlds and remove them regardless of pass/fail. Stop test processe
If generation stalls, hand the test to the user.
Before closing a port umbrella issue, compare its acceptance criteria and comments
to actual evidence. Current expanded-catalog two-client create/travel/reconnect/
restart/stale-ack regression remains in #100. #103 retains dual-line release
automation/regression completion and #104 retains the full parity gate.
to actual evidence. The expanded-catalog matrix and manual restart/return handoff completed in #100.
See [the final parity review](MC263_PARITY_REVIEW.md) for evidence and limits.
Shared issues need both versions resolved before closure.
For each release, document tested optional versions and no-optional fallbacks,
match client/server JARs, preserve the independent 1.21.1 support line, update wiki
and platform descriptions, and keep known bugs linked in the release notes.
## Changed-target validation policy
Only test a Minecraft target when its code/resources changed. Select targets with
`python3 scripts/changed_targets.py --base <commit>`. Shared assets can select
both; temporary servers must run sequentially. Earlier gameplay sign-off remains
valid for unchanged 1.21.1 code.
Repeatable local checks:
- Java 21 / 1.21.1: `./gradlew build --console=plain`.
- Java 25 / 26.3: `./gradlew -p ports/mc263 build --console=plain`.
- Smoke one changed target: `python3 scripts/smoke_server.py --target mc1211`
or `--target mc263`.
- Two-client 26.3 acceptance: `python3 scripts/regression_multiplayer_263.py`.
Fixture sources remain outside the shipping JAR. If a test stalls, stop it,
preserve logs, delete temporary worlds and hand the remaining check to the user.
Do not automatically retry.
GitHub and Gitea workflow definitions select changed targets and use
`max-parallel: 1`. Hosted execution is not yet verified. Repository runner
inventory alone does not establish availability of instance-wide runners.
The publisher checks embedded version/Minecraft metadata, Java selection,
filename identity, absence of test fixtures and required 1.21.1 dependencies.
Apply relevant fixes to both supported lines, with separate implementation and
validation per target. Keep version-specific fixes on the affected line. Advancing
the newer Minecraft/NeoForge target requires a compatibility audit and must not
silently replace 1.21.1 support or widen an existing JAR dependency range.
## Current acceptance evidence (2026-11-14)
26.3.0.3 builds and the user passed book-window mouse-look, right-click return
and re-entry. Beta branding is removed. The release collects these changes,
the workflow tools and the final parity review.
The expanded-catalog dedicated matrix ran with two real clients. Both received
runtime-created Ages and authored environment data, traveled using normal books,
and passed stale-ack rejection/recovery, occupied-unload refusal, empty-Age
reload/reseed and retirement checks. After full server restart both reconnected in
the surviving Age with its saved seed and presentation, without the retired Age.
The run stalled at the final post-restart return Linking Book step (phase 22).
It was stopped, temporary worlds deleted, and the last check handed off rather
than retried. Singleplayer preview sign-off does not replace that dedicated check.
The player completed the manual dedicated-server restart/return check on
2026-11-14 and explicitly accepted #100. This was one player-operated client,
complementing the automated two-client evidence; it is not described as a new
automated two-client pass. The test server was stopped, logs retained under
build/verification/issue100-manual, and its temporary world removed.
See [the final parity review](MC263_PARITY_REVIEW.md). Renderer bug #116 remains
separately tracked. #103/#104 and parent #96 close after release verification.