name: Dependabot Update All Go Modules on: pull_request permissions: contents: write pull-requests: write env: PR_TITLE: ${{ github.event.pull_request.title }} jobs: update-all: runs-on: ubuntu-latest if: ${{ github.actor == 'dependabot[bot]' }} steps: - name: Generate Token uses: actions/create-github-app-token@67e27a7eb7db372a1c61a7f9bdab8699e9ee57f7 # v1 id: app-token with: app-id: "${{ secrets.APP_ID }}" private-key: "${{ secrets.APP_PRIVATE_KEY }}" - uses: actions/checkout@v4 with: repository: ${{ github.event.pull_request.head.repo.full_name }} ref: ${{ github.event.pull_request.head.ref }} token: "${{ steps.app-token.outputs.token }}" - uses: actions/setup-go@v5 with: go-version: "1.23" check-latest: true - name: Extract updated dependency id: deps run: | # Extract the dependency name from the PR title # Example: "build(deps): Bump github.com/cosmos/cosmos-sdk from 0.46.0 to 0.47.0" # Extracts "github.com/cosmos/cosmos-sdk" and "0.47.0" echo "name=$(echo "$PR_TITLE" | cut -d ' ' -f 3)" >> $GITHUB_OUTPUT echo "version=$(echo "$PR_TITLE" | cut -d ' ' -f 7)" >> $GITHUB_OUTPUT - name: Update all Go modules run: | ./scripts/go-update-dep-all.sh ${{ format('{0}@v{1}', steps.deps.outputs.name, steps.deps.outputs.version) }} ./scripts/go-mod-tidy-all.sh - name: Commit changes uses: EndBug/add-and-commit@v9 with: default_author: user_info message: "${{ github.event.pull_request.title }} for all modules"