docs: 2026 roadmap #15465
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
| name: Test Cross-Cluster | |
| on: | |
| pull_request: | |
| paths-ignore: | |
| - "**.md" | |
| - "**.jpg" | |
| - "**.png" | |
| - "**.gif" | |
| - "**.svg" | |
| - "adr/**" | |
| - "docs/**" | |
| - "CODEOWNERS" | |
| merge_group: | |
| paths-ignore: | |
| - "**.md" | |
| - "**.jpg" | |
| - "**.png" | |
| - "**.gif" | |
| - "**.svg" | |
| - "adr/**" | |
| - "docs/**" | |
| - "CODEOWNERS" | |
| permissions: | |
| contents: read | |
| # Abort prior jobs in the same workflow / PR | |
| concurrency: | |
| group: e2e-${{ github.ref }} | |
| cancel-in-progress: true | |
| jobs: | |
| # Build the binary and init package | |
| build-e2e: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 | |
| - name: Setup golang | |
| uses: actions/setup-go@4a3601121dd01d1626a1e23e37211e3254c1c06c # v6.4.0 | |
| with: | |
| go-version-file: go.mod | |
| - name: Build binary and zarf packages | |
| uses: ./.github/actions/packages | |
| # Upload the contents of the build directory for later stages to use | |
| - name: Upload build artifacts | |
| uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1 | |
| with: | |
| name: build-artifacts | |
| path: build/ | |
| retention-days: 1 | |
| validate-without-cluster: | |
| runs-on: ubuntu-latest | |
| needs: build-e2e | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 | |
| - name: Download build artifacts | |
| uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1 | |
| with: | |
| name: build-artifacts | |
| path: build/ | |
| - name: Setup golang | |
| uses: actions/setup-go@4a3601121dd01d1626a1e23e37211e3254c1c06c # v6.4.0 | |
| with: | |
| go-version-file: go.mod | |
| - name: Make Zarf executable | |
| run: | | |
| chmod +x build/zarf | |
| # Before we run the regular tests we need to aggressively cleanup files to reduce disk pressure | |
| - name: Cleanup files | |
| uses: ./.github/actions/cleanup-files | |
| - name: Run tests | |
| run: | | |
| make test-e2e-without-cluster ARCH=amd64 | |
| # Run the tests on k3d | |
| validate-k3d: | |
| runs-on: ubuntu-latest | |
| needs: build-e2e | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 | |
| - name: Download build artifacts | |
| uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1 | |
| with: | |
| name: build-artifacts | |
| path: build/ | |
| - name: Setup golang | |
| uses: actions/setup-go@4a3601121dd01d1626a1e23e37211e3254c1c06c # v6.4.0 | |
| with: | |
| go-version-file: go.mod | |
| - name: Setup K3d | |
| uses: ./.github/actions/k3d | |
| - name: Make Zarf executable | |
| run: | | |
| chmod +x build/zarf | |
| # Before we run the regular tests we need to aggressively cleanup files to reduce disk pressure | |
| - name: Cleanup files | |
| uses: ./.github/actions/cleanup-files | |
| - name: Run tests | |
| run: | | |
| make test-e2e-with-cluster ARCH=amd64 | |
| - name: get cluster info | |
| uses: ./.github/actions/debug-cluster | |
| if: failure() | |
| # Run the tests on k3s | |
| validate-k3s: | |
| runs-on: ubuntu-latest | |
| needs: build-e2e | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 | |
| - name: Download build artifacts | |
| uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1 | |
| with: | |
| name: build-artifacts | |
| path: build/ | |
| - name: Setup golang | |
| uses: actions/setup-go@4a3601121dd01d1626a1e23e37211e3254c1c06c # v6.4.0 | |
| with: | |
| go-version-file: go.mod | |
| - name: Make Zarf executable | |
| run: | | |
| chmod +x build/zarf | |
| # Before we run the regular tests we need to aggressively cleanup files to reduce disk pressure | |
| - name: Cleanup files | |
| uses: ./.github/actions/cleanup-files | |
| - name: Run tests | |
| # NOTE: "PATH=$PATH" preserves the default user $PATH. This is needed to maintain the version of go installed | |
| # in a previous step. This test run will use Zarf to create a K3s cluster, and a brand new cluster will be | |
| # used for each test | |
| run: | | |
| sudo env "PATH=$PATH" CI=true APPLIANCE_MODE=true make test-e2e-with-cluster ARCH=amd64 | |
| - name: "Describe nodes, pods and deployments" | |
| run: | | |
| echo "***** Getting pods *****" | |
| sudo env "PATH=$PATH" CI=true kubectl get pods -A | |
| echo "***** Getting pods yaml *****" | |
| sudo env "PATH=$PATH" CI=true kubectl get pods -A -o yaml | |
| echo "***** Describing pods *****" | |
| sudo env "PATH=$PATH" CI=true kubectl describe pods -A | |
| echo "***** Getting nodes *****" | |
| sudo env "PATH=$PATH" CI=true kubectl get nodes -A | |
| echo "***** describing nodes *****" | |
| sudo env "PATH=$PATH" CI=true kubectl describe nodes -A | |
| # The test deletes the k3s cluster, so this should only run on failure | |
| if: failure() | |
| # Run the tests on kind | |
| validate-kind-arm64: | |
| runs-on: ubuntu-24.04-arm | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 | |
| - name: Setup golang | |
| uses: actions/setup-go@4a3601121dd01d1626a1e23e37211e3254c1c06c # v6.4.0 | |
| with: | |
| go-version-file: go.mod | |
| - name: Build zarf binary | |
| run: | | |
| make build-cli-linux-arm | |
| mv build/zarf-arm build/zarf | |
| - name: Build init package | |
| run: make init-package ARCH=arm64 | |
| - name: Setup Kind | |
| run: | | |
| kind delete cluster && kind create cluster | |
| kubectl scale deploy -n kube-system coredns --replicas=1 | |
| # Before we run the regular tests we need to aggressively cleanup files to reduce disk pressure | |
| - name: Cleanup files | |
| uses: ./.github/actions/cleanup-files | |
| - name: Run tests | |
| run: | | |
| make test-e2e-with-cluster ARCH=arm64 | |
| - name: get cluster info | |
| uses: ./.github/actions/debug-cluster | |
| if: failure() |