diff --git a/.github/workflows/bump_bundler_version.yml b/.github/workflows/bump_bundler_version.yml new file mode 100644 index 0000000000..d68c66809f --- /dev/null +++ b/.github/workflows/bump_bundler_version.yml @@ -0,0 +1,61 @@ +name: Bump Bundler Version + +on: + workflow_dispatch: + push: + branches: [ develop ] + paths: + - '.ruby-version' + +jobs: + bump-bundler: + runs-on: ubuntu-latest + permissions: + contents: write + pull-requests: write + env: + BUNDLE_GEMFILE: ${{ github.workspace }}/spec/Gemfile + steps: + - uses: hmarr/debug-action@v3 + - uses: actions/checkout@v5 + - uses: ruby/setup-ruby@v1 + with: + bundler-cache: true + - name: Update BUNDLED WITH in Gemfile.lock + run: | + echo "Remove all bundler versions except the default one" + gem uninstall bundler -a -x + + ruby -v + bundler -v + + # We are modifying the Gemfile.lock, thus have to set frozen to false. + bundle config set frozen false + + BUNDLER_VERSION=$(ruby -rbundler -e 'puts Bundler::VERSION') + + pushd spec + echo "Update bundler version in Gemfile.lock" + bundle update --bundler=$BUNDLER_VERSION + popd + + # Don't commit changes in vendor/bundle folder. + echo "vendor/bundle/" >> .git/info/exclude + + if git diff --quiet; then + echo "changes=false" >> $GITHUB_ENV + else + echo "changes=true" >> $GITHUB_ENV + fi + - name: Create or Update Pull Request + if: env.changes == 'true' + uses: peter-evans/create-pull-request@v7 + with: + branch: bump-bundler-version-${{ github.ref_name }} + title: "Automated Bump of Bundler Version in Gemfile.lock" + body: | + This PR updates Gemfile.lock to use the default Bundler version. + labels: "needs_review" + commit-message: "Bump Bundler Version in Gemfile.lock" + committer: "ari-wg-gitbot " + author: "ari-wg-gitbot "