Skip to content

Commit bba56e3

Browse files
authored
Add compile modules to ci (#426)
1 parent b3bfe5b commit bba56e3

File tree

1 file changed

+47
-0
lines changed

1 file changed

+47
-0
lines changed
Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
name: CMake_cpp20_modules
2+
3+
on:
4+
push:
5+
branches: [ main ]
6+
pull_request:
7+
branches: [ main ]
8+
9+
env:
10+
# Customize the CMake build type here (Release, Debug, RelWithDebInfo, etc.)
11+
BUILD_TYPE: Release
12+
13+
jobs:
14+
build_with_clang:
15+
strategy:
16+
matrix:
17+
clang_version: [20, 21]
18+
# The CMake configure and build commands are platform agnostic and should work equally well on Windows or Mac.
19+
# You can convert this to a matrix build if you need cross-platform coverage.
20+
# See: https://docs.github.com/en/free-pro-team@latest/actions/learn-github-actions/managing-complex-workflows#using-a-build-matrix
21+
runs-on: ubuntu-22.04
22+
23+
steps:
24+
- uses: actions/checkout@v2
25+
26+
- name: deps
27+
run: |
28+
sudo apt update
29+
wget https://apt.llvm.org/llvm.sh
30+
chmod +x ./llvm.sh
31+
sudo ./llvm.sh ${{matrix.clang_version}}
32+
sudo apt install libaio-dev libgtest-dev libgmock-dev ninja-build/jammy -y
33+
34+
- name: Configure CMake
35+
# Configure CMake in a 'build' subdirectory. `CMAKE_BUILD_TYPE` is only required if you are using a single-configuration generator such as make.
36+
# See https://cmake.org/cmake/help/latest/variable/CMAKE_BUILD_TYPE.html?highlight=cmake_build_type
37+
run: CXX=clang++-${{matrix.clang_version}} CC=clang-${{matrix.clang_version}} cmake -B ${{github.workspace}}/build -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}} -DASYNC_SIMPLE_BUILD_MODULES=ON -GNinja
38+
39+
- name: Build
40+
# Build your program with the given configuration
41+
run: cd ${{github.workspace}}/build && ninja -j 9
42+
43+
- name: Test
44+
working-directory: ${{github.workspace}}/build
45+
# Execute tests defined by the CMake configuration.
46+
# See https://cmake.org/cmake/help/latest/manual/ctest.1.html for more detail
47+
run: ctest -C ${{env.BUILD_TYPE}} --output-on-failure

0 commit comments

Comments
 (0)