Skip to content
This repository was archived by the owner on Jan 29, 2026. It is now read-only.

Commit ee03832

Browse files
committed
ci: move meson ci tests into bvt workflows
1 parent 6f1db2f commit ee03832

File tree

9 files changed

+225
-247
lines changed

9 files changed

+225
-247
lines changed

.github/workflows/bvt-appleclang.yml

Lines changed: 20 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ on:
22
workflow_call:
33

44
jobs:
5-
bvt-appleclang:
5+
bvt-appleclang-cmake:
66
runs-on: macos-15
77
steps:
88
- uses: actions/checkout@v4
@@ -18,8 +18,7 @@ jobs:
1818
cmake --build build -j
1919
ctest --test-dir build -j
2020
mkdir build/drop
21-
chmod +x tools/dump_build_env.sh
22-
./tools/dump_build_env.sh clang++ build/drop/env-info.json
21+
bash ./tools/dump_build_env.sh clang++ build/drop/env-info.json
2322
2423
- name: run benchmarks
2524
run: |
@@ -30,3 +29,21 @@ jobs:
3029
with:
3130
name: drop-appleclang
3231
path: build/drop/
32+
33+
bvt-appleclang-meson:
34+
runs-on: macos-15
35+
steps:
36+
- uses: actions/checkout@v4
37+
38+
- name: setup meson
39+
run: pipx install meson
40+
41+
- name: check compiler versions
42+
run: |
43+
clang --version
44+
xcodebuild -version
45+
46+
- name: build and run test with AppleClang on meson
47+
run: |
48+
meson setup builddir --buildtype=release -Dtests=enabled
49+
meson test -C builddir

.github/workflows/bvt-clang.yml

Lines changed: 37 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -2,33 +2,34 @@ on:
22
workflow_call:
33

44
jobs:
5-
bvt-clang:
5+
bvt-clang-cmake:
66
runs-on: ubuntu-24.04
77
steps:
88
- uses: actions/checkout@v4
99

1010
- name: install clang
1111
run: |
12-
wget https://apt.llvm.org/llvm.sh
13-
chmod +x llvm.sh
14-
sudo ./llvm.sh 20
15-
sudo apt install -y libc++-20-dev clang-format-20
12+
sudo apt install -y clang-20 libc++-20-dev clang-format-20
13+
cat <<'EOF' >> "$GITHUB_ENV"
14+
CC=clang-20
15+
CXX=clang++-20
16+
CXXFLAGS=-stdlib=libc++
17+
EOF
1618
1719
- name: check compiler version
1820
run: |
19-
clang++-20 --version
21+
"$CXX" --version
2022
21-
- name: build and run test with clang 20
23+
- name: build and run test with clang 20 on cmake
2224
run: |
23-
cmake -B build -GNinja -DCMAKE_C_COMPILER=clang-20 -DCMAKE_CXX_COMPILER=clang++-20 -DCMAKE_CXX_FLAGS="-stdlib=libc++" -DCMAKE_CXX_STANDARD=23 -DCMAKE_BUILD_TYPE=Release -DPROXY_BUILD_MODULES=TRUE
25+
cmake -B build -GNinja -DCMAKE_CXX_STANDARD=23 -DCMAKE_BUILD_TYPE=Release -DPROXY_BUILD_MODULES=TRUE
2426
mapfile -t FILES < <(find include tests benchmarks build/examples_from_docs tools -type f \( -name '*.h' -o -name '*.ixx' -o -name '*.cpp' \))
2527
echo "Running clang-format on ${#FILES[@]} files: ${FILES[*]}"
2628
clang-format-20 --dry-run --Werror "${FILES[@]}"
2729
cmake --build build -j
2830
ctest --test-dir build -j
2931
mkdir build/drop
30-
chmod +x tools/dump_build_env.sh
31-
./tools/dump_build_env.sh clang++-20 build/drop/env-info.json
32+
bash ./tools/dump_build_env.sh "$CXX" build/drop/env-info.json
3233
3334
- name: run benchmarks
3435
run: |
@@ -39,3 +40,29 @@ jobs:
3940
with:
4041
name: drop-clang
4142
path: build/drop/
43+
44+
bvt-clang-meson:
45+
runs-on: ubuntu-24.04
46+
steps:
47+
- uses: actions/checkout@v4
48+
49+
- name: install meson
50+
run: pipx install meson
51+
52+
- name: install clang
53+
run: |
54+
sudo apt install -y clang-20 libc++-20-dev clang-format-20
55+
cat <<'EOF' >> "$GITHUB_ENV"
56+
CC=clang-20
57+
CXX=clang++-20
58+
CXXFLAGS=-stdlib=libc++
59+
EOF
60+
61+
- name: check compiler version
62+
run: |
63+
"$CXX" --version
64+
65+
- name: build and run test with clang 20 on meson
66+
run: |
67+
meson setup builddir --buildtype=release -Dtests=enabled
68+
meson test -C builddir

