Skip to content

Publish Python 🐍 distributions 📦 to PyPI #7

Publish Python 🐍 distributions 📦 to PyPI

Publish Python 🐍 distributions 📦 to PyPI #7

Workflow file for this run

name: Publish Python 🐍 distributions 📦 to PyPI
on:
push:
tags:
- '*'
jobs:
build-n-publish:
name: Build and publish Python 🐍 distributions 📦 to PyPI
runs-on: ubuntu-18.04
steps:
- uses: actions/checkout@main
- name: Set up Python 3.10
uses: actions/setup-python@v3
with:
python-version: '3.10'
- name: Install pypa/setuptools
run: >-
python -m
pip install wheel
- name: Extract tag name
id: tag
run: echo ::set-output name=TAG_NAME::$(echo $GITHUB_REF | cut -d / -f 3)
- name: Update version in setup.py
run: >-
sed -i "s/{{VERSION_PLACEHOLDER}}/${{ steps.tag.outputs.TAG_NAME }}/g" setup.py
- name: Build a binary wheel
run: >-
python setup.py sdist bdist_wheel
- name: Publish distribution 📦 to PyPI
uses: pypa/gh-action-pypi-publish@main
with:
password: ${{ secrets.PYPI_API_TOKEN }}
# script from https://medium.com/@VersuS_/automate-pypi-releases-with-github-actions-4c5a9cfe947d
### STEPS TO UPLOAD NEW VERSION ###
# in building branch
# 1. set version='{{VERSION_PLACEHOLDER}}' # to make the version automatised by tag name through GitHub Actions
# 2. git commit ... && git push # to upload everything that could be missing into the building branch
# 3. git checkout main # to move to main branch
# 4. git merge building # to merge all contents from building into main
# 5. git tag $version # to create a tag with the new version's number, which will be used as VERSION_PLACEHOLDER
# 6. git push origin --tags # to push merge and tag into GitHub