Skip to content

Update ci.yml

Update ci.yml #41

Workflow file for this run

name: CI
# Controls when the action will run. Triggers the workflow on push or pull request
# events but only for the master branch
on:
push:
branches: [master]
pull_request:
branches: [master]
# A workflow run is made up of one or more jobs that can run sequentially or in parallel
jobs:
ci-matrix:
name: ${{ matrix.name }}
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
include:
- os: windows-latest
name: Win32-MSVC
cmake_options: -A Win32
- os: windows-latest
name: Win64-MSVC
cmake_options: -A x64
- os: windows-latest
name: Win64-ClangCL
cmake_options: -A x64 -T ClangCL
- os: ubuntu-latest
name: Linux64-GCC
cmake_options: -DCMAKE_C_COMPILER=gcc -DCMAKE_CXX_COMPILER=g++
- os: ubuntu-latest
name: Linux64-Clang
cmake_options: -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++
- os: macos-13
name: MacOS64-Clang
cmake_options: -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++
- os: macos-latest
name: MacOSARM64-Clang
cmake_options: -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++ -DCMAKE_OSX_ARCHITECTURES="x86_64;arm64"
- os: ubuntu-latest
name: Emscripten
cmake_options: -DCMAKE_TOOLCHAIN_FILE=$EMSDK/upstream/emscripten/cmake/Modules/Platform/Emscripten.cmake
steps:
- name: 'Setup Emscripten'
if: matrix.name == 'Emscripten'
uses: mymindstorm/setup-emsdk@v14
with:
version: 3.1.56
no-cache: true
- name: 'Checkout'
uses: actions/checkout@v4
- name: 'CMake Configure Debug'
run: cmake -S ${{ github.workspace }} -B ${{ github.workspace }}/debug -DCMAKE_BUILD_TYPE=Debug -DCMAKE_INSTALL_PREFIX="${{ github.workspace }}/install/FastSIMD" ${{ matrix.cmake_options }}
- name: 'CMake Build Debug'
run: cmake --build ${{ github.workspace }}/debug --config Debug --parallel 4
- name: 'CMake Configure Release'
run: cmake -S ${{ github.workspace }} -B ${{ github.workspace }}/release -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX="${{ github.workspace }}/install/FastSIMD" ${{ matrix.cmake_options }}
- name: 'CMake Build Release'
run: cmake --build ${{ github.workspace }}/release --config Release --parallel 4