diff --git a/.distro/python-scikit-build-core.spec b/.distro/python-scikit-build-core.spec index 852b2688..cc604c22 100644 --- a/.distro/python-scikit-build-core.spec +++ b/.distro/python-scikit-build-core.spec @@ -50,7 +50,7 @@ cp -p src/scikit_build_core/_vendor/pyproject_metadata/LICENSE LICENSE-pyproject %generate_buildrequires export HATCH_METADATA_CLASSIFIERS_NO_VERIFY=1 -%pyproject_buildrequires -g test%{?with_optional_tests:,test-meta,test-numpy,test-pybind11} +%pyproject_buildrequires -g test-core%{?with_optional_tests:,test} %build diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index e1ac1fa3..41309ef0 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -187,7 +187,7 @@ jobs: - name: Install min requirements run: | - uv pip install -e. --group=test-pybind11 --resolution=lowest-direct --system + uv pip install -e. --group=test --resolution=lowest-direct --system - name: Setup CMake 3.15 uses: jwlawson/actions-setup-cmake@v2.0 @@ -223,7 +223,7 @@ jobs: run: python3.13t -m venv /venv - name: Install deps - run: /venv/bin/pip install -e . --group=test-pybind11 ninja + run: /venv/bin/pip install -e . --group=test ninja - name: Test package run: /venv/bin/pytest @@ -246,7 +246,7 @@ jobs: cmake ninja git make gcc-g++ python39 python39-devel python39-pip - name: Install - run: python3.9 -m pip install . --group=test-pybind11 + run: python3.9 -m pip install . --group=test - name: Test package run: @@ -279,7 +279,7 @@ jobs: persist-credentials: false - name: Install - run: python -m pip install . --group=test-pybind11 + run: python -m pip install . --group=test - name: Test package run: >- @@ -312,7 +312,7 @@ jobs: persist-credentials: false - name: Install - run: python -m pip install . --group=test-pybind11 + run: python -m pip install . --group=test - name: Test package run: >- diff --git a/pyproject.toml b/pyproject.toml index cdc3cbe4..6d822e61 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -74,7 +74,7 @@ hatch.scikit-build = "scikit_build_core.hatch.hooks" [dependency-groups] -test = [ +test-core = [ "build >=0.8", "cattrs >=22.2.0", "filelock >=3.8.0", @@ -84,7 +84,6 @@ test = [ "pip>=24.1; python_version>='3.13'", "pytest >=7.2", "pytest-subprocess >=1.5", - 'pytest-xdist >=3.1', 'setuptools >=43; python_version<"3.9"', 'setuptools >=45; python_version=="3.9"', 'setuptools >=49; python_version>="3.10" and python_version<"3.12"', @@ -92,25 +91,34 @@ test = [ "virtualenv >=20.20", "wheel >=0.40", ] +test-parallel = [ + { include-group = "test-core" }, + 'pytest-xdist >=3.1', +] test-meta = [ - { include-group = "test" }, + { include-group = "test-core" }, "hatch-fancy-pypi-readme>=22.3", "setuptools-scm", ] test-numpy = [ - { include-group = "test" }, - "numpy; python_version<'3.14' and platform_python_implementation!='PyPy' and (platform_system != 'Windows' or platform_machine != 'ARM64')", - "numpy~=1.24.0; python_version=='3.8' and platform_python_implementation=='PyPy'", - "numpy~=2.0.0; python_version=='3.9' and platform_python_implementation=='PyPy'", - "numpy~=2.2.0; python_version=='3.10' and platform_python_implementation=='PyPy'", + { include-group = "test-core" }, + "numpy>=1.24; python_version<'3.15' and platform_python_implementation!='PyPy' and (platform_system != 'Windows' or platform_machine != 'ARM64')", + "numpy~=1.24; python_version=='3.8' and platform_python_implementation=='PyPy'", + "numpy~=2.0; python_version=='3.9' and platform_python_implementation=='PyPy'", + "numpy~=2.2; python_version=='3.10' and platform_python_implementation=='PyPy'", + "numpy~=2.4; python_version=='3.11' and platform_python_implementation=='PyPy'", ] test-schema = [ - { include-group = "test" }, + { include-group = "test-core" }, "fastjsonschema", "validate-pyproject", ] -test-pybind11 = [ - { include-group = "test" }, +test = [ + { include-group = "test-core" }, + { include-group = "test-meta" }, + { include-group = "test-numpy" }, + { include-group = "test-parallel" }, + { include-group = "test-schema" }, "pybind11 >=2.11", ] cov = [ @@ -119,10 +127,7 @@ cov = [ ] dev = [ { include-group = "cov" }, - { include-group = "test-meta" }, - { include-group = "test-numpy" }, - { include-group = "test-pybind11" }, - { include-group = "test-schema" }, + { include-group = "test" }, "rich", ] docs = [ diff --git a/tests/plans.fmf b/tests/plans.fmf index 4189e4d7..6a12e7fb 100644 --- a/tests/plans.fmf +++ b/tests/plans.fmf @@ -27,7 +27,7 @@ node-date: 2025-02-27T16:18:39-05:00 describe-name: v0.11.0 EOF - pip install --user . --group=test-pybind11 + pip install --user . --group=test discover: how: fmf filter: "tag: pytest"