name: Python Package Release on: workflow_dispatch: inputs: bump: description: 'Bump type' required: true default: 'patch' type: choice options: - 'major' - 'minor' - 'patch' jobs: build: runs-on: ubuntu-latest steps: - name: Checkout code uses: actions/checkout@v4 with: fetch-depth: 0 fetch-tags: true - name: Install uv uses: astral-sh/setup-uv@v5 - name: Set up Python run: uv python install - name: Set Git identity run: | git config user.name "Gitea CI" git config user.email "ci@git.theprivateserver.de" - name: Bump version id: bump run: | uv tool install bump-my-version uv tool run bump-my-version bump ${{ github.event.inputs.bump }} echo "VERSION<> $GITHUB_ENV echo "$(uv tool run bump-my-version show current_version)" >> $GITHUB_ENV echo "EOF" >> $GITHUB_ENV - name: Push changes uses: ad-m/github-push-action@master with: github_token: ${{ secrets.GITHUB_TOKEN }} branch: ${{ github.ref }} - name: Get previous tag id: prev_tag run: | prev=$(git tag --sort=-v:refname | sed -n '2p' || true) echo "tag=$prev" >> "$GITHUB_OUTPUT" - name: Build Changelog id: build_changelog uses: mikepenz/release-changelog-builder-action@v6.0.1 with: platform: "gitea" baseURL: "http://192.168.178.110:3000" configuration: ".gitea/changelog_config.json" env: GITHUB_TOKEN: ${{ secrets.GITEA_TOKEN }} - name: Build Distribution run: uv build - name: Publish package env: USERNAME: ${{ github.repository_owner }} run: uv publish --publish-url https://git.theprivateserver.de/api/packages/$USERNAME/pypi/ -t ${{ secrets.TOKEN }} - name: Create Gitea Release uses: softprops/action-gh-release@master with: tag_name: v${{ env.VERSION }} release_name: Release v${{ env.VERSION }} body: ${{steps.build_changelog.outputs.changelog}} draft: false prerelease: false make_latest: true files: | dist/*.whl dist/*.tar.gz env: GITHUB_TOKEN: ${{ secrets.TOKEN }} GITHUB_REPOSITORY: ${{ github.repository }}