Release (uv)¶
python | uv ¶
A GitHub Actions workflow for building and publishing Python packages using uv.
flowchart TB
job_scan[["scan"]]
subgraph job_packaging["uv | packaging"]
direction LR
job_packaging_step_0("git | clone")
job_packaging_step_1("docs | rumdl")
job_packaging_step_0 --> job_packaging_step_1
job_packaging_step_2("uv | setup")
job_packaging_step_1 --> job_packaging_step_2
job_packaging_step_3("uv | format")
job_packaging_step_2 --> job_packaging_step_3
job_packaging_step_4("uv | lint")
job_packaging_step_3 --> job_packaging_step_4
job_packaging_step_5("uv | tox")
job_packaging_step_4 --> job_packaging_step_5
job_packaging_step_6("uv | test")
job_packaging_step_5 --> job_packaging_step_6
job_packaging_step_7["uv | build"]
job_packaging_step_6 --> job_packaging_step_7
job_packaging_step_8("artifact | dist")
job_packaging_step_7 --> job_packaging_step_8
end
subgraph job_release["uv | 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["uv | pages"]
direction LR
job_pages_step_0("git | clone")
job_pages_step_1("uv | setup")
job_pages_step_0 --> job_pages_step_1
job_pages_step_2("uv | zensical")
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_scan -.-> job_packaging
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). |
|
working-directory
¤
|
python
|
|
python-version
¤
|
||
low-pct-coverage-threshold
¤
|
60
|
|
high-pct-coverage-threshold
¤
|
90
|
|
ssh-known-hosts
¤
|
Hosts to be added to the |
|
ssh-private-keys
¤
|
SSH private keys. |
|
init-script
¤
|
Path to a preambulatory script for initialising any special dependencies. |
|
tox
¤
|
Whether to run |
false
|
codecov-oidc
¤
|
Whether to use OIDC authentication with |
false
|
Secrets: ¤
| Name | Description |
|---|---|
UV_SSH_PRIVATE_KEY
¤
|
SSH private key for a |
PYPI_API_TOKEN
¤
|
PyPi token. |
TEST_PYPI_API_TOKEN
¤
|
PyPi (test) token. |
CODECOV_TOKEN
¤
|
Codecov token. |