xref: /libCEED/.github/workflows/c-fortran-test-linux-osx.yml (revision eb5e7f265ad4bea76490efa023163fbf9f3d6c69)
1name: C/Fortran
2
3on:
4  push:
5    branches:
6      - main
7  pull_request:
8
9jobs:
10  test:
11    strategy:
12      matrix:
13        os: [ubuntu-24.04, macos-15]
14        compiler: [gcc, clang]
15        exclude:
16          # "gcc" on macOS is a symlink to Apple Clang, same as "clang"
17          - os: macos-15
18            compiler: gcc
19        include:
20          # macOS: test with real GCC (not Apple Clang symlink)
21          - os: macos-15
22            compiler: gcc-15
23          # macOS: test with Homebrew LLVM
24          - os: macos-15
25            compiler: llvm
26
27    runs-on: ${{ matrix.os }}
28
29    steps:
30    - name: Environment setup
31      uses: actions/checkout@v4
32    - name: Set LLVM compiler path
33      if: matrix.compiler == 'llvm'
34      run: echo "CC=$(brew --prefix llvm@18)/bin/clang" >> $GITHUB_ENV
35    - name: Set compiler
36      if: matrix.compiler != 'llvm'
37      run: echo "CC=${{ matrix.compiler }}" >> $GITHUB_ENV
38    - name: Show compiler version
39      run: $CC --version | head -1
40    - name: Build and test libCEED
41      env:
42        FC: gfortran-14
43      run: |
44        make info
45        make -j
46        make prove -j2
47