File: build-for-linux.yml

package info (click to toggle)
wlmaker 0.7-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 6,884 kB
  • sloc: ansic: 54,832; xml: 1,424; python: 1,400; yacc: 118; lex: 70; sh: 16; makefile: 8
file content (53 lines) | stat: -rw-r--r-- 1,181 bytes parent folder | download | duplicates (2)
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