Skip to content

Commit cb67388

Browse files
committed
Add more workflows on Linux to test boost-filesystem
1 parent 537add3 commit cb67388

File tree

5 files changed

+319
-143
lines changed

5 files changed

+319
-143
lines changed

.github/workflows/build_android.yml

Lines changed: 12 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,18 @@
11
name: Android (arm64-v8a, API level 33)
22

33
on:
4-
push:
5-
branches:
6-
- "*"
7-
tags:
8-
- "*"
9-
10-
pull_request:
11-
branches:
12-
- "*"
4+
workflow_dispatch:
5+
6+
#on:
7+
# push:
8+
# branches:
9+
# - "*"
10+
# tags:
11+
# - "*"
12+
#
13+
# pull_request:
14+
# branches:
15+
# - "*"
1316

1417
jobs:
1518
build-shared:

.github/workflows/build_emscripten.yml

Lines changed: 12 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,18 @@
11
name: Emscripten
22

33
on:
4-
push:
5-
branches:
6-
- "*"
7-
tags:
8-
- "*"
9-
10-
pull_request:
11-
branches:
12-
- "*"
4+
workflow_dispatch:
5+
6+
#on:
7+
# push:
8+
# branches:
9+
# - "*"
10+
# tags:
11+
# - "*"
12+
#
13+
# pull_request:
14+
# branches:
15+
# - "*"
1316

1417
jobs:
1518
build:

.github/workflows/build_linux.yml

Lines changed: 65 additions & 45 deletions
Original file line numberDiff line numberDiff line change
@@ -2,19 +2,55 @@ name: Ubuntu Linux (x86_64)
22

