Skip to content

Commit 7355351

Browse files
authored
Merge pull request #62 from bemanproject/compiler_test
Add Compiler test
2 parents 501804e + ddaca35 commit 7355351

File tree

2 files changed

+63
-1
lines changed

2 files changed

+63
-1
lines changed

.github/workflows/ci_tests.yml

Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -120,6 +120,60 @@ jobs:
120120
- name: Test Debug
121121
run: ctest --test-dir build --build-config Debug
122122

123+
compiler-test:
124+
runs-on: ubuntu-latest
125+
strategy:
126+
fail-fast: false
127+
matrix:
128+
compilers:
129+
- class: gnu
130+
version: 14
131+
- class: gnu
132+
version: 13
133+
- class: gnu
134+
version: 12
135+
- class: llvm
136+
version: 20
137+
- class: llvm
138+
version: 19
139+
- class: llvm
140+
version: 18
141+
- class: llvm
142+
version: 17
143+
container:
144+
image: ghcr.io/wusatosi/cpp-docker:${{ matrix.compilers.class }}-${{ matrix.compilers.version }}
145+
name: "Compiler: ${{ matrix.compilers.class }} ${{ matrix.compilers.version }}"
146+
steps:
147+
- uses: actions/checkout@v4
148+
- name: Install Compiler
149+
id: install-compiler
150+
run: |
151+
if [ "${{ matrix.compilers.class }}" = "gnu" ]; then
152+
CC=gcc-${{ matrix.compilers.version }}
153+
CXX=g++-${{ matrix.compilers.version }}
154+
else
155+
CC=clang-${{ matrix.compilers.version }}
156+
CXX=clang++-${{ matrix.compilers.version }}
157+
fi
158+
159+
echo "CC=$CC" >> "$GITHUB_OUTPUT"
160+
echo "CXX=$CXX" >> "$GITHUB_OUTPUT"
161+
- name: Configure CMake
162+
run: |
163+
cmake -B build -S . -DCMAKE_CXX_STANDARD=20
164+
env:
165+
CC: ${{ steps.install-compiler.outputs.CC }}
166+
CXX: ${{ steps.install-compiler.outputs.CXX }}
167+
CMAKE_GENERATOR: "Ninja Multi-Config"
168+
- name: Build Debug
169+
run: |
170+
cmake --build build --config Debug --verbose
171+
# cmake --build build --config Debug --target all_verify_interface_header_sets
172+
cmake --install build --config Debug --prefix /tmp/beman.exemplar
173+
find /tmp/beman.exemplar -type f
174+
- name: Test Debug
175+
run: ctest --test-dir build --build-config Debug
176+
123177
create-issue-when-fault:
124178
runs-on: ubuntu-latest
125179
needs: [test]

README.md

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -74,9 +74,17 @@ template <int Capacity> inplace_vector<int, Capacity> fibonacci_to(int num) {
7474
7575
Building this repository requires **C++20** or later.
7676
77+
We will evaluate the possibility of partial support for C++17
78+
when constexpr is fully supported and tested.
79+
7780
### Dependencies
7881
79-
TODO: tested platforms.
82+
Current implementation is tested against both GNU gcc and LLVM clang compilers.
83+
More specifically, gcc version 12 to 14, and clang version 17 to 20.
84+
Versions outside of this range will likely work as well,
85+
they are just not tested in our current infrastructure.
86+
We are working on expanding this range of compiler support,
87+
and aim to bring `inplace_vector` to MSVC soon!
8088
8189
### Instructions
8290

0 commit comments

Comments
 (0)