File: ci.yml

package info (click to toggle)
sdbus-cpp 1.2.0-2
  • links: PTS, VCS
  • area: main
  • in suites: bookworm
  • size: 1,296 kB
  • sloc: cpp: 9,859; xml: 170; ansic: 135; makefile: 27
file content (82 lines) | stat: -rw-r--r-- 2,961 bytes parent folder | download
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
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
name: CI

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

jobs:
  build:
    runs-on: ${{ matrix.os }}
    strategy:
      fail-fast: false
      matrix:
        os: [ubuntu-18.04, ubuntu-20.04]
        compiler: [g++, clang]
        build: [shared-libsystemd]
        include:
          - os: ubuntu-20.04
            compiler: g++
            build: embedded-static-libsystemd
    steps:
    - uses: actions/checkout@v2
    - name: install-libsystemd-toolchain
      if: matrix.build == 'embedded-static-libsystemd'
      run: |
        sudo apt-get update -y
        sudo apt-get install -y meson ninja-build libcap-dev libmount-dev m4 gperf
    - name: install-libsystemd-dev
      if: matrix.build == 'shared-libsystemd'
      run: |
        sudo apt-get update -y
        sudo apt-get install -y libsystemd-dev
    - name: install-clang
      if: matrix.compiler == 'clang'
      run: |
        sudo apt-get install -y clang
        sudo update-alternatives --remove-all cc
        sudo update-alternatives --install /usr/bin/cc cc /usr/bin/clang 10
        sudo update-alternatives --remove-all c++
        sudo update-alternatives --install /usr/bin/c++ c++ /usr/bin/clang++ 10
    - name: configure-debug
      if: matrix.build == 'shared-libsystemd' && matrix.os == 'ubuntu-18.04'
      run: |
        mkdir build
        cd build
        cmake -DCMAKE_BUILD_TYPE=Debug -DCMAKE_CXX_FLAGS="-O0 -g -W -Wextra -Wall -Wnon-virtual-dtor -Werror" -DBUILD_TESTS=ON -DENABLE_PERF_TESTS=ON -DENABLE_STRESS_TESTS=ON -DBUILD_CODE_GEN=ON ..
    - name: configure-release
      if: matrix.build == 'shared-libsystemd' && matrix.os == 'ubuntu-20.04'
      run: |
        mkdir build
        cd build
        cmake -DCMAKE_BUILD_TYPE=RelWithDebInfo -DCMAKE_CXX_FLAGS="-O3 -DNDEBUG -W -Wextra -Wall -Wnon-virtual-dtor -Werror" -DBUILD_TESTS=ON -DENABLE_PERF_TESTS=ON -DENABLE_STRESS_TESTS=ON -DBUILD_CODE_GEN=ON ..
    - name: configure-with-embedded-libsystemd
      if: matrix.build == 'embedded-static-libsystemd'
      run: |
        mkdir build
        cd build
        cmake -DCMAKE_BUILD_TYPE=Release -DBUILD_TESTS=ON -DENABLE_PERF_TESTS=ON -DENABLE_STRESS_TESTS=ON -DBUILD_CODE_GEN=ON -DBUILD_LIBSYSTEMD=ON -DLIBSYSTEMD_VERSION=244 ..
    - name: make
      run: |
        cd build
        cmake --build . -j2
    - name: verify
      run: |
        cd build
        sudo cmake --build . --target install
        ctest
    - name: pack
      if: matrix.build == 'shared-libsystemd' && matrix.os == 'ubuntu-20.04'
      run: |
        cd build
        cpack -G DEB
    - name: 'Upload Artifact'
      if: matrix.build == 'shared-libsystemd' && matrix.os == 'ubuntu-20.04' && matrix.compiler == 'g++'
      uses: actions/upload-artifact@v2
      with:
        name: "debian-packages-${{ matrix.os }}-${{ matrix.compiler }}"
        path: |
          build/sdbus-c++*.deb
          build/sdbus-c++*.ddeb
        retention-days: 10