on: workflow_dispatch: inputs: release_notes: description: Release notes (use \n for newlines) type: string required: false github_release: description: 'Create Gitea Release' default: true type: boolean bump: description: 'Bump type' required: true default: 'patch' type: choice options: - 'major' - 'minor' - 'patch' jobs: release: runs-on: ubuntu-latest steps: - name: Checkout uses: actions/checkout@v4 - name: Install uv uses: astral-sh/setup-uv@v5 - name: Set up Python run: uv python install with: python-version-file: "pyproject.toml" - name: Install the project run: uv sync --locked --all-extras --dev - name: Bump version id: bump uses: callowayproject/bump-my-version@master env: BUMPVERSION_TAG: "true" with: args: ${{ inputs.bump }} github-token: ${{ secrets.TOKEN }} - name: Check if: steps.bump.outputs.bumped == 'true' run: | echo "Version was bumped from ${{ steps.bump.outputs.previous-version }} to ${{ steps.bump.outputs.current-version }}!" - name: Add release notes to environment id: add_release_notes run: | echo "RELEASE_NOTES<> $GITHUB_ENV echo "${{ github.event.inputs.release_notes }}" >> $GITHUB_ENV echo "EOF" >> $GITHUB_ENV - name: Create release id: create_release if: ${{ github.event.inputs.github_release == 'true' }} uses: softprops/action-gh-release@v2 with: tag_name: ${{ steps.bump.outputs.current-version }} release_name: Release ${{ steps.bump.outputs.current-version }} body: ${{ env.RELEASE_NOTES }} draft: false prerelease: false make_latest: true env: GITHUB_TOKEN: ${{ secrets.TOKEN }}