Merge pull request #9 from DiogoRibeiro7/feat/first_commit #8
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Bump Version on Merge to Main | |
| on: | |
| push: | |
| branches: | |
| - main | |
| jobs: | |
| bump-version: | |
| runs-on: ubuntu-latest | |
| permissions: | |
| contents: write | |
| id-token: write | |
| steps: | |
| - name: Checkout repository | |
| uses: actions/checkout@v4 | |
| with: | |
| fetch-depth: 0 # Required for semantic-release to access full git history | |
| - name: Set up Python | |
| uses: actions/setup-python@v5 | |
| with: | |
| python-version: "3.11" | |
| - name: Install Poetry | |
| run: | | |
| curl -sSL https://install.python-poetry.org | python3 - | |
| echo "$HOME/.local/bin" >> $GITHUB_PATH | |
| - name: Install dependencies | |
| run: | | |
| poetry install | |
| poetry add --group dev python-semantic-release | |
| - name: Configure Git user | |
| run: | | |
| git config user.name "github-actions[bot]" | |
| git config user.email "github-actions[bot]@users.noreply.github.com" | |
| - name: Run Semantic Release | |
| env: | |
| GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
| run: poetry run semantic-release publish | |
| - 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: | | |
| 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 }} |