Skip to content

Publish Python 🐍 distributions 📦 to PyPI and TestPyPI #22

Publish Python 🐍 distributions 📦 to PyPI and TestPyPI

Publish Python 🐍 distributions 📦 to PyPI and TestPyPI #22

name: Publish Python 🐍 distributions 📦 to PyPI and TestPyPI
on:
# Triggers the workflow on push or pull request events but only for the "master" branch
push:
branches: [ "main" ]
# Allows you to run this workflow manually from the Actions tab
workflow_dispatch:
jobs:
build-n-publish:
name: Build and publish Python 🐍 distributions 📦 to PyPI and TestPyPI
runs-on: ubuntu-latest
steps:
- name: Checking out..
uses: actions/checkout@v3
with:
token: ${{ secrets.PUBLISH_PYPI_TOKEN }}
- name: Set up Python 3.10
uses: actions/setup-python@v4
with:
python-version: "3.10"
cache: 'pip'
- name: Install dependencies 📦
run: |
python -m pip install --upgrade pip setuptools wheel twine
pip install -r requirements.txt
- name: Use Python Semantic Release to prepare release 🚀
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
git config user.name Patrick Mazulo
git config user.email pmazulo@gmail.com
semantic-release publish
- name: Publish distribution 📦 to Test PyPI
uses: pypa/gh-action-pypi-publish@release/v1
with:
password: ${{ secrets.TEST_PYPI_API_TOKEN }}
repository_url: https://test.pypi.org/legacy/
skip_existing: true
verbose: true
- name: Publish distribution 📦 to PyPI
uses: pypa/gh-action-pypi-publish@release/v1
with:
password: ${{ secrets.PYPI_API_TOKEN }}
skip_existing: true
verbose: true