name: Update Go "on": schedule: - cron: 57 2 * * 1 workflow_dispatch: {} jobs: update: name: Update Go runs-on: - ubuntu-latest steps: - uses: actions/setup-go@v5 with: go-version: "1.23" - uses: actions/checkout@v4 - name: Update Go Version & Modules id: update-go run: | #!/usr/bin/env bash set -euo pipefail if [ -z "${GO_VERSION:-}" ]; then echo "No go version set" exit 1 fi OLD_GO_VERSION=$(grep -P '^go \d\.\d+' go.mod | cut -d ' ' -f 2 | cut -d '.' -f 1-2) go mod edit -go="$GO_VERSION" go mod tidy go get -u -t ./... go mod tidy git add go.mod go.sum git checkout -- . if [ "$OLD_GO_VERSION" == "$GO_VERSION" ]; then COMMIT_TITLE="Bump Go Modules" COMMIT_BODY="Bumps Go modules used by the project. See the commit for details on what modules were updated." COMMIT_SEMVER="semver:patch" else COMMIT_TITLE="Bump Go from ${OLD_GO_VERSION} to ${GO_VERSION}" COMMIT_BODY="Bumps Go from ${OLD_GO_VERSION} to ${GO_VERSION} and update Go modules used by the project. See the commit for details on what modules were updated." COMMIT_SEMVER="semver:minor" fi echo "commit-title=${COMMIT_TITLE}" >> "$GITHUB_OUTPUT" echo "commit-body=${COMMIT_BODY}" >> "$GITHUB_OUTPUT" echo "commit-semver=${COMMIT_SEMVER}" >> "$GITHUB_OUTPUT" env: GO_VERSION: "1.23" - uses: peter-evans/create-pull-request@v6 with: author: ${{ secrets.JAVA_GITHUB_USERNAME }} <${{ secrets.JAVA_GITHUB_USERNAME }}@users.noreply.github.com> body: |- ${{ steps.update-go.outputs.commit-body }} <details> <summary>Release Notes</summary> ${{ steps.pipeline.outputs.release-notes }} </details> branch: update/go commit-message: |- ${{ steps.update-go.outputs.commit-title }} ${{ steps.update-go.outputs.commit-body }} delete-branch: true labels: ${{ steps.update-go.outputs.commit-semver }}, type:task signoff: true title: ${{ steps.update-go.outputs.commit-title }} token: ${{ secrets.PAKETO_BOT_GITHUB_TOKEN }}