From fff20ca647faa1f572be400afe8adbb21204345f Mon Sep 17 00:00:00 2001 From: Vincent Koc Date: Mon, 3 Aug 2026 08:55:18 -0700 Subject: [PATCH] fix(ci): require Docker only for routed workloads --- .github/workflows/crabbox-hydrate.yml | 4 +++- test/scripts/package-acceptance-workflow.test.ts | 3 ++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/.github/workflows/crabbox-hydrate.yml b/.github/workflows/crabbox-hydrate.yml index fec490dbef46..bc4688257bf6 100644 --- a/.github/workflows/crabbox-hydrate.yml +++ b/.github/workflows/crabbox-hydrate.yml @@ -271,7 +271,9 @@ jobs: set -euo pipefail docker_required=false - if [ "${CRABBOX_JOB:-hydrate}" != "hydrate" ]; then + # crabbox_job is also the readiness marker. Only the routed Docker + # workload contract requires an engine; other marker names do not. + if [ "${CRABBOX_JOB:-hydrate}" = "hydrate-docker" ]; then docker_required=true fi diff --git a/test/scripts/package-acceptance-workflow.test.ts b/test/scripts/package-acceptance-workflow.test.ts index 6163407be3cb..6dda536a8758 100644 --- a/test/scripts/package-acceptance-workflow.test.ts +++ b/test/scripts/package-acceptance-workflow.test.ts @@ -1203,7 +1203,8 @@ describe("package acceptance workflow", () => { CRABBOX_JOB: "${{ inputs.crabbox_job }}", }); expect(ensureDocker.run).toContain("docker_required=false"); - expect(ensureDocker.run).toContain('if [ "${CRABBOX_JOB:-hydrate}" != "hydrate" ]; then'); + expect(ensureDocker.run).toContain('if [ "${CRABBOX_JOB:-hydrate}" = "hydrate-docker" ]; then'); + expect(ensureDocker.run).toContain("other marker names do not"); expect(ensureDocker.run).toContain('if [ "$docker_required" = true ]; then'); expect(ensureDocker.run).toContain( "Docker is unavailable for ${CRABBOX_JOB:-hydrate}; route this workload to a Docker-capable provider",