Skip to content

Improve Python bindings and Windows&Apple Silicon support #33

Improve Python bindings and Windows&Apple Silicon support

Improve Python bindings and Windows&Apple Silicon support #33

Workflow file for this run

name: Build and Test
on:
push:
branches: [ main ]
paths-ignore: # Skip the workflow if only documentation files are changed
- '**/*.md'
- '**/LICENSE'
pull_request:
branches: [ main ]
paths-ignore: # Skip the workflow if only documentation files are changed
- '**/*.md'
- '**/LICENSE'
workflow_dispatch:
jobs:
Build-and-Test:
name: Build and Test on ${{ matrix.os }} with ${{ matrix.compiler.cpp }}
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [ubuntu-24.04, macos-13, macos-14, windows-2022]
build_type: [Debug]
compiler: [ {cpp: g++, c: gcc}, {cpp: clang++, c: clang}, {cpp: cl, c: cl} ]
exclude:
- os: ubuntu-24.04
compiler: {cpp: cl, c: cl}
- os: macos-13
compiler: {cpp: cl, c: cl}
- os: macos-14
compiler: {cpp: cl, c: cl}
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 1
submodules: recursive
- name: Set reusable strings
id: strings
shell: bash
run: |
echo "build-dir=${{ github.workspace }}/build" >> "$GITHUB_OUTPUT"
echo "bin-dir=${{ github.workspace }}/bin" >> "$GITHUB_OUTPUT"
echo "lib-dir=${{ github.workspace }}/lib" >> "$GITHUB_OUTPUT"
- name: Configure CMake
run: >
cmake -B ${{ steps.strings.outputs.build-dir }}
-DCMAKE_CXX_COMPILER=${{ matrix.compiler.cpp }}
-DCMAKE_C_COMPILER=${{ matrix.compiler.c }}
-DCMAKE_BUILD_TYPE=${{ matrix.build_type }}
-S ${{ github.workspace }}
- name: Build
run: cmake --build ${{ steps.strings.outputs.build-dir }} --config ${{ matrix.build_type }} --parallel 4
- name: Install
run: cmake --install ${{ steps.strings.outputs.build-dir }} --config ${{ matrix.build_type }} --prefix ./test-install
- name: Run Tests
shell: bash
working-directory: ${{ steps.strings.outputs.build-dir }}
run: ctest --build-config ${{ matrix.build_type }} --parallel 4 --output-on-failure -E edlib_tests