From d9d19df4838cf25e33a6dc7f57f74809c577af30 Mon Sep 17 00:00:00 2001 From: Olof Pettersson Date: Sun, 30 Nov 2025 21:24:32 +0100 Subject: [PATCH] Initial commit --- .gitea/workflows/publish-image.yaml | 25 ++++++++++++++++++++++++ Dockerfile.dockerfile | 30 +++++++++++++++++++++++++++++ 2 files changed, 55 insertions(+) create mode 100644 .gitea/workflows/publish-image.yaml create mode 100644 Dockerfile.dockerfile diff --git a/.gitea/workflows/publish-image.yaml b/.gitea/workflows/publish-image.yaml new file mode 100644 index 0000000..1ac4d69 --- /dev/null +++ b/.gitea/workflows/publish-image.yaml @@ -0,0 +1,25 @@ +name: Publish Builder Image +on: [push] + +jobs: + build-and-push: + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v3 + + - name: Login to Gitea Registry + # We use the internal URL for speed, but external DNS for the registry name + uses: docker/login-action@v2 + with: + registry: gitea.212.63.210.91.nip.io + username: ${{ gitea.actor }} + password: ${{ secrets.GITHUB_TOKEN }} # Gitea auto-injects this! + + - name: Build and Push + uses: docker/build-push-action@v4 + with: + context: . + push: true + # Tag it as 'latest' in your user's package registry + tags: gitea.212.63.210.91.nip.io/${{ gitea.repository_owner }}/godot-builder:latest \ No newline at end of file diff --git a/Dockerfile.dockerfile b/Dockerfile.dockerfile new file mode 100644 index 0000000..fcd8f38 --- /dev/null +++ b/Dockerfile.dockerfile @@ -0,0 +1,30 @@ +# We use Fedora because it has the most up-to-date MinGW packages for Godot 4 +FROM fedora:39 + +# Install Build Tools (GCC, MinGW, SCons, Yasm, Git) +# This covers Linux (GCC) and Windows (MinGW) compilation +RUN dnf -y install \ + git \ + scons \ + make \ + automake \ + gcc \ + gcc-c++ \ + kernel-headers \ + libX11-devel \ + libXcursor-devel \ + libXrandr-devel \ + libXinerama-devel \ + libXi-devel \ + mesa-libGL-devel \ + alsa-lib-devel \ + pulseaudio-libs-devel \ + libudev-devel \ + mingw64-gcc \ + mingw64-gcc-c++ \ + mingw64-winpthreads-static \ + yasm \ + which \ + && dnf clean all + +CMD ["/bin/bash"] \ No newline at end of file