Files
codegirl-games/.github/workflows/ci.yml
2026-08-06 23:40:19 -07:00

60 lines
1.7 KiB
YAML

name: CI
on:
pull_request:
push:
branches: [master, main]
jobs:
test:
name: Engine tests
runs-on: ubuntu-latest
timeout-minutes: 30
steps:
- name: Checkout
uses: actions/checkout@v4
# 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: |
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
with:
token: ${{ secrets.GITHUB_TOKEN }}
# Match local toolchain: odin version dev-2026-05
release: dev-2026-05
- name: Odin version
run: odin version
# assetbake tests need vendor:stb native libs
- name: Build Odin STB libraries
run: make -C "$(odin root)/vendor/stb/src"
- name: Unit tests
run: make test
- name: Typecheck toad example
run: make check