@@ -3,7 +3,7 @@ name: Update Go version
33on :
44 workflow_dispatch :
55 schedule :
6- - cron : " 0 3 * * 1" # Run weekly on Monday at 3 AM UTC
6+ - cron : " 0 3 * * 1" # Run weekly on Mondays at 3 AM UTC (1 = Monday)
77
88permissions :
99 contents : write
3838 echo "version_num=$LATEST_VERSION_NUM" >> $GITHUB_OUTPUT
3939
4040 # Extract major.minor version (e.g., 1.26.0 -> 1.26)
41- LATEST_MAJOR_MINOR=$(echo $LATEST_VERSION_NUM | sed -n 's/^\ ([0-9]\ +\.[0-9]\+\ ).*/\1/p ')
41+ LATEST_MAJOR_MINOR=$(echo $LATEST_VERSION_NUM | sed -E 's/^([0-9]+\.[0-9]+ ).*/\1/')
4242 echo "major_minor=$LATEST_MAJOR_MINOR" >> $GITHUB_OUTPUT
4343
4444 - name : Check current Go version
4949 echo "version=$CURRENT_VERSION" >> $GITHUB_OUTPUT
5050
5151 # Extract major.minor version
52- CURRENT_MAJOR_MINOR=$(echo $CURRENT_VERSION | sed -n 's/^\ ([0-9]\ +\.[0-9]\+\ ).*/\1/p ')
52+ CURRENT_MAJOR_MINOR=$(echo $CURRENT_VERSION | sed -E 's/^([0-9]+\.[0-9]+ ).*/\1/')
5353 echo "major_minor=$CURRENT_MAJOR_MINOR" >> $GITHUB_OUTPUT
5454
5555 - name : Compare versions
@@ -114,9 +114,9 @@ jobs:
114114 GH_TOKEN : ${{ secrets.GITHUB_TOKEN }}
115115 run : |
116116 BRANCH_NAME="workflow/go-version-update"
117- PR_NUMBER=$(gh pr list --head "$BRANCH_NAME" --state open --json number --jq '.[]? | .number')
117+ PR_NUMBER=$(gh pr list --head "$BRANCH_NAME" --state open --json number --jq '.[0] .number')
118118
119- if [ -n "$PR_NUMBER" ]; then
119+ if [ "$PR_NUMBER" != "null" ] && [ -n "$PR_NUMBER" ]; then
120120 echo "Existing PR found: #$PR_NUMBER"
121121 echo "pr_exists=true" >> $GITHUB_OUTPUT
122122 echo "pr_number=$PR_NUMBER" >> $GITHUB_OUTPUT
@@ -152,15 +152,19 @@ jobs:
152152 CURRENT_MAJOR_MINOR="${{ steps.current-version.outputs.major_minor }}"
153153
154154 PR_TITLE="Go: Update to $LATEST_MAJOR_MINOR"
155- PR_BODY="This PR updates Go from $CURRENT_MAJOR_MINOR to $LATEST_MAJOR_MINOR.
155+
156+ PR_BODY=$(cat <<EOF
157+ This PR updates Go from $CURRENT_MAJOR_MINOR to $LATEST_MAJOR_MINOR.
156158
157159 Updated files:
158160 - \`MODULE.bazel\` - go_sdk.download version
159161 - \`go/extractor/go.mod\` - go directive and toolchain
160162 - \`go/extractor/autobuilder/build-environment.go\` - maxGoVersion
161163 - \`go/actions/test/action.yml\` - default go-test-version
162164
163- This PR was automatically created by the [Go version update workflow](.github/workflows/go-version-update.yml)."
165+ This PR was automatically created by the [Go version update workflow](.github/workflows/go-version-update.yml).
166+ EOF
167+ )
164168
165169 if [ "${{ steps.check-pr.outputs.pr_exists }}" = "true" ]; then
166170 echo "Updating existing PR #${{ steps.check-pr.outputs.pr_number }}"
0 commit comments