forked from danielkrupinski/Osiris
-
Notifications
You must be signed in to change notification settings - Fork 0
41 lines (39 loc) · 1.41 KB
/
linux.yml
File metadata and controls
41 lines (39 loc) · 1.41 KB
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
name: Linux
on: [push, pull_request]
jobs:
build:
runs-on: ${{ matrix.os }}
continue-on-error: ${{ matrix.continue-on-error }}
strategy:
matrix:
os: [ubuntu-20.04, ubuntu-22.04]
compiler: [g++-11, g++-12, clang++-13, clang++-14]
configuration: [Debug, Release]
exclude:
- os: ubuntu-20.04
compiler: g++-12
- os: ubuntu-20.04
compiler: clang++-13
- os: ubuntu-20.04
compiler: clang++-14
include:
- os: ubuntu-22.04
continue-on-error: true
- os: ubuntu-20.04
continue-on-error: false
steps:
- uses: actions/checkout@v2
- name: Install g++-11 for minimal required libstdc++
run: |
sudo add-apt-repository ppa:ubuntu-toolchain-r/test
sudo apt-get update && sudo apt-get install -y g++-11
- name: install
run: sudo apt-get update && sudo apt-get install -y libsdl2-dev libfreetype-dev ${{ matrix.compiler }}
- name: configure
run: cmake -D CMAKE_BUILD_TYPE=${{ matrix.configuration }} -D CMAKE_CXX_COMPILER=${{ matrix.compiler }} -D BUILD_TESTS=1 -S . -B ${{ matrix.configuration }}
- name: build
run: cmake --build ${{ matrix.configuration }} -j $(nproc --all)
- name: run unit tests
run: |
cd ${{ matrix.configuration }}
ctest --output-on-failure --schedule-random -j $(nproc --all)