diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index c679730..b8a00b4 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -11,11 +11,11 @@ jobs: permissions: id-token: write # to authenticate as Trusted Publisher to pypi.org steps: - - uses: actions/checkout@v4 - - uses: actions/setup-python@v4 + - uses: actions/checkout@v5 + - uses: actions/setup-python@v6 with: python-version: "3.x" - cache: "pip" + cache: pip - run: pip install build - run: python -m build - uses: pypa/gh-action-pypi-publish@release/v1 diff --git a/.github/workflows/pytest.yml b/.github/workflows/pytest.yml index 89b5d4d..f9ff069 100644 --- a/.github/workflows/pytest.yml +++ b/.github/workflows/pytest.yml @@ -8,20 +8,22 @@ on: jobs: test: + strategy: + matrix: + python-version: ["3.9", "3.13"] runs-on: ubuntu-latest timeout-minutes: 60 - steps: - name: Checkout - uses: actions/checkout@v4 + uses: actions/checkout@v5 with: filter: blob:none fetch-depth: 0 - name: Setup Python - uses: actions/setup-python@v5 + uses: actions/setup-python@v6 with: - python-version: "3.12" + python-version: ${{ matrix.python-version }} cache: pip - name: Install project and dependencies @@ -30,23 +32,32 @@ jobs: - name: Run test suite run: pytest -v --color=yes - check: + build: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v5 with: filter: blob:none fetch-depth: 0 - - - uses: actions/setup-python@v5 + - uses: actions/setup-python@v6 with: - python-version: "3.12" - # cache: pip # TODO: cache tools - + python-version: "3.x" + cache: pip - name: Install tools run: pip install twine build - - name: Build and check run: | python -m build twine check dist/*.whl + + check: + if: always() + needs: + - build + - test + runs-on: ubuntu-latest + steps: + # https://github.com/marketplace/actions/alls-green#why + - uses: re-actors/alls-green@release/v1 + with: + jobs: ${{ toJSON(needs) }} diff --git a/pyproject.toml b/pyproject.toml index 9cdfaa9..b7d70df 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -9,7 +9,7 @@ license = "BSD-3-Clause" urls.Source = "https://github.com/scikit-learn-contrib/sklearn-ann" urls.Documentation = "https://sklearn-ann.readthedocs.io/" dynamic = ["version", "readme"] -requires-python = "<3.13,>=3.9" # enforced by scipy +requires-python = ">=3.9" dependencies = [ "scikit-learn>=1.6.0", "scipy>=1.11.1,<2.0.0",