@@ -3,7 +3,7 @@ name: Update Go version |
3 | 3 | on: |
4 | 4 | workflow_dispatch: |
5 | 5 | 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) |
7 | 7 |
|
8 | 8 | permissions: |
9 | 9 | contents: write |
|
38 | 38 | echo "version_num=$LATEST_VERSION_NUM" >> $GITHUB_OUTPUT |
39 | 39 | |
40 | 40 | # 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/') |
42 | 42 | echo "major_minor=$LATEST_MAJOR_MINOR" >> $GITHUB_OUTPUT |
43 | 43 |
|
44 | 44 | - name: Check current Go version |
|
49 | 49 | echo "version=$CURRENT_VERSION" >> $GITHUB_OUTPUT |
50 | 50 | |
51 | 51 | # 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/') |
53 | 53 | echo "major_minor=$CURRENT_MAJOR_MINOR" >> $GITHUB_OUTPUT |
54 | 54 |
|
55 | 55 | - name: Compare versions |
@@ -114,9 +114,9 @@ jobs: |
114 | 114 | GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} |
115 | 115 | run: | |
116 | 116 | 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') |
118 | 118 | |
119 | | - if [ -n "$PR_NUMBER" ]; then |
| 119 | + if [ "$PR_NUMBER" != "null" ] && [ -n "$PR_NUMBER" ]; then |
120 | 120 | echo "Existing PR found: #$PR_NUMBER" |
121 | 121 | echo "pr_exists=true" >> $GITHUB_OUTPUT |
122 | 122 | echo "pr_number=$PR_NUMBER" >> $GITHUB_OUTPUT |
@@ -152,15 +152,19 @@ jobs: |
152 | 152 | CURRENT_MAJOR_MINOR="${{ steps.current-version.outputs.major_minor }}" |
153 | 153 | |
154 | 154 | 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. |
156 | 158 |
|
157 | 159 | Updated files: |
158 | 160 | - \`MODULE.bazel\` - go_sdk.download version |
159 | 161 | - \`go/extractor/go.mod\` - go directive and toolchain |
160 | 162 | - \`go/extractor/autobuilder/build-environment.go\` - maxGoVersion |
161 | 163 | - \`go/actions/test/action.yml\` - default go-test-version |
162 | 164 |
|
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 | + ) |
164 | 168 | |
165 | 169 | if [ "${{ steps.check-pr.outputs.pr_exists }}" = "true" ]; then |
166 | 170 | echo "Updating existing PR #${{ steps.check-pr.outputs.pr_number }}" |
|