Skip to content

Deploy package to PyPI #18

Deploy package to PyPI

Deploy package to PyPI #18

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"
- 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/