-
Notifications
You must be signed in to change notification settings - Fork 0
Multiplatform Build
Chromus Master edited this page Jul 24, 2026
·
1 revision
DoomCraft distributes one JAR containing four native packages.
| Platform ID | GitHub runner |
|---|---|
linux-x86_64 |
ubuntu-24.04 |
windows-x86_64 |
windows-2022 |
macos-x86_64 |
macos-15-intel |
macos-arm64 |
macos-15 |
.github/workflows/build-multiplatform.yml
The workflow:
- checks out the repository;
- installs Python and Java 25;
- installs platform dependencies;
- compiles LZDoom and DoomCraftBridge;
- validates each native package;
- uploads each package as an intermediate artifact;
- downloads all four packages in the assembly job;
- places them under
src/main/resources/natives/; - builds the Fabric JAR;
- validates the final JAR;
- uploads the multiplatform artifact.
GitHub
→ Actions
→ DoomCraft - Build Multiplataforma
→ Run workflow
→ main
Tags matching:
v*
run the workflow and can publish a GitHub Release according to the workflow configuration.
For official public binary distribution, follow the current Project Policy.
Expected file:
doomcraft-1.0.0-multiplatform.jar
The workflow artifact is downloaded as a ZIP. Extract the ZIP before installing the JAR.
The final JAR should contain:
natives/linux-x86_64/native-build-id.txt
natives/windows-x86_64/native-build-id.txt
natives/macos-x86_64/native-build-id.txt
natives/macos-arm64/native-build-id.txt
Linux also includes the runtime libraries required by the packaged LZDoom build.
Native executables are not portable between:
- operating systems;
- CPU architectures;
- binary formats;
- system library environments.
The assembly job creates the single distribution JAR only after all native packages pass validation.
DoomCraft does not include WADs. Use only files that you obtained legally.
Repository · Issues · License