Skip to content

Release to PyPI

Release to PyPI #24

Workflow file for this run

name: Release to PyPI
on:
release:
types: [published]
push:
tags:
- v*.*.*
jobs:
build-and-publish:
runs-on: ubuntu-20.04
steps:
- uses: ankane/setup-opensearch@v1
- uses: actions/checkout@v3
- name: Set up Python
uses: actions/setup-python@v4
with:
python-version: 3.8
- name: Install Poetry
run: pipx install poetry
- name: Verify versioning
run: |
[ "$(poetry version -s)" == "${GITHUB_REF#refs/tags/v}" ]
- name: Install dependencies
run: poetry install
- name: Run tests
run: poetry run pytest
- name: Build packages
run: poetry build
- name: Configure Poetry
run: |
poetry config repositories.testpypi https://test.pypi.org/legacy/
poetry config pypi-token.testpypi ${{ secrets.TEST_PYPI_API_TOKEN }}
poetry config pypi-token.pypi "${{ secrets.PYPI_API_TOKEN }}"
- name: Publish to test PyPI
if: ${{ github.event_name == 'push' }}
run: poetry publish -r testpypi
- name: Publish to PyPI
if: ${{ github.event_name == 'release' }}
run: poetry publish