@@ -76,55 +76,25 @@ jobs:
7676 echo "run_any_e2e=$run_any_e2e"
7777 } >> "$GITHUB_OUTPUT"
7878
79- build-gateway :
79+ build-binaries :
8080 needs : [pr_metadata]
8181 if : needs.pr_metadata.outputs.should_run == 'true' && needs.pr_metadata.outputs.run_any_e2e == 'true'
8282 permissions :
8383 contents : read
84- packages : write
85- uses : ./.github/workflows/docker-build.yml
86- with :
87- component : gateway
88- image-tag : ${{ github.sha }}
89-
90- build-supervisor :
91- needs : [pr_metadata]
92- if : needs.pr_metadata.outputs.should_run == 'true' && needs.pr_metadata.outputs.run_any_e2e == 'true'
93- permissions :
94- contents : read
95- packages : write
96- uses : ./.github/workflows/docker-build.yml
97- with :
98- component : supervisor
99- image-tag : ${{ github.sha }}
84+ uses : ./.github/workflows/build-binaries.yml
85+ secrets : inherit
10086
101- build-cli :
102- needs : [pr_metadata]
87+ build-images :
88+ needs : [pr_metadata, build-binaries ]
10389 if : needs.pr_metadata.outputs.should_run == 'true' && needs.pr_metadata.outputs.run_any_e2e == 'true'
10490 permissions :
10591 contents : read
10692 packages : write
10793 uses : ./.github/workflows/docker-build.yml
108- with :
109- component : cli
110- platform : linux/amd64,linux/arm64
111-
112- build-driver-vm-linux :
113- needs : [pr_metadata]
114- if : needs.pr_metadata.outputs.should_run == 'true' && needs.pr_metadata.outputs.run_core_e2e == 'true'
115- permissions :
116- contents : read
117- packages : read
118- uses : ./.github/workflows/driver-vm-linux.yml
119- with :
120- image-tag : ${{ github.sha }}
121- checkout-ref : ${{ github.sha }}
122- runtime-platforms : linux-x86_64
123- driver-targets : >-
124- [{"arch":"amd64","runner":"linux-amd64-cpu8","target":"x86_64-unknown-linux-gnu","zig_target":"x86_64-unknown-linux-gnu.2.28","platform":"linux-x86_64","guest_arch":"x86_64"}]
94+ secrets : inherit
12595
12696 e2e :
127- needs : [pr_metadata, build-gateway , build-supervisor, build-cli, build-driver-vm-linux ]
97+ needs : [pr_metadata, build-binaries , build-images ]
12898 if : needs.pr_metadata.outputs.should_run == 'true' && needs.pr_metadata.outputs.run_core_e2e == 'true'
12999 permissions :
130100 actions : read
@@ -134,12 +104,9 @@ jobs:
134104 with :
135105 image-tag : ${{ github.sha }}
136106 runner : linux-arm64-cpu8
137- cli-artifact-prefix : rust-binary-cli
138- gateway-artifact-prefix : rust-binary-gateway
139- vm-driver-artifact-name : driver-vm-linux-amd64
140107
141108 gpu-e2e :
142- needs : [pr_metadata, build-gateway , build-supervisor, build-cli ]
109+ needs : [pr_metadata, build-binaries , build-images ]
143110 if : needs.pr_metadata.outputs.should_run == 'true' && needs.pr_metadata.outputs.run_gpu_e2e == 'true'
144111 permissions :
145112 actions : read
@@ -148,11 +115,9 @@ jobs:
148115 uses : ./.github/workflows/e2e-gpu-test.yaml
149116 with :
150117 image-tag : ${{ github.sha }}
151- cli-artifact-prefix : rust-binary-cli
152- gateway-artifact-prefix : rust-binary-gateway
153118
154119 kubernetes-e2e :
155- needs : [pr_metadata, build-gateway , build-supervisor, build-cli ]
120+ needs : [pr_metadata, build-binaries , build-images ]
156121 if : needs.pr_metadata.outputs.should_run == 'true' && needs.pr_metadata.outputs.run_core_e2e == 'true'
157122 strategy :
158123 fail-fast : false
@@ -180,10 +145,9 @@ jobs:
180145 job-name : Kubernetes E2E (Rust smoke, ${{ matrix.topology }}, Agent Sandbox ${{ matrix.agent_sandbox_api }})
181146 agent-sandbox-version : ${{ matrix.agent_sandbox_version }}
182147 extra-helm-values : ${{ matrix.extra_helm_values }}
183- cli-artifact-prefix : rust-binary-cli
184148
185149 kubernetes-workspace-managed-e2e :
186- needs : [pr_metadata, build-gateway , build-supervisor, build-cli ]
150+ needs : [pr_metadata, build-binaries , build-images ]
187151 if : needs.pr_metadata.outputs.should_run == 'true' && needs.pr_metadata.outputs.run_core_e2e == 'true'
188152 permissions :
189153 actions : read
@@ -194,24 +158,12 @@ jobs:
194158 image-tag : ${{ github.sha }}
195159 job-name : Kubernetes E2E (workspace managed mode)
196160 e2e-task : e2e:kubernetes:workspace-managed
197- cli-artifact-prefix : rust-binary-cli
198161
199- kubernetes-external-driver-e2e :
200- needs : [pr_metadata, build-gateway, build-supervisor, build-cli]
201- if : needs.pr_metadata.outputs.should_run == 'true' && needs.pr_metadata.outputs.run_core_e2e == 'true'
202- permissions :
203- actions : read
204- contents : read
205- packages : read
206- uses : ./.github/workflows/e2e-kubernetes-test.yml
207- with :
208- image-tag : ${{ github.sha }}
209- job-name : Kubernetes E2E (external compute driver)
210- e2e-task : e2e:kubernetes:external-driver
211- cli-artifact-prefix : rust-binary-cli
162+ # External Kubernetes driver E2E stays disabled while its standalone binary
163+ # is not a release artifact.
212164
213165 kubernetes-workspace-operator-e2e :
214- needs : [pr_metadata, build-gateway , build-supervisor, build-cli ]
166+ needs : [pr_metadata, build-binaries , build-images ]
215167 if : needs.pr_metadata.outputs.should_run == 'true' && needs.pr_metadata.outputs.run_core_e2e == 'true'
216168 permissions :
217169 actions : read
@@ -222,10 +174,9 @@ jobs:
222174 image-tag : ${{ github.sha }}
223175 job-name : Kubernetes E2E (workspace operator mode)
224176 e2e-task : e2e:kubernetes:workspace-operator
225- cli-artifact-prefix : rust-binary-cli
226177
227178 kubernetes-ha-e2e :
228- needs : [pr_metadata, build-gateway , build-supervisor, build-cli ]
179+ needs : [pr_metadata, build-binaries , build-images ]
229180 if : needs.pr_metadata.outputs.should_run == 'true' && needs.pr_metadata.outputs.run_kubernetes_ha_e2e == 'true'
230181 permissions :
231182 actions : read
@@ -237,10 +188,9 @@ jobs:
237188 job-name : Kubernetes HA E2E (Rust smoke)
238189 extra-helm-values : deploy/helm/openshell/ci/values-high-availability.yaml
239190 external-postgres-secret : openshell-ha-pg
240- cli-artifact-prefix : rust-binary-cli
241191
242192 kubernetes-credential-drivers-e2e :
243- needs : [pr_metadata, build-gateway , build-supervisor ]
193+ needs : [pr_metadata, build-binaries , build-images ]
244194 if : needs.pr_metadata.outputs.should_run == 'true' && needs.pr_metadata.outputs.run_kubernetes_credential_drivers_e2e == 'true'
245195 permissions :
246196 actions : read
@@ -254,32 +204,26 @@ jobs:
254204
255205 core-e2e-result :
256206 name : Core E2E result
257- needs : [pr_metadata, build-gateway , build-supervisor, build-cli, build-driver-vm-linux, e2e, kubernetes-e2e, kubernetes-external-driver -e2e, kubernetes-workspace-managed-e2e, kubernetes-workspace-operator-e2e]
207+ needs : [pr_metadata, build-binaries , build-images, e2e, kubernetes-e2e, kubernetes-workspace-managed-e2e, kubernetes-workspace-operator-e2e]
258208 if : always() && needs.pr_metadata.outputs.should_run == 'true' && needs.pr_metadata.outputs.run_core_e2e == 'true'
259209 runs-on : ubuntu-latest
260210 steps :
261211 - name : Verify core E2E jobs
262212 env :
263- BUILD_GATEWAY_RESULT : ${{ needs.build-gateway.result }}
264- BUILD_SUPERVISOR_RESULT : ${{ needs.build-supervisor.result }}
265- BUILD_CLI_RESULT : ${{ needs.build-cli.result }}
266- BUILD_DRIVER_VM_RESULT : ${{ needs.build-driver-vm-linux.result }}
213+ BUILD_BINARIES_RESULT : ${{ needs.build-binaries.result }}
214+ BUILD_IMAGES_RESULT : ${{ needs.build-images.result }}
267215 E2E_RESULT : ${{ needs.e2e.result }}
268216 KUBERNETES_E2E_RESULT : ${{ needs.kubernetes-e2e.result }}
269- KUBERNETES_EXTERNAL_DRIVER_E2E_RESULT : ${{ needs.kubernetes-external-driver-e2e.result }}
270217 KUBERNETES_WORKSPACE_MANAGED_E2E_RESULT : ${{ needs.kubernetes-workspace-managed-e2e.result }}
271218 KUBERNETES_WORKSPACE_OPERATOR_E2E_RESULT : ${{ needs.kubernetes-workspace-operator-e2e.result }}
272219 run : |
273220 set -euo pipefail
274221 failed=0
275222 for item in \
276- "build-gateway:$BUILD_GATEWAY_RESULT" \
277- "build-supervisor:$BUILD_SUPERVISOR_RESULT" \
278- "build-cli:$BUILD_CLI_RESULT" \
279- "build-driver-vm-linux:$BUILD_DRIVER_VM_RESULT" \
223+ "build-binaries:$BUILD_BINARIES_RESULT" \
224+ "build-images:$BUILD_IMAGES_RESULT" \
280225 "e2e:$E2E_RESULT" \
281226 "kubernetes-e2e:$KUBERNETES_E2E_RESULT" \
282- "kubernetes-external-driver-e2e:$KUBERNETES_EXTERNAL_DRIVER_E2E_RESULT" \
283227 "kubernetes-workspace-managed-e2e:$KUBERNETES_WORKSPACE_MANAGED_E2E_RESULT" \
284228 "kubernetes-workspace-operator-e2e:$KUBERNETES_WORKSPACE_OPERATOR_E2E_RESULT"; do
285229 name="${item%%:*}"
@@ -293,23 +237,21 @@ jobs:
293237
294238 gpu-e2e-result :
295239 name : GPU E2E result
296- needs : [pr_metadata, build-gateway , build-supervisor, build-cli , gpu-e2e]
240+ needs : [pr_metadata, build-binaries , build-images , gpu-e2e]
297241 if : always() && needs.pr_metadata.outputs.should_run == 'true' && needs.pr_metadata.outputs.run_gpu_e2e == 'true'
298242 runs-on : ubuntu-latest
299243 steps :
300244 - name : Verify GPU E2E jobs
301245 env :
302- BUILD_GATEWAY_RESULT : ${{ needs.build-gateway.result }}
303- BUILD_SUPERVISOR_RESULT : ${{ needs.build-supervisor.result }}
304- BUILD_CLI_RESULT : ${{ needs.build-cli.result }}
246+ BUILD_BINARIES_RESULT : ${{ needs.build-binaries.result }}
247+ BUILD_IMAGES_RESULT : ${{ needs.build-images.result }}
305248 GPU_E2E_RESULT : ${{ needs.gpu-e2e.result }}
306249 run : |
307250 set -euo pipefail
308251 failed=0
309252 for item in \
310- "build-gateway:$BUILD_GATEWAY_RESULT" \
311- "build-supervisor:$BUILD_SUPERVISOR_RESULT" \
312- "build-cli:$BUILD_CLI_RESULT" \
253+ "build-binaries:$BUILD_BINARIES_RESULT" \
254+ "build-images:$BUILD_IMAGES_RESULT" \
313255 "gpu-e2e:$GPU_E2E_RESULT"; do
314256 name="${item%%:*}"
315257 result="${item#*:}"
@@ -322,23 +264,21 @@ jobs:
322264
323265 kubernetes-ha-e2e-result :
324266 name : Kubernetes HA E2E result
325- needs : [pr_metadata, build-gateway , build-supervisor, build-cli , kubernetes-ha-e2e]
267+ needs : [pr_metadata, build-binaries , build-images , kubernetes-ha-e2e]
326268 if : always() && needs.pr_metadata.outputs.should_run == 'true' && needs.pr_metadata.outputs.run_kubernetes_ha_e2e == 'true'
327269 runs-on : ubuntu-latest
328270 steps :
329271 - name : Verify Kubernetes HA E2E jobs
330272 env :
331- BUILD_GATEWAY_RESULT : ${{ needs.build-gateway.result }}
332- BUILD_SUPERVISOR_RESULT : ${{ needs.build-supervisor.result }}
333- BUILD_CLI_RESULT : ${{ needs.build-cli.result }}
273+ BUILD_BINARIES_RESULT : ${{ needs.build-binaries.result }}
274+ BUILD_IMAGES_RESULT : ${{ needs.build-images.result }}
334275 KUBERNETES_HA_E2E_RESULT : ${{ needs.kubernetes-ha-e2e.result }}
335276 run : |
336277 set -euo pipefail
337278 failed=0
338279 for item in \
339- "build-gateway:$BUILD_GATEWAY_RESULT" \
340- "build-supervisor:$BUILD_SUPERVISOR_RESULT" \
341- "build-cli:$BUILD_CLI_RESULT" \
280+ "build-binaries:$BUILD_BINARIES_RESULT" \
281+ "build-images:$BUILD_IMAGES_RESULT" \
342282 "kubernetes-ha-e2e:$KUBERNETES_HA_E2E_RESULT"; do
343283 name="${item%%:*}"
344284 result="${item#*:}"
@@ -351,21 +291,21 @@ jobs:
351291
352292 kubernetes-credential-drivers-e2e-result :
353293 name : Kubernetes Credential Drivers E2E result
354- needs : [pr_metadata, build-gateway , build-supervisor , kubernetes-credential-drivers-e2e]
294+ needs : [pr_metadata, build-binaries , build-images , kubernetes-credential-drivers-e2e]
355295 if : always() && needs.pr_metadata.outputs.should_run == 'true' && needs.pr_metadata.outputs.run_kubernetes_credential_drivers_e2e == 'true'
356296 runs-on : ubuntu-latest
357297 steps :
358298 - name : Verify Kubernetes credential drivers E2E jobs
359299 env :
360- BUILD_GATEWAY_RESULT : ${{ needs.build-gateway .result }}
361- BUILD_SUPERVISOR_RESULT : ${{ needs.build-supervisor .result }}
300+ BUILD_BINARIES_RESULT : ${{ needs.build-binaries .result }}
301+ BUILD_IMAGES_RESULT : ${{ needs.build-images .result }}
362302 KUBERNETES_CREDENTIAL_DRIVERS_E2E_RESULT : ${{ needs.kubernetes-credential-drivers-e2e.result }}
363303 run : |
364304 set -euo pipefail
365305 failed=0
366306 for item in \
367- "build-gateway:$BUILD_GATEWAY_RESULT " \
368- "build-supervisor:$BUILD_SUPERVISOR_RESULT " \
307+ "build-binaries:$BUILD_BINARIES_RESULT " \
308+ "build-images:$BUILD_IMAGES_RESULT " \
369309 "kubernetes-credential-drivers-e2e:$KUBERNETES_CREDENTIAL_DRIVERS_E2E_RESULT"; do
370310 name="${item%%:*}"
371311 result="${item#*:}"
0 commit comments