name: sonobuoy
description: "Executed the e2e test framework sonobuoy."
inputs:
  sonobuoyVersion:
    description: "Version of sonobuoy test CLI to use."
    default: "0.56.4"
    required: true
  sonobuoyTestSuiteCmd:
    description: "Which tests should be run?"
    required: true
runs:
  using: "composite"
  steps:
    - name: Install sonobuoy
      run: |
        curl -sLO https://github.com/vmware-tanzu/sonobuoy/releases/download/v${{ inputs.sonobuoyVersion }}/sonobuoy_${{ inputs.sonobuoyVersion }}_linux_amd64.tar.gz
        tar -xzf sonobuoy_${{ inputs.sonobuoyVersion }}_linux_amd64.tar.gz
        install sonobuoy /usr/local/bin
      shell: bash
    - name: Sonobuoy version
      run: sonobuoy version
      shell: bash

    - name: Run quick e2e test
      run: sonobuoy run --wait=300 ${{ inputs.sonobuoyTestSuiteCmd }} --kubeconfig constellation-admin.conf
      shell: bash
    - name: Download results
      run: sonobuoy retrieve -x --kubeconfig constellation-admin.conf
      shell: bash
    - name: Upload test results
      uses: actions/upload-artifact@3cea5372237819ed00197afe530f5a7ea3e805c8
      with:
        name: "junit_01.xml"
        path: "**/junit_01.xml"
      if: ${{ always() && !env.ACT }}
    - name: Publish test results
      uses: mikepenz/action-junit-report@1b47bb811362f3d8d753fc148cb7a13ec9e55570
      if: ${{ !env.ACT }}
      with:
        report_paths: "**/junit_01.xml"
        fail_on_failure: true
