name: Presubmit on: [push, pull_request] jobs: build: name: Build ${{ matrix.os }} ${{ matrix.arch }}${{ matrix.extra }} runs-on: ${{ matrix.os }} env: JOB_ARCHITECTURE: ${{ matrix.arch }} JOB_ENABLE_GL: ${{ matrix.gl }} JOB_ENABLE_DEBUG: ${{ matrix.debug }} strategy: fail-fast: false matrix: mainmatrix: [true] os: [ubuntu-20.04, macos-latest, windows-latest] include: - os: ubuntu-20.04 mainmatrix: true gl: 1 extra: " gl" - os: ubuntu-20.04 mainmatrix: false arch: arm - os: ubuntu-20.04 mainmatrix: false arch: aarch64 debug: 1 extra: " debug" steps: - uses: actions/checkout@v2 - name: Setup Ninja uses: seanmiddleditch/gha-setup-ninja@master - name: Setup OpenGL build dependencies if: ${{ matrix.gl }} run: | sudo apt-get update sudo apt-get -y install libglu1-mesa-dev freeglut3-dev mesa-common-dev libglew-dev - name: Setup MSVC with Ninja uses: ilammy/msvc-dev-cmd@v1 - name: Setup ccache uses: hendrikmuhs/ccache-action@v1.2 with: variant: sccache key: ${{ matrix.os }}-${{ matrix.arch }} - name: Fetch OpenCL Headers shell: bash run: | git clone https://github.com/KhronosGroup/OpenCL-Headers.git cd OpenCL-Headers ln -s CL OpenCL # For OSX builds cd .. - name: Build shell: bash run: ./presubmit.sh formatcheck: name: Check code format runs-on: ubuntu-20.04 steps: - name: Install packages run: sudo apt install -y clang-format clang-format-9 - uses: actions/checkout@v2 with: fetch-depth: 0 - name: Check code format run: ./check-format.sh