Skip to content

Upload Python Package #10

Upload Python Package

Upload Python Package #10

Workflow file for this run

# This workflow will upload a Python Package using Twine when a release is created
# For more information see: https://help.github.com/en/actions/language-and-framework-guides/using-python-with-github-actions#publishing-to-package-registries
name: Upload Python Package
on:
# release:
# types: [created]
workflow_dispatch
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Set up Python
uses: actions/setup-python@v4
with:
python-version: '3.x'
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install setuptools wheel twine toml pymodaq
- name: Build
run: |
python setup.py sdist bdist_wheel
- name: Store the distribution packages
uses: actions/upload-artifact@v3
with:
name: python-package-distributions
path: dist/
get_name:
runs-on: ubuntu-latest
steps:
- name: Get repository name
id: repo-name
uses: MariachiBear/[email protected]
with:
with-owner: 'false'
string-case: 'lowercase'
publish-to-pypi:
name: >-
Publish Python 🐍 distribution 📦 to PyPI
if: startsWith(github.ref, 'refs/tags/') # only publish to PyPI on tag pushes
needs:
- build
- get_name
runs-on: ubuntu-latest
env:
REPO_NAME: https://pypi.org/p/${{ needs.get_name.steps.repo-name.outputs.repository-name }}
environment:
name: pypi
url: $REPO_NAME # Replace <package-name> with your PyPI project name
permissions:
id-token: write # IMPORTANT: mandatory for trusted publishing
steps:
- name: Download all the dists
uses: actions/download-artifact@v3
with:
name: python-package-distributions
path: dist/
- name: Publish distribution 📦 to PyPI
uses: pypa/gh-action-pypi-publish@release/v1