44 lines
1.2 KiB
YAML
44 lines
1.2 KiB
YAML
name: Run Unit Tests
|
|
on:
|
|
push:
|
|
release:
|
|
|
|
jobs:
|
|
test-package:
|
|
strategy:
|
|
matrix:
|
|
python-version:
|
|
- "3.11"
|
|
- "3.12"
|
|
- "3.13"
|
|
runs-on: ubuntu-latest
|
|
container: ghcr.io/astral-sh/uv:0.5-python${{ matrix.python-version }}-alpine
|
|
steps:
|
|
- uses: taiki-e/checkout-action@v1
|
|
- name: Install the project
|
|
run: uv sync --all-extras --dev
|
|
- name: Run tests
|
|
run: uv run pytest
|
|
|
|
publish:
|
|
if: startsWith(github.ref, 'refs/tags/v')
|
|
# needs: test-package
|
|
runs-on: ubuntu-latest
|
|
container: catthehacker/ubuntu:act-latest
|
|
env:
|
|
# workaround for container tool cache path, see https://gitea.com/gitea/act_runner/issues/70
|
|
RUNNER_TOOL_CACHE: /toolcache
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
- uses: actions/setup-python@v4
|
|
with:
|
|
python-version: 3.11
|
|
cache: pip
|
|
- run: pip install build twine
|
|
- run: python3 -m build
|
|
- run: python3 -m twine upload dist/*
|
|
env:
|
|
TWINE_REPOSITORY_URL: "${{ gitea.server_url }}/api/packages/${{ gitea.repository_owner }}/pypi"
|
|
TWINE_USERNAME: "${{ secrets.PACKAGE_REPO_USERNAME }}"
|
|
TWINE_PASSWORD: "${{ secrets.PACKAGE_REPO_PASSWORD }}"
|