Skip to content

tests running the sample data #26

tests running the sample data

tests running the sample data #26

Workflow file for this run

name: CI
on:
push:
pull_request:
permissions:
contents: read
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
env:
WINDOWS_HPCKIT_URL: https://registrationcenter-download.intel.com/akdlm/IRC_NAS/3bbdaf75-6728-492e-a18c-be654dae9ee2/intel-oneapi-hpc-toolkit-2025.2.0.576_offline.exe
WINDOWS_INTEL_COMPONENTS: intel.oneapi.win.cpp-dpcpp-common:intel.oneapi.win.mkl.devel
jobs:
linux-gcc-nomkl:
name: ubuntu-gcc-nomkl
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Install build deps
run: |
sudo apt-get update
sudo apt-get install -y build-essential
- name: Configure (Release)
run: |
cmake -S . -B build \
-G "Unix Makefiles" \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_C_COMPILER=gcc \
-DCMAKE_CXX_COMPILER=g++
- name: Build
run: cmake --build build --parallel
- name: Test
run: ctest --test-dir build --output-on-failure
- name: Package
run: cpack -C Release -G TGZ --config ./build/CPackConfig.cmake
- name: Upload build artifacts
uses: actions/upload-artifact@v4
with:
name: ${{ github.job }}-${{ runner.arch }}
path: "*.tar.gz"
retention-days: 7
macos-gcc-nomkl:
strategy:
matrix:
osver: [13,latest]
name: macos-gcc-nomkl-${{ matrix.osver }}
runs-on: macos-${{ matrix.osver }}
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Install build deps
run: |
brew update
brew install cmake libomp gcc@12
- name: Configure (Release)
run: |
cmake -S . -B build \
-G "Unix Makefiles" \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_C_COMPILER=gcc-12 \
-DCMAKE_CXX_COMPILER=g++-12
- name: Build
run: cmake --build build --parallel
- name: Test
run: ctest --test-dir build --output-on-failure
- name: Package
run: cpack -C Release -G TGZ --config ./build/CPackConfig.cmake
- name: Upload build artifacts
uses: actions/upload-artifact@v4
with:
name: ${{ github.job }}-${{ runner.arch }}
path: "*.tar.gz"
retention-days: 7
windows-msvc-nomkl:
name: windows-msvc-nomkl
runs-on: windows-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Configure (Release, x64)
run: |
cmake -S . -B build ^
-G "Visual Studio 17 2022" ^
-DCMAKE_BUILD_TYPE=Release ^
-A x64
shell: cmd
- name: Build
run: cmake --build build --config Release -- /m
shell: cmd
- name: Test
run: ctest --test-dir build -C Release --output-on-failure
shell: bash
- name: Package
run: cpack -C Release -G ZIP --config .\build\CPackConfig.cmake
- name: Upload build artifacts
uses: actions/upload-artifact@v4
with:
name: ${{ github.job }}-${{ runner.arch }}
path: "*.zip"
retention-days: 7
windows-mingw-nomkl:
name: windows-mingw-nomkl
runs-on: windows-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Install MinGW
run: choco install mingw -y
shell: powershell
- name: Add MinGW to PATH
run: echo "C:\ProgramData\chocolatey\lib\mingw\tools\install\mingw64\bin" >> $GITHUB_PATH
shell: bash
- name: Configure (Release, MinGW)
run: |
cmake -S . -B build ^
-G "MinGW Makefiles" ^
-DCMAKE_BUILD_TYPE=Release ^
-DCMAKE_C_COMPILER=gcc ^
-DCMAKE_CXX_COMPILER=g++
shell: cmd
- name: Build
run: cmake --build build --parallel
shell: cmd
- name: Test
run: ctest --test-dir build --output-on-failure
shell: bash
- name: Package
run: cpack -C Release -G ZIP --config .\build\CPackConfig.cmake
- name: Upload build artifacts
uses: actions/upload-artifact@v4
with:
name: ${{ github.job }}-${{ runner.arch }}
path: "*.zip"
retention-days: 7
linux-intel-mkl:
name: linux-intel-mkl
runs-on: ubuntu-latest
container:
image: intel/oneapi-hpckit:latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Install build deps
run: |
apt-get update
apt-get install -y build-essential
- name: Configure (Release)
run: |
cmake -S . -B build \
-G "Unix Makefiles" \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_C_COMPILER=icx \
-DCMAKE_CXX_COMPILER=icx
- name: Build
run: cmake --build build --parallel
- name: Test
run: ctest --test-dir build --output-on-failure
- name: Package
run: cpack -C Release -G TGZ --config ./build/CPackConfig.cmake
- name: Upload build artifacts
uses: actions/upload-artifact@v4
with:
name: ${{ github.job }}-${{ runner.arch }}
path: "*.tar.gz"
retention-days: 7
windows-intel-mkl:
name: windows-intel-mkl
runs-on: windows-latest
steps:
- name: Checkout
uses: actions/checkout@v4
# Cache the oneapi installer download cache
- name: Cache oneAPI webimage + download cache
uses: actions/cache@v4
id: oneapi-cache
with:
path: |
${{ github.workspace }}\oneapi_webimage
${{ github.workspace }}\oneapi_download_cache
key: oneapi-${{ runner.os }}-${{ env.WINDOWS_HPCKIT_URL }}-${{ env.WINDOWS_INTEL_COMPONENTS }}
# if missing, download the installer and extract
- name: Fetch/extract installer webimage
if: steps.oneapi-cache.outputs.cache-hit != 'true'
run: |
curl.exe -L --output %TEMP%\oneapi.exe --url %WINDOWS_HPCKIT_URL%
%TEMP%\oneapi.exe -s -x -f "%GITHUB_WORKSPACE%\oneapi_webimage" --log output.log
shell: cmd
# Installer is always run, but fast if the download cache is populated
- name: Install Intel oneAPI components (with VS integration)
run: |
"%GITHUB_WORKSPACE%\oneapi_webimage\bootstrapper.exe" ^
-s --action install --eula=accept ^
--components=%WINDOWS_INTEL_COMPONENTS% ^
--download-cache "%GITHUB_WORKSPACE%\oneapi_download_cache" ^
-p=NEED_VS2017_INTEGRATION=0 -p=NEED_VS2019_INTEGRATION=0 -p=NEED_VS2022_INTEGRATION=1 ^
--log-dir="%GITHUB_WORKSPACE%\oneapi_logs"
shell: cmd
# Now run standard pipeline
- name: Configure (Release, x64)
run: |
cmake -S . -B build ^
-G "Visual Studio 17 2022" ^
-A x64 ^
-T "Intel C++ Compiler 2025" ^
-DUSE_MKL_LIB=ON
shell: cmd
- name: Build
run: cmake --build build --config Release -- /m
shell: cmd
- name: Test
run: ctest --test-dir build -C Release --output-on-failure
shell: bash
- name: Package
run: cpack -C Release -G ZIP --config .\build\CPackConfig.cmake
- name: Upload build artifacts
uses: actions/upload-artifact@v4
with:
name: ${{ github.job }}-${{ runner.arch }}
path: "*.zip"
retention-days: 7