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

jobs:
  bump-k8s-versions:
    runs-on: ubuntu-20.04
    steps:
      - uses: actions/checkout@93ea575cb5d8a053eaa0ac8fa3b40d7e05a33cc8
      - uses: actions/setup-go@c4a742cab115ed795e34d4513e2cf7d472deb55f
        with:
          go-version: ${{env.GO_VERSION}}
      - name: Bump Kubernetes Versions
        id: bumpk8s
        run: |
          t=$(make update-kubernetes-version)
          t=$(echo $t | head -n 1)
          echo "title=$t" >> $GITHUB_OUTPUT
          c=$(git status --porcelain)
          c="${c//$'\n'/'%0A'}"
          c="${c//$'\r'/'%0D'}"
          echo "changes=$c" >> $GITHUB_OUTPUT
      - name: Create PR
        if: ${{ steps.bumpk8s.outputs.changes != '' }}
        uses: peter-evans/create-pull-request@b4d51739f96fca8047ad065eccef63442d8e99f7
        with:
          token: ${{ secrets.MINIKUBE_BOT_PAT }}
          commit-message: bump default/newest kubernetes versions
          committer: minikube-bot <minikube-bot@google.com>
          author: minikube-bot <minikube-bot@google.com>
          branch: auto_bump_k8s_versions
          push-to-fork: minikube-bot/minikube
          base: master
          delete-branch: true
          title: "${{ steps.bumpk8s.outputs.title }}"
          labels: ok-to-test
          body: |
            This PR was auto-generated by `make update-kubernetes-version` using [update-k8s-versions.yml](https://github.com/kubernetes/minikube/tree/master/.github/workflows/update-k8s-versions.yml) CI Workflow.
            Please only merge if all the tests pass.

            ```
            ${{ steps.bumpk8s.outputs.changes }}
            ```
