name: "time-to-k8s benchmark"
on:
  workflow_dispatch:
  release:
    types: [released]
env:
  GOPROXY: https://proxy.golang.org
  GO_VERSION: '1.22.5'
permissions:
  contents: read

jobs:
  benchmark:
    runs-on: ubuntu-22.04
    steps:
      - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332
      - name: Checkout submodules
        run: git submodule update --init
      - uses: actions/setup-go@0a12ed9d6a96ab950c8f026ed9f722fe0da7ef32
        with:
          go-version: ${{env.GO_VERSION}}
      - name: time-to-k8s Benchmark
        id: timeToK8sBenchmark
        run: |
          ./hack/benchmark/time-to-k8s/time-to-k8s.sh
          echo "version=$(minikube version --short)" >> "$GITHUB_OUTPUT"
      - name: Create PR
        uses: peter-evans/create-pull-request@4320041ed380b20e97d388d56a7fb4f9b8c20e79
        with:
          token: ${{ secrets.MINIKUBE_BOT_PAT }}
          commit-message: add time-to-k8s benchmark for ${{ steps.timeToK8sBenchmark.outputs.version }}
          committer: minikube-bot <minikube-bot@google.com>
          author: minikube-bot <minikube-bot@google.com>
          branch: addTimeToK8s${{ steps.timeToK8sBenchmark.outputs.version }}
          branch-suffix: short-commit-hash
          push-to-fork: minikube-bot/minikube
          base: master
          delete-branch: true
          title: "Post-release: Add time-to-k8s benchmark for ${{ steps.timeToK8sBenchmark.outputs.version }}"
          body: Updating time-to-k8s benchmark as part of the release process
