diff --git a/.github/workflows/build-wheels.yml b/.github/workflows/build-wheels.yml index a621017..047b493 100644 --- a/.github/workflows/build-wheels.yml +++ b/.github/workflows/build-wheels.yml @@ -7,3 +7,16 @@ jobs: uses: ./.github/workflows/run-cibuildwheel.yml with: prerelease-pythons: true + + build_sdist: + uses: ./.github/workflows/run-sdist.yml + + check_build: + needs: [build_wheels, build_sdist] + runs-on: ubuntu-latest + steps: + - uses: actions/download-artifact@v4 + with: + path: dist + merge-multiple: true + - run: ls -lR dist diff --git a/.github/workflows/release-wheels.yml b/.github/workflows/release-wheels.yml index 9cedb43..b65c6f9 100644 --- a/.github/workflows/release-wheels.yml +++ b/.github/workflows/release-wheels.yml @@ -1,7 +1,6 @@ name: Release Wheels on: - pull_request: release: types: - published @@ -13,34 +12,19 @@ jobs: fail-fast: true build_sdist: - name: Build source distribution - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v4 - with: - submodules: true - - uses: actions/setup-python@v5 - name: Install Python - with: - check-latest: true - python-version: '3.13' - - name: Install setuptools - run: python -m pip install -U setuptools - - name: Build sdist - run: python setup.py sdist - - uses: actions/upload-artifact@v4 - with: - name: sdist - path: dist/*.tar.gz + uses: ./.github/workflows/run-sdist.yml upload_pypi: needs: [build_wheels, build_sdist] + if: github.event_name == 'release' && github.event.action == 'published' runs-on: ubuntu-latest steps: - uses: actions/download-artifact@v4 + with: + path: dist + merge-multiple: true - run: ls -lR dist - name: Upload to PyPI - if: github.event_name == 'release' && github.event.action == 'published' uses: pypa/gh-action-pypi-publish@release/v1 with: user: __token__ diff --git a/.github/workflows/run-sdist.yml b/.github/workflows/run-sdist.yml new file mode 100644 index 0000000..eab5277 --- /dev/null +++ b/.github/workflows/run-sdist.yml @@ -0,0 +1,24 @@ +on: + workflow_call: + +jobs: + build_sdist: + name: Build source distribution + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + with: + submodules: true + - uses: actions/setup-python@v5 + name: Install Python + with: + check-latest: true + python-version: '3.13' + - name: Install setuptools + run: python -m pip install -U setuptools + - name: Build sdist + run: python setup.py sdist + - uses: actions/upload-artifact@v4 + with: + name: sdist + path: dist/*.tar.gz