2020
2121 strategy :
2222 matrix :
23- image : ["ubuntu:24.04", "ubuntu:25.10"]
23+ image : ["ubuntu:24.04", "ubuntu:25.10", "alpine:3.23"]
24+ include :
25+ - image : " alpine:3.23"
26+ with_gui : false
2427 fail-fast : false # Prefer quick result
2528
2629 runs-on : ubuntu-22.04
4548 apt-get install -y cmake g++ make libxml2-utils libpcre3-dev
4649
4750 - name : Install missing software (gui) on latest ubuntu
51+ if : contains(matrix.image, 'ubuntu')
4852 run : |
4953 apt-get install -y qt6-base-dev qt6-charts-dev qt6-tools-dev
5054
55+ - name : Install missing software on Alpine
56+ if : contains(matrix.image, 'alpine')
57+ run : |
58+ apk add cmake make g++ pcre-dev
59+
5160 # needs to be called after the package installation since
5261 # - it doesn't call "apt-get update"
5362 - name : ccache
5766
5867 - name : Run CMake
5968 run : |
60- cmake -S . -B cmake.output -Werror=dev -DHAVE_RULES=On -DBUILD_TESTING=On -DBUILD_GUI=On -DWITH_QCHART=On -DBUILD_TRIAGE=On -DCMAKE_COMPILE_WARNING_AS_ERROR=On -DCMAKE_C_COMPILER_LAUNCHER=ccache -DCMAKE_CXX_COMPILER_LAUNCHER=ccache
69+ cmake -S . -B cmake.output -Werror=dev -DHAVE_RULES=On -DBUILD_TESTING=On -DBUILD_GUI=${{ matrix.with_gui }} -DWITH_QCHART=On -DBUILD_TRIAGE=${{ matrix.with_gui }} -DCMAKE_COMPILE_WARNING_AS_ERROR=On -DCMAKE_C_COMPILER_LAUNCHER=ccache -DCMAKE_CXX_COMPILER_LAUNCHER=ccache
6170
6271 - name : CMake build (with GUI)
72+ if : matrix.with_gui
6373 run : |
6474 cmake --build cmake.output -- -j$(nproc)
6575
7181
7282 strategy :
7383 matrix :
74- image : ["ubuntu:24.04", "ubuntu:25.10"]
84+ image : ["ubuntu:24.04", "ubuntu:25.10", "alpine:3.23" ]
7585 fail-fast : false # Prefer quick result
7686
7787 runs-on : ubuntu-22.04
@@ -90,21 +100,28 @@ jobs:
90100 apt-get update
91101 apt-get install -y g++ make python3 libxml2-utils libpcre3-dev
92102
103+ - name : Install missing software on Alpine
104+ if : contains(matrix.image, 'alpine')
105+ run : |
106+ apk add make g++ pcre-dev
107+
93108 # needs to be called after the package installation since
94109 # - it doesn't call "apt-get update"
95110 - name : ccache
96111 uses : hendrikmuhs/ccache-action@v1.2
97112 with :
98113 key : ${{ github.workflow }}-${{ matrix.image }}
99114
115+ # /usr/lib/ccache/bin - Alpine Linux
116+
100117 - name : Build cppcheck
101118 run : |
102- export PATH="/usr/lib/ccache:/usr/local/opt/ccache/libexec:$PATH"
119+ export PATH="/usr/lib/ccache/bin:/usr/lib/ccache :/usr/local/opt/ccache/libexec:$PATH"
103120 make -j$(nproc) HAVE_RULES=yes CXXOPTS="-Werror"
104121
105122 - name : Build test
106123 run : |
107- export PATH="/usr/lib/ccache:/usr/local/opt/ccache/libexec:$PATH"
124+ export PATH="/usr/lib/ccache/bin:/usr/lib/ccache :/usr/local/opt/ccache/libexec:$PATH"
108125 make -j$(nproc) HAVE_RULES=yes CXXOPTS="-Werror" testrunner
109126
110127 - name : Run test
0 commit comments