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
|
name: Build for Linux
on:
push:
branches: [ "main" ]
pull_request:
branches: [ "main" ]
jobs:
build_matrix:
strategy:
matrix:
compiler: [ "gcc", "clang" ]
runs-on: ubuntu-latest
container:
image: debian:trixie
steps:
- name: Install package dependencies.
run: |
apt-get update
apt-get install -y \
bison \
clang \
cmake \
doxygen \
flex \
git \
iwyu \
libcairo2-dev \
libncurses-dev
- name: Checkout code.
uses: actions/checkout@v3
- name: Configure libbase through CMake.
run: |
export CC="${{ matrix.compiler }}"
cmake -B ${{github.workspace}}/build -Dconfig_WERROR=ON -DIWYU_MODE=FAIL
- name: Build libbase.
run: |
export CC="${{ matrix.compiler }}"
cmake --build ${{github.workspace}}/build
- name: Build documentation.
run: |
cmake --build ${{github.workspace}}/build --target doc
- name: Run tests.
run: |
ctest --test-dir ${{github.workspace}}/build --build-run-dir ${{github.workspace}}/build -V
|