name: Lean Action CI permissions: contents: read on: workflow_dispatch: push: paths: - 'src/**' - 'ffi/**' - 'raylib/**' - 'raylibFork/**' - 'lakefile.lean' - 'lean-toolchain' - '.github/workflows/lean_action_ci.yml' pull_request: paths: - 'src/**' - 'ffi/**' - 'raylib/**' - 'raylibFork/**' - 'lakefile.lean' - 'lean-toolchain' - '.github/workflows/lean_action_ci.yml' jobs: build-linux: runs-on: ubuntu-latest steps: - name: Install system dependencies run: | sudo apt-get update -qq sudo apt-get install gcc-multilib sudo apt-get install -y --no-install-recommends libglfw3 libglfw3-dev libx11-dev libxcursor-dev libxrandr-dev libxinerama-dev libxi-dev libxext-dev libxfixes-dev libwayland-dev libxkbcommon-dev - uses: actions/checkout@v4 - uses: leanprover/lean-action@v1 with: auto-config: false - name: Build (minimal; using default raylib) run: | lake build raylib-examples-minimal - name: Build (gui; using raylib fork) run: | lake build -R -Kraygui -Kfork -Kopengl=4.6 raylib-examples-gui build-macos: runs-on: macos-latest env: LEAN_CC: /opt/homebrew/opt/llvm/bin/clang steps: - name: Homebrew clang run: | brew update brew install llvm - uses: actions/checkout@v4 - uses: leanprover/lean-action@v1 with: auto-config: false - name: Build (minimal; using default raylib) run: | lake build -R raylib-examples-minimal - name: Build (gui; using raylib fork) run: | lake build -R -Kraygui -Kfork raylib-examples-gui build-windows: runs-on: windows-latest env: # Used when building raylib CC: x86_64-w64-mingw32-gcc.exe steps: - uses: actions/checkout@v4 - uses: leanprover/lean-action@v1 with: auto-config: false - name: Build (minimal; using default raylib) shell: bash run: | lake build -R -KenableWindowsMingw -Kcc=x86_64-w64-mingw32-gcc.exe raylib-examples-minimal - name: Build (gui; using raylib fork) shell: bash run: | lake build -R -KenableWindowsMingw -Kcc=x86_64-w64-mingw32-gcc.exe -Kraygui -Kfork raylib-examples-gui