on: push: branches: - master pull_request: branches: - master name: Test jobs: run-unit-tests: name: Unit Tests runs-on: ubuntu-latest timeout-minutes: 20 steps: - name: Check out code into the Go module directory uses: actions/checkout@v5 with: fetch-depth: 2 - name: Set up Go uses: actions/setup-go@v4 with: go-version-file: 'go.mod' - name: Test run: make test - name: Upload coverage to Codecov uses: codecov/codecov-action@v3 helm-tests: name: Helm Chart Tests runs-on: ubuntu-latest timeout-minutes: 10 steps: - name: Check out code uses: actions/checkout@v5 - name: Set up Helm uses: azure/setup-helm@v4 - name: Helm lint (default values) run: helm lint ./helm-chart - name: Helm lint (S3 values) run: helm lint ./helm-chart -f ./helm-chart/tests/fixtures/values-s3.yaml - name: Helm lint (Azure Blob values) run: helm lint ./helm-chart -f ./helm-chart/tests/fixtures/values-azblob.yaml - name: Helm lint (GCS values) run: helm lint ./helm-chart -f ./helm-chart/tests/fixtures/values-gcs.yaml - name: Helm lint (cloud refs values) run: helm lint ./helm-chart -f ./helm-chart/tests/fixtures/values-cloud-refs.yaml - name: Install helm-unittest plugin run: helm plugin install https://github.com/helm-unittest/helm-unittest --verify=false - name: Run helm unit tests run: helm unittest ./helm-chart - name: Install kubeconform run: | curl -sL https://github.com/yannh/kubeconform/releases/latest/download/kubeconform-linux-amd64.tar.gz | tar xz sudo mv kubeconform /usr/local/bin/ - name: Validate default template run: helm template kubeshark ./helm-chart | kubeconform -strict -kubernetes-version 1.35.0 -summary - name: Validate S3 template run: helm template kubeshark ./helm-chart -f ./helm-chart/tests/fixtures/values-s3.yaml | kubeconform -strict -kubernetes-version 1.35.0 -summary - name: Validate Azure Blob template run: helm template kubeshark ./helm-chart -f ./helm-chart/tests/fixtures/values-azblob.yaml | kubeconform -strict -kubernetes-version 1.35.0 -summary - name: Validate GCS template run: helm template kubeshark ./helm-chart -f ./helm-chart/tests/fixtures/values-gcs.yaml | kubeconform -strict -kubernetes-version 1.35.0 -summary