Deploy package to PyPI #19
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Deploy package to PyPI | |
on: | |
release: | |
types: [published] | |
jobs: | |
build: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions/setup-python@v3 | |
with: | |
python-version: 3.11 | |
- name: Update version in pyproject.toml from current git tag | |
run: >- | |
sed -i "s/0\\.0\\.0\\.dev0/${GITHUB_REF/refs\/tags\/v/}/g" pyproject.toml | |
# This makes it a touch easier/more robust to package for Debian | |
# See https://github.com/uktrade/stream-zip/issues/136 | |
- name: Update release to include source code with version | |
run: | | |
touch "${GITHUB_REF_NAME}.tar.gz" | |
tar --exclude='.git' --exclude='${GITHUB_REF_NAME}.tar.gz' -czvf "${GITHUB_REF_NAME}.tar.gz" . | |
gh release upload "${GITHUB_REF_NAME}" "${GITHUB_REF_NAME}.tar.gz" "Source code (with release version)" | |
rm "${GITHUB_REF_NAME}.tar.gz" | |
env: | |
GH_TOKEN: ${{ github.token }} | |
- run: | | |
pip install build | |
python -m build | |
- uses: actions/upload-artifact@v3 | |
with: | |
path: ./dist | |
deploy: | |
needs: [build] | |
environment: | |
name: pypi | |
url: https://pypi.org/project/stream-zip/ | |
name: upload release to PyPI | |
runs-on: ubuntu-latest | |
permissions: | |
id-token: write | |
steps: | |
- uses: actions/download-artifact@v3 | |
- name: Publish package distributions to PyPI | |
uses: pypa/gh-action-pypi-publish@release/v1 | |
with: | |
packages_dir: artifact/ |