From a1fa9863b6f5059bf175e4ce2e9436a1091cc2fe Mon Sep 17 00:00:00 2001 From: codegirl-007 Date: Sat, 1 Aug 2026 01:06:05 -0700 Subject: [PATCH 1/2] Set up github to run tests --- .github/workflows/ci.yml | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 .github/workflows/ci.yml diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml new file mode 100644 index 0000000..85c9c43 --- /dev/null +++ b/.github/workflows/ci.yml @@ -0,0 +1,37 @@ +name: CI + +on: + pull_request: + push: + branches: [master, main] + +jobs: + test: + name: Engine tests + runs-on: ubuntu-latest + timeout-minutes: 15 + + steps: + - name: Checkout + uses: actions/checkout@v4 + + - name: Install SDL3 + run: | + sudo apt-get update + sudo apt-get install -y libsdl3-dev + + - name: Setup Odin + uses: laytan/setup-odin@v2 + with: + token: ${{ secrets.GITHUB_TOKEN }} + # Match local toolchain: odin version dev-2026-05 + release: dev-2026-05 + + - name: Odin version + run: odin version + + - name: Unit tests + run: make test + + - name: Typecheck toad example + run: make check From 3a8c2ee830c8b744c9c31bd689d3691d39b06a72 Mon Sep 17 00:00:00 2001 From: codegirl-007 Date: Sat, 1 Aug 2026 01:10:37 -0700 Subject: [PATCH 2/2] change the way we install sdl --- .github/workflows/ci.yml | 26 ++++++++++++++++++++++---- 1 file changed, 22 insertions(+), 4 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 85c9c43..4e2229a 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -9,16 +9,34 @@ jobs: test: name: Engine tests runs-on: ubuntu-latest - timeout-minutes: 15 + timeout-minutes: 30 steps: - name: Checkout uses: actions/checkout@v4 - - name: Install SDL3 + # Ubuntu 24.04 does not ship libsdl3-dev; build/install SDL3 from source (cached). + - name: Setup SDL3 + id: sdl + uses: libsdl-org/setup-sdl@main + with: + version: 3-latest + install-linux-dependencies: true + add-to-environment: true + token: ${{ secrets.GITHUB_TOKEN }} + + - name: Export SDL3 paths for the linker run: | - sudo apt-get update - sudo apt-get install -y libsdl3-dev + PREFIX="${{ steps.sdl.outputs.prefix }}" + echo "PKG_CONFIG_PATH=${PREFIX}/lib/pkgconfig:${PKG_CONFIG_PATH:-}" >> "$GITHUB_ENV" + echo "LIBRARY_PATH=${PREFIX}/lib:${LIBRARY_PATH:-}" >> "$GITHUB_ENV" + echo "LD_LIBRARY_PATH=${PREFIX}/lib:${LD_LIBRARY_PATH:-}" >> "$GITHUB_ENV" + echo "C_INCLUDE_PATH=${PREFIX}/include:${C_INCLUDE_PATH:-}" >> "$GITHUB_ENV" + # Help some linkers find the shared lib without rpath surprises + if [ -d "${PREFIX}/lib" ]; then + echo "${PREFIX}/lib" | sudo tee /etc/ld.so.conf.d/sdl3-ci.conf >/dev/null + sudo ldconfig + fi - name: Setup Odin uses: laytan/setup-odin@v2