@@ -124,15 +124,28 @@ jobs:
124124 filter : ${{ github.ref == 'refs/heads/main' && 'tree:0' || '' }}
125125 - uses : ./tools/github-actions/setup-deps
126126
127- - name : Build EG Multiarch Binaries
128- run : make build-multiarch PLATFORMS="linux_amd64 linux_arm64"
127+ # Build both linux/amd64 and linux/arm64 on main (needed for multi-arch image publish),
128+ # and only linux/amd64 on PRs and release branches.
129+ - name : Build EG Binaries
130+ run : make build-multiarch BINS="envoy-gateway" PLATFORMS="${{ github.ref == 'refs/heads/main' && 'linux_amd64 linux_arm64' || 'linux_amd64' }}"
129131
130132 - name : Upload EG Binaries
131133 uses : actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
132134 with :
133135 name : envoy-gateway
134136 path : bin/
135137
138+ build-egctl :
139+ runs-on : ubuntu-latest
140+ needs : [changes, lint, gen-check, license-check, coverage-test]
141+ if : ${{ github.event_name != 'pull_request' || needs.changes.outputs.run_test_workflow == 'true' }}
142+ steps :
143+ - uses : actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
144+ - uses : ./tools/github-actions/setup-deps
145+
146+ - name : Build egctl Binary
147+ run : make build BINS="egctl" PLATFORM="linux_amd64"
148+
136149 conformance-test :
137150 runs-on : ubuntu-latest
138151 needs :
@@ -179,9 +192,7 @@ jobs:
179192 path : bin/
180193
181194 - name : Give Privileges To EG Binaries
182- run : |
183- chmod +x bin/linux/amd64/envoy-gateway
184- chmod +x bin/linux/arm64/envoy-gateway
195+ run : chmod +x bin/linux/*/envoy-gateway
185196
186197 # conformance
187198 - name : Run Standard Conformance Tests
@@ -194,6 +205,7 @@ jobs:
194205 # set ACTIONS_STEP_DEBUG to true if context runner.debug is '1',
195206 # which means to dump the current state when there's a case failed.
196207 ACTIONS_STEP_DEBUG : ${{ runner.debug == '1' }}
208+ SKIP_GO_BUILD : " true"
197209 run : make conformance
198210
199211 e2e-test :
@@ -238,9 +250,7 @@ jobs:
238250 path : bin/
239251
240252 - name : Give Privileges To EG Binaries
241- run : |
242- chmod +x bin/linux/amd64/envoy-gateway
243- chmod +x bin/linux/arm64/envoy-gateway
253+ run : chmod +x bin/linux/*/envoy-gateway
244254
245255 # E2E
246256 - name : Run E2E Tests
@@ -260,6 +270,7 @@ jobs:
260270 # set ACTIONS_STEP_DEBUG to true if context runner.debug is '1',
261271 # which means to dump the current state when there's a case failed.
262272 ACTIONS_STEP_DEBUG : ${{ runner.debug == '1' }}
273+ SKIP_GO_BUILD : " true"
263274 run : make e2e
264275
265276 benchmark-test :
@@ -274,6 +285,14 @@ jobs:
274285 - uses : actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
275286 - uses : ./tools/github-actions/setup-deps
276287
288+ - name : Download EG Binaries
289+ uses : actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1
290+ with :
291+ name : envoy-gateway
292+ path : bin/
293+
294+ - name : Give Privileges To EG Binaries
295+ run : chmod +x bin/linux/*/envoy-gateway
277296
278297 # Benchmark
279298 - name : Run Benchmark tests
@@ -287,6 +306,7 @@ jobs:
287306 BENCHMARK_MEMORY_LIMITS : 2000Mi
288307 BENCHMARK_REPORT_DIR : benchmark_report
289308 BENCHMARK_RENDER_PNG : " false"
309+ SKIP_GO_BUILD : " true"
290310 run : make benchmark
291311
292312 - name : Upload Benchmark report
@@ -304,10 +324,21 @@ jobs:
304324 steps :
305325 - uses : actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
306326 - uses : ./tools/github-actions/setup-deps
327+
328+ - name : Download EG Binaries
329+ uses : actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1
330+ with :
331+ name : envoy-gateway
332+ path : bin/
333+
334+ - name : Give Privileges To EG Binaries
335+ run : chmod +x bin/linux/*/envoy-gateway
336+
307337 - name : Resilience Test
308338 env :
309339 IMAGE_PULL_POLICY : IfNotPresent
310340 CUSTOM_CNI : " true"
341+ SKIP_GO_BUILD : " true"
311342 run : make resilience
312343
313344 publish :
@@ -325,9 +356,7 @@ jobs:
325356 path : bin/
326357
327358 - name : Give Privileges To EG Binaries
328- run : |
329- chmod +x bin/linux/amd64/envoy-gateway
330- chmod +x bin/linux/arm64/envoy-gateway
359+ run : chmod +x bin/linux/*/envoy-gateway
331360
332361 # build and push image
333362 - name : Login to DockerHub
@@ -363,6 +392,7 @@ jobs:
363392 - license-check
364393 - coverage-test
365394 - build
395+ - build-egctl
366396 - conformance-test
367397 - e2e-test
368398 - benchmark-test
0 commit comments