feat: add a way to switch gRPC tunnel mode for the connected machines #5537
Workflow file for this run
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
| # THIS FILE WAS AUTOMATICALLY GENERATED, PLEASE DO NOT EDIT. | |
| # | |
| # Generated on 2025-10-27T13:48:49Z by kres 46e133d. | |
| concurrency: | |
| group: ${{ github.head_ref || github.run_id }} | |
| cancel-in-progress: true | |
| "on": | |
| push: | |
| branches: | |
| - main | |
| - release-* | |
| tags: | |
| - v* | |
| pull_request: | |
| branches: | |
| - main | |
| - release-* | |
| name: default | |
| jobs: | |
| default: | |
| permissions: | |
| actions: read | |
| contents: write | |
| issues: read | |
| packages: write | |
| pull-requests: read | |
| runs-on: | |
| group: large | |
| if: (!startsWith(github.head_ref, 'renovate/') && !startsWith(github.head_ref, 'dependabot/')) | |
| outputs: | |
| labels: ${{ steps.retrieve-pr-labels.outputs.result }} | |
| steps: | |
| - name: gather-system-info | |
| id: system-info | |
| uses: kenchan0130/[email protected] | |
| continue-on-error: true | |
| - name: print-system-info | |
| run: | | |
| MEMORY_GB=$((${{ steps.system-info.outputs.totalmem }}/1024/1024/1024)) | |
| OUTPUTS=( | |
| "CPU Core: ${{ steps.system-info.outputs.cpu-core }}" | |
| "CPU Model: ${{ steps.system-info.outputs.cpu-model }}" | |
| "Hostname: ${{ steps.system-info.outputs.hostname }}" | |
| "NodeName: ${NODE_NAME}" | |
| "Kernel release: ${{ steps.system-info.outputs.kernel-release }}" | |
| "Kernel version: ${{ steps.system-info.outputs.kernel-version }}" | |
| "Name: ${{ steps.system-info.outputs.name }}" | |
| "Platform: ${{ steps.system-info.outputs.platform }}" | |
| "Release: ${{ steps.system-info.outputs.release }}" | |
| "Total memory: ${MEMORY_GB} GB" | |
| ) | |
| for OUTPUT in "${OUTPUTS[@]}";do | |
| echo "${OUTPUT}" | |
| done | |
| continue-on-error: true | |
| - name: checkout | |
| uses: actions/checkout@v5 | |
| - name: Unshallow | |
| run: | | |
| git fetch --prune --unshallow | |
| - name: Set up Docker Buildx | |
| id: setup-buildx | |
| uses: docker/setup-buildx-action@v3 | |
| with: | |
| driver: remote | |
| endpoint: tcp://buildkit-amd64.ci.svc.cluster.local:1234 | |
| timeout-minutes: 10 | |
| - name: Mask secrets | |
| run: | | |
| echo "$(sops -d .secrets.yaml | yq -e '.secrets | to_entries[] | "::add-mask::" + .value')" | |
| - name: Set secrets for job | |
| run: | | |
| sops -d .secrets.yaml | yq -e '.secrets | to_entries[] | .key + "=" + .value' >> "$GITHUB_ENV" | |
| - name: js | |
| run: | | |
| make js | |
| - name: frontend | |
| run: | | |
| make frontend | |
| - name: base | |
| run: | | |
| make base | |
| - name: Retrieve PR labels | |
| id: retrieve-pr-labels | |
| uses: actions/github-script@v7 | |
| with: | |
| retries: "3" | |
| script: | | |
| if (context.eventName != "pull_request") { return "[]" } | |
| const resp = await github.rest.issues.get({ | |
| issue_number: context.issue.number, | |
| owner: context.repo.owner, | |
| repo: context.repo.repo, | |
| }) | |
| return resp.data.labels.map(label => label.name) | |
| - name: acompat | |
| run: | | |
| make acompat | |
| - name: make-cookies | |
| run: | | |
| make make-cookies | |
| - name: omni | |
| run: | | |
| make omni | |
| - name: Login to registry | |
| if: github.event_name != 'pull_request' | |
| uses: docker/login-action@v3 | |
| with: | |
| password: ${{ secrets.GITHUB_TOKEN }} | |
| registry: ghcr.io | |
| username: ${{ github.repository_owner }} | |
| - name: image-omni | |
| run: | | |
| make image-omni | |
| - name: push-omni | |
| if: github.event_name != 'pull_request' | |
| env: | |
| PLATFORM: linux/amd64,linux/arm64 | |
| PUSH: "true" | |
| run: | | |
| make image-omni | |
| - name: push-omni-latest | |
| if: github.event_name != 'pull_request' && github.ref == 'refs/heads/main' | |
| env: | |
| PLATFORM: linux/amd64,linux/arm64 | |
| PUSH: "true" | |
| run: | | |
| make image-omni IMAGE_TAG=latest | |
| - name: omnictl | |
| run: | | |
| make omnictl | |
| - name: integration-test | |
| run: | | |
| make integration-test | |
| - name: Login to registry | |
| if: github.event_name != 'pull_request' | |
| uses: docker/login-action@v3 | |
| with: | |
| password: ${{ secrets.GITHUB_TOKEN }} | |
| registry: ghcr.io | |
| username: ${{ github.repository_owner }} | |
| - name: image-omni-integration-test | |
| run: | | |
| make image-omni-integration-test | |
| - name: push-omni-integration-test | |
| if: github.event_name != 'pull_request' | |
| env: | |
| PUSH: "true" | |
| run: | | |
| make image-omni-integration-test | |
| - name: push-omni-integration-test-latest | |
| if: github.event_name != 'pull_request' && github.ref == 'refs/heads/main' | |
| env: | |
| PUSH: "true" | |
| run: | | |
| make image-omni-integration-test IMAGE_TAG=latest | |
| - name: Generate Checksums | |
| if: startsWith(github.ref, 'refs/tags/') | |
| run: | | |
| cd _out | |
| sha256sum omnictl-* omni-* > sha256sum.txt | |
| sha512sum omnictl-* omni-* > sha512sum.txt | |
| - name: release-notes | |
| if: startsWith(github.ref, 'refs/tags/') | |
| run: | | |
| make release-notes | |
| - name: Release | |
| if: startsWith(github.ref, 'refs/tags/') | |
| uses: softprops/action-gh-release@v2 | |
| with: | |
| body_path: _out/RELEASE_NOTES.md | |
| draft: "true" | |
| files: |- | |
| _out/omnictl-* | |
| _out/omni-* | |
| _out/sha*.txt | |
| e2e-backups: | |
| runs-on: | |
| group: large | |
| if: contains(fromJSON(needs.default.outputs.labels), 'integration/e2e') || contains(fromJSON(needs.default.outputs.labels), 'integration/e2e-backups') | |
| needs: | |
| - default | |
| - lint | |
| - unit-tests | |
| steps: | |
| - name: gather-system-info | |
| id: system-info | |
| uses: kenchan0130/[email protected] | |
| continue-on-error: true | |
| - name: print-system-info | |
| run: | | |
| MEMORY_GB=$((${{ steps.system-info.outputs.totalmem }}/1024/1024/1024)) | |
| OUTPUTS=( | |
| "CPU Core: ${{ steps.system-info.outputs.cpu-core }}" | |
| "CPU Model: ${{ steps.system-info.outputs.cpu-model }}" | |
| "Hostname: ${{ steps.system-info.outputs.hostname }}" | |
| "NodeName: ${NODE_NAME}" | |
| "Kernel release: ${{ steps.system-info.outputs.kernel-release }}" | |
| "Kernel version: ${{ steps.system-info.outputs.kernel-version }}" | |
| "Name: ${{ steps.system-info.outputs.name }}" | |
| "Platform: ${{ steps.system-info.outputs.platform }}" | |
| "Release: ${{ steps.system-info.outputs.release }}" | |
| "Total memory: ${MEMORY_GB} GB" | |
| ) | |
| for OUTPUT in "${OUTPUTS[@]}";do | |
| echo "${OUTPUT}" | |
| done | |
| continue-on-error: true | |
| - name: checkout | |
| uses: actions/checkout@v5 | |
| - name: Unshallow | |
| run: | | |
| git fetch --prune --unshallow | |
| - name: Set up Docker Buildx | |
| id: setup-buildx | |
| uses: docker/setup-buildx-action@v3 | |
| with: | |
| driver: remote | |
| endpoint: tcp://buildkit-amd64.ci.svc.cluster.local:1234 | |
| timeout-minutes: 10 | |
| - name: Mask secrets | |
| run: | | |
| echo "$(sops -d .secrets.yaml | yq -e '.secrets | to_entries[] | "::add-mask::" + .value')" | |
| - name: Set secrets for job | |
| run: | | |
| sops -d .secrets.yaml | yq -e '.secrets | to_entries[] | .key + "=" + .value' >> "$GITHUB_ENV" | |
| - name: run-integration-test | |
| env: | |
| INTEGRATION_RUN_E2E_TEST: "false" | |
| INTEGRATION_TEST_ARGS: --test.run TestIntegration/Suites/(CleanState|EtcdBackupAndRestore)$ | |
| RUN_TALEMU_TESTS: "false" | |
| TALEMU_TEST_ARGS: --test.run TestIntegration/Suites/(ImmediateClusterDestruction|EncryptedCluster|SinglenodeCluster|ScaleUpAndDown|ScaleUpAndDownMachineClassBasedMachineSets|TalosUpgrades|KubernetesUpgrades|MaintenanceUpgrade|ClusterTemplate|ScaleUpAndDownAutoProvisionMachineSets)$ | |
| WITH_DEBUG: "true" | |
| WITH_RACE: "true" | |
| run: | | |
| sudo -E make run-integration-test | |
| - name: save-integration-test-artifacts | |
| if: always() | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: integration-test-e2e-backups | |
| path: ${{ github.workspace }}/integration-test | |
| retention-days: "5" | |
| continue-on-error: true | |
| e2e-cluster-import: | |
| runs-on: | |
| group: large | |
| if: contains(fromJSON(needs.default.outputs.labels), 'integration/e2e') || contains(fromJSON(needs.default.outputs.labels), 'integration/e2e-cluster-import') | |
| needs: | |
| - default | |
| - lint | |
| - unit-tests | |
| steps: | |
| - name: gather-system-info | |
| id: system-info | |
| uses: kenchan0130/[email protected] | |
| continue-on-error: true | |
| - name: print-system-info | |
| run: | | |
| MEMORY_GB=$((${{ steps.system-info.outputs.totalmem }}/1024/1024/1024)) | |
| OUTPUTS=( | |
| "CPU Core: ${{ steps.system-info.outputs.cpu-core }}" | |
| "CPU Model: ${{ steps.system-info.outputs.cpu-model }}" | |
| "Hostname: ${{ steps.system-info.outputs.hostname }}" | |
| "NodeName: ${NODE_NAME}" | |
| "Kernel release: ${{ steps.system-info.outputs.kernel-release }}" | |
| "Kernel version: ${{ steps.system-info.outputs.kernel-version }}" | |
| "Name: ${{ steps.system-info.outputs.name }}" | |
| "Platform: ${{ steps.system-info.outputs.platform }}" | |
| "Release: ${{ steps.system-info.outputs.release }}" | |
| "Total memory: ${MEMORY_GB} GB" | |
| ) | |
| for OUTPUT in "${OUTPUTS[@]}";do | |
| echo "${OUTPUT}" | |
| done | |
| continue-on-error: true | |
| - name: checkout | |
| uses: actions/checkout@v5 | |
| - name: Unshallow | |
| run: | | |
| git fetch --prune --unshallow | |
| - name: Set up Docker Buildx | |
| id: setup-buildx | |
| uses: docker/setup-buildx-action@v3 | |
| with: | |
| driver: remote | |
| endpoint: tcp://buildkit-amd64.ci.svc.cluster.local:1234 | |
| timeout-minutes: 10 | |
| - name: Mask secrets | |
| run: | | |
| echo "$(sops -d .secrets.yaml | yq -e '.secrets | to_entries[] | "::add-mask::" + .value')" | |
| - name: Set secrets for job | |
| run: | | |
| sops -d .secrets.yaml | yq -e '.secrets | to_entries[] | .key + "=" + .value' >> "$GITHUB_ENV" | |
| - name: run-integration-test | |
| env: | |
| CREATE_TALOS_CLUSTER: "true" | |
| INTEGRATION_RUN_E2E_TEST: "false" | |
| INTEGRATION_TEST_ARGS: --test.run TestIntegration/Suites/ClusterImport | |
| RUN_TALEMU_TESTS: "false" | |
| TALEMU_TEST_ARGS: --test.run TestIntegration/Suites/(ImmediateClusterDestruction|EncryptedCluster|SinglenodeCluster|ScaleUpAndDown|ScaleUpAndDownMachineClassBasedMachineSets|TalosUpgrades|KubernetesUpgrades|MaintenanceUpgrade|ClusterTemplate|ScaleUpAndDownAutoProvisionMachineSets)$ | |
| WITH_DEBUG: "true" | |
| WITH_RACE: "true" | |
| run: | | |
| sudo -E make run-integration-test | |
| - name: save-integration-test-artifacts | |
| if: always() | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: integration-test-e2e-cluster-import | |
| path: ${{ github.workspace }}/integration-test | |
| retention-days: "5" | |
| continue-on-error: true | |
| e2e-forced-removal: | |
| runs-on: | |
| group: large | |
| if: contains(fromJSON(needs.default.outputs.labels), 'integration/e2e') || contains(fromJSON(needs.default.outputs.labels), 'integration/e2e-forced-removal') | |
| needs: | |
| - default | |
| - lint | |
| - unit-tests | |
| steps: | |
| - name: gather-system-info | |
| id: system-info | |
| uses: kenchan0130/[email protected] | |
| continue-on-error: true | |
| - name: print-system-info | |
| run: | | |
| MEMORY_GB=$((${{ steps.system-info.outputs.totalmem }}/1024/1024/1024)) | |
| OUTPUTS=( | |
| "CPU Core: ${{ steps.system-info.outputs.cpu-core }}" | |
| "CPU Model: ${{ steps.system-info.outputs.cpu-model }}" | |
| "Hostname: ${{ steps.system-info.outputs.hostname }}" | |
| "NodeName: ${NODE_NAME}" | |
| "Kernel release: ${{ steps.system-info.outputs.kernel-release }}" | |
| "Kernel version: ${{ steps.system-info.outputs.kernel-version }}" | |
| "Name: ${{ steps.system-info.outputs.name }}" | |
| "Platform: ${{ steps.system-info.outputs.platform }}" | |
| "Release: ${{ steps.system-info.outputs.release }}" | |
| "Total memory: ${MEMORY_GB} GB" | |
| ) | |
| for OUTPUT in "${OUTPUTS[@]}";do | |
| echo "${OUTPUT}" | |
| done | |
| continue-on-error: true | |
| - name: checkout | |
| uses: actions/checkout@v5 | |
| - name: Unshallow | |
| run: | | |
| git fetch --prune --unshallow | |
| - name: Set up Docker Buildx | |
| id: setup-buildx | |
| uses: docker/setup-buildx-action@v3 | |
| with: | |
| driver: remote | |
| endpoint: tcp://buildkit-amd64.ci.svc.cluster.local:1234 | |
| timeout-minutes: 10 | |
| - name: Mask secrets | |
| run: | | |
| echo "$(sops -d .secrets.yaml | yq -e '.secrets | to_entries[] | "::add-mask::" + .value')" | |
| - name: Set secrets for job | |
| run: | | |
| sops -d .secrets.yaml | yq -e '.secrets | to_entries[] | .key + "=" + .value' >> "$GITHUB_ENV" | |
| - name: run-integration-test | |
| env: | |
| INTEGRATION_RUN_E2E_TEST: "false" | |
| INTEGRATION_TEST_ARGS: --test.run TestIntegration/Suites/(CleanState|ForcedMachineRemoval|ReplaceControlPlanes|ConfigPatching|KubernetesNodeAudit)$ | |
| RUN_TALEMU_TESTS: "false" | |
| TALEMU_TEST_ARGS: --test.run TestIntegration/Suites/(ImmediateClusterDestruction|EncryptedCluster|SinglenodeCluster|ScaleUpAndDown|ScaleUpAndDownMachineClassBasedMachineSets|TalosUpgrades|KubernetesUpgrades|MaintenanceUpgrade|ClusterTemplate|ScaleUpAndDownAutoProvisionMachineSets)$ | |
| WITH_DEBUG: "true" | |
| WITH_RACE: "true" | |
| run: | | |
| sudo -E make run-integration-test | |
| - name: save-integration-test-artifacts | |
| if: always() | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: integration-test-e2e-forced-removal | |
| path: ${{ github.workspace }}/integration-test | |
| retention-days: "5" | |
| continue-on-error: true | |
| e2e-omni-upgrade: | |
| runs-on: | |
| group: large | |
| if: contains(fromJSON(needs.default.outputs.labels), 'integration/e2e') || contains(fromJSON(needs.default.outputs.labels), 'integration/e2e-omni-upgrade') | |
| needs: | |
| - default | |
| - lint | |
| - unit-tests | |
| steps: | |
| - name: gather-system-info | |
| id: system-info | |
| uses: kenchan0130/[email protected] | |
| continue-on-error: true | |
| - name: print-system-info | |
| run: | | |
| MEMORY_GB=$((${{ steps.system-info.outputs.totalmem }}/1024/1024/1024)) | |
| OUTPUTS=( | |
| "CPU Core: ${{ steps.system-info.outputs.cpu-core }}" | |
| "CPU Model: ${{ steps.system-info.outputs.cpu-model }}" | |
| "Hostname: ${{ steps.system-info.outputs.hostname }}" | |
| "NodeName: ${NODE_NAME}" | |
| "Kernel release: ${{ steps.system-info.outputs.kernel-release }}" | |
| "Kernel version: ${{ steps.system-info.outputs.kernel-version }}" | |
| "Name: ${{ steps.system-info.outputs.name }}" | |
| "Platform: ${{ steps.system-info.outputs.platform }}" | |
| "Release: ${{ steps.system-info.outputs.release }}" | |
| "Total memory: ${MEMORY_GB} GB" | |
| ) | |
| for OUTPUT in "${OUTPUTS[@]}";do | |
| echo "${OUTPUT}" | |
| done | |
| continue-on-error: true | |
| - name: checkout | |
| uses: actions/checkout@v5 | |
| - name: Unshallow | |
| run: | | |
| git fetch --prune --unshallow | |
| - name: Set up Docker Buildx | |
| id: setup-buildx | |
| uses: docker/setup-buildx-action@v3 | |
| with: | |
| driver: remote | |
| endpoint: tcp://buildkit-amd64.ci.svc.cluster.local:1234 | |
| timeout-minutes: 10 | |
| - name: Mask secrets | |
| run: | | |
| echo "$(sops -d .secrets.yaml | yq -e '.secrets | to_entries[] | "::add-mask::" + .value')" | |
| - name: Set secrets for job | |
| run: | | |
| sops -d .secrets.yaml | yq -e '.secrets | to_entries[] | .key + "=" + .value' >> "$GITHUB_ENV" | |
| - name: run-integration-test | |
| env: | |
| INTEGRATION_PREPARE_TEST_ARGS: --test.run TestIntegration/Suites/(CleanState|OmniUpgradePrepare)$ | |
| INTEGRATION_RUN_E2E_TEST: "false" | |
| INTEGRATION_TEST_ARGS: --test.run TestIntegration/Suites/(OmniUpgradeVerify)$ | |
| RUN_TALEMU_TESTS: "false" | |
| TALEMU_TEST_ARGS: --test.run TestIntegration/Suites/(ImmediateClusterDestruction|EncryptedCluster|SinglenodeCluster|ScaleUpAndDown|ScaleUpAndDownMachineClassBasedMachineSets|TalosUpgrades|KubernetesUpgrades|MaintenanceUpgrade|ClusterTemplate|ScaleUpAndDownAutoProvisionMachineSets)$ | |
| WITH_DEBUG: "true" | |
| WITH_RACE: "true" | |
| run: | | |
| sudo -E make run-integration-test | |
| - name: save-integration-test-artifacts | |
| if: always() | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: integration-test-e2e-omni-upgrade | |
| path: ${{ github.workspace }}/integration-test | |
| retention-days: "5" | |
| continue-on-error: true | |
| e2e-scaling: | |
| runs-on: | |
| group: large | |
| if: contains(fromJSON(needs.default.outputs.labels), 'integration/e2e') || contains(fromJSON(needs.default.outputs.labels), 'integration/e2e-scaling') | |
| needs: | |
| - default | |
| - lint | |
| - unit-tests | |
| steps: | |
| - name: gather-system-info | |
| id: system-info | |
| uses: kenchan0130/[email protected] | |
| continue-on-error: true | |
| - name: print-system-info | |
| run: | | |
| MEMORY_GB=$((${{ steps.system-info.outputs.totalmem }}/1024/1024/1024)) | |
| OUTPUTS=( | |
| "CPU Core: ${{ steps.system-info.outputs.cpu-core }}" | |
| "CPU Model: ${{ steps.system-info.outputs.cpu-model }}" | |
| "Hostname: ${{ steps.system-info.outputs.hostname }}" | |
| "NodeName: ${NODE_NAME}" | |
| "Kernel release: ${{ steps.system-info.outputs.kernel-release }}" | |
| "Kernel version: ${{ steps.system-info.outputs.kernel-version }}" | |
| "Name: ${{ steps.system-info.outputs.name }}" | |
| "Platform: ${{ steps.system-info.outputs.platform }}" | |
| "Release: ${{ steps.system-info.outputs.release }}" | |
| "Total memory: ${MEMORY_GB} GB" | |
| ) | |
| for OUTPUT in "${OUTPUTS[@]}";do | |
| echo "${OUTPUT}" | |
| done | |
| continue-on-error: true | |
| - name: checkout | |
| uses: actions/checkout@v5 | |
| - name: Unshallow | |
| run: | | |
| git fetch --prune --unshallow | |
| - name: Set up Docker Buildx | |
| id: setup-buildx | |
| uses: docker/setup-buildx-action@v3 | |
| with: | |
| driver: remote | |
| endpoint: tcp://buildkit-amd64.ci.svc.cluster.local:1234 | |
| timeout-minutes: 10 | |
| - name: Mask secrets | |
| run: | | |
| echo "$(sops -d .secrets.yaml | yq -e '.secrets | to_entries[] | "::add-mask::" + .value')" | |
| - name: Set secrets for job | |
| run: | | |
| sops -d .secrets.yaml | yq -e '.secrets | to_entries[] | .key + "=" + .value' >> "$GITHUB_ENV" | |
| - name: run-integration-test | |
| env: | |
| INTEGRATION_RUN_E2E_TEST: "false" | |
| INTEGRATION_TEST_ARGS: --test.run TestIntegration/Suites/(CleanState|ScaleUpAndDown|ScaleUpAndDownMachineClassBasedMachineSets|RollingUpdateParallelism)$ | |
| RUN_TALEMU_TESTS: "false" | |
| TALEMU_TEST_ARGS: --test.run TestIntegration/Suites/(ImmediateClusterDestruction|EncryptedCluster|SinglenodeCluster|ScaleUpAndDown|ScaleUpAndDownMachineClassBasedMachineSets|TalosUpgrades|KubernetesUpgrades|MaintenanceUpgrade|ClusterTemplate|ScaleUpAndDownAutoProvisionMachineSets)$ | |
| WITH_DEBUG: "true" | |
| WITH_RACE: "true" | |
| run: | | |
| sudo -E make run-integration-test | |
| - name: save-integration-test-artifacts | |
| if: always() | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: integration-test-e2e-scaling | |
| path: ${{ github.workspace }}/integration-test | |
| retention-days: "5" | |
| continue-on-error: true | |
| e2e-short: | |
| runs-on: | |
| group: large | |
| if: contains(fromJSON(needs.default.outputs.labels), 'integration/e2e') || contains(fromJSON(needs.default.outputs.labels), 'integration/e2e-short') | |
| needs: | |
| - default | |
| - lint | |
| - unit-tests | |
| steps: | |
| - name: gather-system-info | |
| id: system-info | |
| uses: kenchan0130/[email protected] | |
| continue-on-error: true | |
| - name: print-system-info | |
| run: | | |
| MEMORY_GB=$((${{ steps.system-info.outputs.totalmem }}/1024/1024/1024)) | |
| OUTPUTS=( | |
| "CPU Core: ${{ steps.system-info.outputs.cpu-core }}" | |
| "CPU Model: ${{ steps.system-info.outputs.cpu-model }}" | |
| "Hostname: ${{ steps.system-info.outputs.hostname }}" | |
| "NodeName: ${NODE_NAME}" | |
| "Kernel release: ${{ steps.system-info.outputs.kernel-release }}" | |
| "Kernel version: ${{ steps.system-info.outputs.kernel-version }}" | |
| "Name: ${{ steps.system-info.outputs.name }}" | |
| "Platform: ${{ steps.system-info.outputs.platform }}" | |
| "Release: ${{ steps.system-info.outputs.release }}" | |
| "Total memory: ${MEMORY_GB} GB" | |
| ) | |
| for OUTPUT in "${OUTPUTS[@]}";do | |
| echo "${OUTPUT}" | |
| done | |
| continue-on-error: true | |
| - name: checkout | |
| uses: actions/checkout@v5 | |
| - name: Unshallow | |
| run: | | |
| git fetch --prune --unshallow | |
| - name: Set up Docker Buildx | |
| id: setup-buildx | |
| uses: docker/setup-buildx-action@v3 | |
| with: | |
| driver: remote | |
| endpoint: tcp://buildkit-amd64.ci.svc.cluster.local:1234 | |
| timeout-minutes: 10 | |
| - name: Mask secrets | |
| run: | | |
| echo "$(sops -d .secrets.yaml | yq -e '.secrets | to_entries[] | "::add-mask::" + .value')" | |
| - name: Set secrets for job | |
| run: | | |
| sops -d .secrets.yaml | yq -e '.secrets | to_entries[] | .key + "=" + .value' >> "$GITHUB_ENV" | |
| - name: run-integration-test | |
| env: | |
| INTEGRATION_RUN_E2E_TEST: "false" | |
| INTEGRATION_TEST_ARGS: --test.run TestIntegration/Suites/(CleanState|TalosImageGeneration|ImmediateClusterDestruction|DefaultCluster|EncryptedCluster|SinglenodeCluster|Auth)$ | |
| RUN_TALEMU_TESTS: "false" | |
| TALEMU_TEST_ARGS: --test.run TestIntegration/Suites/(ImmediateClusterDestruction|EncryptedCluster|SinglenodeCluster|ScaleUpAndDown|ScaleUpAndDownMachineClassBasedMachineSets|TalosUpgrades|KubernetesUpgrades|MaintenanceUpgrade|ClusterTemplate|ScaleUpAndDownAutoProvisionMachineSets)$ | |
| WITH_DEBUG: "true" | |
| WITH_RACE: "true" | |
| run: | | |
| sudo -E make run-integration-test | |
| - name: save-integration-test-artifacts | |
| if: always() | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: integration-test-e2e-short | |
| path: ${{ github.workspace }}/integration-test | |
| retention-days: "5" | |
| continue-on-error: true | |
| e2e-short-secureboot: | |
| runs-on: | |
| group: large | |
| if: contains(fromJSON(needs.default.outputs.labels), 'integration/e2e-short-secureboot') | |
| needs: | |
| - default | |
| - lint | |
| - unit-tests | |
| steps: | |
| - name: gather-system-info | |
| id: system-info | |
| uses: kenchan0130/[email protected] | |
| continue-on-error: true | |
| - name: print-system-info | |
| run: | | |
| MEMORY_GB=$((${{ steps.system-info.outputs.totalmem }}/1024/1024/1024)) | |
| OUTPUTS=( | |
| "CPU Core: ${{ steps.system-info.outputs.cpu-core }}" | |
| "CPU Model: ${{ steps.system-info.outputs.cpu-model }}" | |
| "Hostname: ${{ steps.system-info.outputs.hostname }}" | |
| "NodeName: ${NODE_NAME}" | |
| "Kernel release: ${{ steps.system-info.outputs.kernel-release }}" | |
| "Kernel version: ${{ steps.system-info.outputs.kernel-version }}" | |
| "Name: ${{ steps.system-info.outputs.name }}" | |
| "Platform: ${{ steps.system-info.outputs.platform }}" | |
| "Release: ${{ steps.system-info.outputs.release }}" | |
| "Total memory: ${MEMORY_GB} GB" | |
| ) | |
| for OUTPUT in "${OUTPUTS[@]}";do | |
| echo "${OUTPUT}" | |
| done | |
| continue-on-error: true | |
| - name: checkout | |
| uses: actions/checkout@v5 | |
| - name: Unshallow | |
| run: | | |
| git fetch --prune --unshallow | |
| - name: Set up Docker Buildx | |
| id: setup-buildx | |
| uses: docker/setup-buildx-action@v3 | |
| with: | |
| driver: remote | |
| endpoint: tcp://buildkit-amd64.ci.svc.cluster.local:1234 | |
| timeout-minutes: 10 | |
| - name: Mask secrets | |
| run: | | |
| echo "$(sops -d .secrets.yaml | yq -e '.secrets | to_entries[] | "::add-mask::" + .value')" | |
| - name: Set secrets for job | |
| run: | | |
| sops -d .secrets.yaml | yq -e '.secrets | to_entries[] | .key + "=" + .value' >> "$GITHUB_ENV" | |
| - name: run-integration-test | |
| env: | |
| ENABLE_SECUREBOOT: "true" | |
| INTEGRATION_RUN_E2E_TEST: "false" | |
| INTEGRATION_TEST_ARGS: --test.run TestIntegration/Suites/(CleanState|TalosImageGeneration|ImmediateClusterDestruction|DefaultCluster|EncryptedCluster|SinglenodeCluster|Auth)$ | |
| RUN_TALEMU_TESTS: "false" | |
| TALEMU_TEST_ARGS: --test.run TestIntegration/Suites/(ImmediateClusterDestruction|EncryptedCluster|SinglenodeCluster|ScaleUpAndDown|ScaleUpAndDownMachineClassBasedMachineSets|TalosUpgrades|KubernetesUpgrades|MaintenanceUpgrade|ClusterTemplate|ScaleUpAndDownAutoProvisionMachineSets)$ | |
| WITH_DEBUG: "true" | |
| WITH_RACE: "true" | |
| run: | | |
| sudo -E make run-integration-test | |
| - name: save-integration-test-artifacts | |
| if: always() | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: integration-test-e2e-short-secureboot | |
| path: ${{ github.workspace }}/integration-test | |
| retention-days: "5" | |
| continue-on-error: true | |
| e2e-templates: | |
| runs-on: | |
| group: large | |
| if: contains(fromJSON(needs.default.outputs.labels), 'integration/e2e') || contains(fromJSON(needs.default.outputs.labels), 'integration/e2e-templates') | |
| needs: | |
| - default | |
| - lint | |
| - unit-tests | |
| steps: | |
| - name: gather-system-info | |
| id: system-info | |
| uses: kenchan0130/[email protected] | |
| continue-on-error: true | |
| - name: print-system-info | |
| run: | | |
| MEMORY_GB=$((${{ steps.system-info.outputs.totalmem }}/1024/1024/1024)) | |
| OUTPUTS=( | |
| "CPU Core: ${{ steps.system-info.outputs.cpu-core }}" | |
| "CPU Model: ${{ steps.system-info.outputs.cpu-model }}" | |
| "Hostname: ${{ steps.system-info.outputs.hostname }}" | |
| "NodeName: ${NODE_NAME}" | |
| "Kernel release: ${{ steps.system-info.outputs.kernel-release }}" | |
| "Kernel version: ${{ steps.system-info.outputs.kernel-version }}" | |
| "Name: ${{ steps.system-info.outputs.name }}" | |
| "Platform: ${{ steps.system-info.outputs.platform }}" | |
| "Release: ${{ steps.system-info.outputs.release }}" | |
| "Total memory: ${MEMORY_GB} GB" | |
| ) | |
| for OUTPUT in "${OUTPUTS[@]}";do | |
| echo "${OUTPUT}" | |
| done | |
| continue-on-error: true | |
| - name: checkout | |
| uses: actions/checkout@v5 | |
| - name: Unshallow | |
| run: | | |
| git fetch --prune --unshallow | |
| - name: Set up Docker Buildx | |
| id: setup-buildx | |
| uses: docker/setup-buildx-action@v3 | |
| with: | |
| driver: remote | |
| endpoint: tcp://buildkit-amd64.ci.svc.cluster.local:1234 | |
| timeout-minutes: 10 | |
| - name: Mask secrets | |
| run: | | |
| echo "$(sops -d .secrets.yaml | yq -e '.secrets | to_entries[] | "::add-mask::" + .value')" | |
| - name: Set secrets for job | |
| run: | | |
| sops -d .secrets.yaml | yq -e '.secrets | to_entries[] | .key + "=" + .value' >> "$GITHUB_ENV" | |
| - name: run-integration-test | |
| env: | |
| INTEGRATION_RUN_E2E_TEST: "false" | |
| INTEGRATION_TEST_ARGS: --test.run TestIntegration/Suites/(CleanState|ClusterTemplate)$ | |
| RUN_TALEMU_TESTS: "false" | |
| TALEMU_TEST_ARGS: --test.run TestIntegration/Suites/(ImmediateClusterDestruction|EncryptedCluster|SinglenodeCluster|ScaleUpAndDown|ScaleUpAndDownMachineClassBasedMachineSets|TalosUpgrades|KubernetesUpgrades|MaintenanceUpgrade|ClusterTemplate|ScaleUpAndDownAutoProvisionMachineSets)$ | |
| WITH_DEBUG: "true" | |
| WITH_RACE: "true" | |
| run: | | |
| sudo -E make run-integration-test | |
| - name: save-integration-test-artifacts | |
| if: always() | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: integration-test-e2e-templates | |
| path: ${{ github.workspace }}/integration-test | |
| retention-days: "5" | |
| continue-on-error: true | |
| e2e-upgrades: | |
| runs-on: | |
| group: large | |
| if: contains(fromJSON(needs.default.outputs.labels), 'integration/e2e') || contains(fromJSON(needs.default.outputs.labels), 'integration/e2e-upgrades') | |
| needs: | |
| - default | |
| - lint | |
| - unit-tests | |
| steps: | |
| - name: gather-system-info | |
| id: system-info | |
| uses: kenchan0130/[email protected] | |
| continue-on-error: true | |
| - name: print-system-info | |
| run: | | |
| MEMORY_GB=$((${{ steps.system-info.outputs.totalmem }}/1024/1024/1024)) | |
| OUTPUTS=( | |
| "CPU Core: ${{ steps.system-info.outputs.cpu-core }}" | |
| "CPU Model: ${{ steps.system-info.outputs.cpu-model }}" | |
| "Hostname: ${{ steps.system-info.outputs.hostname }}" | |
| "NodeName: ${NODE_NAME}" | |
| "Kernel release: ${{ steps.system-info.outputs.kernel-release }}" | |
| "Kernel version: ${{ steps.system-info.outputs.kernel-version }}" | |
| "Name: ${{ steps.system-info.outputs.name }}" | |
| "Platform: ${{ steps.system-info.outputs.platform }}" | |
| "Release: ${{ steps.system-info.outputs.release }}" | |
| "Total memory: ${MEMORY_GB} GB" | |
| ) | |
| for OUTPUT in "${OUTPUTS[@]}";do | |
| echo "${OUTPUT}" | |
| done | |
| continue-on-error: true | |
| - name: checkout | |
| uses: actions/checkout@v5 | |
| - name: Unshallow | |
| run: | | |
| git fetch --prune --unshallow | |
| - name: Set up Docker Buildx | |
| id: setup-buildx | |
| uses: docker/setup-buildx-action@v3 | |
| with: | |
| driver: remote | |
| endpoint: tcp://buildkit-amd64.ci.svc.cluster.local:1234 | |
| timeout-minutes: 10 | |
| - name: Mask secrets | |
| run: | | |
| echo "$(sops -d .secrets.yaml | yq -e '.secrets | to_entries[] | "::add-mask::" + .value')" | |
| - name: Set secrets for job | |
| run: | | |
| sops -d .secrets.yaml | yq -e '.secrets | to_entries[] | .key + "=" + .value' >> "$GITHUB_ENV" | |
| - name: run-integration-test | |
| env: | |
| INTEGRATION_RUN_E2E_TEST: "false" | |
| INTEGRATION_TEST_ARGS: --test.run TestIntegration/Suites/(CleanState|KernelArgsUpdate|TalosUpgrades|KubernetesUpgrades|MaintenanceUpgrade)$ | |
| RUN_TALEMU_TESTS: "false" | |
| TALEMU_TEST_ARGS: --test.run TestIntegration/Suites/(ImmediateClusterDestruction|EncryptedCluster|SinglenodeCluster|ScaleUpAndDown|ScaleUpAndDownMachineClassBasedMachineSets|TalosUpgrades|KubernetesUpgrades|MaintenanceUpgrade|ClusterTemplate|ScaleUpAndDownAutoProvisionMachineSets)$ | |
| WITH_DEBUG: "true" | |
| WITH_RACE: "true" | |
| run: | | |
| sudo -E make run-integration-test | |
| - name: save-integration-test-artifacts | |
| if: always() | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: integration-test-e2e-upgrades | |
| path: ${{ github.workspace }}/integration-test | |
| retention-days: "5" | |
| continue-on-error: true | |
| e2e-workload-proxy: | |
| runs-on: | |
| group: large | |
| if: contains(fromJSON(needs.default.outputs.labels), 'integration/e2e') || contains(fromJSON(needs.default.outputs.labels), 'integration/e2e-workload-proxy') | |
| needs: | |
| - default | |
| - lint | |
| - unit-tests | |
| steps: | |
| - name: gather-system-info | |
| id: system-info | |
| uses: kenchan0130/[email protected] | |
| continue-on-error: true | |
| - name: print-system-info | |
| run: | | |
| MEMORY_GB=$((${{ steps.system-info.outputs.totalmem }}/1024/1024/1024)) | |
| OUTPUTS=( | |
| "CPU Core: ${{ steps.system-info.outputs.cpu-core }}" | |
| "CPU Model: ${{ steps.system-info.outputs.cpu-model }}" | |
| "Hostname: ${{ steps.system-info.outputs.hostname }}" | |
| "NodeName: ${NODE_NAME}" | |
| "Kernel release: ${{ steps.system-info.outputs.kernel-release }}" | |
| "Kernel version: ${{ steps.system-info.outputs.kernel-version }}" | |
| "Name: ${{ steps.system-info.outputs.name }}" | |
| "Platform: ${{ steps.system-info.outputs.platform }}" | |
| "Release: ${{ steps.system-info.outputs.release }}" | |
| "Total memory: ${MEMORY_GB} GB" | |
| ) | |
| for OUTPUT in "${OUTPUTS[@]}";do | |
| echo "${OUTPUT}" | |
| done | |
| continue-on-error: true | |
| - name: checkout | |
| uses: actions/checkout@v5 | |
| - name: Unshallow | |
| run: | | |
| git fetch --prune --unshallow | |
| - name: Set up Docker Buildx | |
| id: setup-buildx | |
| uses: docker/setup-buildx-action@v3 | |
| with: | |
| driver: remote | |
| endpoint: tcp://buildkit-amd64.ci.svc.cluster.local:1234 | |
| timeout-minutes: 10 | |
| - name: Mask secrets | |
| run: | | |
| echo "$(sops -d .secrets.yaml | yq -e '.secrets | to_entries[] | "::add-mask::" + .value')" | |
| - name: Set secrets for job | |
| run: | | |
| sops -d .secrets.yaml | yq -e '.secrets | to_entries[] | .key + "=" + .value' >> "$GITHUB_ENV" | |
| - name: run-integration-test | |
| env: | |
| INTEGRATION_RUN_E2E_TEST: "false" | |
| INTEGRATION_TEST_ARGS: --test.run TestIntegration/Suites/(CleanState|WorkloadProxy)$ | |
| RUN_TALEMU_TESTS: "false" | |
| TALEMU_TEST_ARGS: --test.run TestIntegration/Suites/(ImmediateClusterDestruction|EncryptedCluster|SinglenodeCluster|ScaleUpAndDown|ScaleUpAndDownMachineClassBasedMachineSets|TalosUpgrades|KubernetesUpgrades|MaintenanceUpgrade|ClusterTemplate|ScaleUpAndDownAutoProvisionMachineSets)$ | |
| WITH_DEBUG: "true" | |
| WITH_RACE: "true" | |
| run: | | |
| sudo -E make run-integration-test | |
| - name: save-integration-test-artifacts | |
| if: always() | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: integration-test-e2e-workload-proxy | |
| path: ${{ github.workspace }}/integration-test | |
| retention-days: "5" | |
| continue-on-error: true | |
| integration-test: | |
| runs-on: | |
| group: large | |
| if: github.event_name == 'pull_request' | |
| needs: | |
| - default | |
| - lint | |
| - unit-tests | |
| steps: | |
| - name: gather-system-info | |
| id: system-info | |
| uses: kenchan0130/[email protected] | |
| continue-on-error: true | |
| - name: print-system-info | |
| run: | | |
| MEMORY_GB=$((${{ steps.system-info.outputs.totalmem }}/1024/1024/1024)) | |
| OUTPUTS=( | |
| "CPU Core: ${{ steps.system-info.outputs.cpu-core }}" | |
| "CPU Model: ${{ steps.system-info.outputs.cpu-model }}" | |
| "Hostname: ${{ steps.system-info.outputs.hostname }}" | |
| "NodeName: ${NODE_NAME}" | |
| "Kernel release: ${{ steps.system-info.outputs.kernel-release }}" | |
| "Kernel version: ${{ steps.system-info.outputs.kernel-version }}" | |
| "Name: ${{ steps.system-info.outputs.name }}" | |
| "Platform: ${{ steps.system-info.outputs.platform }}" | |
| "Release: ${{ steps.system-info.outputs.release }}" | |
| "Total memory: ${MEMORY_GB} GB" | |
| ) | |
| for OUTPUT in "${OUTPUTS[@]}";do | |
| echo "${OUTPUT}" | |
| done | |
| continue-on-error: true | |
| - name: checkout | |
| uses: actions/checkout@v5 | |
| - name: Unshallow | |
| run: | | |
| git fetch --prune --unshallow | |
| - name: Set up Docker Buildx | |
| id: setup-buildx | |
| uses: docker/setup-buildx-action@v3 | |
| with: | |
| driver: remote | |
| endpoint: tcp://buildkit-amd64.ci.svc.cluster.local:1234 | |
| timeout-minutes: 10 | |
| - name: Mask secrets | |
| run: | | |
| echo "$(sops -d .secrets.yaml | yq -e '.secrets | to_entries[] | "::add-mask::" + .value')" | |
| - name: Set secrets for job | |
| run: | | |
| sops -d .secrets.yaml | yq -e '.secrets | to_entries[] | .key + "=" + .value' >> "$GITHUB_ENV" | |
| - name: run-integration-test | |
| if: github.event_name == 'pull_request' | |
| env: | |
| INTEGRATION_RUN_E2E_TEST: "true" | |
| INTEGRATION_TEST_ARGS: --test.run TestIntegration/Suites/(CleanState|Auth|DefaultCluster|CLICommands)$ | |
| RUN_TALEMU_TESTS: "true" | |
| TALEMU_TEST_ARGS: --test.run TestIntegration/Suites/(ImmediateClusterDestruction|EncryptedCluster|SinglenodeCluster|ScaleUpAndDown|ScaleUpAndDownMachineClassBasedMachineSets|TalosUpgrades|KubernetesUpgrades|MaintenanceUpgrade|ClusterTemplate|ScaleUpAndDownAutoProvisionMachineSets)$ | |
| WITH_DEBUG: "true" | |
| WITH_RACE: "true" | |
| run: | | |
| sudo -E make run-integration-test | |
| - name: Generate executable list | |
| run: | | |
| find _out -type f -executable > _out/executable-artifacts | |
| - name: save-artifacts | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: artifacts | |
| path: |- | |
| _out | |
| !_out/etcd | |
| !_out/secondary-storage/** | |
| retention-days: "5" | |
| - name: save-integration-test-artifacts | |
| if: always() | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: integration-test | |
| path: ${{ github.workspace }}/integration-test | |
| retention-days: "5" | |
| - name: coverage | |
| uses: codecov/codecov-action@v5 | |
| with: | |
| files: _out/coverage-emulator.txt,_out/coverage-integration.txt | |
| flags: integration-test | |
| token: ${{ secrets.CODECOV_TOKEN }} | |
| timeout-minutes: 3 | |
| lint: | |
| runs-on: | |
| group: generic | |
| if: github.event_name == 'pull_request' | |
| needs: | |
| - default | |
| steps: | |
| - name: gather-system-info | |
| id: system-info | |
| uses: kenchan0130/[email protected] | |
| continue-on-error: true | |
| - name: print-system-info | |
| run: | | |
| MEMORY_GB=$((${{ steps.system-info.outputs.totalmem }}/1024/1024/1024)) | |
| OUTPUTS=( | |
| "CPU Core: ${{ steps.system-info.outputs.cpu-core }}" | |
| "CPU Model: ${{ steps.system-info.outputs.cpu-model }}" | |
| "Hostname: ${{ steps.system-info.outputs.hostname }}" | |
| "NodeName: ${NODE_NAME}" | |
| "Kernel release: ${{ steps.system-info.outputs.kernel-release }}" | |
| "Kernel version: ${{ steps.system-info.outputs.kernel-version }}" | |
| "Name: ${{ steps.system-info.outputs.name }}" | |
| "Platform: ${{ steps.system-info.outputs.platform }}" | |
| "Release: ${{ steps.system-info.outputs.release }}" | |
| "Total memory: ${MEMORY_GB} GB" | |
| ) | |
| for OUTPUT in "${OUTPUTS[@]}";do | |
| echo "${OUTPUT}" | |
| done | |
| continue-on-error: true | |
| - name: checkout | |
| uses: actions/checkout@v5 | |
| - name: Unshallow | |
| run: | | |
| git fetch --prune --unshallow | |
| - name: Set up Docker Buildx | |
| id: setup-buildx | |
| uses: docker/setup-buildx-action@v3 | |
| with: | |
| driver: remote | |
| endpoint: tcp://buildkit-amd64.ci.svc.cluster.local:1234 | |
| timeout-minutes: 10 | |
| - name: Mask secrets | |
| run: | | |
| echo "$(sops -d .secrets.yaml | yq -e '.secrets | to_entries[] | "::add-mask::" + .value')" | |
| - name: Set secrets for job | |
| run: | | |
| sops -d .secrets.yaml | yq -e '.secrets | to_entries[] | .key + "=" + .value' >> "$GITHUB_ENV" | |
| - name: lint | |
| run: | | |
| make lint | |
| unit-tests: | |
| runs-on: | |
| group: generic | |
| if: github.event_name == 'pull_request' | |
| needs: | |
| - default | |
| steps: | |
| - name: gather-system-info | |
| id: system-info | |
| uses: kenchan0130/[email protected] | |
| continue-on-error: true | |
| - name: print-system-info | |
| run: | | |
| MEMORY_GB=$((${{ steps.system-info.outputs.totalmem }}/1024/1024/1024)) | |
| OUTPUTS=( | |
| "CPU Core: ${{ steps.system-info.outputs.cpu-core }}" | |
| "CPU Model: ${{ steps.system-info.outputs.cpu-model }}" | |
| "Hostname: ${{ steps.system-info.outputs.hostname }}" | |
| "NodeName: ${NODE_NAME}" | |
| "Kernel release: ${{ steps.system-info.outputs.kernel-release }}" | |
| "Kernel version: ${{ steps.system-info.outputs.kernel-version }}" | |
| "Name: ${{ steps.system-info.outputs.name }}" | |
| "Platform: ${{ steps.system-info.outputs.platform }}" | |
| "Release: ${{ steps.system-info.outputs.release }}" | |
| "Total memory: ${MEMORY_GB} GB" | |
| ) | |
| for OUTPUT in "${OUTPUTS[@]}";do | |
| echo "${OUTPUT}" | |
| done | |
| continue-on-error: true | |
| - name: checkout | |
| uses: actions/checkout@v5 | |
| - name: Unshallow | |
| run: | | |
| git fetch --prune --unshallow | |
| - name: Set up Docker Buildx | |
| id: setup-buildx | |
| uses: docker/setup-buildx-action@v3 | |
| with: | |
| driver: remote | |
| endpoint: tcp://buildkit-amd64.ci.svc.cluster.local:1234 | |
| timeout-minutes: 10 | |
| - name: Mask secrets | |
| run: | | |
| echo "$(sops -d .secrets.yaml | yq -e '.secrets | to_entries[] | "::add-mask::" + .value')" | |
| - name: Set secrets for job | |
| run: | | |
| sops -d .secrets.yaml | yq -e '.secrets | to_entries[] | .key + "=" + .value' >> "$GITHUB_ENV" | |
| - name: unit-tests-frontend | |
| run: | | |
| make unit-tests-frontend | |
| - name: unit-tests-client | |
| run: | | |
| make unit-tests-client | |
| - name: unit-tests-client-race | |
| run: | | |
| make unit-tests-client-race | |
| - name: unit-tests | |
| run: | | |
| make unit-tests | |
| - name: unit-tests-race | |
| run: | | |
| make unit-tests-race | |
| - name: coverage | |
| uses: codecov/codecov-action@v5 | |
| with: | |
| files: _out/coverage-unit-tests-client.txt,_out/coverage-unit-tests.txt | |
| flags: unit-tests | |
| token: ${{ secrets.CODECOV_TOKEN }} | |
| timeout-minutes: 3 |