Skip to content

Commit 81901e3

Browse files
committed
Add more workflows on Linux to test boost-filesystem
Signed-off-by: Kai Blaschke <[email protected]>
1 parent 51142f0 commit 81901e3

File tree

1 file changed

+48
-41
lines changed

1 file changed

+48
-41
lines changed

.github/workflows/build_linux.yml

Lines changed: 48 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -13,8 +13,44 @@ on:
1313

1414
jobs:
1515
build-shared:
16-
name: Shared Library
17-
runs-on: ubuntu-latest
16+
name: Build Linux (${{ matrix.artifact-name }})
17+
runs-on: ${{ matrix.runs-on }}
18+
strategy:
19+
fail-fast: false
20+
matrix:
21+
include:
22+
- shared-libs: ON
23+
boost: OFF
24+
runs-on: ubuntu-24.04
25+
artifact-name: shared-stlfs-ubuntu24
26+
- shared-libs: OFF
27+
boost: OFF
28+
runs-on: ubuntu-24.04
29+
artifact-name: static-stlfs-ubuntu24
30+
- shared-libs: ON
31+
boost: ON
32+
runs-on: ubuntu-24.04
33+
artifact-name: shared-boostfs-ubuntu24
34+
- shared-libs: OFF
35+
boost: ON
36+
runs-on: ubuntu-24.04
37+
artifact-name: static-boostfs-ubuntu24
38+
- shared-libs: ON
39+
boost: OFF
40+
runs-on: ubuntu-22.04
41+
artifact-name: shared-stlfs-ubuntu22
42+
- shared-libs: OFF
43+
boost: OFF
44+
runs-on: ubuntu-22.04
45+
artifact-name: static-stlfs-ubuntu22
46+
- shared-libs: ON
47+
boost: ON
48+
runs-on: ubuntu-22.04
49+
artifact-name: shared-boostfs-ubuntu22
50+
- shared-libs: OFF
51+
boost: ON
52+
runs-on: ubuntu-22.04
53+
artifact-name: static-boostfs-ubuntu22
1854

1955
steps:
2056
- uses: actions/checkout@v4
@@ -27,44 +63,15 @@ jobs:
2763
sudo apt-get install -y libgl1-mesa-dev mesa-common-dev libsdl2-dev libglm-dev libgtest-dev libgmock-dev ninja-build
2864
2965
- name: Configure Build
30-
run: cmake -G "Ninja Multi-Config" -S "${{ github.workspace }}" -B "${{ github.workspace }}/cmake-build" -DCMAKE_INSTALL_PREFIX="${{ github.workspace }}/install" -DCMAKE_VERBOSE_MAKEFILE=YES -DBUILD_SHARED_LIBS=ON -DBUILD_TESTING=YES
31-
32-
- name: Build Debug
33-
run: cmake --build "${{ github.workspace }}/cmake-build" --config "Debug" --parallel
34-
35-
- name: Run Unit Tests
36-
run: ctest --test-dir "${{ github.workspace }}/cmake-build" --verbose --build-config "Debug"
37-
38-
- name: Build Release
39-
run: cmake --build "${{ github.workspace }}/cmake-build" --config "Release" --parallel
40-
41-
- name: Install
42-
run: |
43-
cmake --build "${{ github.workspace }}/cmake-build" --config "Debug" --target install
44-
cmake --build "${{ github.workspace }}/cmake-build" --config "Release" --target install
45-
46-
- name: Upload Artifact
47-
uses: actions/upload-artifact@v4
48-
with:
49-
name: projectm-linux-shared-latest
50-
path: install/*
51-
52-
build-static:
53-
name: Static Library
54-
runs-on: ubuntu-latest
55-
56-
steps:
57-
- uses: actions/checkout@v4
58-
with:
59-
submodules: 'recursive'
60-
61-
- name: Install Packages
6266
run: |
63-
sudo apt-get update
64-
sudo apt-get install -y libgl1-mesa-dev mesa-common-dev libsdl2-dev libglm-dev libgtest-dev libgmock-dev ninja-build
65-
66-
- name: Configure Build
67-
run: cmake -G "Ninja Multi-Config" -S "${{ github.workspace }}" -B "${{ github.workspace }}/cmake-build" -DCMAKE_INSTALL_PREFIX="${{ github.workspace }}/install" -DCMAKE_VERBOSE_MAKEFILE=YES -DBUILD_SHARED_LIBS=OFF -DBUILD_TESTING=YES
67+
cmake -G "Ninja Multi-Config" \
68+
-S "${{ github.workspace }}" \
69+
-B "${{ github.workspace }}/cmake-build" \
70+
-DCMAKE_INSTALL_PREFIX="${{ github.workspace }}/install" \
71+
-DCMAKE_VERBOSE_MAKEFILE=YES \
72+
-DBUILD_SHARED_LIBS="${{ matrix.shared-libs }}" \
73+
-DENABLE_BOOST_FILESYSTEM="${{ matrix.boost }}" \
74+
-DBUILD_TESTING=YES
6875
6976
- name: Build Debug
7077
run: cmake --build "${{ github.workspace }}/cmake-build" --config "Debug" --parallel
@@ -83,5 +90,5 @@ jobs:
8390
- name: Upload Artifact
8491
uses: actions/upload-artifact@v4
8592
with:
86-
name: projectm-linux-static-latest
87-
path: install/*
93+
name: projectm-linux-${{ matrix.artifact-name }}
94+
path: install/*

0 commit comments

Comments
 (0)