From 31b24ea3d70f88d031d81bd0f914754b0cee411e Mon Sep 17 00:00:00 2001 From: Noel Georgi Date: Fri, 24 May 2024 18:36:49 +0530 Subject: [PATCH] chore(ci): split integration misc Split integration misc into three. Signed-off-by: Noel Georgi --- .github/workflows/ci.yaml | 376 ++++++++++++++++-- .../workflows/integration-misc-0-cron.yaml | 97 +++++ ...cron.yaml => integration-misc-1-cron.yaml} | 62 +-- .../workflows/integration-misc-2-cron.yaml | 106 +++++ .../workflows/integration-misc-3-cron.yaml | 83 ++++ .../workflows/integration-misc-4-cron.yaml | 92 +++++ .github/workflows/slack-notify.yaml | 8 +- .kres.yaml | 215 ++++++++-- 8 files changed, 908 insertions(+), 131 deletions(-) create mode 100644 .github/workflows/integration-misc-0-cron.yaml rename .github/workflows/{integration-misc-cron.yaml => integration-misc-1-cron.yaml} (64%) create mode 100644 .github/workflows/integration-misc-2-cron.yaml create mode 100644 .github/workflows/integration-misc-3-cron.yaml create mode 100644 .github/workflows/integration-misc-4-cron.yaml diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index 8d49022559..210281599e 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -1,6 +1,6 @@ # THIS FILE WAS AUTOMATICALLY GENERATED, PLEASE DO NOT EDIT. # -# Generated on 2024-05-24T09:48:06Z by kres b5844f8. +# Generated on 2024-05-24T15:02:03Z by kres b5844f8. name: default concurrency: @@ -1520,7 +1520,7 @@ jobs: PLATFORM: linux/amd64,linux/arm64 run: | make images - integration-misc: + integration-misc-0: permissions: actions: read contents: write @@ -1530,7 +1530,7 @@ jobs: runs-on: - self-hosted - talos - if: contains(fromJSON(needs.default.outputs.labels), 'integration/misc') + if: contains(fromJSON(needs.default.outputs.labels), 'integration/misc') || contains(fromJSON(needs.default.outputs.labels), 'integration/misc-0') needs: - default steps: @@ -1581,12 +1581,100 @@ jobs: if: github.event_name != 'schedule' run: | xargs -a _out/executable-artifacts -I {} chmod +x {} - - name: uki-certs + - name: build if: github.event_name == 'schedule' env: + IMAGE_REGISTRY: registry.dev.siderolabs.io PLATFORM: linux/amd64 + PUSH: "true" run: | - make uki-certs + make talosctl-linux-amd64 kernel sd-boot sd-stub initramfs installer imager talos _out/integration-test-linux-amd64 + - name: talosctl-cni-bundle + if: github.event_name == 'schedule' + run: | + make talosctl-cni-bundle + - name: e2e-firewall + env: + IMAGE_REGISTRY: registry.dev.siderolabs.io + SHORT_INTEGRATION_TEST: "yes" + WITH_FIREWALL: block + run: | + sudo -E make e2e-qemu + - name: e2e-canal-reset + env: + CUSTOM_CNI_URL: https://raw.githubusercontent.com/projectcalico/calico/v3.25.0/manifests/canal.yaml + IMAGE_REGISTRY: registry.dev.siderolabs.io + INTEGRATION_TEST_RUN: TestIntegration/api.ResetSuite/TestResetWithSpec + run: | + sudo -E make e2e-qemu + - name: e2e-controlplane-port + env: + IMAGE_REGISTRY: registry.dev.siderolabs.io + SHORT_INTEGRATION_TEST: "yes" + WITH_CONTROL_PLANE_PORT: "443" + run: | + sudo -E make e2e-qemu + integration-misc-1: + permissions: + actions: read + contents: write + issues: read + packages: write + pull-requests: read + runs-on: + - self-hosted + - talos + if: contains(fromJSON(needs.default.outputs.labels), 'integration/misc') || contains(fromJSON(needs.default.outputs.labels), 'integration/misc-1') + needs: + - default + steps: + - name: gather-system-info + id: system-info + uses: kenchan0130/actions-system-info@v1.3.0 + 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@v4 + - 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: Download artifacts + if: github.event_name != 'schedule' + uses: actions/download-artifact@v4 + with: + name: artifacts + path: _out + - name: Fix artifact permissions + if: github.event_name != 'schedule' + run: | + xargs -a _out/executable-artifacts -I {} chmod +x {} - name: build if: github.event_name == 'schedule' env: @@ -1599,34 +1687,131 @@ jobs: if: github.event_name == 'schedule' run: | make talosctl-cni-bundle - - name: images-essential - if: github.event_name == 'schedule' + - name: e2e-no-cluster-discovery env: IMAGE_REGISTRY: registry.dev.siderolabs.io - PLATFORM: linux/amd64 + SHORT_INTEGRATION_TEST: "yes" + WITH_CLUSTER_DISCOVERY: "false" run: | - make images-essential - - name: e2e-firewall + sudo -E make e2e-qemu + - name: e2e-kubespan env: + IMAGE_REGISTRY: registry.dev.siderolabs.io\ + SHORT_INTEGRATION_TEST: "yes" + WITH_CLUSTER_DISCOVERY: "true" + WITH_KUBESPAN: "true" + run: | + sudo -E make e2e-qemu + - name: e2e-default-hostname + env: + DISABLE_DHCP_HOSTNAME: "true" IMAGE_REGISTRY: registry.dev.siderolabs.io SHORT_INTEGRATION_TEST: "yes" - WITH_FIREWALL: block + VIA_MAINTENANCE_MODE: "true" run: | sudo -E make e2e-qemu - - name: e2e-network-chaos + - name: e2e-siderolink env: IMAGE_REGISTRY: registry.dev.siderolabs.io SHORT_INTEGRATION_TEST: "yes" - WITH_NETWORK_CHAOS: "yes" + VIA_MAINTENANCE_MODE: "true" + WITH_SIDEROLINK_AGENT: "true" run: | sudo -E make e2e-qemu - - name: e2e-canal-reset + - name: e2e-siderolink-tunnel env: - CUSTOM_CNI_URL: https://raw.githubusercontent.com/projectcalico/calico/v3.25.0/manifests/canal.yaml IMAGE_REGISTRY: registry.dev.siderolabs.io - INTEGRATION_TEST_RUN: TestIntegration/api.ResetSuite/TestResetWithSpec + SHORT_INTEGRATION_TEST: "yes" + VIA_MAINTENANCE_MODE: "true" + WITH_SIDEROLINK_AGENT: tunnel run: | sudo -E make e2e-qemu + integration-misc-2: + permissions: + actions: read + contents: write + issues: read + packages: write + pull-requests: read + runs-on: + - self-hosted + - talos + if: contains(fromJSON(needs.default.outputs.labels), 'integration/misc') || contains(fromJSON(needs.default.outputs.labels), 'integration/misc-2') + needs: + - default + steps: + - name: gather-system-info + id: system-info + uses: kenchan0130/actions-system-info@v1.3.0 + 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@v4 + - 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: Download artifacts + if: github.event_name != 'schedule' + uses: actions/download-artifact@v4 + with: + name: artifacts + path: _out + - name: Fix artifact permissions + if: github.event_name != 'schedule' + run: | + xargs -a _out/executable-artifacts -I {} chmod +x {} + - name: uki-certs + if: github.event_name == 'schedule' + env: + PLATFORM: linux/amd64 + run: | + make uki-certs + - name: build + if: github.event_name == 'schedule' + env: + IMAGE_REGISTRY: registry.dev.siderolabs.io + PLATFORM: linux/amd64 + PUSH: "true" + run: | + make talosctl-linux-amd64 kernel sd-boot sd-stub initramfs installer imager talos _out/integration-test-linux-amd64 + - name: talosctl-cni-bundle + if: github.event_name == 'schedule' + run: | + make talosctl-cni-bundle + - name: images-essential + if: github.event_name == 'schedule' + env: + IMAGE_REGISTRY: registry.dev.siderolabs.io + PLATFORM: linux/amd64 + run: | + make images-essential - name: e2e-bios-cgroupsv1 env: IMAGE_REGISTRY: registry.dev.siderolabs.io @@ -1644,36 +1829,159 @@ jobs: WITH_DISK_ENCRYPTION: "true" run: | sudo -E make e2e-qemu - - name: e2e-controlplane-port + integration-misc-3: + permissions: + actions: read + contents: write + issues: read + packages: write + pull-requests: read + runs-on: + - self-hosted + - talos + if: contains(fromJSON(needs.default.outputs.labels), 'integration/misc') || contains(fromJSON(needs.default.outputs.labels), 'integration/misc-3') + needs: + - default + steps: + - name: gather-system-info + id: system-info + uses: kenchan0130/actions-system-info@v1.3.0 + 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@v4 + - 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: Download artifacts + if: github.event_name != 'schedule' + uses: actions/download-artifact@v4 + with: + name: artifacts + path: _out + - name: Fix artifact permissions + if: github.event_name != 'schedule' + run: | + xargs -a _out/executable-artifacts -I {} chmod +x {} + - name: build + if: github.event_name == 'schedule' env: IMAGE_REGISTRY: registry.dev.siderolabs.io - SHORT_INTEGRATION_TEST: "yes" - WITH_CONTROL_PLANE_PORT: "443" + PLATFORM: linux/amd64 + PUSH: "true" run: | - sudo -E make e2e-qemu - - name: e2e-no-cluster-discovery + make talosctl-linux-amd64 kernel sd-boot sd-stub initramfs installer imager talos _out/integration-test-linux-amd64 + - name: talosctl-cni-bundle + if: github.event_name == 'schedule' + run: | + make talosctl-cni-bundle + - name: e2e-network-chaos env: IMAGE_REGISTRY: registry.dev.siderolabs.io SHORT_INTEGRATION_TEST: "yes" - WITH_CLUSTER_DISCOVERY: "false" + WITH_NETWORK_CHAOS: "yes" run: | sudo -E make e2e-qemu - - name: e2e-kubespan - env: - IMAGE_REGISTRY: registry.dev.siderolabs.io\ - SHORT_INTEGRATION_TEST: "yes" - WITH_CLUSTER_DISCOVERY: "true" - WITH_KUBESPAN: "true" + integration-misc-4: + permissions: + actions: read + contents: write + issues: read + packages: write + pull-requests: read + runs-on: + - self-hosted + - talos + if: contains(fromJSON(needs.default.outputs.labels), 'integration/misc') || contains(fromJSON(needs.default.outputs.labels), 'integration/misc-4') + needs: + - default + steps: + - name: gather-system-info + id: system-info + uses: kenchan0130/actions-system-info@v1.3.0 + continue-on-error: true + - name: print-system-info run: | - sudo -E make e2e-qemu - - name: e2e-default-hostname + 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@v4 + - 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: Download artifacts + if: github.event_name != 'schedule' + uses: actions/download-artifact@v4 + with: + name: artifacts + path: _out + - name: Fix artifact permissions + if: github.event_name != 'schedule' + run: | + xargs -a _out/executable-artifacts -I {} chmod +x {} + - name: build + if: github.event_name == 'schedule' env: - DISABLE_DHCP_HOSTNAME: "true" IMAGE_REGISTRY: registry.dev.siderolabs.io - SHORT_INTEGRATION_TEST: "yes" - VIA_MAINTENANCE_MODE: "true" + PLATFORM: linux/amd64 + PUSH: "true" run: | - sudo -E make e2e-qemu + make talosctl-linux-amd64 kernel sd-boot sd-stub initramfs installer imager talos _out/integration-test-linux-amd64 + - name: talosctl-cni-bundle + if: github.event_name == 'schedule' + run: | + make talosctl-cni-bundle - name: e2e-siderolink env: IMAGE_REGISTRY: registry.dev.siderolabs.io diff --git a/.github/workflows/integration-misc-0-cron.yaml b/.github/workflows/integration-misc-0-cron.yaml new file mode 100644 index 0000000000..f300e02a64 --- /dev/null +++ b/.github/workflows/integration-misc-0-cron.yaml @@ -0,0 +1,97 @@ +# THIS FILE WAS AUTOMATICALLY GENERATED, PLEASE DO NOT EDIT. +# +# Generated on 2024-05-24T15:02:03Z by kres b5844f8. + +name: integration-misc-0-cron +concurrency: + group: ${{ github.head_ref || github.run_id }} + cancel-in-progress: true +"on": + schedule: + - cron: 30 5 * * * +jobs: + default: + runs-on: + - self-hosted + - talos + steps: + - name: gather-system-info + id: system-info + uses: kenchan0130/actions-system-info@v1.3.0 + 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@v4 + - 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: Download artifacts + if: github.event_name != 'schedule' + uses: actions/download-artifact@v4 + with: + name: artifacts + path: _out + - name: Fix artifact permissions + if: github.event_name != 'schedule' + run: | + xargs -a _out/executable-artifacts -I {} chmod +x {} + - name: build + if: github.event_name == 'schedule' + env: + IMAGE_REGISTRY: registry.dev.siderolabs.io + PLATFORM: linux/amd64 + PUSH: "true" + run: | + make talosctl-linux-amd64 kernel sd-boot sd-stub initramfs installer imager talos _out/integration-test-linux-amd64 + - name: talosctl-cni-bundle + if: github.event_name == 'schedule' + run: | + make talosctl-cni-bundle + - name: e2e-firewall + env: + IMAGE_REGISTRY: registry.dev.siderolabs.io + SHORT_INTEGRATION_TEST: "yes" + WITH_FIREWALL: block + run: | + sudo -E make e2e-qemu + - name: e2e-canal-reset + env: + CUSTOM_CNI_URL: https://raw.githubusercontent.com/projectcalico/calico/v3.25.0/manifests/canal.yaml + IMAGE_REGISTRY: registry.dev.siderolabs.io + INTEGRATION_TEST_RUN: TestIntegration/api.ResetSuite/TestResetWithSpec + run: | + sudo -E make e2e-qemu + - name: e2e-controlplane-port + env: + IMAGE_REGISTRY: registry.dev.siderolabs.io + SHORT_INTEGRATION_TEST: "yes" + WITH_CONTROL_PLANE_PORT: "443" + run: | + sudo -E make e2e-qemu diff --git a/.github/workflows/integration-misc-cron.yaml b/.github/workflows/integration-misc-1-cron.yaml similarity index 64% rename from .github/workflows/integration-misc-cron.yaml rename to .github/workflows/integration-misc-1-cron.yaml index 732a511865..dedd343059 100644 --- a/.github/workflows/integration-misc-cron.yaml +++ b/.github/workflows/integration-misc-1-cron.yaml @@ -1,8 +1,8 @@ # THIS FILE WAS AUTOMATICALLY GENERATED, PLEASE DO NOT EDIT. # -# Generated on 2024-05-24T09:48:06Z by kres b5844f8. +# Generated on 2024-05-24T13:05:32Z by kres b5844f8. -name: integration-misc-cron +name: integration-misc-1-cron concurrency: group: ${{ github.head_ref || github.run_id }} cancel-in-progress: true @@ -62,12 +62,6 @@ jobs: if: github.event_name != 'schedule' run: | xargs -a _out/executable-artifacts -I {} chmod +x {} - - name: uki-certs - if: github.event_name == 'schedule' - env: - PLATFORM: linux/amd64 - run: | - make uki-certs - name: build if: github.event_name == 'schedule' env: @@ -80,58 +74,6 @@ jobs: if: github.event_name == 'schedule' run: | make talosctl-cni-bundle - - name: images-essential - if: github.event_name == 'schedule' - env: - IMAGE_REGISTRY: registry.dev.siderolabs.io - PLATFORM: linux/amd64 - run: | - make images-essential - - name: e2e-firewall - env: - IMAGE_REGISTRY: registry.dev.siderolabs.io - SHORT_INTEGRATION_TEST: "yes" - WITH_FIREWALL: block - run: | - sudo -E make e2e-qemu - - name: e2e-network-chaos - env: - IMAGE_REGISTRY: registry.dev.siderolabs.io - SHORT_INTEGRATION_TEST: "yes" - WITH_NETWORK_CHAOS: "yes" - run: | - sudo -E make e2e-qemu - - name: e2e-canal-reset - env: - CUSTOM_CNI_URL: https://raw.githubusercontent.com/projectcalico/calico/v3.25.0/manifests/canal.yaml - IMAGE_REGISTRY: registry.dev.siderolabs.io - INTEGRATION_TEST_RUN: TestIntegration/api.ResetSuite/TestResetWithSpec - run: | - sudo -E make e2e-qemu - - name: e2e-bios-cgroupsv1 - env: - IMAGE_REGISTRY: registry.dev.siderolabs.io - SHORT_INTEGRATION_TEST: "yes" - WITH_CONFIG_PATCH: '[{"op": "add", "path": "/machine/install/extraKernelArgs/-", "value": "talos.unified_cgroup_hierarchy=0"}]' - WITH_UEFI: "false" - run: | - sudo -E make e2e-qemu - - name: e2e-disk-image - env: - IMAGE_REGISTRY: registry.dev.siderolabs.io - SHORT_INTEGRATION_TEST: "yes" - USE_DISK_IMAGE: "true" - VIA_MAINTENANCE_MODE: "true" - WITH_DISK_ENCRYPTION: "true" - run: | - sudo -E make e2e-qemu - - name: e2e-controlplane-port - env: - IMAGE_REGISTRY: registry.dev.siderolabs.io - SHORT_INTEGRATION_TEST: "yes" - WITH_CONTROL_PLANE_PORT: "443" - run: | - sudo -E make e2e-qemu - name: e2e-no-cluster-discovery env: IMAGE_REGISTRY: registry.dev.siderolabs.io diff --git a/.github/workflows/integration-misc-2-cron.yaml b/.github/workflows/integration-misc-2-cron.yaml new file mode 100644 index 0000000000..548768f5cd --- /dev/null +++ b/.github/workflows/integration-misc-2-cron.yaml @@ -0,0 +1,106 @@ +# THIS FILE WAS AUTOMATICALLY GENERATED, PLEASE DO NOT EDIT. +# +# Generated on 2024-05-24T13:05:32Z by kres b5844f8. + +name: integration-misc-2-cron +concurrency: + group: ${{ github.head_ref || github.run_id }} + cancel-in-progress: true +"on": + schedule: + - cron: 30 5 * * * +jobs: + default: + runs-on: + - self-hosted + - talos + steps: + - name: gather-system-info + id: system-info + uses: kenchan0130/actions-system-info@v1.3.0 + 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@v4 + - 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: Download artifacts + if: github.event_name != 'schedule' + uses: actions/download-artifact@v4 + with: + name: artifacts + path: _out + - name: Fix artifact permissions + if: github.event_name != 'schedule' + run: | + xargs -a _out/executable-artifacts -I {} chmod +x {} + - name: uki-certs + if: github.event_name == 'schedule' + env: + PLATFORM: linux/amd64 + run: | + make uki-certs + - name: build + if: github.event_name == 'schedule' + env: + IMAGE_REGISTRY: registry.dev.siderolabs.io + PLATFORM: linux/amd64 + PUSH: "true" + run: | + make talosctl-linux-amd64 kernel sd-boot sd-stub initramfs installer imager talos _out/integration-test-linux-amd64 + - name: talosctl-cni-bundle + if: github.event_name == 'schedule' + run: | + make talosctl-cni-bundle + - name: images-essential + if: github.event_name == 'schedule' + env: + IMAGE_REGISTRY: registry.dev.siderolabs.io + PLATFORM: linux/amd64 + run: | + make images-essential + - name: e2e-bios-cgroupsv1 + env: + IMAGE_REGISTRY: registry.dev.siderolabs.io + SHORT_INTEGRATION_TEST: "yes" + WITH_CONFIG_PATCH: '[{"op": "add", "path": "/machine/install/extraKernelArgs/-", "value": "talos.unified_cgroup_hierarchy=0"}]' + WITH_UEFI: "false" + run: | + sudo -E make e2e-qemu + - name: e2e-disk-image + env: + IMAGE_REGISTRY: registry.dev.siderolabs.io + SHORT_INTEGRATION_TEST: "yes" + USE_DISK_IMAGE: "true" + VIA_MAINTENANCE_MODE: "true" + WITH_DISK_ENCRYPTION: "true" + run: | + sudo -E make e2e-qemu diff --git a/.github/workflows/integration-misc-3-cron.yaml b/.github/workflows/integration-misc-3-cron.yaml new file mode 100644 index 0000000000..adab0f810f --- /dev/null +++ b/.github/workflows/integration-misc-3-cron.yaml @@ -0,0 +1,83 @@ +# THIS FILE WAS AUTOMATICALLY GENERATED, PLEASE DO NOT EDIT. +# +# Generated on 2024-05-24T15:02:03Z by kres b5844f8. + +name: integration-misc-3-cron +concurrency: + group: ${{ github.head_ref || github.run_id }} + cancel-in-progress: true +"on": + schedule: + - cron: 30 5 * * * +jobs: + default: + runs-on: + - self-hosted + - talos + steps: + - name: gather-system-info + id: system-info + uses: kenchan0130/actions-system-info@v1.3.0 + 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@v4 + - 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: Download artifacts + if: github.event_name != 'schedule' + uses: actions/download-artifact@v4 + with: + name: artifacts + path: _out + - name: Fix artifact permissions + if: github.event_name != 'schedule' + run: | + xargs -a _out/executable-artifacts -I {} chmod +x {} + - name: build + if: github.event_name == 'schedule' + env: + IMAGE_REGISTRY: registry.dev.siderolabs.io + PLATFORM: linux/amd64 + PUSH: "true" + run: | + make talosctl-linux-amd64 kernel sd-boot sd-stub initramfs installer imager talos _out/integration-test-linux-amd64 + - name: talosctl-cni-bundle + if: github.event_name == 'schedule' + run: | + make talosctl-cni-bundle + - name: e2e-network-chaos + env: + IMAGE_REGISTRY: registry.dev.siderolabs.io + SHORT_INTEGRATION_TEST: "yes" + WITH_NETWORK_CHAOS: "yes" + run: | + sudo -E make e2e-qemu diff --git a/.github/workflows/integration-misc-4-cron.yaml b/.github/workflows/integration-misc-4-cron.yaml new file mode 100644 index 0000000000..f0aaa1fa6f --- /dev/null +++ b/.github/workflows/integration-misc-4-cron.yaml @@ -0,0 +1,92 @@ +# THIS FILE WAS AUTOMATICALLY GENERATED, PLEASE DO NOT EDIT. +# +# Generated on 2024-05-24T15:02:03Z by kres b5844f8. + +name: integration-misc-4-cron +concurrency: + group: ${{ github.head_ref || github.run_id }} + cancel-in-progress: true +"on": + schedule: + - cron: 30 5 * * * +jobs: + default: + runs-on: + - self-hosted + - talos + steps: + - name: gather-system-info + id: system-info + uses: kenchan0130/actions-system-info@v1.3.0 + 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@v4 + - 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: Download artifacts + if: github.event_name != 'schedule' + uses: actions/download-artifact@v4 + with: + name: artifacts + path: _out + - name: Fix artifact permissions + if: github.event_name != 'schedule' + run: | + xargs -a _out/executable-artifacts -I {} chmod +x {} + - name: build + if: github.event_name == 'schedule' + env: + IMAGE_REGISTRY: registry.dev.siderolabs.io + PLATFORM: linux/amd64 + PUSH: "true" + run: | + make talosctl-linux-amd64 kernel sd-boot sd-stub initramfs installer imager talos _out/integration-test-linux-amd64 + - name: talosctl-cni-bundle + if: github.event_name == 'schedule' + run: | + make talosctl-cni-bundle + - name: e2e-siderolink + env: + IMAGE_REGISTRY: registry.dev.siderolabs.io + SHORT_INTEGRATION_TEST: "yes" + VIA_MAINTENANCE_MODE: "true" + WITH_SIDEROLINK_AGENT: "true" + run: | + sudo -E make e2e-qemu + - name: e2e-siderolink-tunnel + env: + IMAGE_REGISTRY: registry.dev.siderolabs.io + SHORT_INTEGRATION_TEST: "yes" + VIA_MAINTENANCE_MODE: "true" + WITH_SIDEROLINK_AGENT: tunnel + run: | + sudo -E make e2e-qemu diff --git a/.github/workflows/slack-notify.yaml b/.github/workflows/slack-notify.yaml index 4252c41276..d9a865e018 100644 --- a/.github/workflows/slack-notify.yaml +++ b/.github/workflows/slack-notify.yaml @@ -1,6 +1,6 @@ # THIS FILE WAS AUTOMATICALLY GENERATED, PLEASE DO NOT EDIT. # -# Generated on 2024-05-16T11:03:04Z by kres 48517a9. +# Generated on 2024-05-24T15:02:03Z by kres b5844f8. name: slack-notify "on": @@ -12,7 +12,11 @@ name: slack-notify - integration-provision-0-cron - integration-provision-1-cron - integration-provision-2-cron - - integration-misc-cron + - integration-misc-0-cron + - integration-misc-1-cron + - integration-misc-2-cron + - integration-misc-3-cron + - integration-misc-4-cron - integration-extensions-cron - integration-cilium-cron - integration-qemu-encrypted-vip-cron diff --git a/.kres.yaml b/.kres.yaml index 296624f9a6..13d0fd28d3 100644 --- a/.kres.yaml +++ b/.kres.yaml @@ -57,7 +57,11 @@ spec: - integration-provision-0 - integration-provision-1 - integration-provision-2 - - integration-misc + - integration-misc-0 + - integration-misc-1 + - integration-misc-2 + - integration-misc-3 + - integration-misc-4 - integration-extensions - integration-cilium - integration-qemu-encrypted-vip @@ -456,7 +460,7 @@ spec: withSudo: true environment: IMAGE_REGISTRY: registry.dev.siderolabs.io - - name: integration-misc + - name: integration-misc-0 buildxOptions: enabled: true depends: @@ -468,6 +472,7 @@ spec: - '30 5 * * *' triggerLabels: - integration/misc + - integration/misc-0 steps: - name: download-artifacts conditions: @@ -475,11 +480,6 @@ spec: artifactStep: type: download artifactPath: _out - - name: uki-certs - conditions: - - only-on-schedule - environment: - PLATFORM: linux/amd64 - name: build conditions: - only-on-schedule @@ -491,12 +491,6 @@ spec: - name: talosctl-cni-bundle conditions: - only-on-schedule - - name: images-essential - conditions: - - only-on-schedule - environment: - PLATFORM: linux/amd64 - IMAGE_REGISTRY: registry.dev.siderolabs.io - name: e2e-firewall command: e2e-qemu withSudo: true @@ -504,67 +498,218 @@ spec: SHORT_INTEGRATION_TEST: yes WITH_FIREWALL: block IMAGE_REGISTRY: registry.dev.siderolabs.io - - name: e2e-network-chaos + - name: e2e-canal-reset command: e2e-qemu withSudo: true environment: - SHORT_INTEGRATION_TEST: yes - WITH_NETWORK_CHAOS: yes + INTEGRATION_TEST_RUN: TestIntegration/api.ResetSuite/TestResetWithSpec + CUSTOM_CNI_URL: https://raw.githubusercontent.com/projectcalico/calico/v3.25.0/manifests/canal.yaml IMAGE_REGISTRY: registry.dev.siderolabs.io - - name: e2e-canal-reset + - name: e2e-controlplane-port command: e2e-qemu withSudo: true environment: - INTEGRATION_TEST_RUN: TestIntegration/api.ResetSuite/TestResetWithSpec - CUSTOM_CNI_URL: https://raw.githubusercontent.com/projectcalico/calico/v3.25.0/manifests/canal.yaml + SHORT_INTEGRATION_TEST: yes + WITH_CONTROL_PLANE_PORT: 443 IMAGE_REGISTRY: registry.dev.siderolabs.io - - name: e2e-bios-cgroupsv1 + - name: integration-misc-1 + buildxOptions: + enabled: true + depends: + - default + runners: + - self-hosted + - talos + crons: + - '30 5 * * *' + triggerLabels: + - integration/misc + - integration/misc-1 + steps: + - name: download-artifacts + conditions: + - not-on-schedule + artifactStep: + type: download + artifactPath: _out + - name: build + conditions: + - only-on-schedule + command: talosctl-linux-amd64 kernel sd-boot sd-stub initramfs installer imager talos _out/integration-test-linux-amd64 + environment: + PLATFORM: linux/amd64 + IMAGE_REGISTRY: registry.dev.siderolabs.io + PUSH: true + - name: talosctl-cni-bundle + conditions: + - only-on-schedule + - name: e2e-no-cluster-discovery command: e2e-qemu withSudo: true environment: SHORT_INTEGRATION_TEST: yes - WITH_UEFI: false - WITH_CONFIG_PATCH: '[{"op": "add", "path": "/machine/install/extraKernelArgs/-", "value": "talos.unified_cgroup_hierarchy=0"}]' #use cgroupsv1 + WITH_CLUSTER_DISCOVERY: false IMAGE_REGISTRY: registry.dev.siderolabs.io - - name: e2e-disk-image + - name: e2e-kubespan + command: e2e-qemu + withSudo: true + environment: + SHORT_INTEGRATION_TEST: yes + WITH_CLUSTER_DISCOVERY: true + WITH_KUBESPAN: true + IMAGE_REGISTRY: registry.dev.siderolabs.io\ + - name: e2e-default-hostname command: e2e-qemu withSudo: true environment: SHORT_INTEGRATION_TEST: yes - USE_DISK_IMAGE: true VIA_MAINTENANCE_MODE: true - WITH_DISK_ENCRYPTION: true + DISABLE_DHCP_HOSTNAME: true IMAGE_REGISTRY: registry.dev.siderolabs.io - - name: e2e-controlplane-port + - name: e2e-siderolink command: e2e-qemu withSudo: true environment: SHORT_INTEGRATION_TEST: yes - WITH_CONTROL_PLANE_PORT: 443 + WITH_SIDEROLINK_AGENT: true + VIA_MAINTENANCE_MODE: true IMAGE_REGISTRY: registry.dev.siderolabs.io - - name: e2e-no-cluster-discovery + - name: e2e-siderolink-tunnel command: e2e-qemu withSudo: true environment: SHORT_INTEGRATION_TEST: yes - WITH_CLUSTER_DISCOVERY: false + WITH_SIDEROLINK_AGENT: tunnel + VIA_MAINTENANCE_MODE: true IMAGE_REGISTRY: registry.dev.siderolabs.io - - name: e2e-kubespan + - name: integration-misc-2 + buildxOptions: + enabled: true + depends: + - default + runners: + - self-hosted + - talos + crons: + - '30 5 * * *' + triggerLabels: + - integration/misc + - integration/misc-2 + steps: + - name: download-artifacts + conditions: + - not-on-schedule + artifactStep: + type: download + artifactPath: _out + - name: uki-certs + conditions: + - only-on-schedule + environment: + PLATFORM: linux/amd64 + - name: build + conditions: + - only-on-schedule + command: talosctl-linux-amd64 kernel sd-boot sd-stub initramfs installer imager talos _out/integration-test-linux-amd64 + environment: + PLATFORM: linux/amd64 + IMAGE_REGISTRY: registry.dev.siderolabs.io + PUSH: true + - name: talosctl-cni-bundle + conditions: + - only-on-schedule + - name: images-essential + conditions: + - only-on-schedule + environment: + PLATFORM: linux/amd64 + IMAGE_REGISTRY: registry.dev.siderolabs.io + - name: e2e-bios-cgroupsv1 command: e2e-qemu withSudo: true environment: SHORT_INTEGRATION_TEST: yes - WITH_CLUSTER_DISCOVERY: true - WITH_KUBESPAN: true - IMAGE_REGISTRY: registry.dev.siderolabs.io\ - - name: e2e-default-hostname + WITH_UEFI: false + WITH_CONFIG_PATCH: '[{"op": "add", "path": "/machine/install/extraKernelArgs/-", "value": "talos.unified_cgroup_hierarchy=0"}]' #use cgroupsv1 + IMAGE_REGISTRY: registry.dev.siderolabs.io + - name: e2e-disk-image command: e2e-qemu withSudo: true environment: SHORT_INTEGRATION_TEST: yes + USE_DISK_IMAGE: true VIA_MAINTENANCE_MODE: true - DISABLE_DHCP_HOSTNAME: true + WITH_DISK_ENCRYPTION: true IMAGE_REGISTRY: registry.dev.siderolabs.io + - name: integration-misc-3 + buildxOptions: + enabled: true + depends: + - default + runners: + - self-hosted + - talos + crons: + - '30 5 * * *' + triggerLabels: + - integration/misc + - integration/misc-3 + steps: + - name: download-artifacts + conditions: + - not-on-schedule + artifactStep: + type: download + artifactPath: _out + - name: build + conditions: + - only-on-schedule + command: talosctl-linux-amd64 kernel sd-boot sd-stub initramfs installer imager talos _out/integration-test-linux-amd64 + environment: + PLATFORM: linux/amd64 + IMAGE_REGISTRY: registry.dev.siderolabs.io + PUSH: true + - name: talosctl-cni-bundle + conditions: + - only-on-schedule + - name: e2e-network-chaos + command: e2e-qemu + withSudo: true + environment: + SHORT_INTEGRATION_TEST: yes + WITH_NETWORK_CHAOS: yes + IMAGE_REGISTRY: registry.dev.siderolabs.io + - name: integration-misc-4 + buildxOptions: + enabled: true + depends: + - default + runners: + - self-hosted + - talos + crons: + - '30 5 * * *' + triggerLabels: + - integration/misc + - integration/misc-4 + steps: + - name: download-artifacts + conditions: + - not-on-schedule + artifactStep: + type: download + artifactPath: _out + - name: build + conditions: + - only-on-schedule + command: talosctl-linux-amd64 kernel sd-boot sd-stub initramfs installer imager talos _out/integration-test-linux-amd64 + environment: + PLATFORM: linux/amd64 + IMAGE_REGISTRY: registry.dev.siderolabs.io + PUSH: true + - name: talosctl-cni-bundle + conditions: + - only-on-schedule - name: e2e-siderolink command: e2e-qemu withSudo: true