.github/workflows/bvt-compatibility.yml

Lines changed: 38 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -4,54 +4,53 @@ on:
44
jobs:
55
bvt-compatibility:
66
runs-on: ubuntu-24.04
7+
strategy:
8+
fail-fast: false
9+
matrix:
10+
compiler:
11+
- {compiler: gcc, version: 13, modules: false}
12+
- {compiler: gcc, version: 14, modules: true}
13+
- {compiler: clang, version: 16, modules: false}
14+
- {compiler: clang, version: 17, modules: false}
15+
- {compiler: clang, version: 18, modules: false}
16+
- {compiler: clang, version: 19, modules: false}
17+
buildsystem: [cmake, meson]
18+
719
steps:
820
- uses: actions/checkout@v4
921

10-
- name: install compilers
11-
run: |
12-
sudo apt install -y gcc-13 g++-13 gcc-14 g++-14 clang-16 clang-17 clang-18 clang-19 libc++-17-dev
13-
14-
- name: check compiler versions
15-
run: |
16-
g++-13 --version
17-
g++-14 --version
18-
clang++-16 --version
19-
clang++-17 --version
20-
clang++-18 --version
21-
clang++-19 --version
22-
23-
- name: build and run test with gcc 14
24-
run: |
25-
cmake -B build-gcc-14 -GNinja -DCMAKE_C_COMPILER=gcc-14 -DCMAKE_CXX_COMPILER=g++-14 -DCMAKE_BUILD_TYPE=Release -DPROXY_BUILD_MODULES=TRUE
26-
cmake --build build-gcc-14 -j
27-
ctest --test-dir build-gcc-14 -j
28-
29-
- name: build and run test with gcc 13
22+
- name: install gcc
23+
if: ${{ matrix.compiler.compiler == 'gcc' }}
3024
run: |
31-
cmake -B build-gcc-13 -DCMAKE_C_COMPILER=gcc-13 -DCMAKE_CXX_COMPILER=g++-13 -DCMAKE_BUILD_TYPE=Release -DPROXY_BUILD_MODULES=FALSE
32-
cmake --build build-gcc-13 -j
33-
ctest --test-dir build-gcc-13 -j
25+
sudo apt install -y 'g++-${{ matrix.compiler.version }}'
26+
cat <<'EOF' >> "$GITHUB_ENV"
27+
CC=gcc-${{ matrix.compiler.version }}
28+
CXX=g++-${{ matrix.compiler.version }}
29+
EOF
3430
35-
- name: build and run test with clang 19
31+
- name: install clang
32+
if: ${{ matrix.compiler.compiler == 'clang' }}
3633
run: |
37-
cmake -B build-clang-19 -DCMAKE_C_COMPILER=clang-19 -DCMAKE_CXX_COMPILER=clang++-19 -DCMAKE_CXX_FLAGS="-stdlib=libc++" -DCMAKE_BUILD_TYPE=Release -DPROXY_BUILD_MODULES=FALSE
38-
cmake --build build-clang-19 -j
39-
ctest --test-dir build-clang-19 -j
34+
sudo apt install -y 'clang-${{ matrix.compiler.version }}' 'libc++-${{ matrix.compiler.version }}-dev'
35+
cat <<'EOF' >> "$GITHUB_ENV"
36+
CC=clang-${{ matrix.compiler.version }}
37+
CXX=clang++-${{ matrix.compiler.version }}
38+
CXXFLAGS=-stdlib=libc++
39+
EOF
4040
41-
- name: build and run test with clang 18
41+
- name: check compiler version
4242
run: |
43-
cmake -B build-clang-18 -DCMAKE_C_COMPILER=clang-18 -DCMAKE_CXX_COMPILER=clang++-18 -DCMAKE_CXX_FLAGS="-stdlib=libc++" -DCMAKE_BUILD_TYPE=Release -DPROXY_BUILD_MODULES=FALSE
44-
cmake --build build-clang-18 -j
45-
ctest --test-dir build-clang-18 -j
43+
"$CXX" --version
4644
47-
- name: build and run test with clang 17
45+
- name: build and run test with cmake
46+
if: ${{ matrix.buildsystem == 'cmake' }}
4847
run: |
49-
cmake -B build-clang-17 -DCMAKE_C_COMPILER=clang-17 -DCMAKE_CXX_COMPILER=clang++-17 -DCMAKE_CXX_FLAGS="-stdlib=libc++" -DCMAKE_BUILD_TYPE=Release -DPROXY_BUILD_MODULES=FALSE
50-
cmake --build build-clang-17 -j
51-
ctest --test-dir build-clang-17 -j
48+
cmake -B build -GNinja -DCMAKE_BUILD_TYPE=Release '-DPROXY_BUILD_MODULES=${{ matrix.compiler.modules }}'
49+
cmake --build build -j
50+
ctest --test-dir build -j
5251
53-
- name: build and run test with clang 16
52+
- name: build and run test with meson
53+
if: ${{ matrix.buildsystem == 'meson' }}
5454
run: |
55-
cmake -B build-clang-16 -DCMAKE_C_COMPILER=clang-16 -DCMAKE_CXX_COMPILER=clang++-16 -DCMAKE_CXX_FLAGS="-stdlib=libc++" -DCMAKE_BUILD_TYPE=Release -DPROXY_BUILD_MODULES=FALSE
56-
cmake --build build-clang-16 -j
57-
ctest --test-dir build-clang-16 -j
55+
meson setup build --buildtype=release -Dmodules ${{ matrix.compiler.modules && 'enabled' || 'disabled' }}
56+
meson test -C build

