name: CI on: push: tags: - '*' jobs: build: runs-on: woryzen steps: - name: Checkout sources uses: actions/checkout@v4 with: fetch-depth: 0 fetch-tags: true - uses: actions/setup-python@v5 with: cache: 'pip' - name: Create virtualenv run: | python -m venv .venv .venv/bin/pip install -r requirements-dev.txt - name: Run unit tests run: .venv/bin/python -m unittest discover -s tests - name: Execute build run: | .venv/bin/pyproject-build - 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}