diff --git a/.github/workflows/udmp-parser.yml b/.github/workflows/udmp-parser.yml index 683e182..2bec189 100644 --- a/.github/workflows/udmp-parser.yml +++ b/.github/workflows/udmp-parser.yml @@ -16,10 +16,8 @@ jobs: - {os: ubuntu-22.04, generator: clang, arch: x64, config: RelWithDebInfo, } - {os: ubuntu-24.04, generator: gcc, arch: x64, config: RelWithDebInfo, } - {os: ubuntu-24.04, generator: clang, arch: x64, config: RelWithDebInfo, } - - {os: macos-13, generator: clang, arch: x64, config: Release, } - # - {os: macos-13-xlarge, generator: clang, arch: arm64, config: Release, } # Paying runner - - {os: macos-14, generator: clang, arch: arm64, config: Release, } - # - {os: macos-14-large, generator: clang, arch: x64, config: Release, } # Paying runner + - {os: macos-15-intel, generator: clang, arch: x64, config: Release, } + - {os: macos-15, generator: clang, arch: arm64, config: Release, } runs-on: ${{ matrix.variant.os }} name: parser / ${{ matrix.variant.os }} / ${{ matrix.variant.generator }} / ${{ matrix.variant.arch }} env: @@ -28,7 +26,7 @@ jobs: steps: - name: Checkout - uses: actions/checkout@v4 + uses: actions/checkout@v5 - name: Environment Setup (Windows) if: matrix.variant.os == 'windows-2025' @@ -78,18 +76,17 @@ jobs: # Available runners: https://github.com/actions/runner-images - {os: windows-2025, config: RelWithDebInfo } - {os: ubuntu-22.04, config: RelWithDebInfo } - # most up to date free intel based osx? - - {os: macos-13, config: Release } + - {os: macos-15-intel, config: Release } runs-on: ${{ matrix.variant.os }} name: bindings / ${{ matrix.variant.os }} env: CMAKE_FLAGS: "-DBUILD_PARSER:BOOL=OFF -DBUILD_PYTHON_BINDING:BOOL=ON" steps: - name: Checkout - uses: actions/checkout@v4 + uses: actions/checkout@v5 - name: Build / test wheels - uses: pypa/cibuildwheel@v2.21.3 + uses: pypa/cibuildwheel@v3.2.0 with: package-dir: ./src/python diff --git a/src/python/CMakeLists.txt b/src/python/CMakeLists.txt index a7da7b1..fad42bc 100644 --- a/src/python/CMakeLists.txt +++ b/src/python/CMakeLists.txt @@ -38,7 +38,7 @@ find_package(nanobind CONFIG REQUIRED) set(CMAKE_CXX_STANDARD 20) -nanobind_add_module(udmp_parser NB_STATIC src/udmp_parser_utils.cc src/udmp_parser.cc) +nanobind_add_module(udmp_parser STABLE_ABI src/udmp_parser_utils.cc src/udmp_parser.cc) if(MSVC) target_link_libraries(udmp_parser PRIVATE DbgHelp.lib) diff --git a/src/python/pyproject.toml b/src/python/pyproject.toml index ba66485..cc6b8b6 100644 --- a/src/python/pyproject.toml +++ b/src/python/pyproject.toml @@ -40,7 +40,8 @@ cmake.minimum-version = "3.21" [tool.cibuildwheel] build-verbosity = 1 -skip = "cp37-* pp* *musllinux*" +# udmp_parser builds fine for this target, but not `lief`. +skip = "cp314t-*" before-test = "pip install -U -r {project}/src/python/tests/requirements.txt" test-command = "pytest -vvv {project}/src/python/tests"