name: Bump version on: pull_request: branches: [ develop ] types: - opened - reopened - synchronize - ready_for_review - labeled jobs: try-to-bump: if: contains(github.event.pull_request.labels.*.name, 'bump-version') runs-on: ubuntu-latest steps: - name: Checkout code uses: actions/checkout@v4 with: ref: ${{ github.head_ref }} - name: check diff id: check_diff run: | set -euo pipefail # fetch develop branch so that we can diff against later git fetch origin develop echo 'checking verion changes in diff...' # check if version changed in version.go # note: the grep will fail if use \d instead of [0-9] git diff HEAD..origin/develop --text --no-ext-diff --unified=0 --no-prefix common/version/version.go | grep -E '^\+var tag = "v[0-9]+\.[0-9]+\.[0-9]+"$' && true exit_code=$? # auto bump if version is not bumped manually echo '> require auto version bump?' if [ $exit_code -eq 0 ]; then echo '> no, already bumped' echo "result=no-bump" >> "$GITHUB_OUTPUT" else echo '> yes' echo "result=bump" >> "$GITHUB_OUTPUT" fi - name: Install Node.js 16 if: steps.check_diff.outputs.result == 'bump' uses: actions/setup-node@v3 with: node-version: 16 - name: bump version in common/version/version.go if: steps.check_diff.outputs.result == 'bump' run: node .github/scripts/bump_version_dot_go.mjs # Commits made by this Action do not trigger new Workflow runs - uses: stefanzweifel/git-auto-commit-action@3ea6ae190baf489ba007f7c92608f33ce20ef04a if: steps.check_diff.outputs.result == 'bump' with: skip_fetch: true # already did fetch in check diff file_pattern: "common/version/version.go" commit_message: "chore: auto version bump [bot]"