Update pypi-publish.yml

This commit is contained in:
Cian Hughes
2025-04-25 16:52:25 +01:00
committed by GitHub
parent a7b474bb78
commit 8746d704a1

View File

@@ -2,8 +2,56 @@ on:
push: push:
tags: tags:
- v* - v*
workflow_call:
inputs:
translation_directory:
description: directory babel translations reside in, passed to pybabel compile --directory=...
required: false
type: string
jobs: jobs:
build-n-publish: build-n-publish:
uses: Cian-H/.github/.github/workflows/pypi-publish.yml@main runs-on: ubuntu-latest
secrets: inherit steps:
- name: Checkout the code
uses: actions/checkout@v4
- name: Install uv
uses: astral-sh/setup-uv@v5
with:
enable-cache: false
python-version: 3.12
- name: Install dependencies
run: |
uv pip install --python=3.12 babel build
- name: Compile translations
env:
# writing input to env-var prevents injection-attacks
# this is suggested by github-documentation's section `Security hardening for GitHub Actions`
TRANSLATION_DIRECTORY: ${{inputs.translation_directory}}
run: |
if [[ -f setup.cfg ]] && grep -q "compile_catalog" setup.cfg
then
uv pip install --python=3.12 setuptools
python setup.py compile_catalog
elif [[ -n "$TRANSLATION_DIRECTORY" ]]
then
if [[ ! -d "$TRANSLATION_DIRECTORY" ]]
then
echo "given translation-directory `$TRANSLATION_DIRECTORY` does not exist"
exit 1
fi
pybabel compile --directory="$TRANSLATION_DIRECTORY" --use-fuzzy
fi
- name: Build package
run: |
python -m build
- name: pypi-publish
uses: pypa/gh-action-pypi-publish@v1.12.4
with:
user: __token__
password: ${{ secrets.pypi_token }}