Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/alirezatheh/pypi-auto-publish

GitHub action to automate build and publish PEP 518 compliant projects (Setuptools, Flit, Poetry) on Test PyPI and/or PyPI if local package.__version__ is ahead of PyPI’s.
https://github.com/alirezatheh/pypi-auto-publish

actions github github-actions publish pypi pypi-package release release-automation

Last synced: about 1 month ago
JSON representation

GitHub action to automate build and publish PEP 518 compliant projects (Setuptools, Flit, Poetry) on Test PyPI and/or PyPI if local package.__version__ is ahead of PyPI’s.

Awesome Lists containing this project

README

        

# PyPI Auto Publish
GitHub action to automate build and publish
[PEP 518](https://peps.python.org/pep-0518/) compliant projects (Setuptools,
Flit, Poetry) on Test PyPI and/or PyPI if local `package.__version__` is ahead
of PyPI's.

## Usage
```yaml
name: Publish
on:
push:
branches:
- main
workflow_dispatch:

jobs:
pypi-publish:
runs-on: ubuntu-latest
steps:
- uses: alirezatheh/pypi-auto-publish@v1
with:
test-api-pypi-token: ${{ secrets.TEST_PYPI_API_TOKEN }}
pypi-api-token: ${{ secrets.PYPI_API_TOKEN }}
```

The action assume:
- The project has a `setup.py`, `setup.cfg` or `pyproject.toml` in the
top-level directory.
- Python and pip are installed (e.g. by `actions/setup-python@v3`).

## Inputs
- `test-api-pypi-token`: API token of the Test PyPI account publishing the
project. If missing, publish on Test PyPI is skipped (optional).
- `pypi-api-token`: API token of the PyPI account publishing the project
(required).
- `package-name`: Name of the PyPI package, Defaults to repository name
(optional).

## Acknowledgements
This action is inspired by
[pypi-auto-publish](https://github.com/etils-actions/pypi-auto-publish)