Add support for C++20 format API #138
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name : Build | |
on: | |
push: | |
branches: | |
- master | |
pull_request: | |
branches: | |
- master | |
jobs: | |
check_clang_format: | |
name: "Check C++ style" | |
runs-on: ubuntu-22.04 | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Install clang | |
run: | | |
wget https://apt.llvm.org/llvm.sh | |
chmod +x llvm.sh | |
sudo ./llvm.sh 17 | |
sudo apt-get install clang-format-17 | |
- name: "Clang-format" | |
run: clang-format-17 --Werror --dry-run test-boxed-cpp.cpp include/boxed-cpp/boxed.hpp | |
editorconfig: | |
name: "Check editorconfig" | |
runs-on: ubuntu-22.04 | |
steps: | |
- uses: actions/checkout@v2 | |
- uses: editorconfig-checker/action-editorconfig-checker@main | |
- run: editorconfig-checker | |
ubuntu: | |
strategy: | |
fail-fast: false | |
matrix: | |
os: [ubuntu-24.04, ubuntu-22.04, ubuntu-20.04] | |
cxx: [20] | |
build_type: ["RelWithDebInfo"] | |
llvm_version: | |
[ | |
"17", | |
"18" | |
] | |
name: " ${{ matrix.os }} (clang-${{ matrix.llvm_version }}, C++${{ matrix.cxx }}, ${{matrix.build_type}})" | |
runs-on: ${{ matrix.os }} | |
outputs: | |
id: "${{ matrix.compiler }} (C++${{ matrix.cxx }}, ${{ matrix.build_type }})" | |
steps: | |
- uses: actions/checkout@v3 | |
# - name: ccache | |
# uses: hendrikmuhs/[email protected] | |
# with: | |
# key: "ccache-ubuntu2204-${{ matrix.compiler }}-${{ matrix.cxx }}-${{ matrix.build_type }}" | |
# max-size: 256M | |
- name: "update APT database" | |
run: sudo apt -q update | |
- name: Install clang | |
run: | | |
wget https://apt.llvm.org/llvm.sh | |
chmod +x llvm.sh | |
sudo ./llvm.sh ${{ matrix.llvm_version }} | |
# can not use clang-tidy until https://github.com/actions/runner-images/issues/8659 get fixed | |
- name: "Download dependencies" | |
run: sudo apt install cmake ninja-build # catch2 | |
- name: "Cmake configure" | |
run: | | |
cmake -S . -B build -G Ninja \ | |
-DBOXED_TESTING=ON \ | |
-DENABLE_TIDY=OFF \ | |
-DPEDANTIC_COMPILER=OFF \ | |
-DCMAKE_CXX_FLAGS="-Wno-unknown-warning-option" \ | |
-DCMAKE_CXX_STANDARD=${{ matrix.cxx }} \ | |
-DCMAKE_CXX_COMPILER=clang++-${{ matrix.llvm_version }} \ | |
-DCMAKE_BUILD_TYPE=${{matrix.build_type}} | |
- name: "build" | |
run: cmake --build build --parallel 3 | |
- name: "run test" | |
run: ./build/test-boxed-cpp |