Update matrix test versions (#2250) #4420
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: functional-tests | |
| on: | |
| pull_request: | |
| push: | |
| branches: [ main ] | |
| workflow_dispatch: | |
| inputs: | |
| UPDATE_EXPECTED_RESULTS: | |
| description: 'UPDATE_EXPECTED_RESULTS: Set this to true to update the golden file expected test results (if applicable) and upload them as a GitHub workflow run artifact.' | |
| required: false | |
| default: false | |
| type: choice | |
| options: | |
| - false | |
| - true | |
| KUBERNETES_DEBUG_INFO: | |
| description: 'KUBERNETES_DEBUG_INFO: Set this to true to collect the debug info of the k8s cluster and upload this info as a Github workflow artifact.' | |
| required: false | |
| default: false | |
| type: choice | |
| options: | |
| - false | |
| - true | |
| env: | |
| GO_VERSION: 1.25.7 | |
| # Make sure to exit early if cache segment download times out after 2 minutes. | |
| # We limit cache download as a whole to 5 minutes. | |
| SEGMENT_DOWNLOAD_TIMEOUT_MINS: 2 | |
| jobs: | |
| get-test-matrix: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout repository | |
| uses: actions/checkout@v6 | |
| - name: get matrix | |
| id: test_matrix | |
| run: | | |
| echo "Getting test matrix" | |
| matrix=`cat ci-matrix.json | jq '.functional_test_v2' | jq -r 'tostring' | tr -d '\n'` | |
| echo "matrix=${matrix}" >> $GITHUB_OUTPUT | |
| outputs: | |
| matrix: ${{ steps.test_matrix.outputs.matrix }} | |
| kubernetes-test: | |
| env: | |
| KUBECONFIG: /tmp/kube-config-splunk-otel-collector-chart-functional-testing | |
| KUBE_TEST_ENV: kind | |
| UPDATE_EXPECTED_RESULTS: ${{ github.event.inputs.UPDATE_EXPECTED_RESULTS || 'false' }} | |
| KUBERNETES_DEBUG_INFO: ${{ github.event.inputs.KUBERNETES_DEBUG_INFO || 'false' }} | |
| needs: get-test-matrix | |
| strategy: | |
| fail-fast: false | |
| matrix: ${{ fromJSON(needs.get-test-matrix.outputs.matrix) }} | |
| runs-on: ubuntu-latest | |
| continue-on-error: ${{ contains(github.event.pull_request.labels.*.name, 'Ignore Tests') }} | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - uses: actions/setup-go@v6 | |
| with: | |
| go-version: ${{ env.GO_VERSION }} | |
| cache-dependency-path: '**/go.sum' | |
| - name: Create kind cluster | |
| uses: helm/kind-action@v1.14.0 | |
| with: | |
| node_image: kindest/node:${{ matrix.k8s-kind-version }} | |
| kubectl_version: ${{ matrix.k8s-kind-version }} | |
| cluster_name: kind | |
| config: ./.github/workflows/configs/kind-config.yaml | |
| - name: Fix kubelet TLS server certificates | |
| run: | | |
| kubectl get csr -o=jsonpath='{range.items[?(@.spec.signerName=="kubernetes.io/kubelet-serving")]}{.metadata.name}{" "}{end}' | xargs kubectl certificate approve | |
| - name: Update dependencies | |
| run: | | |
| make dep-update | |
| - name: run functional tests | |
| id: run-functional-tests | |
| env: | |
| K8S_VERSION: ${{ matrix.k8s-kind-version }} | |
| run: | | |
| TEARDOWN_BEFORE_SETUP=true UPDATE_EXPECTED_RESULTS=${{ env.UPDATE_EXPECTED_RESULTS }} SUITE=${{ matrix.test-job }} make functionaltest | |
| - name: Collect Kubernetes Cluster debug info on failure | |
| if: always() && (steps.run-functional-tests.outcome == 'failure' || env.KUBERNETES_DEBUG_INFO == 'true') | |
| id: collect-debug-info | |
| run: | | |
| echo "Functional tests failed. Collecting debug info for current state of the Kubernetes cluster..." | |
| cd tools | |
| ./splunk_kubernetes_debug_info.sh | |
| - name: Upload Kubernetes Cluster debug info | |
| if: always() && (steps.run-functional-tests.outcome == 'failure' || env.KUBERNETES_DEBUG_INFO == 'true') | |
| uses: actions/upload-artifact@v6 | |
| with: | |
| name: k8s-debug-info-${{ matrix.test-job }}-${{ matrix.k8s-kind-version }} | |
| path: tools/splunk_kubernetes_debug_info_* | |
| retention-days: 5 | |
| - name: Upload updated files artifact | |
| if: always() && env.UPDATE_EXPECTED_RESULTS == 'true' | |
| uses: actions/upload-artifact@v6 | |
| with: | |
| name: updated_expected_results-${{ matrix.test-job }}-${{ matrix.k8s-kind-version }} | |
| path: ./functional_tests/**/*.yaml | |
| retention-days: 5 | |
| eks-test: | |
| name: Test helm install in EKS - credentials needed | |
| if: | | |
| (github.event_name == 'pull_request' && github.event.pull_request.head.repo.full_name == github.repository && github.event.pull_request.user.login != 'dependabot[bot]') || | |
| (github.ref == 'refs/heads/main') | |
| env: | |
| KUBECONFIG: /tmp/kube-config-splunk-otel-collector-chart-functional-testing-eks | |
| KUBE_TEST_ENV: eks | |
| runs-on: ubuntu-latest | |
| continue-on-error: ${{ contains(github.event.pull_request.labels.*.name, 'Ignore Tests') }} | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - uses: actions/setup-go@v6 | |
| with: | |
| go-version: ${{ env.GO_VERSION }} | |
| cache-dependency-path: '**/go.sum' | |
| - name: Configure AWS credentials | |
| uses: aws-actions/configure-aws-credentials@v5 | |
| with: | |
| aws-access-key-id: ${{ secrets.AWS_KEY }} | |
| aws-secret-access-key: ${{ secrets.AWS_SECRET }} | |
| aws-region: us-west-1 | |
| - name: Install kubeconfig | |
| run: | | |
| aws eks update-kubeconfig --name rotel-eks --region us-west-1 | |
| - name: Update dependencies | |
| run: | | |
| make dep-update | |
| - name: run functional tests | |
| env: | |
| HOST_ENDPOINT: 0.0.0.0 | |
| run: | | |
| TEARDOWN_BEFORE_SETUP=true SUITE=functional make functionaltest | |
| eks-upgrade-test: | |
| name: Test helm upgrade in EKS - credentials needed | |
| if: | | |
| (github.event_name == 'pull_request' && github.event.pull_request.head.repo.full_name == github.repository && github.event.pull_request.user.login != 'dependabot[bot]') || | |
| (github.ref == 'refs/heads/main') | |
| env: | |
| KUBECONFIG: /tmp/kube-config-splunk-otel-collector-chart-functional-testing-eks | |
| KUBE_TEST_ENV: eks | |
| runs-on: ubuntu-latest | |
| continue-on-error: ${{ contains(github.event.pull_request.labels.*.name, 'Ignore Tests') }} | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - name: Download the latest published release to use as a base for the upgrade | |
| run: | | |
| helm repo add splunk-otel-collector-chart https://signalfx.github.io/splunk-otel-collector-chart | |
| helm repo update | |
| helm pull splunk-otel-collector-chart/splunk-otel-collector --untar --untardir base | |
| - uses: actions/setup-go@v6 | |
| with: | |
| go-version: ${{ env.GO_VERSION }} | |
| cache-dependency-path: '**/go.sum' | |
| - name: Configure AWS credentials | |
| uses: aws-actions/configure-aws-credentials@v5 | |
| with: | |
| aws-access-key-id: ${{ secrets.AWS_KEY }} | |
| aws-secret-access-key: ${{ secrets.AWS_SECRET }} | |
| aws-region: us-west-1 | |
| - name: Install kubeconfig | |
| run: | | |
| aws eks update-kubeconfig --name rotel-eks --region us-west-1 | |
| - name: Update dependencies | |
| run: | | |
| make dep-update | |
| - name: run functional tests | |
| env: | |
| HOST_ENDPOINT: 0.0.0.0 | |
| UPGRADE_FROM_VALUES: aws_upgrade_from_previous_release_values.yaml | |
| UPGRADE_FROM_CHART_DIR: base/splunk-otel-collector | |
| run: | | |
| TEARDOWN_BEFORE_SETUP=true SUITE=functional make functionaltest | |
| gke-autopilot-test: | |
| name: Test helm install in GKE/Autopilot - credentials needed | |
| if: | | |
| (github.event_name == 'pull_request' && github.event.pull_request.head.repo.full_name == github.repository && github.event.pull_request.user.login != 'dependabot[bot]') || | |
| (github.ref == 'refs/heads/main') | |
| env: | |
| KUBE_TEST_ENV: gke/autopilot | |
| runs-on: ubuntu-latest | |
| continue-on-error: ${{ contains(github.event.pull_request.labels.*.name, 'Ignore Tests') }} | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - uses: actions/setup-go@v6 | |
| with: | |
| go-version: ${{ env.GO_VERSION }} | |
| cache-dependency-path: '**/go.sum' | |
| - uses: 'google-github-actions/auth@v3.0.0' | |
| with: | |
| project_id: ${{ secrets.GKE_PROJECT }} | |
| credentials_json: ${{ secrets.GKE_SA_KEY }} | |
| - uses: google-github-actions/setup-gcloud@v3.0.1 | |
| with: | |
| project_id: ${{ secrets.GKE_PROJECT }} | |
| - uses: google-github-actions/get-gke-credentials@v3.0.0 | |
| with: | |
| cluster_name: ${{ secrets.GKE_AUTOPILOT_CLUSTER }} | |
| location: ${{ secrets.GKE_REGION }} | |
| project_id: ${{ secrets.GKE_PROJECT }} | |
| - name: Update dependencies | |
| run: | | |
| make dep-update | |
| - name: run functional tests | |
| env: | |
| HOST_ENDPOINT: 0.0.0.0 | |
| run: | | |
| TEARDOWN_BEFORE_SETUP=true SUITE=functional make functionaltest | |
| gke-autopilot-upgrade-test: | |
| name: Test helm upgrade in GKE/Autopilot - credentials needed | |
| if: | | |
| (github.event_name == 'pull_request' && github.event.pull_request.head.repo.full_name == github.repository && github.event.pull_request.user.login != 'dependabot[bot]') || | |
| (github.ref == 'refs/heads/main') | |
| env: | |
| KUBE_TEST_ENV: gke/autopilot | |
| SKIP_TESTS: "true" | |
| runs-on: ubuntu-latest | |
| continue-on-error: ${{ contains(github.event.pull_request.labels.*.name, 'Ignore Tests') }} | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - name: Download the latest published release to use as a base for the upgrade | |
| run: | | |
| helm repo add splunk-otel-collector-chart https://signalfx.github.io/splunk-otel-collector-chart | |
| helm repo update | |
| helm pull splunk-otel-collector-chart/splunk-otel-collector --untar --untardir base | |
| - uses: actions/setup-go@v6 | |
| with: | |
| go-version: ${{ env.GO_VERSION }} | |
| cache-dependency-path: '**/go.sum' | |
| - uses: 'google-github-actions/auth@v3.0.0' | |
| with: | |
| project_id: ${{ secrets.GKE_PROJECT }} | |
| credentials_json: ${{ secrets.GKE_SA_KEY }} | |
| - uses: google-github-actions/setup-gcloud@v3.0.1 | |
| with: | |
| project_id: ${{ secrets.GKE_PROJECT }} | |
| - uses: google-github-actions/get-gke-credentials@v3.0.0 | |
| with: | |
| cluster_name: ${{ secrets.GKE_AUTOPILOT_CLUSTER }} | |
| location: ${{ secrets.GKE_REGION }} | |
| project_id: ${{ secrets.GKE_PROJECT }} | |
| - name: Update dependencies | |
| run: | | |
| make dep-update | |
| - name: run functional tests | |
| env: | |
| HOST_ENDPOINT: 0.0.0.0 | |
| UPGRADE_FROM_VALUES: gke_autopilot_upgrade_from_previous_release_values.yaml | |
| UPGRADE_FROM_CHART_DIR: base/splunk-otel-collector | |
| run: | | |
| TEARDOWN_BEFORE_SETUP=true SUITE=functional make functionaltest | |
| aks-windows-test: | |
| name: Test helm install in AKS - credentials needed | |
| if: | | |
| (github.event_name == 'pull_request' && github.event.pull_request.head.repo.full_name == github.repository && github.event.pull_request.user.login != 'dependabot[bot]') || | |
| (github.ref == 'refs/heads/main') | |
| env: | |
| KUBE_TEST_ENV: aks | |
| runs-on: ubuntu-latest | |
| continue-on-error: ${{ contains(github.event.pull_request.labels.*.name, 'Ignore Tests') }} | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - uses: actions/setup-go@v6 | |
| with: | |
| go-version: ${{ env.GO_VERSION }} | |
| cache-dependency-path: '**/go.sum' | |
| - name: Set up kubelogin for non-interactive login | |
| uses: azure/use-kubelogin@v1.2 | |
| with: | |
| kubelogin-version: "v0.0.24" | |
| - uses: azure/login@v2.3.0 | |
| with: | |
| creds: ${{ secrets.AZURE_CREDENTIALS }} | |
| - uses: azure/aks-set-context@v4 | |
| with: | |
| resource-group: ${{ secrets.AKS_RESOURCE_GROUP }} | |
| cluster-name: ${{ secrets.AKS_CLUSTER_NAME }} | |
| admin: false | |
| use-kubelogin: true | |
| - name: Update dependencies | |
| run: | | |
| make dep-update | |
| - name: run functional tests | |
| env: | |
| HOST_ENDPOINT: 0.0.0.0 | |
| run: | | |
| TEARDOWN_BEFORE_SETUP=true SUITE=functional make functionaltest | |
| gce-autopilot-test: | |
| name: Test helm install in GCE (kops) - credentials needed | |
| if: | | |
| (github.event_name == 'pull_request' && github.event.pull_request.head.repo.full_name == github.repository && github.event.pull_request.user.login != 'dependabot[bot]') || | |
| (github.ref == 'refs/heads/main') | |
| env: | |
| KUBE_TEST_ENV: gce | |
| SKIP_TESTS: "true" | |
| runs-on: ubuntu-latest | |
| continue-on-error: ${{ contains(github.event.pull_request.labels.*.name, 'Ignore Tests') }} | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - uses: actions/setup-go@v6 | |
| with: | |
| go-version: ${{ env.GO_VERSION }} | |
| cache-dependency-path: '**/go.sum' | |
| - name: Update dependencies | |
| run: | | |
| make dep-update | |
| - name: Set kubeconfig | |
| run: echo "$GCE_KUBECONFIG" > /tmp/kubeconfig | |
| env: | |
| GCE_KUBECONFIG: ${{ secrets.GCE_KUBECONFIG }} | |
| - name: run functional tests | |
| env: | |
| HOST_ENDPOINT: 0.0.0.0 | |
| KUBECONFIG: /tmp/kubeconfig | |
| run: | | |
| TEARDOWN_BEFORE_SETUP=true SUITE=functional make functionaltest | |
| eks-fargate-test: | |
| name: Test helm install in EKS Fargate - credentials needed | |
| if: | | |
| (github.event_name == 'pull_request' && github.event.pull_request.head.repo.full_name == github.repository && github.event.pull_request.user.login != 'dependabot[bot]') || | |
| (github.ref == 'refs/heads/main') | |
| env: | |
| KUBECONFIG: /tmp/kube-config-splunk-otel-collector-chart-functional-testing-eks-fargate | |
| KUBE_TEST_ENV: "eks/fargate" | |
| SKIP_TESTS: "true" # we need to skip functional tests as we have not set probes to listen to the traffic. | |
| runs-on: ubuntu-latest | |
| continue-on-error: ${{ contains(github.event.pull_request.labels.*.name, 'Ignore Tests') }} | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - uses: actions/setup-go@v6 | |
| with: | |
| go-version: ${{ env.GO_VERSION }} | |
| cache-dependency-path: '**/go.sum' | |
| - name: Configure AWS credentials | |
| uses: aws-actions/configure-aws-credentials@v5 | |
| with: | |
| aws-access-key-id: ${{ secrets.AWS_KEY }} | |
| aws-secret-access-key: ${{ secrets.AWS_SECRET }} | |
| aws-region: us-west-2 | |
| - name: Install kubeconfig | |
| run: | | |
| aws eks update-kubeconfig --name github-gdi-fargate --region us-west-2 | |
| - name: Update dependencies | |
| run: | | |
| make dep-update | |
| - name: run functional tests | |
| env: | |
| HOST_ENDPOINT: 0.0.0.0 | |
| run: | | |
| TEARDOWN_BEFORE_SETUP=true SUITE=functional make functionaltest | |
| eks-fargate-upgrade-test: | |
| name: Test helm upgrade in EKS Fargate - credentials needed | |
| if: | | |
| (github.event_name == 'pull_request' && github.event.pull_request.head.repo.full_name == github.repository && github.event.pull_request.user.login != 'dependabot[bot]') || | |
| (github.ref == 'refs/heads/main') | |
| env: | |
| KUBECONFIG: /tmp/kube-config-splunk-otel-collector-chart-functional-testing-eks-fargate | |
| KUBE_TEST_ENV: "eks/fargate" | |
| SKIP_TESTS: "true" # we need to skip functional tests as we have not set probes to listen to the traffic. | |
| runs-on: ubuntu-latest | |
| continue-on-error: ${{ contains(github.event.pull_request.labels.*.name, 'Ignore Tests') }} | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - name: Download the latest published release to use as a base for the upgrade | |
| run: | | |
| helm repo add splunk-otel-collector-chart https://signalfx.github.io/splunk-otel-collector-chart | |
| helm repo update | |
| helm pull splunk-otel-collector-chart/splunk-otel-collector --untar --untardir base | |
| - uses: actions/setup-go@v6 | |
| with: | |
| go-version: ${{ env.GO_VERSION }} | |
| cache-dependency-path: '**/go.sum' | |
| - name: Configure AWS credentials | |
| uses: aws-actions/configure-aws-credentials@v5 | |
| with: | |
| aws-access-key-id: ${{ secrets.AWS_KEY }} | |
| aws-secret-access-key: ${{ secrets.AWS_SECRET }} | |
| aws-region: us-west-2 | |
| - name: Install kubeconfig | |
| run: | | |
| aws eks update-kubeconfig --name github-gdi-fargate --region us-west-2 | |
| - name: Update dependencies | |
| run: | | |
| make dep-update | |
| - name: run functional tests | |
| env: | |
| HOST_ENDPOINT: 0.0.0.0 | |
| UPGRADE_FROM_VALUES: eks_fargate_upgrade_from_previous_release_values.yaml | |
| UPGRADE_FROM_CHART_DIR: base/splunk-otel-collector | |
| run: | | |
| TEARDOWN_BEFORE_SETUP=true SUITE=functional make functionaltest | |
| eks-auto-mode-test: | |
| name: Test helm install in EKS Auto Mode - credentials needed | |
| if: | | |
| (github.event_name == 'pull_request' && github.event.pull_request.head.repo.full_name == github.repository && github.event.pull_request.user.login != 'dependabot[bot]') || | |
| (github.ref == 'refs/heads/main') | |
| env: | |
| KUBECONFIG: /tmp/kube-config-splunk-otel-collector-chart-functional-testing-eks-auto-mode | |
| KUBE_TEST_ENV: eks/auto-mode | |
| runs-on: ubuntu-latest | |
| continue-on-error: ${{ contains(github.event.pull_request.labels.*.name, 'Ignore Tests') }} | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - uses: actions/setup-go@v6 | |
| with: | |
| go-version: ${{ env.GO_VERSION }} | |
| cache-dependency-path: '**/go.sum' | |
| - name: Configure AWS credentials | |
| uses: aws-actions/configure-aws-credentials@v5 | |
| with: | |
| aws-access-key-id: ${{ secrets.AWS_KEY }} | |
| aws-secret-access-key: ${{ secrets.AWS_SECRET }} | |
| aws-region: us-west-2 | |
| - name: Install kubeconfig | |
| run: | | |
| aws eks update-kubeconfig --name rotel-eks-autotest --region us-west-2 | |
| - name: Update dependencies | |
| run: | | |
| make dep-update | |
| - name: run functional tests | |
| env: | |
| HOST_ENDPOINT: 0.0.0.0 | |
| run: | | |
| TEARDOWN_BEFORE_SETUP=true SUITE=functional make functionaltest | |
| eks-auto-mode-upgrade-test: | |
| name: Test helm upgrade in EKS Auto Mode - credentials needed | |
| if: | | |
| (github.event_name == 'pull_request' && github.event.pull_request.head.repo.full_name == github.repository && github.event.pull_request.user.login != 'dependabot[bot]') || | |
| (github.ref == 'refs/heads/main') | |
| env: | |
| KUBECONFIG: /tmp/kube-config-splunk-otel-collector-chart-functional-testing-eks-auto-mode | |
| KUBE_TEST_ENV: eks/auto-mode | |
| runs-on: ubuntu-latest | |
| continue-on-error: ${{ contains(github.event.pull_request.labels.*.name, 'Ignore Tests') }} | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - name: Download the latest published release to use as a base for the upgrade | |
| run: | | |
| helm repo add splunk-otel-collector-chart https://signalfx.github.io/splunk-otel-collector-chart | |
| helm repo update | |
| helm pull splunk-otel-collector-chart/splunk-otel-collector --untar --untardir base | |
| - uses: actions/setup-go@v6 | |
| with: | |
| go-version: ${{ env.GO_VERSION }} | |
| cache-dependency-path: '**/go.sum' | |
| - name: Configure AWS credentials | |
| uses: aws-actions/configure-aws-credentials@v5 | |
| with: | |
| aws-access-key-id: ${{ secrets.AWS_KEY }} | |
| aws-secret-access-key: ${{ secrets.AWS_SECRET }} | |
| aws-region: us-west-2 | |
| - name: Install kubeconfig | |
| run: | | |
| aws eks update-kubeconfig --name rotel-eks-autotest --region us-west-2 | |
| - name: Update dependencies | |
| run: | | |
| make dep-update | |
| - name: run functional tests | |
| env: | |
| HOST_ENDPOINT: 0.0.0.0 | |
| UPGRADE_FROM_VALUES: eks_auto_mode_upgrade_from_previous_release_values.yaml | |
| UPGRADE_FROM_CHART_DIR: base/splunk-otel-collector | |
| run: | | |
| TEARDOWN_BEFORE_SETUP=true SUITE=functional make functionaltest | |
| gke-test: | |
| name: Test helm install in GKE - credentials needed | |
| if: | | |
| (github.event_name == 'pull_request' && github.event.pull_request.head.repo.full_name == github.repository && github.event.pull_request.user.login != 'dependabot[bot]') || | |
| (github.ref == 'refs/heads/main') | |
| env: | |
| KUBE_TEST_ENV: gke | |
| runs-on: ubuntu-latest | |
| continue-on-error: ${{ contains(github.event.pull_request.labels.*.name, 'Ignore Tests') }} | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - uses: actions/setup-go@v6 | |
| with: | |
| go-version: ${{ env.GO_VERSION }} | |
| cache-dependency-path: '**/go.sum' | |
| - uses: 'google-github-actions/auth@v3.0.0' | |
| with: | |
| project_id: ${{ secrets.GKE_PROJECT }} | |
| credentials_json: ${{ secrets.GKE_SA_KEY }} | |
| - uses: google-github-actions/setup-gcloud@v3.0.1 | |
| with: | |
| project_id: ${{ secrets.GKE_PROJECT }} | |
| - uses: google-github-actions/get-gke-credentials@v3.0.0 | |
| with: | |
| cluster_name: ${{ secrets.GKE_CLUSTER }} | |
| location: ${{ secrets.GKE_REGION }} | |
| project_id: ${{ secrets.GKE_PROJECT }} | |
| - name: Update dependencies | |
| run: | | |
| make dep-update | |
| - name: run functional tests | |
| env: | |
| HOST_ENDPOINT: 0.0.0.0 | |
| run: | | |
| TEARDOWN_BEFORE_SETUP=true SUITE=functional make functionaltest | |
| gke-upgrade-test: | |
| name: Test helm upgrade in GKE - credentials needed | |
| if: | | |
| (github.event_name == 'pull_request' && github.event.pull_request.head.repo.full_name == github.repository && github.event.pull_request.user.login != 'dependabot[bot]') || | |
| (github.ref == 'refs/heads/main') | |
| env: | |
| KUBE_TEST_ENV: gke | |
| SKIP_TESTS: "true" | |
| runs-on: ubuntu-latest | |
| continue-on-error: ${{ contains(github.event.pull_request.labels.*.name, 'Ignore Tests') }} | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - name: Download the latest published release to use as a base for the upgrade | |
| run: | | |
| helm repo add splunk-otel-collector-chart https://signalfx.github.io/splunk-otel-collector-chart | |
| helm repo update | |
| helm pull splunk-otel-collector-chart/splunk-otel-collector --untar --untardir base | |
| - uses: actions/setup-go@v6 | |
| with: | |
| go-version: ${{ env.GO_VERSION }} | |
| cache-dependency-path: '**/go.sum' | |
| - uses: 'google-github-actions/auth@v3.0.0' | |
| with: | |
| project_id: ${{ secrets.GKE_PROJECT }} | |
| credentials_json: ${{ secrets.GKE_SA_KEY }} | |
| - uses: google-github-actions/setup-gcloud@v3.0.1 | |
| with: | |
| project_id: ${{ secrets.GKE_PROJECT }} | |
| - uses: google-github-actions/get-gke-credentials@v3.0.0 | |
| with: | |
| cluster_name: ${{ secrets.GKE_CLUSTER }} | |
| location: ${{ secrets.GKE_REGION }} | |
| project_id: ${{ secrets.GKE_PROJECT }} | |
| - name: Update dependencies | |
| run: | | |
| make dep-update | |
| - name: run functional tests | |
| env: | |
| HOST_ENDPOINT: 0.0.0.0 | |
| UPGRADE_FROM_VALUES: gke_upgrade_from_previous_release_values.yaml | |
| UPGRADE_FROM_CHART_DIR: base/splunk-otel-collector | |
| run: | | |
| TEARDOWN_BEFORE_SETUP=true SUITE=functional make functionaltest |