Skip to content

ci: Rework python jobs #401

ci: Rework python jobs

ci: Rework python jobs #401

# ref: https://github.com/actions/runner-images
name: amd64 MacOS CMake Python
on: [push, pull_request, workflow_dispatch]
jobs:
# Building using the github runner environement directly.
macos:
runs-on: macos-latest
strategy:
matrix:
build: [
["Xcode", "Release", "ALL_BUILD", "RUN_TESTS", "install"],
["Unix Makefiles", "Release", "all", "test", "install"]
]
python-version: ['3.9', '3.10', '3.11', '3.12']
fail-fast: false
env:
GENERATOR: ${{ matrix.build[0] }}
BUILD_TYPE: ${{ matrix.build[1] }}
BUILD_TARGET: ${{ matrix.build[2] }}
TEST_TARGET: ${{ matrix.build[3] }}
INSTALL_TARGET: ${{ matrix.build[4] }}
steps:
- uses: actions/checkout@v4
- name: Setup Python
uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python-version }}
- name: Update Path
run: echo "$HOME/Library/Python/${{ matrix.python-version }}/bin" >> $GITHUB_PATH
- name: Swig install
run: brew install swig
- name: Check swig
run: swig -version
- name: Check cmake
run: cmake --version
- name: Configure
run: >
cmake -S. -Bbuild
-G "$GENERATOR"
-DCMAKE_BUILD_TYPE="$BUILD_TYPE"
-DCMAKE_INSTALL_PREFIX=install
-DBUILD_CXX_SAMPLES=OFF -DBUILD_CXX_EXAMPLES=OFF
-DBUILD_PYTHON=ON
- name: Build
run: >
cmake --build build
--config "$BUILD_TYPE"
--target "$BUILD_TARGET"
-v
- name: Test
run: >
CTEST_OUTPUT_ON_FAILURE=1
cmake --build build
--config "$BUILD_TYPE"
--target "$TEST_TARGET"
-v
- name: Install
run: >
cmake --build build
--config "$BUILD_TYPE"
--target "$INSTALL_TARGET"
-v