Skip to content

Release (poetry)

python | poetry

uses: jambazid/gha-actions/.github/workflows/python-poetry.yaml@unknown
permissions:
  contents: write
  pull-requests: write
  pages: write
  id-token: write

A GitHub Actions workflow for building and publishing Python packages using poetry.


        flowchart TB
    subgraph job_packaging["poetry | packaging"]
        direction LR
        job_packaging_step_0("git | clone")
        job_packaging_step_1("poetry | setup")
        job_packaging_step_0 --> job_packaging_step_1
        job_packaging_step_2("poetry | format")
        job_packaging_step_1 --> job_packaging_step_2
        job_packaging_step_3("poetry | lint")
        job_packaging_step_2 --> job_packaging_step_3
        job_packaging_step_4("poetry | tox")
        job_packaging_step_3 --> job_packaging_step_4
        job_packaging_step_5("poetry | test")
        job_packaging_step_4 --> job_packaging_step_5
        job_packaging_step_6["poetry | build"]
        job_packaging_step_5 --> job_packaging_step_6
        job_packaging_step_7("artifact | dist")
        job_packaging_step_6 --> job_packaging_step_7
    end
    subgraph job_release["poetry | release"]
        direction LR
        job_release_step_0("artifacts | dist")
        job_release_step_1("release | pypi-test")
        job_release_step_0 --> job_release_step_1
        job_release_step_2("release | pypi")
        job_release_step_1 --> job_release_step_2
        job_release_step_3("release | create")
        job_release_step_2 --> job_release_step_3
    end
    subgraph job_pages["poetry | pages"]
        direction LR
        job_pages_step_0("git | clone")
        job_pages_step_1("poetry | setup")
        job_pages_step_0 --> job_pages_step_1
        job_pages_step_2("poetry | pdoc")
        job_pages_step_1 --> job_pages_step_2
        job_pages_step_3("pages | upload")
        job_pages_step_2 --> job_pages_step_3
        job_pages_step_4("pages | deploy")
        job_pages_step_3 --> job_pages_step_4
    end
    job_packaging -.-> job_release
    job_release -.-> job_pages
        

Inputs: ¤

Name Description Default
publish-pages ¤

Whether to publish GitHub pages.

true
create-release ¤

Whether to create a new release.

true
github-repository ¤

GitHub repository path (defaults to this repository if unset).

project-summary ¤
logo-url ¤

URL or path to an icon to display as the package logo.

https://www.python.org/static/community_logos/python-logo-master-v3-TM.png
favicon-url ¤

URL or path to a favicon to display in live documentation.

https://www.python.org/static/community_logos/python-logo-master-v3-TM.png
working-directory ¤ python
package-namespace ¤
python-version ¤
low-pct-coverage-threshold ¤ 60
high-pct-coverage-threshold ¤ 90
ssh-known-hosts ¤

Hosts to be added to the ~/.ssh/known_hosts file.

ssh-private-keys ¤

SSH private keys.

init-script ¤

Path to a preambulatory script for initialising any special dependencies.

tox ¤

Whether to run tox.

false
codecov-oidc ¤

Whether to use OIDC authentication with Codecov.

false

Secrets: ¤

Name Description
POETRY_SSH_PRIVATE_KEY ¤

SSH private key for a Poetry Git dependency.

PYPI_API_TOKEN ¤

PyPi token.

TEST_PYPI_API_TOKEN ¤

PyPi (test) token.

CODECOV_TOKEN ¤

Codecov token.