diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index 03a4a1a..006e7cc 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -19,7 +19,7 @@ env: jobs: build_sdist: - name: Build SDist + name: Build source distribution runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 @@ -29,11 +29,9 @@ jobs: - name: Build SDist run: pipx run build --sdist - - name: Check metadata - run: pipx run twine check dist/* - - uses: actions/upload-artifact@v4 with: + name: cibw-sdist path: dist/*.tar.gz generate-wheels-matrix: @@ -90,8 +88,6 @@ jobs: - uses: pypa/cibuildwheel@v2.19.2 env: - CIBW_MANYLINUX_X86_64_IMAGE: "manylinux_2_28" - # skip testing PyPy builds CIBW_TEST_SKIP: "pp*" @@ -110,28 +106,27 @@ jobs: run: git diff --exit-code shell: bash - - name: Upload wheels - uses: actions/upload-artifact@v4 + - uses: actions/upload-artifact@v4 with: - path: wheelhouse/*.whl + name: cibw-wheels-${{ matrix.os }}-${{ strategy.job-index }} + path: ./wheelhouse/*.whl upload_all: name: Upload if release needs: - build_wheels - - build_sdist + - make_sdist + environment: pypi + permissions: + id-token: write runs-on: ubuntu-latest if: github.event_name == 'release' && github.event.action == 'published' steps: - - uses: actions/setup-python@v4 - - uses: actions/download-artifact@v4 with: - name: artifact + pattern: cibw-* path: dist + merge-multiple: true - uses: pypa/gh-action-pypi-publish@v1 - with: - user: __token__ - password: ${{ secrets.pypi_password }} diff --git a/pyproject.toml b/pyproject.toml index 0857231..cb65405 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,5 +1,5 @@ [build-system] -requires = ["scikit-build-core >=0.4.3", "pybind11"] +requires = ["scikit-build-core >=0.8", "pybind11"] build-backend = "scikit_build_core.build" [project] @@ -50,7 +50,7 @@ Changelog = "https://github.com/org/maxscheurer/releases" [tool.scikit-build] # Protect the configuration against future changes in scikit-build-core -minimum-version = "0.4" +minimum-version = "build-system.requires" # Setuptools-style build caching in a local directory build-dir = "build/{wheel_tag}" @@ -59,6 +59,8 @@ build-dir = "build/{wheel_tag}" wheel.py-api = "cp312" cmake.verbose = true +cmake.version = ">=3.16" +ninja.make-fallback = false logging.level = "INFO" metadata.version.provider = "scikit_build_core.metadata.setuptools_scm" sdist.cmake = true @@ -70,7 +72,7 @@ sdist.include = [ [tool.setuptools_scm] write_to = "src/cppe/_version.py" -fallback_version = "0.3.1" +fallback_version = "0.3.2" [tool.pytest.ini_options] minversion = "6.0"