unifi_access/.gitea/workflows/test-and-publish.yml
Adam Goldsmith e680071721
All checks were successful
Run Unit Tests / publish (push) Successful in 58s
Run Unit Tests / test-package (3.13) (push) Successful in 1m3s
Run Unit Tests / test-package (3.11) (push) Successful in 1m8s
Run Unit Tests / test-package (3.12) (push) Successful in 1m28s
Add gitea workflow to run offline tests and publish package
2024-12-06 01:58:10 -05:00

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 }}"