Olof Pettersson 510c695444
All checks were successful
Publish Builder Images / setup (push) Successful in 3s
Publish Builder Images / build-base (push) Successful in 34s
Publish Builder Images / build-targets (Dockerfile.linux, linux) (push) Successful in 1m52s
Publish Builder Images / build-targets (Dockerfile.windows, windows) (push) Successful in 3m23s
Fix static linker
2025-12-03 23:21:06 +01:00
2025-12-03 23:21:06 +01:00
2025-12-03 18:29:00 +01:00
2025-11-30 21:30:17 +01:00

🏗️ Godot Builder Image

This repository contains the Dockerfile definition for a custom build container used by our Gitea Runners.

It is designed to cross-compile Godot Engine and GDExtension projects for Linux (x86_64) and Windows (x86_64/MinGW).

📦 What's Inside?

The image is based on Fedora 39 (to ensure up-to-date MinGW packages) and includes:

  • Build Systems: SCons, Make, Automake, Git

  • Compilers: GCC (Linux), MinGW-w64 (Windows Cross-compile), Yasm

  • Godot Dependencies: X11, Mesa (GL), ALSA, PulseAudio, uDev

🚀 How to Build & Publish

This process is automated.

  1. Modify: Make changes to the Dockerfile if you need new dependencies (e.g., Python, newer GCC).
  • Push: Commit and push your changes to the main branch.
Bash

git add Dockerfile
git commit -m "Update builder dependencies"
git push origin main
  1. Watch: Go to the Actions tab in Gitea to see the build progress.

  2. Verify: Once green, go to your Profile > Packages tab. You should see a new version of godot-builder tagged latest.

🛠 Manual Usage (Local Testing)

If you need to test this image locally before pushing:

Bash

# Build locally
docker build -t godot-builder:local .

# Test compiling a project locally

docker run --rm -v $(pwd):/workspace -w /workspace godot-builder:local \
    scons platform=linux target=template_debug

📄 Dockerfile Reference


FROM fedora:39

# Install Build Tools & Cross-Compilers
RUN dnf -y install \
    git scons make automake which yasm \
    gcc gcc-c++ kernel-headers \
    mingw64-gcc mingw64-gcc-c++ mingw64-winpthreads-static \
    libX11-devel libXcursor-devel libXrandr-devel libXinerama-devel libXi-devel \
    mesa-libGL-devel alsa-lib-devel pulseaudio-libs-devel libudev-devel \
    && dnf clean all

CMD ["/bin/bash"]
Description
No description provided
Readme 85 MiB
Languages
Shell 100%