ci: test all c++ versions #693
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
on: | |
push: | |
branches: | |
- main | |
- develop | |
pull_request: | |
jobs: | |
tests: | |
name: ${{ matrix.os }}-${{ matrix.compiler }}-${{ matrix.cppstd }}-${{ matrix.clang-version }}-python-${{ matrix.python-version }}-${{ matrix.castxml-epic }} | |
runs-on: ${{ matrix.os }} | |
strategy: | |
fail-fast: false | |
matrix: | |
include: | |
# UBUNTU 22.04 - CASTXML EPIC 0 | |
- os: ubuntu-22.04 | |
compiler: gcc | |
gcc-version: "11" | |
clang-version: "13" | |
python-version: "3.13" | |
castxml: "castxml" | |
castxml-epic: 0 | |
cppstd: "-std=c++98" | |
- os: ubuntu-22.04 | |
compiler: gcc | |
gcc-version: "11" | |
clang-version: "14" | |
python-version: "3.13" | |
castxml: "castxml" | |
castxml-epic: 0 | |
cppstd: "-std=c++98" | |
- os: ubuntu-22.04 | |
compiler: gcc | |
gcc-version: "11" | |
clang-version: "15" | |
python-version: "3.13" | |
castxml: "castxml" | |
castxml-epic: 0 | |
cppstd: "-std=c++98" | |
- os: ubuntu-22.04 | |
compiler: gcc | |
gcc-version: "11" | |
clang-version: "15" | |
python-version: "3.13" | |
castxml: "castxml" | |
castxml-epic: 1 | |
cppstd: "-std=c++98" | |
# UBUNTU 24.04 - CASTXML EPIC 0 | |
- os: ubuntu-24.04 | |
compiler: gcc | |
gcc-version: "13" | |
clang-version: "16" | |
python-version: "3.9" | |
castxml: "castxml" | |
castxml-epic: 0 | |
cppstd: "-std=c++98" | |
- os: ubuntu-24.04 | |
compiler: gcc | |
gcc-version: "13" | |
clang-version: "16" | |
python-version: "3.10" | |
castxml: "castxml" | |
castxml-epic: 0 | |
cppstd: "-std=c++98" | |
- os: ubuntu-24.04 | |
compiler: gcc | |
gcc-version: "13" | |
clang-version: "16" | |
python-version: "3.11" | |
castxml: "castxml" | |
castxml-epic: 0 | |
cppstd: "-std=c++98" | |
- os: ubuntu-24.04 | |
compiler: gcc | |
gcc-version: "13" | |
clang-version: "16" | |
python-version: "3.12" | |
castxml: "castxml" | |
castxml-epic: 0 | |
cppstd: "-std=c++98" | |
- os: ubuntu-24.04 | |
compiler: gcc | |
gcc-version: "13" | |
clang-version: "16" | |
python-version: "3.13" | |
castxml: "castxml" | |
castxml-epic: 0 | |
cppstd: "-std=c++98" | |
# UBUNTU 24.04 - CASTXML EPIC 0 - c++XX | |
- os: ubuntu-24.04 | |
compiler: gcc | |
gcc-version: "13" | |
clang-version: "16" | |
python-version: "3.13" | |
castxml: "castxml" | |
castxml-epic: 0 | |
cppstd: "-std=c++11" | |
- os: ubuntu-24.04 | |
compiler: gcc | |
gcc-version: "13" | |
clang-version: "16" | |
python-version: "3.13" | |
castxml: "castxml" | |
castxml-epic: 0 | |
cppstd: "-std=c++14" | |
- os: ubuntu-24.04 | |
compiler: gcc | |
gcc-version: "13" | |
clang-version: "16" | |
python-version: "3.13" | |
castxml: "castxml" | |
castxml-epic: 0 | |
cppstd: "-std=c++17" | |
- os: ubuntu-24.04 | |
compiler: gcc | |
gcc-version: "13" | |
clang-version: "16" | |
python-version: "3.13" | |
castxml: "castxml" | |
castxml-epic: 0 | |
cppstd: "-std=c++20" | |
- os: ubuntu-24.04 | |
compiler: gcc | |
gcc-version: "13" | |
clang-version: "16" | |
python-version: "3.13" | |
castxml: "castxml" | |
castxml-epic: 0 | |
cppstd: "-std=c++23" | |
# UBUNTU 24.04 - CASTXML EPIC 1 | |
- os: ubuntu-24.04 | |
compiler: gcc | |
gcc-version: "13" | |
clang-version: "16" | |
python-version: "3.13" | |
castxml: "castxml" | |
castxml-epic: 1 | |
cppstd: "-std=c++98" | |
- os: ubuntu-24.04 | |
compiler: gcc | |
gcc-version: "13" | |
clang-version: "16" | |
python-version: "3.13" | |
castxml: "castxml" | |
castxml-epic: 1 | |
cppstd: "-std=c++11" | |
# MACOS | |
- os: macos-13 | |
compiler: xcode | |
gcc-version: "default" | |
python-version: "3.13" | |
castxml: "castxml" | |
castxml-epic: 0 | |
cppstd: "-std=c++98" | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Set up Python ${{ matrix.python-version }} | |
uses: actions/setup-python@v5 | |
with: | |
python-version: ${{ matrix.python-version }} | |
- name: Display Python version | |
run: python -c "import sys; print(sys.version)" | |
- name: Install Python lib and test libs | |
run: | | |
pip install '.[test]' | |
- name: Run pycodestyle | |
run: pycodestyle . --exclude=docs | |
- name: Debug | |
run: ls /usr/bin/clang* | |
- name: Write xml_generator.cfg | |
run: | | |
echo "[xml_generator]" > tests/xml_generator.cfg | |
echo "compiler_path=/usr/bin/clang++-${{ matrix.clang-version }}" >> tests/xml_generator.cfg | |
echo "ccflags=${{ matrix.cppstd }}" >> tests/xml_generator.cfg | |
- name: Setup castxml for Linux | |
if: contains(matrix.os, 'ubuntu') && matrix.castxml == 'castxml' | |
run: | | |
wget -q -O - https://data.kitware.com/api/v1/file/hashsum/sha512/bdbb67a10c5f8d1b738cd19cb074f409d4803e8077cb8c1072ef4eaf738fa871a73643f9c8282d58cae28d188df842c82ad6620b6d590b0396a0172a27438dce/download | tar zxf - -C ~/ | |
- name: Setup castxml for Mac | |
if: matrix.os == 'macos-13' | |
run: | | |
wget -q -O - https://data.kitware.com/api/v1/file/hashsum/sha512/5d937e938f7b882a3a3e7941e68f8312d0898aaf2082e00003dd362b1ba70b98b0a08706a1be28e71652a6a0f1e66f89768b5eaa20e5a100592d5b3deefec3f0/download | tar zxf - -C ~/ | |
- name: Run tests | |
run: | | |
export PATH=~/castxml/bin:$PATH | |
pytest tests |