diff --git a/.github/workflows/bump-version.yml b/.github/workflows/bump-version.yml index a878dfa..4aee7c0 100644 --- a/.github/workflows/bump-version.yml +++ b/.github/workflows/bump-version.yml @@ -41,8 +41,34 @@ jobs: - name: Run Semantic Release env: GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} - run: poetry run semantic-release publish + run: semantic-release publish - - name: Push changes + # - name: Push changes + # run: | + # git push --follow-tags + + - name: "Determine version bump type" + run: | + git fetch --tags + # This defaults to a patch type, unless a feature commit was pushed, then set type to minor + LAST_TAG=$(git describe --tags $(git rev-list --tags --max-count=1)) + LAST_COMMIT=$(git log -1 --format='%H') + echo "Last git tag: $LAST_TAG" + echo "Last git commit: $LAST_COMMIT" + echo "Commits:" + git log --no-merges --pretty=oneline $LAST_TAG...$LAST_COMMIT + git log --no-merges --pretty=format:"%s" $LAST_TAG...$LAST_COMMIT | grep -q ^feat: && BUMP_TYPE="minor" || BUMP_TYPE="patch" + echo "Version bump type: $BUMP_TYPE" + echo "BUMP_TYPE=$BUMP_TYPE" >> $GITHUB_ENV + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + - name: "Version bump" run: | - git push --follow-tags + poetry version $BUMP_TYPE + - name: "Push new version" + run: | + git add pyproject.toml + git commit -m "Update version to $(poetry version -s)" + git push origin HEAD:${{ github.event.pull_request.head.ref }} + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}