• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1name: Presubmit
2on: [push, pull_request]
3
4jobs:
5  build:
6    name: Build ${{ matrix.os }} ${{ matrix.arch }}${{ matrix.extra }}
7    runs-on: ${{ matrix.os }}
8    env:
9      JOB_ARCHITECTURE: ${{ matrix.arch }}
10      JOB_ENABLE_GL: ${{ matrix.gl }}
11      JOB_ENABLE_DEBUG: ${{ matrix.debug }}
12    strategy:
13      fail-fast: false
14      matrix:
15        mainmatrix: [true]
16        os: [ubuntu-20.04, macos-latest, windows-latest]
17        include:
18          - os: ubuntu-20.04
19            mainmatrix: true
20            gl: 1
21            extra: " gl"
22          - os: ubuntu-20.04
23            mainmatrix: false
24            arch: arm
25          - os: ubuntu-20.04
26            mainmatrix: false
27            arch: aarch64
28            debug: 1
29            extra: " debug"
30    steps:
31      - uses: actions/checkout@v2
32      - name: Setup Ninja
33        uses: seanmiddleditch/gha-setup-ninja@master
34      - name: Setup OpenGL build dependencies
35        if: ${{ matrix.gl }}
36        run: |
37          sudo apt-get update
38          sudo apt-get -y install libglu1-mesa-dev freeglut3-dev mesa-common-dev libglew-dev
39      - name: Setup MSVC with Ninja
40        uses: ilammy/msvc-dev-cmd@v1
41      - name: Setup ccache
42        uses: hendrikmuhs/ccache-action@v1.2
43        with:
44          variant: sccache
45          key: ${{ matrix.os }}-${{ matrix.arch }}
46      - name: Fetch OpenCL Headers
47        shell: bash
48        run: |
49          git clone https://github.com/KhronosGroup/OpenCL-Headers.git
50          cd OpenCL-Headers
51          ln -s CL OpenCL # For OSX builds
52          cd ..
53      - name: Build
54        shell: bash
55        run: ./presubmit.sh
56  formatcheck:
57    name: Check code format
58    runs-on: ubuntu-20.04
59    steps:
60      - name: Install packages
61        run: sudo apt install -y clang-format clang-format-9
62      - uses: actions/checkout@v2
63        with:
64          fetch-depth: 0
65      - name: Check code format
66        run: ./check-format.sh
67