| name: ci-update-workflow |
| |
| on: |
| schedule: |
| # Run every day at 10AM. |
| - cron: '0 10 * * *' |
| workflow_dispatch: |
| branches: |
| - master |
| |
| permissions: |
| repository-projects: write |
| pull-requests: write |
| |
| jobs: |
| update-go-versions: |
| runs-on: ubuntu-latest |
| permissions: |
| id-token: write # Enable OIDC |
| steps: |
| - id: 'auth' |
| uses: 'google-github-actions/auth@v1' |
| with: |
| credentials_json: '${{ secrets.GCP_CREDENTIALS }}' |
| |
| - name: 'Set up Cloud SDK' |
| uses: 'google-github-actions/setup-gcloud@v1' |
| |
| - name: Get available Go versions |
| run: | |
| # Get all supported Go versions and pass the space-separated versions |
| # string to the next step |
| versions=$(gcloud functions runtimes list --format="value(NAME)" --project=gae-runtimes-private --region=us-west1 | grep ^go | tr '\n' ' ' | xargs) |
| echo "versions=$versions" >> $GITHUB_OUTPUT |
| id: get_versions |
| |
| - name: Checkout appengine repo |
| uses: actions/checkout@v2 |
| |
| # Sign the commit. |
| # https://www.chainguard.dev/unchained/keyless-git-commit-signing-with-gitsign-and-github-actions |
| - uses: chainguard-dev/actions/setup-gitsign@main |
| |
| - name: Update Go versions |
| run: | |
| readarray -d ' ' -t versions <<< "${{ steps.get_versions.outputs.versions }}" |
| |
| versions_str="" |
| for version in "${versions[@]}"; do |
| major=${version:2:1} |
| minor=${version:3:2} |
| versions_str+="'$major.$minor.x', " |
| done |
| # Remove the last comma and space |
| versions_str=${versions_str%, *} |
| |
| # Only replace the first occurance |
| sed -i "0,/^ go-version: \[.*/s// go-version: \[$versions_str\]/" .github/workflows/ci-v2.yaml |
| |
| - name: Create Pull Request |
| uses: peter-evans/create-pull-request@v4 |
| with: |
| token: ${{ secrets.GITHUB_TOKEN }} |
| commit-message: Update go-version matrix |
| title: Update go-version matrix |
| body: | |
| - go-version matrix updates |
| |
| Update the go-version matrix in the CI workflows to include the new supported runtimes. |
| |
| Auto-generated by [create-pull-request][1] |
| |
| [1]: https://github.com/peter-evans/create-pull-request |
| branch: update-go-version-matrix |
| reviewers: jinglundong |