name: Release on: push: tags: - 'v*' workflow_dispatch: inputs: tag_name: description: 'Tag to release' required: true default: 'v5.1.11' jobs: release: runs-on: FreeBSD steps: - name: Checkout code uses: actions/checkout@v4 # - name: Set up Python # uses: actions/setup-python@v5 # with: # python-version: '3.11' - name: Set up Python # Use a generic run step for FreeBSD if actions/setup-python # fails in restricted environments. run: | python3 --version python3 -m ensurepip --upgrade - name: Install build tools run: | python3 -m pip install --upgrade pip python3 -m pip install build twine - name: Build package run: python3 -m build - name: Extract version from tag id: get_version run: echo "VERSION=${GITHUB_REF#refs/tags/v}" >> $GITHUB_OUTPUT - name: Upload to Gitea PyPI registry env: TWINE_USERNAME: ${{ secrets.PYPI_USERNAME }} TWINE_PASSWORD: ${{ secrets.PYPI_TOKEN }} run: | python3 -m twine upload --repository-url https://git.wrede.ca/api/packages/andreas/pypi dist/* - name: Create release uses: actions/gitea-release-action@v1 with: files: | dist/*.whl dist/*.tar.gz title: "Release ${{ steps.get_version.outputs.VERSION }}" body: "Release version ${{ steps.get_version.outputs.VERSION }}"