From 356a8c8f9d1a2d3d1453861deee03bf9fc355e54 Mon Sep 17 00:00:00 2001 From: Taahir Ahmed Date: Thu, 10 Sep 2026 22:33:56 -0700 Subject: [PATCH] Parallelize individual e2e executions --- .github/workflows/pr-workflow.yaml | 77 ++++++++++++++++-------------- 1 file changed, 40 insertions(+), 37 deletions(-) diff --git a/.github/workflows/pr-workflow.yaml b/.github/workflows/pr-workflow.yaml index 68c9cc30d0..94b6b9209a 100644 --- a/.github/workflows/pr-workflow.yaml +++ b/.github/workflows/pr-workflow.yaml @@ -108,17 +108,18 @@ jobs: run: | hack/install-ate-kind.sh --deploy-demo-egress hack/install-ate-kind.sh --deploy-demo-egress-microvm - - name: Run E2E tests (gVisor) - run: hack/run-e2e-kind.sh -v -args --no-color - - name: Run E2E tests (micro-VM) - # The same suites again, with every fixture repointed at its micro-VM - # variant by the single E2E_SANDBOX_CLASS knob (see internal/e2e/sandbox.go). - # Sequential with the gVisor lane above, not concurrent: a suite releases - # its namespace — and with it its worker pods — as each test passes, so the - # two runs do not contend for the one kind node. - env: - E2E_SANDBOX_CLASS: microvm - run: hack/run-e2e-kind.sh -v -args --no-color + - parallel: + - name: Run E2E tests (gVisor) + run: hack/run-e2e-kind.sh -v -args --no-color + - name: Run E2E tests (micro-VM) + # The same suites again, with every fixture repointed at its micro-VM + # variant by the single E2E_SANDBOX_CLASS knob (see internal/e2e/sandbox.go). + # Sequential with the gVisor lane above, not concurrent: a suite releases + # its namespace — and with it its worker pods — as each test passes, so the + # two runs do not contend for the one kind node. + env: + E2E_SANDBOX_CLASS: microvm + run: hack/run-e2e-kind.sh -v -args --no-color - name: Deploy MITM egress (sdsmint) # Swap the passthrough egress gateway for the sdsmint variant, which # mints per-SNI leaves from the egress-mitm-ca-pool (created here if @@ -128,38 +129,40 @@ jobs: # TLS is intercepted, their passthrough assumptions # (TestActorEgressHTTPS's end-to-end TLS with the origin) no longer hold. run: hack/install-ate-kind.sh --deploy-atenet --experimental-use-sdsmint - - name: Run E2E tests (egress MITM trust) - # The consumption half of the trust-bundle chain: an actor does TLS with - # the MITM gateway's minted leaf using ONLY the projected bundle, plus a - # system-roots negative control proving interception is real (see - # internal/e2e/suites/egressmitm). - env: - E2E_EGRESS_MITM: "1" - run: hack/run-e2e-kind.sh ./internal/e2e/suites/egressmitm -v -args --no-color - - name: Run E2E tests (egress MITM trust, micro-VM) - # The same proof with the probe on the micro-VM runtime. Trust DELIVERY - # differs per sandbox class (gVisor RO bind vs the micro-VM unified - # virtio-fs share), so the handshake is proven on both. Uses the - # micro-VM deps staged earlier in this job. - env: - E2E_EGRESS_MITM: "1" - E2E_SANDBOX_CLASS: microvm - run: hack/run-e2e-kind.sh ./internal/e2e/suites/egressmitm -v -args --no-color + - parallel: + - name: Run E2E tests (egress MITM trust) + # The consumption half of the trust-bundle chain: an actor does TLS with + # the MITM gateway's minted leaf using ONLY the projected bundle, plus a + # system-roots negative control proving interception is real (see + # internal/e2e/suites/egressmitm). + env: + E2E_EGRESS_MITM: "1" + run: hack/run-e2e-kind.sh ./internal/e2e/suites/egressmitm -v -args --no-color + - name: Run E2E tests (egress MITM trust, micro-VM) + # The same proof with the probe on the micro-VM runtime. Trust DELIVERY + # differs per sandbox class (gVisor RO bind vs the micro-VM unified + # virtio-fs share), so the handshake is proven on both. Uses the + # micro-VM deps staged earlier in this job. + env: + E2E_EGRESS_MITM: "1" + E2E_SANDBOX_CLASS: microvm + run: hack/run-e2e-kind.sh ./internal/e2e/suites/egressmitm -v -args --no-color - name: Deploy MITM egress demo # The networking suite's egress tests need a fixture that trusts the # CA used by sdsmint. run: | hack/install-ate-kind.sh --deploy-demo-egress-mitm hack/install-ate-kind.sh --deploy-demo-egress-microvm-mitm - - name: Run E2E tests (networking, MITM egress) - env: - E2E_EGRESS_MITM: "1" - run: hack/run-e2e-kind.sh ./internal/e2e/suites/networking -run '^TestActorEgress' -v -args --no-color - - name: Run E2E tests (networking, MITM egress, micro-VM) - env: - E2E_EGRESS_MITM: "1" - E2E_SANDBOX_CLASS: microvm - run: hack/run-e2e-kind.sh ./internal/e2e/suites/networking -run '^TestActorEgress' -v -args --no-color + - parallel: + - name: Run E2E tests (networking, MITM egress) + env: + E2E_EGRESS_MITM: "1" + run: hack/run-e2e-kind.sh ./internal/e2e/suites/networking -run '^TestActorEgress' -v -args --no-color + - name: Run E2E tests (networking, MITM egress, micro-VM) + env: + E2E_EGRESS_MITM: "1" + E2E_SANDBOX_CLASS: microvm + run: hack/run-e2e-kind.sh ./internal/e2e/suites/networking -run '^TestActorEgress' -v -args --no-color - name: Dump diagnostics on failure if: failure() run: |