name: Build

on: [push, pull_request]

jobs:
  build_wheels:
    name: Build wheels on ${{ matrix.os }}
    runs-on: ${{ matrix.os }}
    strategy:
      matrix:
        os: [ubuntu-20.04, windows-2019, macOS-10.15]

    steps:
      - uses: actions/checkout@v2
      - name: checkout submodules
        run: git submodule update --init --recursive

      # Used to host cibuildwheel
      - uses: actions/setup-python@v2

      - name: Install cibuildwheel
        run: python -m pip install cibuildwheel==2.3.1

      - name: Build wheels
        run: python -m cibuildwheel --output-dir wheelhouse
        # to supply options, put them in 'env', like:
        env:
          CIBW_ARCHS: auto64
          CIBW_ARCHS_MACOS: universal2
          CIBW_ENVIRONMENT_MACOS: MACOSX_DEPLOYMENT_TARGET=10.15
          CIBW_BEFORE_BUILD_LINUX: apk add clang | echo "ok"
          CIBW_ENVIRONMENT_LINUX: CXX=clang++

      - uses: actions/upload-artifact@v2
        with:
          path: ./wheelhouse/*.whl