name: "update-golang-versions"
on:
  workflow_dispatch:
  schedule:
    # every Monday at around 2 am pacific/9 am UTC
    - cron: "0 9 * * 1"
env:
  GOPROXY: https://proxy.golang.org
  GO_VERSION: '1.19.1'
permissions:
  contents: read

jobs:
  bump-golang-version:
    runs-on: ubuntu-20.04
    steps:
      - uses: actions/checkout@2541b1294d2704b0964813337f33b291d3f8596b
      - uses: actions/setup-go@268d8c0ca0432bb2cf416faae41297df9d262d7f
        with:
          go-version: ${{env.GO_VERSION}}
      - name: Bump Golang Versions
        id: bumpGolang
        run: |
          make update-golang-version
          echo "::set-output name=changes::$(git status --porcelain)"
      - name: Create PR
        if: ${{ steps.bumpGolang.outputs.changes != '' }}
        uses: peter-evans/create-pull-request@671dc9c9e0c2d73f07fa45a3eb0220e1622f0c5f
        with:
          token: ${{ secrets.MINIKUBE_BOT_PAT }}
          commit-message: bump golang versions
          committer: minikube-bot <minikube-bot@google.com>
          author: minikube-bot <minikube-bot@google.com>
          branch: auto_bump_golang_version
          push-to-fork: minikube-bot/minikube
          base: master
          delete-branch: true
          title: 'bump golang version'
          labels: ok-to-test
          body: |
            Kubernetes Project just updated the [golang version](https://github.com/kubernetes/kubernetes/blob/master/build/build-image/cross/VERSION), updating minikube golang to match Kubernetes.

            This PR was auto-generated by `make update-golang-version` using [update-golang-version.yml](https://github.com/kubernetes/minikube/tree/master/.github/workflows/update-golang-version.yml) CI Workflow.
