This commit is contained in:
63
README.md
Normal file
63
README.md
Normal file
@ -0,0 +1,63 @@
|
|||||||
|
# 🏗️ 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
|
||||||
|
```
|
||||||
|
3. **Watch**: Go to the **Actions** tab in Gitea to see the build progress.
|
||||||
|
|
||||||
|
4. **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
|
||||||
|
```Dockerfile
|
||||||
|
|
||||||
|
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"]
|
||||||
|
```
|
||||||
Reference in New Issue
Block a user