Spaces:
Paused
Paused
| name: Publish Python 🐍 distributions 📦 to PyPI | |
| on: | |
| release: | |
| types: [published] | |
| defaults: | |
| run: | |
| shell: | |
| bash | |
| jobs: | |
| build-sdist: | |
| runs-on: ubuntu-20.04 | |
| steps: | |
| - uses: actions/checkout@v2 | |
| - name: Verify tag matches version | |
| run: | | |
| set -ex | |
| version=$(cat TTS/VERSION) | |
| tag="${GITHUB_REF/refs\/tags\/}" | |
| if [[ "v$version" != "$tag" ]]; then | |
| exit 1 | |
| fi | |
| - uses: actions/setup-python@v2 | |
| with: | |
| python-version: 3.9 | |
| - run: | | |
| python -m pip install -U pip setuptools wheel build | |
| - run: | | |
| python -m build | |
| - run: | | |
| pip install dist/*.tar.gz | |
| - uses: actions/upload-artifact@v2 | |
| with: | |
| name: sdist | |
| path: dist/*.tar.gz | |
| build-wheels: | |
| runs-on: ubuntu-20.04 | |
| strategy: | |
| matrix: | |
| python-version: ["3.9", "3.10", "3.11"] | |
| steps: | |
| - uses: actions/checkout@v2 | |
| - uses: actions/setup-python@v2 | |
| with: | |
| python-version: ${{ matrix.python-version }} | |
| - name: Install pip requirements | |
| run: | | |
| python -m pip install -U pip setuptools wheel build | |
| python -m pip install -r requirements.txt | |
| - name: Setup and install manylinux1_x86_64 wheel | |
| run: | | |
| python setup.py bdist_wheel --plat-name=manylinux1_x86_64 | |
| python -m pip install dist/*-manylinux*.whl | |
| - uses: actions/upload-artifact@v2 | |
| with: | |
| name: wheel-${{ matrix.python-version }} | |
| path: dist/*-manylinux*.whl | |
| publish-artifacts: | |
| runs-on: ubuntu-20.04 | |
| needs: [build-sdist, build-wheels] | |
| steps: | |
| - run: | | |
| mkdir dist | |
| - uses: actions/download-artifact@v2 | |
| with: | |
| name: "sdist" | |
| path: "dist/" | |
| - uses: actions/download-artifact@v2 | |
| with: | |
| name: "wheel-3.9" | |
| path: "dist/" | |
| - uses: actions/download-artifact@v2 | |
| with: | |
| name: "wheel-3.10" | |
| path: "dist/" | |
| - uses: actions/download-artifact@v2 | |
| with: | |
| name: "wheel-3.11" | |
| path: "dist/" | |
| - run: | | |
| ls -lh dist/ | |
| - name: Setup PyPI config | |
| run: | | |
| cat << EOF > ~/.pypirc | |
| [pypi] | |
| username=__token__ | |
| password=${{ secrets.PYPI_TOKEN }} | |
| EOF | |
| - uses: actions/setup-python@v2 | |
| with: | |
| python-version: 3.9 | |
| - run: | | |
| python -m pip install twine | |
| - run: | | |
| twine upload --repository pypi dist/* | |