feat(portable): add Debian 12 Classic build baseline - #46
Merged
Conversation
|
🎉 This PR is included in version 1.11.0 🎉 The release is available on:
Your semantic-release bot 📦🚀 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Add a separate Debian 12 / glibc 2.36 Linux/amd64 image for portable Classic builds.
Implementation / behavior
Build modern pinned Classic dependencies against the baseline, expose machine-readable input and ABI metadata, and validate the real Classic client and its application-library closure. Add a dedicated automatic nonpublishing PR CI path and reviewed publication wiring.
Validation
The delivery-owned review section records exact-head checks and independent review before readiness.
Limitations / follow-up
Publishing the reviewed image requires a separately authorized merge and release. Distribution relocation, hardware gameplay, and audible playback remain parent integration acceptance.
Closes #45
Delivery review
The separate Linux/amd64 target builds modern pinned Classic dependencies on Debian 12 / glibc 2.36. The canonical coordinator and existing Classic/Windows targets retain their contracts.
Implementation details
Validation
Final head
c85e833ea8e3f0681c88f65a3dbb76ec4e455910passes all seven selected validation jobs, including the existing Linux, Classic, Windows cross-build and native Windows tests, plus the required aggregate. All 13 PR checks pass, including CodeQL and the Conventional PR title check.The real non-root Classic
8b920dffa0f5c161e9310b334df1cf48fbf15a36client built on Debian 12: 66 tests passed, 16 GPU tests skipped, zero failed, including a passing QUIC test. All 272 compiler commands use baseline CPU flags; the final 87-object ELF/provider closure agrees with the image closure. The CPU-only job does not establish native GPU acceptance.The portable consumer evidence artifact has SHA-256
fee90775494b0c1b2d5c69258fbe7af248ad22ebe4076fac4102bbb9f5ac626f. It retains the exact Classic revision, compiler commands, installed tool/input contract, test log and consumer ABI report.Local validation includes 11 ABI regressions, 21 existing owner tests, required-check aggregation, ShellCheck, actionlint and syntax/diff checks. Independent fresh complete-diff and actual-artifact review found no remaining actionable findings at the final head; both runtime/source closure and arbitrary non-root readability findings are validated resolved.
Boundaries
X11/Vulkan is the supported display backend. Native Wayland is absent; a Wayland desktop requires an XWayland route qualified by the parent integration. Steam user-storage integration is unsupported. Host graphics drivers remain external.
Merge, release and registry publication require separate authorization. Published digest consumption, distribution relocation, connectivity, actual hardware gameplay and audible playback remain with the parent integration. No image was published by this delivery.