name: gems-cpp-extension
on:
push:
branches: [ "master" ]
paths:
- '**.py'
- '**.cpp'
- '**.cu'
- '**.h'
- '**.hpp'
- '**.cc'
- 'CMakeLists.txt'
- '**/*.cmake'
- '**/*.mk'
- 'Makefile'
- '!src/flag_gems/experimental_ops/**'
pull_request:
branches: [ "master" ]
paths:
- '**.py'
- '**.cpp'
- '**.cu'
- '**.h'
- '**.hpp'
- '**.cc'
- 'CMakeLists.txt'
- '**/*.cmake'
- '**/*.mk'
- 'Makefile'
- '!src/flag_gems/experimental_ops/**'
jobs:
build-C-extension:
runs-on: cpp
steps:
- uses: actions/checkout@v4
- name: Build FlagGems with C-extension
shell: bash
run: |
SKBUILD_CMAKE_ARGS="-DFLAGGEMS_BUILD_C_EXTENSIONS=ON" pip install --no-build-isolation -v -e .
- name: Run FlagGems CTests
shell: bash
run: |
cd build/cpython-311/ctests
export FLAGGEMS_SOURCE_DIR=$(python -c "import os;import flag_gems;print(os.path.dirname(flag_gems.__file__))")
ctest -V