88
99jobs :
1010
11+
1112 linux :
1213
1314 strategy :
@@ -18,12 +19,17 @@ jobs:
1819 - {compiler: gcc, version: '11', name: c++17, flags: -DCPP17=ON}
1920 - {compiler: clang, version: '15', name: assert, flags: -DXTENSOR_ENABLE_ASSERT=ON}
2021 - {compiler: clang, version: '16', name: column-major, flags: -DDEFAULT_COLUMN_MAJOR=ON}
22+ - {compiler: default, version: '', name: tbb, flags: -DXTENSOR_USE_TBB=ON -DTBB_INCLUDE_DIR=$CONDA_PREFIX/include -DTBB_LIBRARY=$CONDA_PREFIX/lib}
23+ - {compiler: default, version: '', name: openmp, flags: -DXTENSOR_USE_OPENMP=ON}
24+ - {compiler: default, version: '', name: noexcept, flags: -DXTENSOR_DISABLE_EXCEPTIONS=ON}
25+ - {compiler: default, version: '', name: xsimd, flags: -DXTENSOR_USE_XSIMD=ON}
26+ - {compiler: default, version: '', name: xsimd-tbb, flags: -DXTENSOR_USE_XSIMD=ON -DXTENSOR_USE_TBB=ON}
2127
2228 defaults :
2329 run :
24- shell : bash -l {0}
30+ shell : bash -e - l {0}
2531
26- name : ${{ matrix.runs-on }} • ${{ matrix.sys.compiler }} ${{ matrix.sys.version }} - ${{ matrix.sys.name }}
32+ name : ${{ matrix.runs-on }} • ${{ matrix.sys.compiler }}${{ matrix.sys.version }} - ${{ matrix.sys.name }}
2733 runs-on : ${{ matrix.runs-on }}
2834 steps :
2935
@@ -56,10 +62,14 @@ jobs:
5662 uses : actions/checkout@v3
5763
5864 - name : Set conda environment
59- uses : mamba-org/provision-with -micromamba@main
65+ uses : mamba-org/setup -micromamba@main
6066 with :
6167 environment-name : myenv
6268 environment-file : environment-dev.yml
69+ init-shell : bash
70+ cache-downloads : true
71+ create-args : |
72+ ${{ (matrix.sys.name == 'tbb' || matrix.sys.name == 'xsimd-tbb' ) && 'tbb-devel' || '' }}
6373
6474 - name : Configure using CMake
6575 run : cmake -Bbuild -DCMAKE_INSTALL_PREFIX=$CONDA_PREFIX -DBUILD_TESTS=ON ${{ matrix.sys.flags }}
@@ -76,43 +86,90 @@ jobs:
7686 working-directory : build
7787 run : ctest -R ^xtest$ --output-on-failure
7888
79- default :
89+
90+ macos :
8091
8192 strategy :
8293 fail-fast : false
8394 matrix :
84- runs-on : [macos-latest, windows-latest ]
95+ runs-on : [macos-latest]
8596
8697 defaults :
8798 run :
88- shell : bash -l {0}
99+ shell : bash -e - l {0}
89100
90101 name : ${{ matrix.runs-on }} • default - default
91102 runs-on : ${{ matrix.runs-on }}
92103 steps :
93104
94- - name : Setup MSVC
95- if : runner.os == 'Windows'
96- uses : ilammy/msvc-dev-cmd@v1
97-
98105 - name : Checkout code
99106 uses : actions/checkout@v3
100107
101108 - name : Set conda environment
102- uses : mamba-org/provision-with -micromamba@main
109+ uses : mamba-org/setup -micromamba@main
103110 with :
104111 environment-name : myenv
105112 environment-file : environment-dev.yml
106- extra-specs : |
107- sel(win): ninja
108- sel(win): tbb-devel
113+ init-shell : bash
114+ cache-downloads : true
109115
110116 - name : Configure using CMake
111- if : runner.os != 'Windows'
112117 run : cmake -Bbuild -DCMAKE_INSTALL_PREFIX=$CONDA_PREFIX -DBUILD_TESTS=ON
113118
119+ - name : Install
120+ working-directory : build
121+ run : cmake --install .
122+
123+ - name : Build
124+ working-directory : build
125+ run : cmake --build . --target test_xtensor_lib --parallel 8
126+
127+ - name : Run tests
128+ working-directory : build
129+ run : ctest -R ^xtest$ --output-on-failure
130+
131+ windows :
132+
133+ strategy :
134+ fail-fast : false
135+ matrix :
136+ runs-on : [windows-latest]
137+ sys :
138+ - {compiler: default}
139+ - {compiler: clang}
140+
141+ defaults :
142+ run :
143+ shell : bash -e -l {0}
144+
145+ name : ${{ matrix.runs-on }} • ${{ matrix.sys.compiler }} - default
146+ runs-on : ${{ matrix.runs-on }}
147+ steps :
148+
149+ - name : Setup MSVC
150+ if : matrix.sys.compiler == 'default'
151+ uses : ilammy/msvc-dev-cmd@v1
152+
153+ - name : Setup clang
154+ if : matrix.sys.compiler == 'clang'
155+ run : |
156+ echo "CC=clang" >> $GITHUB_ENV
157+ echo "CXX=clang++" >> $GITHUB_ENV
158+
159+ - name : Checkout code
160+ uses : actions/checkout@v3
161+
162+ - name : Set conda environment
163+ uses : mamba-org/setup-micromamba@main
164+ with :
165+ environment-name : myenv
166+ environment-file : environment-dev.yml
167+ init-shell : bash
168+ cache-downloads : true
169+ create-args : |
170+ ninja
171+
114172 - name : Configure using CMake
115- if : runner.os == 'Windows'
116173 run : cmake -Bbuild -DCMAKE_INSTALL_PREFIX=$CONDA_PREFIX -DBUILD_TESTS=ON -G Ninja
117174
118175 - name : Install
0 commit comments