diff --git a/.github/workflows/build_and_test.yml b/.github/workflows/build_and_test.yml index e4858c1fe9..75f5828ef4 100644 --- a/.github/workflows/build_and_test.yml +++ b/.github/workflows/build_and_test.yml @@ -560,7 +560,11 @@ jobs: deploy: runs-on: [ self-hosted, Linux, k8s-runner ] - needs: [ docker-image, calculate-deploy-targets ] + # We need both storage **and** compute images for deploy, because control plane + # picks the compute version based on the storage version. If it notices a fresh + # storage it may bump the compute version. And if compute image failed to build + # it may break things badly. + needs: [ docker-image, docker-image-compute, calculate-deploy-targets ] if: | (github.ref_name == 'main' || github.ref_name == 'release') && github.event_name != 'workflow_dispatch' @@ -603,7 +607,9 @@ jobs: deploy-proxy: runs-on: [ self-hosted, Linux, k8s-runner ] - needs: [ docker-image, calculate-deploy-targets ] + # Compute image isn't strictly required for proxy deploy, but let's still wait for it + # to run all deploy jobs consistently. + needs: [ docker-image, docker-image-compute, calculate-deploy-targets ] if: | (github.ref_name == 'main' || github.ref_name == 'release') && github.event_name != 'workflow_dispatch'