33
on:
44
push:
5-
branches:
5+
branches:
66
- "*"
77
tags:
88
- "*"
9-
9+
1010
pull_request:
11-
branches:
11+
branches:
1212
- "*"
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
@@ -24,47 +60,31 @@ jobs:
2460
- name: Install Packages
2561
run: |
2662
sudo apt-get update
27-
sudo apt-get install -y libgl1-mesa-dev mesa-common-dev libsdl2-dev libglm-dev libgtest-dev libgmock-dev ninja-build
28-
29-
- 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
63+
sudo apt-get install --yes --no-install-recommends \
64+
libgl1-mesa-dev \
65+
mesa-common-dev \
66+
libsdl2-dev \
67+
libglm-dev \
68+
libgtest-dev \
69+
libgmock-dev \
70+
ninja-build
71+
72+
- name: Install boost-filesystem-dev
73+
if: "${{ contains(matrix.boost, 'ON') }}"
4274
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
62-
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
75+
sudo apt-get install --yes --no-install-recommends \
76+
libboost-filesystem-dev
6577
6678
- 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
79+
run: |
80+
cmake -G "Ninja Multi-Config" \
81+
-S "${{ github.workspace }}" \
82+
-B "${{ github.workspace }}/cmake-build" \
83+
-DCMAKE_INSTALL_PREFIX="${{ github.workspace }}/install" \
84+
-DCMAKE_VERBOSE_MAKEFILE=YES \
85+
-DBUILD_SHARED_LIBS="${{ matrix.shared-libs }}" \
86+
-DENABLE_BOOST_FILESYSTEM="${{ matrix.boost }}" \
87+
-DBUILD_TESTING=YES
6888
6989
- name: Build Debug
7090
run: cmake --build "${{ github.workspace }}/cmake-build" --config "Debug" --parallel
@@ -83,5 +103,5 @@ jobs:
83103
- name: Upload Artifact
84104
uses: actions/upload-artifact@v4
85105
with:
86-
name: projectm-linux-static-latest
87-
path: install/*
106+
name: projectm-linux-${{ matrix.artifact-name }}
107+
path: install/*

.github/workflows/build_osx.yml

Lines changed: 66 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -1,66 +1,90 @@
1-
name: macOS (x86_64)
1+
name: macOS
22

33
on:
44
push:
5-
branches:
5+
branches:
66
- "*"
77
tags:
88
- "*"
9-
9+
1010
pull_request:
11-
branches:
11+
branches:
1212
- "*"
1313

1414
jobs:
1515
build-shared:
16-
name: Shared Library
17-
runs-on: macos-latest
16+
name: Build macOS (${{ 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: macos-15
25+
arch: arm64
26+
artifact-name: shared-stlfs-macos15-arm64
27+
- shared-libs: OFF
28+
boost: OFF
29+
runs-on: macos-15
30+
arch: arm64
31+
artifact-name: static-stlfs-macos15-arm64
32+
### BROKEN: Homebrew's Boost build for arm64 does not properly populate the include dir of the Boost CMake targets.
33+
#- shared-libs: ON
34+
# boost: ON
35+
# runs-on: macos-15
36+
# arch: arm64
37+
# artifact-name: shared-boostfs-macos15-arm64
38+
#- shared-libs: OFF
39+
# boost: ON
40+
# runs-on: macos-15
41+
# arch: arm64
42+
# artifact-name: static-boostfs-macos15-arm64
43+
- shared-libs: ON
44+
boost: OFF
45+
runs-on: macos-15-intel
46+
arch: x86_64
47+
artifact-name: shared-stlfs-macos15-x86_64
48+
- shared-libs: OFF
49+
boost: OFF
50+
runs-on: macos-15-intel
51+
arch: x86_64
52+
artifact-name: static-stlfs-macos15-x86_64
53+
- shared-libs: ON
54+
boost: ON
55+
runs-on: macos-15-intel
56+
arch: x86_64
57+
artifact-name: shared-boostfs-macos15-x86_64
58+
- shared-libs: OFF
59+
boost: ON
60+
runs-on: macos-15-intel
61+
arch: x86_64
62+
artifact-name: static-boostfs-macos15-x86_64
1863

1964
steps:
20-
- uses: actions/checkout@v4
21-
with:
22-
submodules: 'recursive'
23-
2465
- name: Install Packages
2566
run: brew install sdl2 ninja googletest
2667

27-
- name: Configure Build
28-
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
29-
30-
- name: Build Debug
31-
run: cmake --build "${{ github.workspace }}/cmake-build" --config "Debug" --parallel
32-
33-
- name: Run Unit Tests
34-
run: ctest --test-dir "${{ github.workspace }}/cmake-build" --verbose --build-config "Debug"
35-
36-
- name: Build Release
37-
run: cmake --build "${{ github.workspace }}/cmake-build" --config "Release" --parallel
38-
39-
- name: Install
68+
- name: Install boost-filesystem-dev
69+
if: "${{ contains(matrix.boost, 'ON') }}"
4070
run: |
41-
cmake --build "${{ github.workspace }}/cmake-build" --config "Debug" --target install
42-
cmake --build "${{ github.workspace }}/cmake-build" --config "Release" --target install
43-
44-
- name: Upload Artifact
45-
uses: actions/upload-artifact@v4
46-
with:
47-
name: projectm-osx-shared-latest
48-
path: install/*
71+
brew install --build-from-source boost
4972
50-
build-static:
51-
name: Static Library
52-
runs-on: macos-latest
53-
54-
steps:
5573
- uses: actions/checkout@v4
5674
with:
5775
submodules: 'recursive'
5876

59-
- name: Install Packages
60-
run: brew install sdl2 ninja googletest
61-
6277
- name: Configure Build
63-
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
78+
run: |
79+
cmake -G "Ninja Multi-Config" \
80+
-S "${{ github.workspace }}" \
81+
-B "${{ github.workspace }}/cmake-build" \
82+
-DCMAKE_INSTALL_PREFIX="${{ github.workspace }}/install" \
83+
-DCMAKE_VERBOSE_MAKEFILE=YES \
84+
-DBUILD_SHARED_LIBS="${{ matrix.shared-libs }}" \
85+
-DENABLE_BOOST_FILESYSTEM="${{ matrix.boost }}" \
86+
-DCMAKE_OSX_ARCHITECTURES="${{ matrix.arch }}" \
87+
-DBUILD_TESTING=YES
6488
6589
- name: Build Debug
6690
run: cmake --build "${{ github.workspace }}/cmake-build" --config "Debug" --parallel
@@ -79,5 +103,5 @@ jobs:
79103
- name: Upload Artifact
80104
uses: actions/upload-artifact@v4
81105
with:
82-
name: projectm-osx-static-latest
83-
path: install/*
106+
name: projectm-osx-${{ matrix.artifact-name }}
107+
path: install/*

0 commit comments

Comments
 (0)