.github/workflows/bvt-gcc.yml

Lines changed: 30 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,27 +2,30 @@ on:
22
workflow_call:
33

44
jobs:
5-
bvt-gcc:
5+
bvt-gcc-cmake:
66
runs-on: ubuntu-24.04
77
steps:
88
- uses: actions/checkout@v4
99

1010
- name: install gcc
1111
run: |
1212
sudo apt install -y gcc-14 g++-14
13+
cat <<'EOF' >> "$GITHUB_ENV"
14+
CC=gcc-14
15+
CXX=g++14
16+
EOF
1317
1418
- name: check compiler version
1519
run: |
16-
g++-14 --version
20+
"$CXX" --version
1721
1822
- name: build and run test with gcc 14
1923
run: |
20-
cmake -B build -GNinja -DCMAKE_C_COMPILER=gcc-14 -DCMAKE_CXX_COMPILER=g++-14 -DCMAKE_CXX_STANDARD=23 -DCMAKE_BUILD_TYPE=Release -DPROXY_BUILD_MODULES=TRUE
24+
cmake -B build -GNinja -DCMAKE_CXX_STANDARD=23 -DCMAKE_BUILD_TYPE=Release -DPROXY_BUILD_MODULES=TRUE
2125
cmake --build build -j
2226
ctest --test-dir build -j
2327
mkdir build/drop
24-
chmod +x tools/dump_build_env.sh
25-
./tools/dump_build_env.sh g++-14 build/drop/env-info.json
28+
bash ./tools/dump_build_env.sh g++-14 build/drop/env-info.json
2629
2730
- name: run benchmarks
2831
run: |
@@ -33,3 +36,25 @@ jobs:
3336
with:
3437
name: drop-gcc
3538
path: build/drop/
39+
40+
bvt-gcc-meson:
41+
runs-on: ubuntu-24.04
42+
steps:
43+
- uses: actions/checkout@v4
44+
45+
- name: install gcc
46+
run: |
47+
sudo apt install -y gcc-14 g++-14
48+
cat <<'EOF' >> "$GITHUB_ENV"
49+
CC=gcc-14
50+
CXX=g++14
51+
EOF
52+
53+
- name: check compiler version
54+
run: |
55+
"$CXX" --version
56+
57+
- name: build and run test with gcc 14 on meson
58+
run: |
59+
meson setup builddir --buildtype=release -Dtests=enabled
60+
meson test -C builddir

.github/workflows/bvt-msvc.yml

Lines changed: 15 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,15 +2,15 @@ on:
22
workflow_call:
33

44
jobs:
5-
bvt-msvc:
5+
bvt-msvc-cmake:
66
runs-on: windows-2025
77
steps:
88
- uses: actions/checkout@v4
99

