summaryrefslogtreecommitdiff
path: root/.github/workflows/main.yml
blob: c2bdef471011961a4c2cde972a00faa6ebfcc33c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
name: linux/mac

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

jobs:

  build:

    runs-on: ${{ matrix.os }}
    strategy:
      matrix:
        compiler:
        - gcc
        - clang
        os:
        - ubuntu-latest
        - macOS-latest

    steps:
    - uses: actions/checkout@v2

    - run: env | sort
    - name: Install software
      run: |
        if [[ '${{ matrix.os }}' == macOS-latest ]]; then
          brew install automake bash coreutils make
          echo ::add-path::/usr/local/opt/coreutils/libexec/gnubin
          echo ::add-path::/usr/local/opt/make/libexec/gnubin
        fi
    - name: Fetch branches
      run: |
        git config remote.origin.fetch +refs/heads/*:refs/remotes/origin/*
        git fetch --unshallow

    - run: ./bootstrap
    - run: ./configure
    - run: make
    - run: make test-all

    - run: |
        git clean -d -x -f
        rm -fr tests/run-test-suite
        git worktree prune

    - name: Compiler version
      run: ${{ matrix.compiler }} --version
      env:
        CC: ${{ matrix.compiler }}
    - run: cmake .
      env:
        CC: ${{ matrix.compiler }}
    - run: make
      env:
        CC: ${{ matrix.compiler }}
    - run: make test