Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
82 changes: 11 additions & 71 deletions .github/workflows/workflow_ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,7 @@ jobs:
fail-fast: false
matrix:
os: ['windows-latest', 'macos-15', 'ubuntu-latest']
python: ['3.12', '3.13', '3.14', '3.15.0-alpha.1']
python: ['3.14']

name: "Python ${{ matrix.python }} / ${{ matrix.os }}"
runs-on: ${{ matrix.os }}
Expand Down Expand Up @@ -92,73 +92,19 @@ jobs:
python -m unittest discover --verbose
shell: bash

pypy_build_build_and_test:
cpython_build_with_draco_and_test:
needs: [check_relevant_changes]
if: needs.check_relevant_changes.outputs.any_changed == 'true'

strategy:
fail-fast: false
matrix:
os: ['ubuntu-latest']
python: [pypy3.9, pypy3.10]
os: ['windows-latest', 'macos-15', 'ubuntu-latest']
python: ['3.14']

name: "Python ${{ matrix.python }} / ${{ matrix.os }}"
runs-on: ${{ matrix.os }}

steps:
- name: Checkout repository
uses: actions/checkout@v4

- name: update submodules
run: git submodule update --init --recursive

- name: Set up ${{ matrix.python }}
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python }}
architecture: x64

- name: Display Python version
run: |
python --version
python -c "import sys; print(sys.implementation)"

- name: Manually install build dependencies
run: |
python -m pip install --upgrade pip
pip install scikit-build-core>=0.11.5 nanobind build

- name: Install libuuid (dev headers and linker support)
if: runner.os == 'Linux'
run: sudo apt-get update && sudo apt-get install -y uuid-dev

- name: Build wheel without build isolation
run: |
python -m build --wheel --no-isolation

- name: Install built wheel
run: |
pip install --no-deps --ignore-requires-python dist/*.whl

- name: test ${{ matrix.python }} / ${{ matrix.os }}"
run: |
cd tests
python -m unittest discover --verbose
shell: bash

cpython_build_and_test_clang_on_windows:
needs: [check_relevant_changes]
if: needs.check_relevant_changes.outputs.any_changed == 'true'

strategy:
fail-fast: false
matrix:
os: ['windows-latest']
python: ['3.12', '3.13', '3.14', '3.15.0-alpha.1']

name: "Python ${{ matrix.python }} / ${{ matrix.os }} / CLANG"
runs-on: ${{ matrix.os }}

steps:
- name: set up python ${{ matrix.python }}
uses: actions/setup-python@v5.4.0
Expand All @@ -168,14 +114,12 @@ jobs:
- name: install the latest CMake
uses: lukka/get-cmake@latest

- name: install Ninja
run: choco install ninja

- name: install LLVM/Clang
uses: egor-tensin/setup-clang@v1

- name: install dependencies
run: python -m pip install --upgrade pip setuptools wheel build scikit-build-core nanobind
run: python -m pip install --upgrade pip setuptools wheel build scikit-build-core

- name: Install libuuid (dev headers and linker support)
if: runner.os == 'Linux'
run: sudo apt-get update && sudo apt-get install -y uuid-dev

- name: checkout
uses: actions/checkout@v4.1.1
Expand All @@ -185,12 +129,8 @@ jobs:

- name: build ${{ matrix.python }} ${{ matrix.os }}
run: |
$env:CC = "clang"
$env:CXX = "clang++"
$env:SKBUILD_CMAKE_ARGS = "-G Ninja"
$env:SKBUILD_CMAKE_DEFINE = "CMAKE_C_COMPILER=clang;CMAKE_CXX_COMPILER=clang++;CMAKE_CXX_FLAGS=-Wno-c++11-narrowing"
python -m build --no-isolation
shell: pwsh
python -m build --cmake-args -DINCLUDE_DRACO=ON
shell: bash

- name: install package
run: |
Expand Down
Loading