45 lines
1.1 KiB
YAML
45 lines
1.1 KiB
YAML
# Gitea Actions workflow to build and publish Python package to Gitea Package Registry
|
|
|
|
name: Publish Python Package
|
|
|
|
on:
|
|
push:
|
|
tags:
|
|
- "v*.*.*"
|
|
|
|
jobs:
|
|
build-and-publish:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: Checkout code
|
|
uses: actions/checkout@v4
|
|
|
|
- name: Set up Python
|
|
uses: actions/setup-python@v5
|
|
with:
|
|
python-version: ${{ inputs.python-version }}
|
|
|
|
- name: Install uv
|
|
run: pip install uv
|
|
|
|
- name: Update version in pyproject.toml to match tag
|
|
run: |
|
|
TAG_VERSION="${GITHUB_REF##*/}"
|
|
VERSION="${TAG_VERSION#v}"
|
|
sed -i.bak -E "s/^version = \".*\"/version = \"${VERSION}\"/" pyproject.toml
|
|
rm pyproject.toml.bak
|
|
|
|
- name: Build package
|
|
run: |
|
|
uv sync --no-dev
|
|
uv build
|
|
|
|
- name: Publish to Gitea Package Registry
|
|
env:
|
|
TWINE_USERNAME: __token__
|
|
TWINE_PASSWORD: ${{ secrets.CI_RUNNER_TOKEN }}
|
|
TWINE_REPOSITORY_URL: ${{ vars.REPOSITORY_URL }}
|
|
run: |
|
|
uv pip install twine --system
|
|
twine upload dist/*
|