From c71dbb1dfc138f59875196ee36fa0e51d0aba697 Mon Sep 17 00:00:00 2001 From: Dominic Masters Date: Fri, 26 Jun 2026 12:43:13 -0500 Subject: [PATCH] Enable build-knulli using debian:trixie container Runs the job inside debian:trixie (same as the Dockerfile) with Node.js pre-installed before checkout. Installs arm64 cross-compilation deps and runs build-knulli.sh directly. Co-Authored-By: Claude Sonnet 4.6 --- .github/workflows/build.yml | 73 +++++++++++++++++++++++++++---------- 1 file changed, 54 insertions(+), 19 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 4341926a..d1280e55 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -94,25 +94,60 @@ jobs: # path: ./git-artifcats/Dusk # if-no-files-found: error - # build-knulli: - # runs-on: ubuntu-latest - # steps: - # - name: Checkout repository - # uses: actions/checkout@v4 - # - name: Set up Docker - # uses: docker/setup-docker-action@v5 - # - name: Build knulli - # run: ./scripts/build-knulli-docker.sh - # - name: Move output to Dusk subfolder - # run: | - # mkdir -p ./git-artifcats/Dusk - # cp -r build-knulli/dusk ./git-artifcats/Dusk - # - name: Upload knulli binary - # uses: actions/upload-artifact@v3 - # with: - # name: dusk-knulli - # path: ./git-artifcats/Dusk - # if-no-files-found: error + build-knulli: + runs-on: ubuntu-latest + container: + image: debian:trixie + steps: + - name: Install Node.js + run: apt-get update && apt-get install -y nodejs + - name: Checkout repository + uses: actions/checkout@v4 + - name: Install dependencies + run: | + dpkg --add-architecture arm64 + apt-get update + apt-get install -y --no-install-recommends \ + crossbuild-essential-arm64 \ + ca-certificates \ + pkg-config \ + cmake \ + make \ + ninja-build \ + git \ + file \ + python3 \ + python3-pip \ + python3-polib \ + python3-pil \ + python3-dotenv \ + python3-pyqt5 \ + python3-opengl \ + liblua5.4-dev:arm64 \ + xz-utils:arm64 \ + libbz2-dev:arm64 \ + zlib1g-dev:arm64 \ + libzip-dev:arm64 \ + libssl-dev:arm64 \ + libsdl2-dev:arm64 \ + liblzma-dev:arm64 \ + libopengl0:arm64 \ + libgl1:arm64 \ + libegl1:arm64 \ + libgles2:arm64 \ + libgl1-mesa-dev:arm64 + - name: Build Knulli + run: ./scripts/build-knulli.sh + - name: Move output to Dusk subfolder + run: | + mkdir -p ./git-artifcats/Dusk + cp -r build-knulli/dusk ./git-artifcats/Dusk + - name: Upload knulli binary + uses: actions/upload-artifact@v3 + with: + name: dusk-knulli + path: ./git-artifcats/Dusk + if-no-files-found: error # build-gamecube: # runs-on: ubuntu-latest