Skip to content

[mdarray] Add conversions to mdspan #272

[mdarray] Add conversions to mdspan

[mdarray] Add conversions to mdspan #272

Workflow file for this run

name: Linux
on: [push, pull_request]
concurrency:
group: ${{ github.ref }}-${{ github.workflow }}
cancel-in-progress: true
jobs:
build:
strategy:
matrix:
config:
[
{ cc: gcc-11, cxx: g++-11 },
{ cc: gcc-12, cxx: g++-12 },
{ cc: gcc-13, cxx: g++-13 },
{ cc: clang-16, cxx: clang++-16 },
{ cc: clang-17, cxx: clang++-17 },
{ cc: clang-18, cxx: clang++-18 },
]
cxx_std: [20, 23]
fail-fast: false
runs-on: ubuntu-22.04
name: ${{ matrix.config.cc }} (C++${{ matrix.cxx_std }})
steps:
- name: Check out code
uses: actions/checkout@v4
- name: Update APT
run: |
sudo apt update -y
sudo apt install -y ninja-build
- name: Install clang-16
if: matrix.config.cc == 'clang-16'
run: |
wget https://apt.llvm.org/llvm.sh
chmod +x llvm.sh
sudo ./llvm.sh 16 all
- name: Install clang-17
if: matrix.config.cc == 'clang-17'
run: |
wget https://apt.llvm.org/llvm.sh
chmod +x llvm.sh
sudo ./llvm.sh 17 all
- name: Install clang-18
if: matrix.config.cc == 'clang-18'
run: |
wget https://apt.llvm.org/llvm.sh
chmod +x llvm.sh
sudo ./llvm.sh 18 all
- name: CMake configure
run: >
cmake -S .
-B build
-G "Ninja Multi-Config"
-D CMAKE_C_COMPILER=${{ matrix.config.cc }}
-D CMAKE_CXX_COMPILER=${{ matrix.config.cxx }}
-D CMAKE_CXX_STANDARD=${{ matrix.cxx_std }}
-D TETL_BUILD_WERROR=ON
-D TETL_BUILD_WEVERYTHING=ON
- name: CMake build -- Debug
run: cmake --build build --config Debug
- name: Run all tests -- Debug
run: ctest --test-dir build -C Debug --output-on-failure
- name: CMake build -- Release
run: cmake --build build --config Release
- name: Run all tests -- Release
run: ctest --test-dir build -C Release --output-on-failure