---
name: Add comment
# yamllint disable-line rule:truthy
on:
  pull_request_target:
    branches:
      - devel
      - "release-v*"
    types:
      - labeled
jobs:
  add-comment:
    if: >
      (github.event.label.name == 'ok-to-test' &&
      github.event.pull_request.merged != true)
    runs-on: ubuntu-latest
    permissions:
      pull-requests: write
    steps:
      - name: Add comment to trigger external storage tests for Kubernetes 1.25
        uses: peter-evans/create-or-update-comment@v3
        with:
          token: ${{ secrets.CEPH_CSI_BOT_TOKEN }}
          issue-number: ${{ github.event.pull_request.number }}
          body: |
            /test ci/centos/k8s-e2e-external-storage/1.25

      - name: Add comment to trigger external storage tests for Kubernetes 1.26
        uses: peter-evans/create-or-update-comment@v3
        with:
          token: ${{ secrets.CEPH_CSI_BOT_TOKEN }}
          issue-number: ${{ github.event.pull_request.number }}
          body: |
            /test ci/centos/k8s-e2e-external-storage/1.26

      - name: Add comment to trigger external storage tests for Kubernetes 1.27
        uses: peter-evans/create-or-update-comment@v3
        with:
          token: ${{ secrets.CEPH_CSI_BOT_TOKEN }}
          issue-number: ${{ github.event.pull_request.number }}
          body: |
            /test ci/centos/k8s-e2e-external-storage/1.27

      - name: Add comment to trigger helm E2E tests for Kubernetes 1.25
        uses: peter-evans/create-or-update-comment@v3
        with:
          token: ${{ secrets.CEPH_CSI_BOT_TOKEN }}
          issue-number: ${{ github.event.pull_request.number }}
          body: |
            /test ci/centos/mini-e2e-helm/k8s-1.25

      - name: Add comment to trigger helm E2E tests for Kubernetes 1.26
        uses: peter-evans/create-or-update-comment@v3
        with:
          token: ${{ secrets.CEPH_CSI_BOT_TOKEN }}
          issue-number: ${{ github.event.pull_request.number }}
          body: |
            /test ci/centos/mini-e2e-helm/k8s-1.26

      - name: Add comment to trigger helm E2E tests for Kubernetes 1.27
        uses: peter-evans/create-or-update-comment@v3
        with:
          token: ${{ secrets.CEPH_CSI_BOT_TOKEN }}
          issue-number: ${{ github.event.pull_request.number }}
          body: |
            /test ci/centos/mini-e2e-helm/k8s-1.27

      - name: Add comment to trigger E2E tests for Kubernetes 1.25
        uses: peter-evans/create-or-update-comment@v3
        with:
          token: ${{ secrets.CEPH_CSI_BOT_TOKEN }}
          issue-number: ${{ github.event.pull_request.number }}
          body: |
            /test ci/centos/mini-e2e/k8s-1.25

      - name: Add comment to trigger E2E tests for Kubernetes 1.26
        uses: peter-evans/create-or-update-comment@v3
        with:
          token: ${{ secrets.CEPH_CSI_BOT_TOKEN }}
          issue-number: ${{ github.event.pull_request.number }}
          body: |
            /test ci/centos/mini-e2e/k8s-1.26

      - name: Add comment to trigger E2E tests for Kubernetes 1.27
        uses: peter-evans/create-or-update-comment@v3
        with:
          token: ${{ secrets.CEPH_CSI_BOT_TOKEN }}
          issue-number: ${{ github.event.pull_request.number }}
          body: |
            /test ci/centos/mini-e2e/k8s-1.27

      - name: Add comment to trigger cephfs upgrade tests
        uses: peter-evans/create-or-update-comment@v3
        with:
          token: ${{ secrets.CEPH_CSI_BOT_TOKEN }}
          issue-number: ${{ github.event.pull_request.number }}
          body: |
            /test ci/centos/upgrade-tests-cephfs

      - name: Add comment to trigger rbd upgrade tests
        uses: peter-evans/create-or-update-comment@v3
        with:
          token: ${{ secrets.CEPH_CSI_BOT_TOKEN }}
          issue-number: ${{ github.event.pull_request.number }}
          body: |
            /test ci/centos/upgrade-tests-rbd

      - name: remove ok-to-test-label after commenting
        uses: actions/github-script@v6
        with:
          github-token: ${{ secrets.CEPH_CSI_BOT_TOKEN }}
          script: |
            github.rest.issues.removeLabel({
              issue_number: context.issue.number,
              owner: context.repo.owner,
              repo: context.repo.repo,
              name: ["ok-to-test"]
            })