1010
- name: add cl.exe to PATH
1111
uses: ilammy/msvc-dev-cmd@v1
1212

13-
- name: build and run test with MSVC
13+
- name: build and run test with MSVC on cmake
1414
run: |
1515
cmake -B build -DCMAKE_CXX_STANDARD=23 -DPROXY_BUILD_MODULES=TRUE `
1616
&& cmake --build build --config Release -j `
@@ -27,3 +27,16 @@ jobs:
2727
with:
2828
name: drop-msvc
2929
path: build/drop/
30+
31+
bvt-msvc-meson:
32+
runs-on: windows-2025
33+
steps:
34+
- uses: actions/checkout@v4
35+
36+
- name: install meson
37+
run: pipx install meson
38+
39+
- name: build and run test with MSVC on meson
40+
run: |
41+
meson setup builddir --buildtype=release -Dtests=enabled --vsenv
42+
meson test -C builddir

.github/workflows/bvt-nvhpc.yml

Lines changed: 31 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ on:
22
workflow_call:
33

44
jobs:
5-
bvt-nvhpc:
5+
bvt-nvhpc-cmake:
66
runs-on: ubuntu-24.04
77
steps:
88
- uses: actions/checkout@v4
@@ -16,11 +16,14 @@ jobs:
1616
echo 'deb [signed-by=/usr/share/keyrings/nvidia-hpcsdk-archive-keyring.gpg] https://developer.download.nvidia.com/hpc-sdk/ubuntu/amd64 /' | sudo tee /etc/apt/sources.list.d/nvhpc.list
1717
sudo apt-get update -y
1818
sudo apt-get install -y nvhpc-25-7
19+
cat<<'EOF' >> "$GITHUB_ENV"
20+
CC=/opt/nvidia/hpc_sdk/Linux_x86_64/25.7/compilers/bin/nvc
21+
CXX=/opt/nvidia/hpc_sdk/Linux_x86_64/25.7/compilers/bin/nvc++
22+
EOF
1923
20-
- name: build and run test with NVHPC 25.7
24+
- name: build and run test with NVHPC 25.7 on cmake
2125
run: |
22-
PATH=/opt/nvidia/hpc_sdk/Linux_x86_64/25.7/compilers/bin:$PATH; export PATH
23-
cmake -B build -GNinja -DCMAKE_C_COMPILER=nvc -DCMAKE_CXX_COMPILER=nvc++ -DCMAKE_BUILD_TYPE=Release -DPROXY_BUILD_MODULES=FALSE
26+
cmake -B build -GNinja -DCMAKE_BUILD_TYPE=Release -DPROXY_BUILD_MODULES=FALSE
2427
cmake --build build -j
2528
ctest --test-dir build -j
2629
mkdir build/drop
@@ -36,3 +39,27 @@ jobs:
3639
with:
3740
name: drop-nvhpc
3841
path: build/drop/
42+
43+
bvt-nvhpc-meson:
44+
runs-on: ubuntu-24.04
45+
steps:
46+
- uses: actions/checkout@v4
47+
48+
- name: free disk space
49+
uses: jlumbroso/free-disk-space@v1.3.1
50+
51+
- name: install NVHPC 25.7
52+
run: |
53+
curl https://developer.download.nvidia.com/hpc-sdk/ubuntu/DEB-GPG-KEY-NVIDIA-HPC-SDK | sudo gpg --dearmor -o /usr/share/keyrings/nvidia-hpcsdk-archive-keyring.gpg
54+
echo 'deb [signed-by=/usr/share/keyrings/nvidia-hpcsdk-archive-keyring.gpg] https://developer.download.nvidia.com/hpc-sdk/ubuntu/amd64 /' | sudo tee /etc/apt/sources.list.d/nvhpc.list
55+
sudo apt-get update -y
56+
sudo apt-get install -y nvhpc-25-7
57+
cat<<'EOF' >> "$GITHUB_ENV"
58+
CC=/opt/nvidia/hpc_sdk/Linux_x86_64/25.7/compilers/bin/nvc
59+
CXX=/opt/nvidia/hpc_sdk/Linux_x86_64/25.7/compilers/bin/nvc++
60+
EOF
61+
62+
- name: build and run test with NVHPC 25.7 on meson
63+
run: |
64+
meson setup builddir --buildtype=release -Dtests=enabled
65+
meson test -C builddir

0 commit comments

Comments
 (0)