From 8e781406e01239ce82f40868fd408156209414b9 Mon Sep 17 00:00:00 2001 From: Romain BOULLARD Date: Wed, 15 Apr 2026 10:55:20 +0200 Subject: [PATCH 01/19] SDK update --- .gitea/workflows/ci.yaml | 2 - Linux/BigfootBuilder/Dockerfile | 32 ------------ Linux/BigfootBuilder/conanfile.py | 56 -------------------- Linux/CPPBuilder/Dockerfile | 87 ++++++++++++++++++++++--------- 4 files changed, 61 insertions(+), 116 deletions(-) delete mode 100644 Linux/BigfootBuilder/Dockerfile delete mode 100644 Linux/BigfootBuilder/conanfile.py diff --git a/.gitea/workflows/ci.yaml b/.gitea/workflows/ci.yaml index 333093e..626a0df 100644 --- a/.gitea/workflows/ci.yaml +++ b/.gitea/workflows/ci.yaml @@ -75,8 +75,6 @@ jobs: tags: ${{ env.CPP_BUILDER_TAG }}:${{ env.BRANCH_NAME_LOWER }} build-args: | BASE_BUILDER=${{ env.BASE_BUILDER_TAG }}:${{ env.BRANCH_NAME_LOWER }} - - build-bigfoot-builder: runs-on: ubuntu-latest timeout-minutes: 360 needs: build-cpp-builder diff --git a/Linux/BigfootBuilder/Dockerfile b/Linux/BigfootBuilder/Dockerfile deleted file mode 100644 index 9d43ad2..0000000 --- a/Linux/BigfootBuilder/Dockerfile +++ /dev/null @@ -1,32 +0,0 @@ -ARG BASE_BUILDER - -FROM $BASE_BUILDER - -ARG CONAN_RELEASE_PROFILE -ARG CONAN_RELWITHDEBINFO_PROFILE -ARG CONAN_DEBUG_PROFILE - -RUN apt-get update \ - && apt-get install -y \ - xvfb \ - \ - # LunarG Vulkan repo (modern keyring method) - && wget -qO- https://packages.lunarg.com/lunarg-signing-key-pub.asc \ - | gpg --dearmor -o /usr/share/keyrings/lunarg-archive-keyring.gpg \ - \ - && echo "deb [signed-by=/usr/share/keyrings/lunarg-archive-keyring.gpg] https://packages.lunarg.com/vulkan/1.4.313 noble main" \ - > /etc/apt/sources.list.d/lunarg-vulkan.list \ - \ - && apt-get update \ - && apt-get install -y vulkan-sdk \ - \ - # Cleanup - && rm -rf /var/lib/apt/lists/* - -COPY conanfile.py BigfootDependencies/conanfile.py - -RUN ccache --zero-stats \ - && conan install ./BigfootDependencies --remote=bigfootpackages --build="*" -pr:h=${CONAN_RELEASE_PROFILE} -pr:b=${CONAN_RELEASE_PROFILE} -s build_type=Release \ - && conan install ./BigfootDependencies --remote=bigfootpackages --build="*" -pr:h=${CONAN_RELWITHDEBINFO_PROFILE} -pr:b=${CONAN_RELWITHDEBINFO_PROFILE} -s build_type=RelWithDebInfo \ - && conan install ./BigfootDependencies --remote=bigfootpackages --build="*" -pr:h=${CONAN_DEBUG_PROFILE} -pr:b=${CONAN_DEBUG_PROFILE} -s build_type=Debug \ - && ccache --show-stats \ No newline at end of file diff --git a/Linux/BigfootBuilder/conanfile.py b/Linux/BigfootBuilder/conanfile.py deleted file mode 100644 index 859d6b4..0000000 --- a/Linux/BigfootBuilder/conanfile.py +++ /dev/null @@ -1,56 +0,0 @@ -from conan import ConanFile - -class RequirementsConan(ConanFile): - name = "Requirements" - - def configure(self): - self.options['mimalloc'].override = True - self.options['mimalloc'].shared = True - - self.options['stduuid'].with_cxx20_span = True - self.options['flatbuffers'].header_only = True - - self.options["tracy"].on_demand = True - - self.options["spirv-cross"].exceptions = False - - self.options["benchmark"].enable_exceptions = False - self.options["benchmark"].enable_lto = True - - def requirements(self): - self.requires(f"eastl/3.27.01@bigfootdev/main") - self.requires(f"unordered_dense/4.8.1@bigfootdev/main") - self.requires(f"mimalloc/3.1.5@bigfootdev/main") - self.requires(f"stduuid/1.2.3@bigfootdev/main") - self.requires(f"sqlite3/3.51.0@bigfootdev/main") - self.requires("cli11/2.6.0") - self.requires(f"rapidhash/3.0@bigfootdev/main") - self.requires("effolkronium-random/1.5.0") - self.requires(f"flatbuffers/25.12.19@bigfootdev/main") - - self.requires("quill/11.0.2") - self.requires("tracy/0.12.2") - self.requires("cpptrace/1.0.4") - - self.requires("glm/1.0.1") - self.requires(f"lodepng/cci.20250727@bigfootdev/main") - self.requires("imgui/1.92.5-docking") - - self.requires("glfw/3.4") - - self.requires("vulkan-headers/1.4.313.0") - self.requires(f"vulkan-validationlayers/1.4.313.0@bigfootdev/main") - self.requires("spirv-cross/1.4.313.0") - self.requires(f"vulkan-memory-allocator/3.3.0@bigfootdev/main") - - self.requires("gtest/1.17.0") - self.requires(f"pixelmatch-cpp17/1.0.3@bigfootdev/main") - - self.requires("stb/cci.20240531", override=True) - self.requires(f"shaderc/2025.3@bigfootdev/main") - self.requires("assimp/6.0.2") - self.requires(f"meshoptimizer/1.0@bigfootdev/main") - self.requires("libsquish/1.15") - - self.requires("benchmark/1.9.4") - diff --git a/Linux/CPPBuilder/Dockerfile b/Linux/CPPBuilder/Dockerfile index 496d910..a79000d 100644 --- a/Linux/CPPBuilder/Dockerfile +++ b/Linux/CPPBuilder/Dockerfile @@ -4,34 +4,63 @@ ARG BASE_BUILDER # Base image FROM $BASE_BUILDER -# Environment variables for ccache and pipx -ENV CCACHE_DIR=/ccache \ - CCACHE_COMPRESS=1 \ - CCACHE_MAXSIZE=10G \ - CCACHE_COMPILERCHECK=content \ - PATH=/root/.local/bin:$PATH - -# Install system dependencies, clang, and pipx +# Install system dependencies RUN apt-get update && apt-get install -y \ + # Build tools build-essential \ - cppcheck \ - ccache \ + gcc \ + g++ \ cmake \ ninja-build \ - git \ + bison \ pkg-config \ + git \ + ccache \ + cppcheck \ wget \ lsb-release \ software-properties-common \ pipx \ - && rm -rf /var/lib/apt/lists/* \ - \ - # Install LLVM 21 - && wget https://apt.llvm.org/llvm.sh -O /tmp/llvm.sh \ + python-is-python3 \ + python3-jsonschema \ + ocaml-core \ + \ + # Libraries + libglm-dev \ + libpng-dev \ + libxml2-dev \ + liblz4-dev \ + libzstd-dev \ + libpciaccess0 \ + \ + # X11 / XCB + libx11-dev \ + libx11-xcb-dev \ + libxcb-dri3-0 \ + libxcb-dri3-dev \ + libxcb-present0 \ + libxcb-keysyms1-dev \ + libxcb-randr0-dev \ + libxcb-ewmh-dev \ + \ + # Wayland + libwayland-dev \ + wayland-protocols \ + \ + # Misc display + libxrandr-dev \ + \ + # Qt + qtbase5-dev \ + qt6-base-dev \ + && rm -rf /var/lib/apt/lists/* + +ENV PATH="/root/.local/bin:${PATH}" + +# Install LLVM 20 and symlink tools +RUN wget https://apt.llvm.org/llvm.sh -O /tmp/llvm.sh \ && chmod +x /tmp/llvm.sh \ && /tmp/llvm.sh 20 all \ - \ - # Symlinks for clang 21 tools && ln -sf /usr/bin/clang-20 /usr/bin/clang \ && ln -sf /usr/bin/clang++-20 /usr/bin/clang++ \ && ln -sf /usr/bin/llvm-profdata-20 /usr/bin/llvm-profdata \ @@ -42,9 +71,7 @@ RUN apt-get update && apt-get install -y \ && ln -sf /usr/bin/llvm-ar-20 /usr/bin/llvm-ar \ && ln -sf /usr/bin/llvm-nm-20 /usr/bin/llvm-nm \ && ln -sf /usr/bin/llvm-ranlib-20 /usr/bin/llvm-ranlib \ - \ - # Reset ccache stats - && ccache --zero-stats + && rm -f /tmp/llvm.sh RUN VERSION=1.2.0; \ curl -sSL "https://github.com/facebook/infer/releases/download/v$VERSION/infer-linux-x86_64-v$VERSION.tar.xz" \ @@ -52,8 +79,7 @@ RUN VERSION=1.2.0; \ ln -s "/opt/infer-linux-x86_64-v$VERSION/bin/infer" /usr/bin/infer # Install pipx and Conan -RUN pipx ensurepath \ - && pipx install conan \ +RUN pipx install conan \ && pipx install gcovr # Build and install mold @@ -61,8 +87,6 @@ RUN git clone --branch v2.40.4 https://github.com/rui314/mold.git /tmp/mold \ && cd /tmp/mold \ && cmake . -DCMAKE_BUILD_TYPE=Release \ -DCMAKE_CXX_COMPILER=clang++ \ - -DCMAKE_CXX_COMPILER_LAUNCHER=ccache \ - -DCMAKE_C_COMPILER_LAUNCHER=ccache \ -B build \ && cmake --build build -j$(nproc) \ && cmake --install build \ @@ -73,5 +97,16 @@ RUN conan config install https://git.romainboullard.com/BigfootDev/ConanProfiles && conan remote add bigfootpackages https://conan.romainboullard.com/artifactory/api/conan/BigfootPackages \ && conan remote disable conancenter -# Show ccache stats (optional, for debugging) -RUN ccache --show-stats \ No newline at end of file +# Install Vulkan SDK 1.4.341.0 +RUN wget -q https://sdk.lunarg.com/sdk/download/1.4.341.0/linux/vulkansdk-linux-x86_64-1.4.341.0.tar.xz \ + -O /tmp/vulkansdk.tar.xz \ + && mkdir -p /opt/vulkan \ + && tar -xf /tmp/vulkansdk.tar.xz -C /opt/vulkan \ + && rm /tmp/vulkansdk.tar.xz + +ENV VULKAN_SDK=/opt/vulkan/1.4.341.0/x86_64 +ENV PATH="${VULKAN_SDK}/bin:${PATH}" +ENV LD_LIBRARY_PATH="${VULKAN_SDK}/lib:${LD_LIBRARY_PATH}" +ENV VK_LAYER_PATH="${VULKAN_SDK}/share/vulkan/explicit_layer.d" +ENV VK_ADD_LAYER_PATH="${VULKAN_SDK}/share/vulkan/explicit_layer.d" +ENV PKG_CONFIG_PATH="${VULKAN_SDK}/lib/pkgconfig/:${PKG_CONFIG_PATH}" \ No newline at end of file -- 2.49.1 From cbb50e25a49bc14e546f4459397c7c61814f6c87 Mon Sep 17 00:00:00 2001 From: Romain BOULLARD Date: Wed, 15 Apr 2026 10:59:41 +0200 Subject: [PATCH 02/19] Fix CI --- .gitea/workflows/ci.yaml | 37 +------------------------------------ 1 file changed, 1 insertion(+), 36 deletions(-) diff --git a/.gitea/workflows/ci.yaml b/.gitea/workflows/ci.yaml index 626a0df..d4e1ca3 100644 --- a/.gitea/workflows/ci.yaml +++ b/.gitea/workflows/ci.yaml @@ -10,7 +10,6 @@ env: BRANCH_NAME: ${{ github.ref_name }} BASE_BUILDER_TAG: ${{ vars.DOCKER_IMAGE }}/linuxbasebuilder CPP_BUILDER_TAG: ${{ vars.DOCKER_IMAGE }}/linuxcppbuilder - BIGFOOT_BUILDER_TAG: ${{ vars.DOCKER_IMAGE }}/linuxbigfootbuilder jobs: build-base-builder: @@ -74,38 +73,4 @@ jobs: push: true tags: ${{ env.CPP_BUILDER_TAG }}:${{ env.BRANCH_NAME_LOWER }} build-args: | - BASE_BUILDER=${{ env.BASE_BUILDER_TAG }}:${{ env.BRANCH_NAME_LOWER }} - runs-on: ubuntu-latest - timeout-minutes: 360 - needs: build-cpp-builder - - steps: - - name: Set ENV - run: | - echo "BRANCH_NAME_LOWER=$(echo $GITHUB_REF_NAME | tr '[:upper:]' '[:lower:]')" >> $GITHUB_ENV - echo "BRANCH_NAME=$(echo $GITHUB_REF_NAME)" >> $GITHUB_ENV - - - name: Checkout - uses: actions/checkout@v6 - - - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v3 - - - name: Login to the Container registry - uses: docker/login-action@v3 - with: - registry: ${{ vars.DOCKER_REGISTRY }} - username: ${{ secrets.DOCKER_USERNAME }} - password: ${{ secrets.DOCKER_TOKEN }} - - - name: Build and push bigfoot builder - uses: docker/build-push-action@v5 - with: - context: ./Linux/BigfootBuilder - push: true - tags: ${{ env.BIGFOOT_BUILDER_TAG }}:${{ env.BRANCH_NAME_LOWER }} - build-args: | - BASE_BUILDER=${{ env.CPP_BUILDER_TAG }}:${{ env.BRANCH_NAME_LOWER }} - CONAN_RELEASE_PROFILE=clang - CONAN_RELWITHDEBINFO_PROFILE=clangd - CONAN_DEBUG_PROFILE=clangd \ No newline at end of file + BASE_BUILDER=${{ env.BASE_BUILDER_TAG }}:${{ env.BRANCH_NAME_LOWER }} \ No newline at end of file -- 2.49.1 From 04d3bc7f7581b0f27f1f89c9c96c7f0b785ac500 Mon Sep 17 00:00:00 2001 From: Romain BOULLARD Date: Wed, 15 Apr 2026 11:08:16 +0200 Subject: [PATCH 03/19] update actions --- .gitea/workflows/ci.yaml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/.gitea/workflows/ci.yaml b/.gitea/workflows/ci.yaml index d4e1ca3..306f578 100644 --- a/.gitea/workflows/ci.yaml +++ b/.gitea/workflows/ci.yaml @@ -26,17 +26,17 @@ jobs: uses: actions/checkout@v6 - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v3 + uses: docker/setup-buildx-action@v4 - name: Login to the Container registry - uses: docker/login-action@v3 + uses: docker/login-action@v4 with: registry: ${{ vars.DOCKER_REGISTRY }} username: ${{ secrets.DOCKER_USERNAME }} password: ${{ secrets.DOCKER_TOKEN }} - name: Build and push base builder - uses: docker/build-push-action@v5 + uses: docker/build-push-action@v7 with: context: ./Linux/BaseBuilder push: true @@ -57,17 +57,17 @@ jobs: uses: actions/checkout@v6 - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v3 + uses: docker/setup-buildx-action@v4 - name: Login to the Container registry - uses: docker/login-action@v3 + uses: docker/login-action@v4 with: registry: ${{ vars.DOCKER_REGISTRY }} username: ${{ secrets.DOCKER_USERNAME }} password: ${{ secrets.DOCKER_TOKEN }} - name: Build and push cpp builder - uses: docker/build-push-action@v5 + uses: docker/build-push-action@v7 with: context: ./Linux/CPPBuilder push: true -- 2.49.1 From 1d7f247895f1575c31c0a40daef46bbe9c7b06a3 Mon Sep 17 00:00:00 2001 From: Romain BOULLARD Date: Wed, 15 Apr 2026 12:25:08 +0200 Subject: [PATCH 04/19] dind ? --- .gitea/workflows/ci.yaml | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/.gitea/workflows/ci.yaml b/.gitea/workflows/ci.yaml index 306f578..6f97360 100644 --- a/.gitea/workflows/ci.yaml +++ b/.gitea/workflows/ci.yaml @@ -14,6 +14,12 @@ env: jobs: build-base-builder: runs-on: ubuntu-latest + services: + docker: + image: docker:dind + options: --privileged --shm-size=2g + volumes: + - /var/run/docker.sock:/var/run/docker.sock:ro timeout-minutes: 360 steps: @@ -44,6 +50,12 @@ jobs: build-cpp-builder: runs-on: ubuntu-latest + services: + docker: + image: docker:dind + options: --privileged --shm-size=2g + volumes: + - /var/run/docker.sock:/var/run/docker.sock:ro timeout-minutes: 360 needs: build-base-builder -- 2.49.1 From abc646e679d4ede4739adf33055894759b5983df Mon Sep 17 00:00:00 2001 From: Romain BOULLARD Date: Wed, 15 Apr 2026 16:51:08 +0200 Subject: [PATCH 05/19] no dind --- .gitea/workflows/ci.yaml | 12 ------------ 1 file changed, 12 deletions(-) diff --git a/.gitea/workflows/ci.yaml b/.gitea/workflows/ci.yaml index 6f97360..306f578 100644 --- a/.gitea/workflows/ci.yaml +++ b/.gitea/workflows/ci.yaml @@ -14,12 +14,6 @@ env: jobs: build-base-builder: runs-on: ubuntu-latest - services: - docker: - image: docker:dind - options: --privileged --shm-size=2g - volumes: - - /var/run/docker.sock:/var/run/docker.sock:ro timeout-minutes: 360 steps: @@ -50,12 +44,6 @@ jobs: build-cpp-builder: runs-on: ubuntu-latest - services: - docker: - image: docker:dind - options: --privileged --shm-size=2g - volumes: - - /var/run/docker.sock:/var/run/docker.sock:ro timeout-minutes: 360 needs: build-base-builder -- 2.49.1 From 125f32bbf7127124f57ce989f18f44002b05aa28 Mon Sep 17 00:00:00 2001 From: Romain BOULLARD Date: Wed, 15 Apr 2026 16:59:51 +0200 Subject: [PATCH 06/19] downgrade test --- .gitea/workflows/ci.yaml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.gitea/workflows/ci.yaml b/.gitea/workflows/ci.yaml index 306f578..032a184 100644 --- a/.gitea/workflows/ci.yaml +++ b/.gitea/workflows/ci.yaml @@ -26,17 +26,17 @@ jobs: uses: actions/checkout@v6 - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v4 + uses: docker/setup-buildx-action@v3 - name: Login to the Container registry - uses: docker/login-action@v4 + uses: docker/login-action@v3 with: registry: ${{ vars.DOCKER_REGISTRY }} username: ${{ secrets.DOCKER_USERNAME }} password: ${{ secrets.DOCKER_TOKEN }} - name: Build and push base builder - uses: docker/build-push-action@v7 + uses: docker/build-push-action@v5 with: context: ./Linux/BaseBuilder push: true -- 2.49.1 From e49d1bace9d930bd623563234e60b06c31101f95 Mon Sep 17 00:00:00 2001 From: Romain BOULLARD Date: Wed, 15 Apr 2026 17:08:26 +0200 Subject: [PATCH 07/19] update --- .gitea/workflows/ci.yaml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.gitea/workflows/ci.yaml b/.gitea/workflows/ci.yaml index 032a184..306f578 100644 --- a/.gitea/workflows/ci.yaml +++ b/.gitea/workflows/ci.yaml @@ -26,17 +26,17 @@ jobs: uses: actions/checkout@v6 - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v3 + uses: docker/setup-buildx-action@v4 - name: Login to the Container registry - uses: docker/login-action@v3 + uses: docker/login-action@v4 with: registry: ${{ vars.DOCKER_REGISTRY }} username: ${{ secrets.DOCKER_USERNAME }} password: ${{ secrets.DOCKER_TOKEN }} - name: Build and push base builder - uses: docker/build-push-action@v5 + uses: docker/build-push-action@v7 with: context: ./Linux/BaseBuilder push: true -- 2.49.1 From 4944e7884740fb4472f8c04204d64487e2ecf1b9 Mon Sep 17 00:00:00 2001 From: Romain BOULLARD Date: Wed, 15 Apr 2026 17:11:24 +0200 Subject: [PATCH 08/19] test --- .gitea/workflows/ci.yaml | 84 ++++++++++++++++++++-------------------- 1 file changed, 43 insertions(+), 41 deletions(-) diff --git a/.gitea/workflows/ci.yaml b/.gitea/workflows/ci.yaml index 306f578..7efa36d 100644 --- a/.gitea/workflows/ci.yaml +++ b/.gitea/workflows/ci.yaml @@ -14,6 +14,8 @@ env: jobs: build-base-builder: runs-on: ubuntu-latest + container: + image: docker:29.4.0-dind-rootless timeout-minutes: 360 steps: @@ -25,52 +27,52 @@ jobs: - name: Checkout uses: actions/checkout@v6 - - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v4 + # - name: Set up Docker Buildx + # uses: docker/setup-buildx-action@v4 - - name: Login to the Container registry - uses: docker/login-action@v4 - with: - registry: ${{ vars.DOCKER_REGISTRY }} - username: ${{ secrets.DOCKER_USERNAME }} - password: ${{ secrets.DOCKER_TOKEN }} + # - name: Login to the Container registry + # uses: docker/login-action@v4 + # with: + # registry: ${{ vars.DOCKER_REGISTRY }} + # username: ${{ secrets.DOCKER_USERNAME }} + # password: ${{ secrets.DOCKER_TOKEN }} - - name: Build and push base builder - uses: docker/build-push-action@v7 - with: - context: ./Linux/BaseBuilder - push: true - tags: ${{ env.BASE_BUILDER_TAG }}:${{ env.BRANCH_NAME_LOWER }} + # - name: Build and push base builder + # uses: docker/build-push-action@v7 + # with: + # context: ./Linux/BaseBuilder + # push: true + # tags: ${{ env.BASE_BUILDER_TAG }}:${{ env.BRANCH_NAME_LOWER }} - build-cpp-builder: - runs-on: ubuntu-latest - timeout-minutes: 360 - needs: build-base-builder + # build-cpp-builder: + # runs-on: ubuntu-latest + # timeout-minutes: 360 + # needs: build-base-builder - steps: - - name: Set ENV - run: | - echo "BRANCH_NAME_LOWER=$(echo $GITHUB_REF_NAME | tr '[:upper:]' '[:lower:]')" >> $GITHUB_ENV - echo "BRANCH_NAME=$(echo $GITHUB_REF_NAME)" >> $GITHUB_ENV + # steps: + # - name: Set ENV + # run: | + # echo "BRANCH_NAME_LOWER=$(echo $GITHUB_REF_NAME | tr '[:upper:]' '[:lower:]')" >> $GITHUB_ENV + # echo "BRANCH_NAME=$(echo $GITHUB_REF_NAME)" >> $GITHUB_ENV - - name: Checkout - uses: actions/checkout@v6 + # - name: Checkout + # uses: actions/checkout@v6 - - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v4 + # - name: Set up Docker Buildx + # uses: docker/setup-buildx-action@v4 - - name: Login to the Container registry - uses: docker/login-action@v4 - with: - registry: ${{ vars.DOCKER_REGISTRY }} - username: ${{ secrets.DOCKER_USERNAME }} - password: ${{ secrets.DOCKER_TOKEN }} + # - name: Login to the Container registry + # uses: docker/login-action@v4 + # with: + # registry: ${{ vars.DOCKER_REGISTRY }} + # username: ${{ secrets.DOCKER_USERNAME }} + # password: ${{ secrets.DOCKER_TOKEN }} - - name: Build and push cpp builder - uses: docker/build-push-action@v7 - with: - context: ./Linux/CPPBuilder - push: true - tags: ${{ env.CPP_BUILDER_TAG }}:${{ env.BRANCH_NAME_LOWER }} - build-args: | - BASE_BUILDER=${{ env.BASE_BUILDER_TAG }}:${{ env.BRANCH_NAME_LOWER }} \ No newline at end of file + # - name: Build and push cpp builder + # uses: docker/build-push-action@v7 + # with: + # context: ./Linux/CPPBuilder + # push: true + # tags: ${{ env.CPP_BUILDER_TAG }}:${{ env.BRANCH_NAME_LOWER }} + # build-args: | + # BASE_BUILDER=${{ env.BASE_BUILDER_TAG }}:${{ env.BRANCH_NAME_LOWER }} \ No newline at end of file -- 2.49.1 From f01319468cf13f41bb895211cb8bcf05019c8258 Mon Sep 17 00:00:00 2001 From: Romain BOULLARD Date: Wed, 15 Apr 2026 17:13:43 +0200 Subject: [PATCH 09/19] install node --- .gitea/workflows/ci.yaml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.gitea/workflows/ci.yaml b/.gitea/workflows/ci.yaml index 7efa36d..2edff64 100644 --- a/.gitea/workflows/ci.yaml +++ b/.gitea/workflows/ci.yaml @@ -24,6 +24,9 @@ jobs: echo "BRANCH_NAME_LOWER=$(echo $GITHUB_REF_NAME | tr '[:upper:]' '[:lower:]')" >> $GITHUB_ENV echo "BRANCH_NAME=$(echo $GITHUB_REF_NAME)" >> $GITHUB_ENV + - name: Install Node.js + run: apk add --update nodejs npm + - name: Checkout uses: actions/checkout@v6 -- 2.49.1 From 90fb27ff07e4089e7c390f11bb706b8f6c3e604d Mon Sep 17 00:00:00 2001 From: Romain BOULLARD Date: Wed, 15 Apr 2026 17:21:31 +0200 Subject: [PATCH 10/19] test without actions --- .gitea/workflows/ci.yaml | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/.gitea/workflows/ci.yaml b/.gitea/workflows/ci.yaml index 2edff64..457528f 100644 --- a/.gitea/workflows/ci.yaml +++ b/.gitea/workflows/ci.yaml @@ -24,11 +24,9 @@ jobs: echo "BRANCH_NAME_LOWER=$(echo $GITHUB_REF_NAME | tr '[:upper:]' '[:lower:]')" >> $GITHUB_ENV echo "BRANCH_NAME=$(echo $GITHUB_REF_NAME)" >> $GITHUB_ENV - - name: Install Node.js - run: apk add --update nodejs npm - - - name: Checkout - uses: actions/checkout@v6 + - name: Build: + run: | + docker build -t ${{ env.BASE_BUILDER_TAG }}:${{ env.BRANCH_NAME_LOWER }} ./Linux/BaseBuilder # - name: Set up Docker Buildx # uses: docker/setup-buildx-action@v4 -- 2.49.1 From d77c8d5ddb92326fd88c483c2a7dc2f166c7f218 Mon Sep 17 00:00:00 2001 From: Romain BOULLARD Date: Wed, 15 Apr 2026 17:22:28 +0200 Subject: [PATCH 11/19] typo --- .gitea/workflows/ci.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitea/workflows/ci.yaml b/.gitea/workflows/ci.yaml index 457528f..fc86b75 100644 --- a/.gitea/workflows/ci.yaml +++ b/.gitea/workflows/ci.yaml @@ -24,7 +24,7 @@ jobs: echo "BRANCH_NAME_LOWER=$(echo $GITHUB_REF_NAME | tr '[:upper:]' '[:lower:]')" >> $GITHUB_ENV echo "BRANCH_NAME=$(echo $GITHUB_REF_NAME)" >> $GITHUB_ENV - - name: Build: + - name: Build run: | docker build -t ${{ env.BASE_BUILDER_TAG }}:${{ env.BRANCH_NAME_LOWER }} ./Linux/BaseBuilder -- 2.49.1 From bfe69fce7f5eed68b5e4d6751dbb8ed780811dd7 Mon Sep 17 00:00:00 2001 From: Romain BOULLARD Date: Wed, 15 Apr 2026 17:25:58 +0200 Subject: [PATCH 12/19] test volumes --- .gitea/workflows/ci.yaml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.gitea/workflows/ci.yaml b/.gitea/workflows/ci.yaml index fc86b75..eee479b 100644 --- a/.gitea/workflows/ci.yaml +++ b/.gitea/workflows/ci.yaml @@ -16,6 +16,8 @@ jobs: runs-on: ubuntu-latest container: image: docker:29.4.0-dind-rootless + volumes: + - /var/run/docker.sock:/var/run/docker.sock timeout-minutes: 360 steps: -- 2.49.1 From bde728b9221b5c7766232be1c312689651cf77f0 Mon Sep 17 00:00:00 2001 From: Romain BOULLARD Date: Wed, 15 Apr 2026 17:30:20 +0200 Subject: [PATCH 13/19] test --- .gitea/workflows/ci.yaml | 4 ---- 1 file changed, 4 deletions(-) diff --git a/.gitea/workflows/ci.yaml b/.gitea/workflows/ci.yaml index eee479b..7ff31d0 100644 --- a/.gitea/workflows/ci.yaml +++ b/.gitea/workflows/ci.yaml @@ -14,10 +14,6 @@ env: jobs: build-base-builder: runs-on: ubuntu-latest - container: - image: docker:29.4.0-dind-rootless - volumes: - - /var/run/docker.sock:/var/run/docker.sock timeout-minutes: 360 steps: -- 2.49.1 From 4e1c82556eca8e39b52e7137890a29f519b12ba8 Mon Sep 17 00:00:00 2001 From: Romain BOULLARD Date: Wed, 15 Apr 2026 17:34:38 +0200 Subject: [PATCH 14/19] checkout --- .gitea/workflows/ci.yaml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.gitea/workflows/ci.yaml b/.gitea/workflows/ci.yaml index 7ff31d0..9b7c3f1 100644 --- a/.gitea/workflows/ci.yaml +++ b/.gitea/workflows/ci.yaml @@ -22,6 +22,9 @@ jobs: echo "BRANCH_NAME_LOWER=$(echo $GITHUB_REF_NAME | tr '[:upper:]' '[:lower:]')" >> $GITHUB_ENV echo "BRANCH_NAME=$(echo $GITHUB_REF_NAME)" >> $GITHUB_ENV + - name: Checkout + uses: actions/checkout@v6 + - name: Build run: | docker build -t ${{ env.BASE_BUILDER_TAG }}:${{ env.BRANCH_NAME_LOWER }} ./Linux/BaseBuilder -- 2.49.1 From 4fd84d36fc44893e9a06c01dd7f9b8b27f7c43b4 Mon Sep 17 00:00:00 2001 From: Romain BOULLARD Date: Wed, 15 Apr 2026 17:40:18 +0200 Subject: [PATCH 15/19] build&push --- .gitea/workflows/ci.yaml | 70 ++++++++++++++++------------------------ 1 file changed, 28 insertions(+), 42 deletions(-) diff --git a/.gitea/workflows/ci.yaml b/.gitea/workflows/ci.yaml index 9b7c3f1..ed85444 100644 --- a/.gitea/workflows/ci.yaml +++ b/.gitea/workflows/ci.yaml @@ -29,52 +29,38 @@ jobs: run: | docker build -t ${{ env.BASE_BUILDER_TAG }}:${{ env.BRANCH_NAME_LOWER }} ./Linux/BaseBuilder - # - name: Set up Docker Buildx - # uses: docker/setup-buildx-action@v4 + - name: Login to registry + run: | + echo "${{ secrets.DOCKER_TOKEN }}" | docker login ${{ vars.DOCKER_REGISTRY }} \ + -u "${{ secrets.DOCKER_USERNAME }}" --password-stdin - # - name: Login to the Container registry - # uses: docker/login-action@v4 - # with: - # registry: ${{ vars.DOCKER_REGISTRY }} - # username: ${{ secrets.DOCKER_USERNAME }} - # password: ${{ secrets.DOCKER_TOKEN }} + - name: Push + run: | + docker push ${{ env.BASE_BUILDER_TAG }}:${{ env.BRANCH_NAME_LOWER }} - # - name: Build and push base builder - # uses: docker/build-push-action@v7 - # with: - # context: ./Linux/BaseBuilder - # push: true - # tags: ${{ env.BASE_BUILDER_TAG }}:${{ env.BRANCH_NAME_LOWER }} + build-cpp-builder: + runs-on: ubuntu-latest + timeout-minutes: 360 + needs: build-base-builder - # build-cpp-builder: - # runs-on: ubuntu-latest - # timeout-minutes: 360 - # needs: build-base-builder - - # steps: - # - name: Set ENV - # run: | - # echo "BRANCH_NAME_LOWER=$(echo $GITHUB_REF_NAME | tr '[:upper:]' '[:lower:]')" >> $GITHUB_ENV - # echo "BRANCH_NAME=$(echo $GITHUB_REF_NAME)" >> $GITHUB_ENV + steps: + - name: Set ENV + run: | + echo "BRANCH_NAME_LOWER=$(echo $GITHUB_REF_NAME | tr '[:upper:]' '[:lower:]')" >> $GITHUB_ENV + echo "BRANCH_NAME=$(echo $GITHUB_REF_NAME)" >> $GITHUB_ENV - # - name: Checkout - # uses: actions/checkout@v6 + - name: Checkout + uses: actions/checkout@v6 - # - name: Set up Docker Buildx - # uses: docker/setup-buildx-action@v4 + - name: Build + run: | + docker build -t ${{ env.CPP_BUILDER_TAG }}:${{ env.BRANCH_NAME_LOWER }} --build-arg BASE_BUILDER=${{ env.BASE_BUILDER_TAG }}:${{ env.BRANCH_NAME_LOWER }} ./Linux/CPPBuilder - # - name: Login to the Container registry - # uses: docker/login-action@v4 - # with: - # registry: ${{ vars.DOCKER_REGISTRY }} - # username: ${{ secrets.DOCKER_USERNAME }} - # password: ${{ secrets.DOCKER_TOKEN }} + - name: Login to registry + run: | + echo "${{ secrets.DOCKER_TOKEN }}" | docker login ${{ vars.DOCKER_REGISTRY }} \ + -u "${{ secrets.DOCKER_USERNAME }}" --password-stdin - # - name: Build and push cpp builder - # uses: docker/build-push-action@v7 - # with: - # context: ./Linux/CPPBuilder - # push: true - # tags: ${{ env.CPP_BUILDER_TAG }}:${{ env.BRANCH_NAME_LOWER }} - # build-args: | - # BASE_BUILDER=${{ env.BASE_BUILDER_TAG }}:${{ env.BRANCH_NAME_LOWER }} \ No newline at end of file + - name: Push + run: | + docker push ${{ env.CPP_BUILDER_TAG }}:${{ env.BRANCH_NAME_LOWER }} \ No newline at end of file -- 2.49.1 From 3b4f414835f1358d04afc5ec17e6bbf9fa53a66e Mon Sep 17 00:00:00 2001 From: Romain BOULLARD Date: Wed, 15 Apr 2026 17:49:47 +0200 Subject: [PATCH 16/19] libstdc++ --- Linux/CPPBuilder/Dockerfile | 1 + 1 file changed, 1 insertion(+) diff --git a/Linux/CPPBuilder/Dockerfile b/Linux/CPPBuilder/Dockerfile index a79000d..ec59880 100644 --- a/Linux/CPPBuilder/Dockerfile +++ b/Linux/CPPBuilder/Dockerfile @@ -10,6 +10,7 @@ RUN apt-get update && apt-get install -y \ build-essential \ gcc \ g++ \ + libstdc++-dev \ cmake \ ninja-build \ bison \ -- 2.49.1 From 86f522b821c9fe96cda6fdd1ed0fae262f12b481 Mon Sep 17 00:00:00 2001 From: Romain BOULLARD Date: Wed, 15 Apr 2026 17:51:43 +0200 Subject: [PATCH 17/19] libstdc++ --- Linux/CPPBuilder/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Linux/CPPBuilder/Dockerfile b/Linux/CPPBuilder/Dockerfile index ec59880..d2d8fe1 100644 --- a/Linux/CPPBuilder/Dockerfile +++ b/Linux/CPPBuilder/Dockerfile @@ -10,7 +10,7 @@ RUN apt-get update && apt-get install -y \ build-essential \ gcc \ g++ \ - libstdc++-dev \ + libstdc++12-dev \ cmake \ ninja-build \ bison \ -- 2.49.1 From 18b6b7362bf501a5b5775017ced0f531c95edd4f Mon Sep 17 00:00:00 2001 From: Romain BOULLARD Date: Wed, 15 Apr 2026 17:53:14 +0200 Subject: [PATCH 18/19] typo --- Linux/CPPBuilder/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Linux/CPPBuilder/Dockerfile b/Linux/CPPBuilder/Dockerfile index d2d8fe1..dda6bb4 100644 --- a/Linux/CPPBuilder/Dockerfile +++ b/Linux/CPPBuilder/Dockerfile @@ -10,7 +10,7 @@ RUN apt-get update && apt-get install -y \ build-essential \ gcc \ g++ \ - libstdc++12-dev \ + libstdc++-12-dev \ cmake \ ninja-build \ bison \ -- 2.49.1 From 1e14c1d8aeab2eb32f8dad31206f706e8c0f2ced Mon Sep 17 00:00:00 2001 From: Romain BOULLARD Date: Wed, 15 Apr 2026 17:57:23 +0200 Subject: [PATCH 19/19] reduce amount of installed packages --- Linux/CPPBuilder/Dockerfile | 43 +++---------------------------------- 1 file changed, 3 insertions(+), 40 deletions(-) diff --git a/Linux/CPPBuilder/Dockerfile b/Linux/CPPBuilder/Dockerfile index dda6bb4..1246145 100644 --- a/Linux/CPPBuilder/Dockerfile +++ b/Linux/CPPBuilder/Dockerfile @@ -6,54 +6,17 @@ FROM $BASE_BUILDER # Install system dependencies RUN apt-get update && apt-get install -y \ - # Build tools build-essential \ - gcc \ - g++ \ - libstdc++-12-dev \ + cppcheck \ + ccache \ cmake \ ninja-build \ - bison \ - pkg-config \ git \ - ccache \ - cppcheck \ + pkg-config \ wget \ lsb-release \ software-properties-common \ pipx \ - python-is-python3 \ - python3-jsonschema \ - ocaml-core \ - \ - # Libraries - libglm-dev \ - libpng-dev \ - libxml2-dev \ - liblz4-dev \ - libzstd-dev \ - libpciaccess0 \ - \ - # X11 / XCB - libx11-dev \ - libx11-xcb-dev \ - libxcb-dri3-0 \ - libxcb-dri3-dev \ - libxcb-present0 \ - libxcb-keysyms1-dev \ - libxcb-randr0-dev \ - libxcb-ewmh-dev \ - \ - # Wayland - libwayland-dev \ - wayland-protocols \ - \ - # Misc display - libxrandr-dev \ - \ - # Qt - qtbase5-dev \ - qt6-base-dev \ && rm -rf /var/lib/apt/lists/* ENV PATH="/root/.local/bin:${PATH}" -- 2.49.1