| name: Pip |
|
|
| on: |
| workflow_dispatch: |
| pull_request: |
| push: |
| branches: |
| - master |
| - stable |
| - v* |
| release: |
| types: |
| - published |
|
|
| env: |
| PIP_ONLY_BINARY: numpy |
|
|
| jobs: |
| |
| |
| |
| test-packaging: |
| name: π 3.6 β’ π¦ tests β’ windows-latest |
| runs-on: windows-latest |
|
|
| steps: |
| - uses: actions/checkout@v3 |
|
|
| - name: Setup π 3.6 |
| uses: actions/setup-python@v4 |
| with: |
| python-version: 3.6 |
|
|
| - name: Prepare env |
| run: | |
| python -m pip install -r tests/requirements.txt |
| |
| - name: Python Packaging tests |
| run: pytest tests/extra_python_package/ |
|
|
|
|
| |
| |
| packaging: |
| name: π 3.8 β’ π¦ & π¦ tests β’ ubuntu-latest |
| runs-on: ubuntu-latest |
|
|
| steps: |
| - uses: actions/checkout@v3 |
|
|
| - name: Setup π 3.8 |
| uses: actions/setup-python@v4 |
| with: |
| python-version: 3.8 |
|
|
| - name: Prepare env |
| run: | |
| python -m pip install -r tests/requirements.txt build twine |
| |
| - name: Python Packaging tests |
| run: pytest tests/extra_python_package/ |
|
|
| - name: Build SDist and wheels |
| run: | |
| python -m build |
| PYBIND11_GLOBAL_SDIST=1 python -m build |
| |
| - name: Check metadata |
| run: twine check dist/* |
|
|
| - name: Save standard package |
| uses: actions/upload-artifact@v3 |
| with: |
| name: standard |
| path: dist/pybind11-* |
|
|
| - name: Save global package |
| uses: actions/upload-artifact@v3 |
| with: |
| name: global |
| path: dist/pybind11_global-* |
|
|
|
|
|
|
| |
| upload: |
| name: Upload to PyPI |
| runs-on: ubuntu-latest |
| if: github.event_name == 'release' && github.event.action == 'published' |
| needs: [packaging] |
|
|
| steps: |
| - uses: actions/setup-python@v4 |
| with: |
| python-version: "3.x" |
|
|
| |
| - uses: actions/download-artifact@v3 |
|
|
| - name: Publish standard package |
| uses: pypa/gh-action-pypi-publish@v1.5.1 |
| with: |
| password: ${{ secrets.pypi_password }} |
| packages_dir: standard/ |
|
|
| - name: Publish global package |
| uses: pypa/gh-action-pypi-publish@v1.5.1 |
| with: |
| password: ${{ secrets.pypi_password_global }} |
| packages_dir: global/ |
|
|