From afdb344c76b0bf6d3c550d393286210edf0d8203 Mon Sep 17 00:00:00 2001 From: Tom de Geus Date: Wed, 8 Nov 2023 15:09:36 +0100 Subject: [PATCH 1/6] Switching to `mamba-org/setup-micromamba` --- .github/workflows/ci.yml | 18 +++++++++++------- .github/workflows/ci_extended.yaml | 16 ++++++++++------ 2 files changed, 21 insertions(+), 13 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 749307808..2bc789e65 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -21,7 +21,7 @@ jobs: defaults: run: - shell: bash -l {0} + shell: bash -e -l {0} name: ${{ matrix.runs-on }} • ${{ matrix.sys.compiler }} ${{ matrix.sys.version }} - ${{ matrix.sys.name }} runs-on: ${{ matrix.runs-on }} @@ -56,10 +56,12 @@ jobs: uses: actions/checkout@v3 - name: Set conda environment - uses: mamba-org/provision-with-micromamba@main + uses: mamba-org/setup-micromamba@main with: environment-name: myenv environment-file: environment-dev.yml + init-shell: bash + cache-downloads: true - name: Configure using CMake run: cmake -Bbuild -DCMAKE_INSTALL_PREFIX=$CONDA_PREFIX -DBUILD_TESTS=ON ${{ matrix.sys.flags }} @@ -85,7 +87,7 @@ jobs: defaults: run: - shell: bash -l {0} + shell: bash -e -l {0} name: ${{ matrix.runs-on }} • default - default runs-on: ${{ matrix.runs-on }} @@ -99,13 +101,15 @@ jobs: uses: actions/checkout@v3 - name: Set conda environment - uses: mamba-org/provision-with-micromamba@main + uses: mamba-org/setup-micromamba@main with: environment-name: myenv environment-file: environment-dev.yml - extra-specs: | - sel(win): ninja - sel(win): tbb-devel + init-shell: bash + cache-downloads: true + create-args: | + ${{ runner.os == 'Windows' && 'ninja-64' || '' }} + ${{ runner.os == 'Windows' && 'tbb-devel' || '' }} - name: Configure using CMake if: runner.os != 'Windows' diff --git a/.github/workflows/ci_extended.yaml b/.github/workflows/ci_extended.yaml index 6fc2e0d5f..dffd9063e 100644 --- a/.github/workflows/ci_extended.yaml +++ b/.github/workflows/ci_extended.yaml @@ -34,12 +34,14 @@ jobs: uses: actions/checkout@v3 - name: Set conda environment - uses: mamba-org/provision-with-micromamba@main + uses: mamba-org/setup-micromamba@main with: environment-name: myenv environment-file: environment-dev.yml - extra-specs: | - tbb-devel + init-shell: bash + cache-downloads: true + create-args: | + ${{ (matrix.sys.name == 'tbb' || matrix.sys.name == 'xsimd-tbb' ) && 'tbb-devel' || '' }} - name: Configure using CMake run: cmake -Bbuild -DCMAKE_INSTALL_PREFIX=$CONDA_PREFIX -DBUILD_TESTS=ON ${{ matrix.sys.flags }} @@ -80,12 +82,14 @@ jobs: uses: actions/checkout@v3 - name: Set conda environment - uses: mamba-org/provision-with-micromamba@main + uses: mamba-org/setup-micromamba@main with: environment-name: myenv environment-file: environment-dev.yml - extra-specs: | - sel(win): ninja + init-shell: bash + cache-downloads: true + create-args: | + ${{ runner.os == 'Windows' && 'ninja-64' || '' }} - name: Configure using CMake run: cmake -Bbuild -DCMAKE_INSTALL_PREFIX=$CONDA_PREFIX -DBUILD_TESTS=ON -G Ninja ${{ matrix.sys.flags }} From abafa09d033d6e94a4d7f3af1ca63fa1e42560d1 Mon Sep 17 00:00:00 2001 From: Tom de Geus Date: Wed, 8 Nov 2023 15:10:41 +0100 Subject: [PATCH 2/6] fixing typo --- .github/workflows/ci_extended.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ci_extended.yaml b/.github/workflows/ci_extended.yaml index dffd9063e..8ef5b015b 100644 --- a/.github/workflows/ci_extended.yaml +++ b/.github/workflows/ci_extended.yaml @@ -24,7 +24,7 @@ jobs: defaults: run: - shell: bash -l {0} + shell: bash -e -l {0} name: ${{ matrix.runs-on }} • default - ${{ matrix.sys.name }} runs-on: ${{ matrix.runs-on }} @@ -67,7 +67,7 @@ jobs: defaults: run: - shell: bash -l {0} + shell: bash -e -l {0} name: ${{ matrix.runs-on }} • clang - default runs-on: ${{ matrix.runs-on }} From 3f3e96299d300589e60a63a96b424ec656aa230f Mon Sep 17 00:00:00 2001 From: Tom de Geus Date: Wed, 8 Nov 2023 15:33:49 +0100 Subject: [PATCH 3/6] fixing typo --- .github/workflows/ci.yml | 2 +- .github/workflows/ci_extended.yaml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 2bc789e65..72690d669 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -108,7 +108,7 @@ jobs: init-shell: bash cache-downloads: true create-args: | - ${{ runner.os == 'Windows' && 'ninja-64' || '' }} + ${{ runner.os == 'Windows' && 'ninja' || '' }} ${{ runner.os == 'Windows' && 'tbb-devel' || '' }} - name: Configure using CMake diff --git a/.github/workflows/ci_extended.yaml b/.github/workflows/ci_extended.yaml index 8ef5b015b..f36fffd04 100644 --- a/.github/workflows/ci_extended.yaml +++ b/.github/workflows/ci_extended.yaml @@ -89,7 +89,7 @@ jobs: init-shell: bash cache-downloads: true create-args: | - ${{ runner.os == 'Windows' && 'ninja-64' || '' }} + ${{ runner.os == 'Windows' && 'ninja' || '' }} - name: Configure using CMake run: cmake -Bbuild -DCMAKE_INSTALL_PREFIX=$CONDA_PREFIX -DBUILD_TESTS=ON -G Ninja ${{ matrix.sys.flags }} From c19d5457609f2d178a326fb24ebf043daa6ea731 Mon Sep 17 00:00:00 2001 From: Tom de Geus Date: Wed, 8 Nov 2023 15:44:02 +0100 Subject: [PATCH 4/6] combining all CI in a single file --- .github/workflows/ci.yml | 73 +++++++++++++++++--- .github/workflows/ci_extended.yaml | 107 ----------------------------- 2 files changed, 63 insertions(+), 117 deletions(-) delete mode 100644 .github/workflows/ci_extended.yaml diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 72690d669..0588ac80a 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -8,6 +8,7 @@ on: jobs: + linux: strategy: @@ -18,6 +19,11 @@ jobs: - {compiler: gcc, version: '11', name: c++17, flags: -DCPP17=ON} - {compiler: clang, version: '15', name: assert, flags: -DXTENSOR_ENABLE_ASSERT=ON} - {compiler: clang, version: '16', name: column-major, flags: -DDEFAULT_COLUMN_MAJOR=ON} + - {compiler: default, version: '*', name: tbb, flags: -DXTENSOR_USE_TBB=ON -DTBB_INCLUDE_DIR=$CONDA_PREFIX/include -DTBB_LIBRARY=$CONDA_PREFIX/lib} + - {compiler: default, version: '*', name: openmp, flags: -DXTENSOR_USE_OPENMP=ON} + - {compiler: default, version: '*', name: noexcept, flags: -DXTENSOR_DISABLE_EXCEPTIONS=ON} + - {compiler: default, version: '*', name: xsimd, flags: -DXTENSOR_USE_XSIMD=ON} + - {compiler: default, version: '*', name: xsimd-tbb, flags: -DXTENSOR_USE_XSIMD=ON -DXTENSOR_USE_TBB=ON} defaults: run: @@ -62,6 +68,8 @@ jobs: environment-file: environment-dev.yml init-shell: bash cache-downloads: true + create-args: | + ${{ (matrix.sys.name == 'tbb' || matrix.sys.name == 'xsimd-tbb' ) && 'tbb-devel' || '' }} - name: Configure using CMake run: cmake -Bbuild -DCMAKE_INSTALL_PREFIX=$CONDA_PREFIX -DBUILD_TESTS=ON ${{ matrix.sys.flags }} @@ -78,12 +86,13 @@ jobs: working-directory: build run: ctest -R ^xtest$ --output-on-failure - default: + + macos: strategy: fail-fast: false matrix: - runs-on: [macos-latest, windows-latest] + runs-on: [macos-latest] defaults: run: @@ -93,10 +102,60 @@ jobs: runs-on: ${{ matrix.runs-on }} steps: + - name: Checkout code + uses: actions/checkout@v3 + + - name: Set conda environment + uses: mamba-org/setup-micromamba@main + with: + environment-name: myenv + environment-file: environment-dev.yml + init-shell: bash + cache-downloads: true + + - name: Configure using CMake + run: cmake -Bbuild -DCMAKE_INSTALL_PREFIX=$CONDA_PREFIX -DBUILD_TESTS=ON + + - name: Install + working-directory: build + run: cmake --install . + + - name: Build + working-directory: build + run: cmake --build . --target test_xtensor_lib --parallel 8 + + - name: Run tests + working-directory: build + run: ctest -R ^xtest$ --output-on-failure + + windows: + + strategy: + fail-fast: false + matrix: + runs-on: [windows-latest] + sys: + - {compiler: default} + - {compiler: clang} + + defaults: + run: + shell: bash -e -l {0} + + name: ${{ matrix.runs-on }} • ${{ matrix.sys.compiler }} - default + runs-on: ${{ matrix.runs-on }} + steps: + - name: Setup MSVC - if: runner.os == 'Windows' + if: matrix.sys.compiler == 'default' uses: ilammy/msvc-dev-cmd@v1 + - name: Setup clang + if: matrix.sys.compiler == 'clang' + run: | + echo "CC=clang" >> $GITHUB_ENV + echo "CXX=clang++" >> $GITHUB_ENV + - name: Checkout code uses: actions/checkout@v3 @@ -108,15 +167,9 @@ jobs: init-shell: bash cache-downloads: true create-args: | - ${{ runner.os == 'Windows' && 'ninja' || '' }} - ${{ runner.os == 'Windows' && 'tbb-devel' || '' }} - - - name: Configure using CMake - if: runner.os != 'Windows' - run: cmake -Bbuild -DCMAKE_INSTALL_PREFIX=$CONDA_PREFIX -DBUILD_TESTS=ON + ninja - name: Configure using CMake - if: runner.os == 'Windows' run: cmake -Bbuild -DCMAKE_INSTALL_PREFIX=$CONDA_PREFIX -DBUILD_TESTS=ON -G Ninja - name: Install diff --git a/.github/workflows/ci_extended.yaml b/.github/workflows/ci_extended.yaml deleted file mode 100644 index f36fffd04..000000000 --- a/.github/workflows/ci_extended.yaml +++ /dev/null @@ -1,107 +0,0 @@ -name: Extra CI - -on: - workflow_dispatch: - pull_request: - push: - branches: [master] - -jobs: - - linux: - - strategy: - fail-fast: false - matrix: - runs-on: [ubuntu-latest] - sys: - - {name: tbb, flags: -DXTENSOR_USE_TBB=ON -DTBB_INCLUDE_DIR=$CONDA_PREFIX/include -DTBB_LIBRARY=$CONDA_PREFIX/lib} - - {name: openmp, flags: -DXTENSOR_USE_OPENMP=ON} - - {name: noexcept, flags: -DXTENSOR_DISABLE_EXCEPTIONS=ON} - - {name: xsimd, flags: -DXTENSOR_USE_XSIMD=ON} - - {name: xsimd-tbb, flags: -DXTENSOR_USE_XSIMD=ON -DXTENSOR_USE_TBB=ON} - - - defaults: - run: - shell: bash -e -l {0} - - name: ${{ matrix.runs-on }} • default - ${{ matrix.sys.name }} - runs-on: ${{ matrix.runs-on }} - steps: - - - name: Checkout code - uses: actions/checkout@v3 - - - name: Set conda environment - uses: mamba-org/setup-micromamba@main - with: - environment-name: myenv - environment-file: environment-dev.yml - init-shell: bash - cache-downloads: true - create-args: | - ${{ (matrix.sys.name == 'tbb' || matrix.sys.name == 'xsimd-tbb' ) && 'tbb-devel' || '' }} - - - name: Configure using CMake - run: cmake -Bbuild -DCMAKE_INSTALL_PREFIX=$CONDA_PREFIX -DBUILD_TESTS=ON ${{ matrix.sys.flags }} - - - name: Install - working-directory: build - run: cmake --install . - - - name: Build - working-directory: build - run: cmake --build . --target test_xtensor_lib --parallel 8 - - - name: Run tests - working-directory: build - run: ctest -R ^xtest$ --output-on-failure - - clang: - - strategy: - fail-fast: false - matrix: - runs-on: [windows-latest] - - defaults: - run: - shell: bash -e -l {0} - - name: ${{ matrix.runs-on }} • clang - default - runs-on: ${{ matrix.runs-on }} - steps: - - - name: Setup clang - run: | - echo "CC=clang" >> $GITHUB_ENV - echo "CXX=clang++" >> $GITHUB_ENV - - - name: Checkout code - uses: actions/checkout@v3 - - - name: Set conda environment - uses: mamba-org/setup-micromamba@main - with: - environment-name: myenv - environment-file: environment-dev.yml - init-shell: bash - cache-downloads: true - create-args: | - ${{ runner.os == 'Windows' && 'ninja' || '' }} - - - name: Configure using CMake - run: cmake -Bbuild -DCMAKE_INSTALL_PREFIX=$CONDA_PREFIX -DBUILD_TESTS=ON -G Ninja ${{ matrix.sys.flags }} - - - name: Install - working-directory: build - run: cmake --install . - - - name: Build - working-directory: build - run: cmake --build . --target test_xtensor_lib --parallel 8 - - - name: Run tests - working-directory: build - run: ctest -R ^xtest$ --output-on-failure From 4b55544f4833f3902079216eba4e0333ef866b78 Mon Sep 17 00:00:00 2001 From: Tom de Geus Date: Wed, 8 Nov 2023 15:44:51 +0100 Subject: [PATCH 5/6] fixing output --- .github/workflows/ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 0588ac80a..a5dcf46ac 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -29,7 +29,7 @@ jobs: run: shell: bash -e -l {0} - name: ${{ matrix.runs-on }} • ${{ matrix.sys.compiler }} ${{ matrix.sys.version }} - ${{ matrix.sys.name }} + name: ${{ matrix.runs-on }} • ${{ matrix.sys.compiler }}${{ matrix.sys.version }} - ${{ matrix.sys.name }} runs-on: ${{ matrix.runs-on }} steps: From 3ffac82ca04bde6444b8317d5fcaca2b238d9964 Mon Sep 17 00:00:00 2001 From: Tom de Geus Date: Wed, 8 Nov 2023 15:45:04 +0100 Subject: [PATCH 6/6] finxing output --- .github/workflows/ci.yml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index a5dcf46ac..c87df8d70 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -19,11 +19,11 @@ jobs: - {compiler: gcc, version: '11', name: c++17, flags: -DCPP17=ON} - {compiler: clang, version: '15', name: assert, flags: -DXTENSOR_ENABLE_ASSERT=ON} - {compiler: clang, version: '16', name: column-major, flags: -DDEFAULT_COLUMN_MAJOR=ON} - - {compiler: default, version: '*', name: tbb, flags: -DXTENSOR_USE_TBB=ON -DTBB_INCLUDE_DIR=$CONDA_PREFIX/include -DTBB_LIBRARY=$CONDA_PREFIX/lib} - - {compiler: default, version: '*', name: openmp, flags: -DXTENSOR_USE_OPENMP=ON} - - {compiler: default, version: '*', name: noexcept, flags: -DXTENSOR_DISABLE_EXCEPTIONS=ON} - - {compiler: default, version: '*', name: xsimd, flags: -DXTENSOR_USE_XSIMD=ON} - - {compiler: default, version: '*', name: xsimd-tbb, flags: -DXTENSOR_USE_XSIMD=ON -DXTENSOR_USE_TBB=ON} + - {compiler: default, version: '', name: tbb, flags: -DXTENSOR_USE_TBB=ON -DTBB_INCLUDE_DIR=$CONDA_PREFIX/include -DTBB_LIBRARY=$CONDA_PREFIX/lib} + - {compiler: default, version: '', name: openmp, flags: -DXTENSOR_USE_OPENMP=ON} + - {compiler: default, version: '', name: noexcept, flags: -DXTENSOR_DISABLE_EXCEPTIONS=ON} + - {compiler: default, version: '', name: xsimd, flags: -DXTENSOR_USE_XSIMD=ON} + - {compiler: default, version: '', name: xsimd-tbb, flags: -DXTENSOR_USE_XSIMD=ON -DXTENSOR_USE_TBB=ON} defaults: run: