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