name: CI on: push: tags: - '*' jobs: build_pip_package: name: "Build Pip package" runs-on: hostinger timeout-minutes: 30 container: image: gitea.woggioni.net/woggioni/gitea-runner/ubuntu:26.04 steps: - name: Checkout sources uses: actions/checkout@v6 with: fetch-depth: 0 fetch-tags: true - uses: actions/setup-python@v6 with: python-version: '3.14.6' cache: 'pip' - name: Build run: | python -m venv .venv .venv/bin/pip install -r requirements-dev.txt .venv/bin/python -m build .venv/bin/pip install . .venv/bin/python -m mypy -p src .venv/bin/python -m unittest discover -s tests - name: Publish artifacts env: TWINE_REPOSITORY_URL: ${{ vars.PYPI_REGISTRY_URL }} TWINE_USERNAME: ${{ vars.PUBLISHER_USERNAME }} TWINE_PASSWORD: ${{ secrets.PUBLISHER_TOKEN }} run: | .venv/bin/python -m twine upload --repository gitea dist/*{.whl,tar.gz}