[gomod] Bump buf.build/gen/go/bufbuild/protovalidate/protocolbuffers/go from 1.36.10-20250912141014-52f32327d4b0.1 to 1.36.10-20251209175733-2a1774d88802.1 #1103
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
| --- | |
| # SPDX-FileCopyrightText: (C) 2025 Intel Corporation | |
| # SPDX-License-Identifier: Apache-2.0 | |
| name: Component Tests | |
| on: | |
| pull_request: | |
| types: [labeled] | |
| schedule: | |
| - cron: "0 0 * * *" # Run every day at midnight | |
| workflow_dispatch: # Run on manual trigger | |
| inputs: | |
| run-component-tests: | |
| description: 'Run component tests' | |
| required: true | |
| type: boolean | |
| default: false | |
| emf-branch: | |
| description: 'The branch, tag or SHA to checkout EMF' | |
| required: true | |
| type: string | |
| default: main | |
| permissions: | |
| contents: read | |
| jobs: | |
| component-tests: | |
| name: Deploy Kind Orchestrator and Run Component Tests | |
| if: | | |
| ${{ inputs.run-component-tests || github.event_name == 'schedule' || github.event.label.name == 'run-component-tests' }} | |
| runs-on: ubuntu-24.04-16core-64GB # ubuntu-24.04-4core-16GB ubuntu-22.04-32core-128GB & ubuntu-24.04-16core-64GB | |
| timeout-minutes: 60 | |
| env: | |
| ORCH_DEFAULT_PASSWORD: ${{ secrets.ORCH_DEFAULT_PASSWORD }} | |
| CODER_DIR: ${{ github.workspace }} | |
| steps: | |
| - name: Deploy Kind Orchestrator | |
| id: deploy-kind-orchestrator | |
| uses: open-edge-platform/edge-manageability-framework/.github/actions/deploy_kind@d9f30b46d8b4b94c0506935d8ad9a7f5b82d657f | |
| timeout-minutes: 45 | |
| with: | |
| orch_version: ${{ inputs.emf-branch || 'main' }} | |
| orch_password: ${{ env.ORCH_DEFAULT_PASSWORD }} | |
| # Skip Docker Hub credentials since they're not available | |
| # docker_username: ${{ secrets.SYS_DOCKERHUB_USERNAME }} | |
| # docker_password: ${{ secrets.SYS_DOCKERHUB_RO }} | |
| token: ${{ secrets.SYS_ORCH_GITHUB }} | |
| deployment_type: 'all' | |
| env: | |
| ORCH_DEFAULT_PASSWORD: ${{ secrets.ORCH_DEFAULT_PASSWORD }} | |
| - name: Configure kubectl for Kind cluster | |
| run: | | |
| # First check if kubectl is already configured by the EMF action | |
| echo "Current kubectl configuration..." | |
| if kubectl cluster-info 2>/dev/null; then | |
| echo "✅ kubectl is already configured by EMF action!" | |
| kubectl get nodes | |
| else | |
| echo "kubectl not configured, trying to configure manually..." | |
| # List all Kind clusters to see what's available | |
| echo "Available Kind clusters:" | |
| kind get clusters | |
| # Try to find the cluster name automatically | |
| CLUSTER_NAME=$(kind get clusters | head -n 1) | |
| if [ -z "$CLUSTER_NAME" ]; then | |
| echo "❌ No Kind clusters found!" | |
| exit 1 | |
| fi | |
| echo "Using Kind cluster: $CLUSTER_NAME" | |
| # Configure kubectl for the Kind cluster | |
| kind get kubeconfig --name "$CLUSTER_NAME" > /tmp/kubeconfig | |
| export KUBECONFIG=/tmp/kubeconfig | |
| echo "KUBECONFIG=/tmp/kubeconfig" >> $GITHUB_ENV | |
| # Verify connection | |
| echo "Verifying kubectl connection..." | |
| kubectl cluster-info | |
| kubectl get nodes | |
| fi | |
| echo "kubectl configuration successful!" | |
| - name: Set up Go | |
| uses: actions/setup-go@v6 | |
| with: | |
| go-version: '1.24.9' | |
| cache: true | |
| - name: Checkout app-orch-catalog repository | |
| uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1 | |
| with: | |
| repository: open-edge-platform/app-orch-catalog | |
| path: app-orch-catalog | |
| token: ${{ secrets.SYS_ORCH_GITHUB }} | |
| persist-credentials: false | |
| - name: Get current git hash of the app-orch-catalog PR | |
| id: get-git-hash-catalog | |
| working-directory: app-orch-catalog | |
| env: | |
| GIT_HASH_CHARTS: ${{ github.event.pull_request.head.sha }} | |
| run: echo "GIT_HASH_CHARTS=$GIT_HASH_CHARTS" >> "$GITHUB_ENV" | |
| - name: Setup users and project/org | |
| shell: bash | |
| run: | | |
| mage tenantUtils:createDefaultMtSetup | |
| echo "Orch org/project/users created!" | |
| echo "Project uID:" | |
| kubectl get projects.project -o json | jq -r ".items[0].status.projectStatus.uID" | |
| - name: Build binaries | |
| working-directory: app-orch-catalog | |
| run: | | |
| echo "Updating Go module dependencies..." | |
| go mod tidy | |
| echo "Building binaries..." | |
| make build | |
| # Install versions of the build tools that are different from what is in | |
| # the runner. These must match the .tool-versions file in the app-orch-catalog repo. | |
| - name: Install catalog build tools | |
| run: | | |
| asdf install kind 0.29.0 | |
| asdf install kubectl 1.33.2 | |
| asdf install yq 4.45.4 | |
| - name: Redeploy and Rebuild app-orch-catalog | |
| working-directory: app-orch-catalog | |
| run: | | |
| make coder-redeploy | |
| make coder-rebuild | |
| - name: Describe app-orch-catalog | |
| run: kubectl describe deployments.app -n orch-app app-orch-catalog | |
| - name: Wait for app-orch-catalog pod to be Running | |
| run: | | |
| MAX_RETRIES=30 | |
| count=0 | |
| while [ $count -lt $MAX_RETRIES ]; do | |
| POD_NAME=$(kubectl get pods -n orch-app -l app.kubernetes.io/instance=app-orch-catalog -o jsonpath='{.items[0].metadata.name}') | |
| POD_STATUS=$(kubectl get pod $POD_NAME -n orch-app -o jsonpath='{.status.phase}') | |
| READY_STATUS=$(kubectl get pod $POD_NAME -n orch-app -o jsonpath='{.status.containerStatuses[0].ready}') | |
| if [ "$POD_STATUS" == "Running" ] && [ "$READY_STATUS" == "true" ]; then | |
| echo "Pod $POD_NAME is Running and Ready." | |
| break | |
| else | |
| echo "Pod $POD_NAME status: $POD_STATUS, Ready: $READY_STATUS" | |
| count=$((count+1)) | |
| sleep 10 | |
| fi | |
| done | |
| if [ $count -eq $MAX_RETRIES ]; then | |
| echo "Pod did not reach Running state within time limit." | |
| kubectl describe pod $POD_NAME -n orch-app | |
| exit 1 | |
| fi | |
| - name: Run Catalog Component Tests | |
| working-directory: app-orch-catalog/test | |
| env: | |
| PATH: ${{ env.PATH }}:${{ env.GOPATH }}/bin | |
| run: | | |
| echo "Updating Go module dependencies..." | |
| go mod tidy | |
| echo "Running component tests..." | |
| make component-tests | |
| echo "Component tests done!" | |
| - name: Report | |
| uses: becheran/go-testreport@main | |
| with: | |
| input: app-orch-catalog/test/test-report.json | |
| output: app-orch-catalog/test/${{ github.event_name }}-${{ github.event.number }}-test-report.html | |
| template: app-orch-catalog/test/template.html | |
| # Several diagnostic commands to run in case of failure. Collect all the argo | |
| # application state and describe all the pods. | |
| - name: list all argo applications | |
| if: failure() | |
| run: | | |
| kubectl get applications.argoproj.io -o wide -A | |
| - name: describe all argo applications | |
| if: failure() | |
| run: | | |
| kubectl describe applications.argoproj.io -A | |
| - name: get all pods | |
| if: failure() | |
| run: | | |
| kubectl get pods -A -o wide | |
| - name: describe all pods | |
| if: failure() | |
| run: | | |
| kubectl describe pods -A | |
| - name: Upload Test Report | |
| if: always() | |
| uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0 | |
| with: | |
| name: test-report | |
| path: app-orch-catalog/test/${{ github.event_name }}-${{ github.event.number }}-test-report.html | |
| retention-days: 14 | |
| # collect app orch catalog logs in case of failure | |
| # TODO: now sure how/where these artifacts are collected. Not able to see them in github UI. | |
| - name: Get app-orch-catalog diagnostic information | |
| if: failure() | |
| id: get-app-orch-catalog-diag-info | |
| run: | | |
| kubectl logs -n orch-app -l app=app-orch-catalog -c app-orch-catalog-server --tail=-1 > app-orch-catalog-server.log || echo "No current logs for app-orch-catalog-server" | |
| kubectl logs -n orch-app -l app=app-orch-catalog -c app-orch-catalog-rest-proxy --tail=-1 > app-orch-catalog-rest-proxy.log || echo "No current logs for app-orch-catalog-rest-proxy" |