diff --git a/.github/workflows/wheel.yaml b/.github/workflows/wheel.yaml index a2de77f2..7d41a5d5 100644 --- a/.github/workflows/wheel.yaml +++ b/.github/workflows/wheel.yaml @@ -86,31 +86,37 @@ jobs: upload_pypi: needs: [build_wheels, build_sdist] + environment: pypi + permissions: + id-token: write + attestations: write + contents: read runs-on: ubuntu-latest if: github.event_name == 'push' && startsWith(github.event.ref, 'refs/tags/v') steps: - - uses: actions/download-artifact@v6 + - uses: actions/download-artifact@v8 with: name: sdist path: dist - - uses: actions/download-artifact@v6 + - uses: actions/download-artifact@v8 with: pattern: wheels-* path: dist merge-multiple: true - - uses: pypa/gh-action-pypi-publish@master + - name: Generate artifact attestations + uses: actions/attest-build-provenance@v4 with: - user: __token__ - password: ${{ secrets.pypi_password }} - # To test: repository_url: https://test.pypi.org/legacy/ + subject-path: "dist/*" + + - uses: pypa/gh-action-pypi-publish@release/v1 upload_nightly: needs: [build_wheels] runs-on: ubuntu-latest if: github.event_name == 'schedule' || github.event_name == 'workflow_dispatch' steps: - - uses: actions/download-artifact@v6 + - uses: actions/download-artifact@v8 with: pattern: wheels-* path: dist diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 59c2c983..292ad278 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -21,7 +21,7 @@ repos: - id: ruff-format - repo: https://github.com/scientific-python/cookie - rev: 2025.05.02 + rev: 2026.04.04 hooks: - id: sp-repo-review diff --git a/pyproject.toml b/pyproject.toml index 878c912a..0b0104ec 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -125,7 +125,7 @@ exclude_lines = [ ignore = ["PY005", "PY007", "PP302", "PP308", "PP309", "GH103", "GH212", "PC111", "PC140", "PC160", "PC170", "PC180", "MY100", "RF103"] [tool.pytest.ini_options] -addopts = "-ra --strict-config --strict-markers --cov=numcodecs --cov-report xml --doctest-modules --doctest-glob=*.pyx" +addopts = ["-ra", "--strict-config", "--strict-markers", "--cov=numcodecs", "--cov-report", "xml", "--doctest-modules", "--doctest-glob=*.pyx"] doctest_optionflags = [ "NORMALIZE_WHITESPACE", "ELLIPSIS", @@ -148,7 +148,7 @@ norecursedirs = [ "notebooks", "numcodecs.egg-info", ] -log_cli_level = "INFO" +log_level = "INFO" xfail_strict = true filterwarnings = [ "error",