From e680071721a745bde254562f8870c1afe2baa399 Mon Sep 17 00:00:00 2001 From: Adam Goldsmith Date: Thu, 5 Dec 2024 13:54:41 -0500 Subject: [PATCH] Add gitea workflow to run offline tests and publish package --- .gitea/workflows/test-and-publish.yml | 43 +++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) create mode 100644 .gitea/workflows/test-and-publish.yml diff --git a/.gitea/workflows/test-and-publish.yml b/.gitea/workflows/test-and-publish.yml new file mode 100644 index 0000000..1ca4ecd --- /dev/null +++ b/.gitea/workflows/test-and-publish.yml @@ -0,0 +1,43 @@ +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 }}"