diff --git a/.gitea/workflows/test-and-publish.yml b/.gitea/workflows/test-and-publish.yml new file mode 100644 index 0000000..99d21d0 --- /dev/null +++ b/.gitea/workflows/test-and-publish.yml @@ -0,0 +1,35 @@ +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: ghcr.io/astral-sh/uv:0.5-alpine + steps: + - uses: taiki-e/checkout-action@v1 + - name: Publish to Gitea + run: uv publish + env: + UV_PUBLISH_URL: "${{ gitea.server_url }}/api/packages/${{ gitea.repository_owner }}/pypi" + UV_PUBLISH_USERNAME: "${{ secrets.PACKAGE_REPO_USERNAME }}" + UV_PUBLISH_PASSWORD: "${{ secrets.PACKAGE_REPO_PASSWORD }}"