name: ci

on:
  push:
    branches: [master]
  pull_request:
    branches: [master]

jobs:
  macOS-gcc:
    runs-on: macOS-latest
    steps:
      - uses: actions/checkout@v2
      - name: Compile with gcc
        env:
          CC: gcc
        run: |
          export CFLAGS="$CFLAGS -Werror"
          make clean
          make
          make clean
  macOS-clang:
    runs-on: macOS-latest
    steps:
      - uses: actions/checkout@v2
      - name: Compile with clang
        env:
          CC: clang
        run: |
          # see: https://github.com/actions/setup-python/issues/577
          brew update || true
          brew install llvm || true
          brew link --overwrite python@3.11
          export PATH="/usr/local/opt/llvm/bin:$PATH"
          export CFLAGS="$CFLAGS -Werror"
          make clean
          make
          make clean
          clang-tidy src/* -- -I/usr/include
  ubuntu-patches:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v2
      - name: Compile patches with gcc
        env:
          CC: gcc
        run: |
          make checkpatches