name: Build

on:
  push:
    branches: [main, dev]
  pull_request:
    branches: [main, dev]

jobs:
  build:
    timeout-minutes: 15
    continue-on-error: true
    strategy:
      matrix:
        os: [macos-latest, windows-latest]
    runs-on: ${{matrix.os}}
    steps:
      - uses: actions/checkout@v2
      - uses: goto-bus-stop/setup-zig@v2
      - name: Build
        run: zig build
      - name: Test
        run: zig build test
  ubuntu-build:
    timeout-minutes: 15
    continue-on-error: true
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v2
      - uses: goto-bus-stop/setup-zig@v2
      - name: setup dependencies
        run: |
          sudo apt-get update
          sudo apt-get install \
            libasound2-dev \
            libx11-dev \
            libxrandr-dev \
            libxi-dev \
            libgl1-mesa-dev \
            libglu1-mesa-dev \
            libxcursor-dev \
            libxinerama-dev
      - name: Build
        run: zig build
      - name: Test
        run: zig build test
  lint:
    needs: ubuntu-build
    timeout-minutes: 15
    continue-on-error: true
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v2
      - uses: goto-bus-stop/setup-zig@v2
      - run: zig fmt --check .