constellation/.github/actions/e2e_sonobuoy/action.yml
Daniel Weiße 8c1972c335
ci: fix artifact upload in image build pipeline (#2765)
* Fix parameter expansion when uploading multiple files
* On download, ensure target directory exists
* Rename encryption-secret -> encryptionSecret
* Remove incorrect secret access from e2e test action
* Add missing checkout action to workflows using our download action
* Fix spacing
* Fix upload action uploading whole directory structure instead of target files
* Explicitly give write permissions to Azure disk image, since permissions are no longer dropped on upload

---------

Signed-off-by: Daniel Weiße <dw@edgeless.systems>
2023-12-21 19:28:18 +01:00

68 lines
2.1 KiB
YAML

name: sonobuoy
description: "Execute the e2e test framework sonobuoy."
inputs:
artifactNameSuffix:
description: "Suffix for artifact naming."
required: true
sonobuoyTestSuiteCmd:
description: "Which tests should be run?"
required: true
kubeconfig:
description: "The kubeconfig of the cluster to test."
required: true
encryptionSecret:
description: 'The secret to use for encrypting the artifact.'
required: true
runs:
using: "composite"
steps:
- name: Install sonobuoy
shell: bash
env:
SONOBUOY_VER: "0.56.17"
run: |
HOSTOS="$(go env GOOS)"
HOSTARCH="$(go env GOARCH)"
curl -fsSLO https://github.com/vmware-tanzu/sonobuoy/releases/download/v${SONOBUOY_VER}/sonobuoy_${SONOBUOY_VER}_${HOSTOS}_${HOSTARCH}.tar.gz
tar -xzf sonobuoy_${SONOBUOY_VER}_${HOSTOS}_${HOSTARCH}.tar.gz
install sonobuoy /usr/local/bin
- name: Sonobuoy version
shell: bash
run: sonobuoy version
- name: Run e2e test
shell: bash
env:
KUBECONFIG: ${{ inputs.kubeconfig }}
run: sonobuoy run --wait=300 ${{ inputs.sonobuoyTestSuiteCmd }} --kubeconfig constellation-admin.conf
- name: Download results
shell: bash
env:
KUBECONFIG: ${{ inputs.kubeconfig }}
run: sonobuoy retrieve --kubeconfig constellation-admin.conf
- name: Upload test results
if: always() && !env.ACT
uses: ./.github/actions/artifact_upload
with:
name: "sonobuoy-logs-${{ inputs.artifactNameSuffix }}.tar.gz"
path: "*_sonobuoy_*.tar.gz"
encryptionSecret: ${{ inputs.encryptionSecret }}
# Only works on "sonobuoy full" tests (e2e plugin)
- name: Extract test results
if: (!env.ACT) && contains(inputs.sonobuoyTestSuiteCmd, '--plugin e2e')
shell: bash
run: tar -xf *_sonobuoy_*.tar.gz
- name: Publish test results
if: (!env.ACT) && contains(inputs.sonobuoyTestSuiteCmd, '--plugin e2e')
uses: mikepenz/action-junit-report@150e2f992e4fad1379da2056d1d1c279f520e058 # v3.8.0
with:
report_paths: "**/junit_01.xml"
fail_on_failure: true