Skip to content

Commit 745bfa8

Browse files
authored
Always build the binary when we force a rebuild (#7981)
1 parent bb9e391 commit 745bfa8

File tree

1 file changed

+18
-13
lines changed

1 file changed

+18
-13
lines changed

.github/workflows/ci.yml

Lines changed: 18 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,11 @@ on:
1414
description: "Force rebuild"
1515
required: false
1616
default: false
17+
run_tests:
18+
type: boolean
19+
description: "Run unit & e2e tests"
20+
required: false
21+
default: true
1722

1823
defaults:
1924
run:
@@ -35,7 +40,7 @@ jobs:
3540
id-token: write
3641
outputs:
3742
docs_only: ${{ github.event.pull_request && steps.docs.outputs.docs_only == 'true' }}
38-
k8s_latest: "1.32.0"
43+
k8s_latest: ${{ steps.vars.outputs.k8s_latest }}
3944
go_path: ${{ steps.vars.outputs.go_path }}
4045
go_code_md5: ${{ steps.vars.outputs.go_code_md5 }}
4146
binary_cache_hit: ${{ steps.binary-cache.outputs.cache-hit }}
@@ -215,25 +220,25 @@ jobs:
215220
uses: actions/setup-go@d35c59abb061a4a6fb18e82ac0862c26744d6ab5 # v5.5.0
216221
with:
217222
go-version-file: go.mod
218-
if: ${{ needs.checks.outputs.binary_cache_hit != 'true' }}
223+
if: ${{ needs.checks.outputs.binary_cache_hit != 'true' && (inputs.run_tests && inputs.run_tests || true) }}
219224

220225
- name: Run Tests
221226
run: make cover
222-
if: ${{ needs.checks.outputs.binary_cache_hit != 'true' }}
227+
if: ${{ needs.checks.outputs.binary_cache_hit != 'true' && (inputs.run_tests && inputs.run_tests || true) }}
223228

224229
- name: Upload coverage to Codecov
225230
uses: codecov/codecov-action@18283e04ce6e62d37312384ff67231eb8fd56d24 # v5.4.3
226231
with:
227232
files: ./coverage.txt
228233
token: ${{ secrets.CODECOV_TOKEN }} # required
229-
if: ${{ needs.checks.outputs.binary_cache_hit != 'true' }}
234+
if: ${{ needs.checks.outputs.binary_cache_hit != 'true' && (inputs.run_tests && inputs.run_tests || true) }}
230235

231236
- name: Run static check
232237
uses: dominikh/staticcheck-action@024238d2898c874f26d723e7d0ff4308c35589a2 # v1.4.0
233238
with:
234239
version: "v0.6.0"
235240
install-go: false
236-
if: ${{ needs.checks.outputs.binary_cache_hit != 'true' }}
241+
if: ${{ needs.checks.outputs.binary_cache_hit != 'true' && (inputs.run_tests && inputs.run_tests || true) }}
237242

238243
binaries:
239244
name: Build Binaries
@@ -253,7 +258,7 @@ jobs:
253258
uses: actions/setup-go@d35c59abb061a4a6fb18e82ac0862c26744d6ab5 # v5.5.0
254259
with:
255260
go-version-file: go.mod
256-
if: ${{ needs.checks.outputs.binary_cache_hit != 'true' }}
261+
if: ${{ (inputs.force && inputs.force || false) || needs.checks.outputs.binary_cache_hit != 'true' }}
257262

258263
- name: Build binaries
259264
uses: goreleaser/goreleaser-action@9c156ee8a17a598857849441385a2041ef570552 # v6.3.0
@@ -272,14 +277,14 @@ jobs:
272277
AWS_NAP_WAF_DOS_PRODUCT_CODE: ${{ secrets.AWS_NAP_WAF_DOS_PRODUCT_CODE }}
273278
AWS_NAP_WAF_DOS_PUB_KEY: ${{ secrets.AWS_NAP_WAF_DOS_PUB_KEY }}
274279
GORELEASER_CURRENT_TAG: "v${{ needs.checks.outputs.ic_version }}"
275-
if: ${{ needs.checks.outputs.binary_cache_hit != 'true' }}
280+
if: ${{ (inputs.force && inputs.force || false) || needs.checks.outputs.binary_cache_hit != 'true' }}
276281

277282
- name: Store Artifacts in Cache
278283
uses: actions/cache@5a3ec84eff668545956fd18022155c47e93e2684 # v4.2.3
279284
with:
280285
path: ${{ github.workspace }}/dist
281286
key: nginx-ingress-${{ needs.checks.outputs.go_code_md5 }}
282-
if: ${{ needs.checks.outputs.binary_cache_hit != 'true' }}
287+
if: ${{ (inputs.force && inputs.force || false) || needs.checks.outputs.binary_cache_hit != 'true' }}
283288

284289
build-docker:
285290
name: Build Docker OSS
@@ -373,7 +378,7 @@ jobs:
373378
if: ${{ inputs.force || (needs.checks.outputs.forked_workflow == 'true' && needs.checks.outputs.docs_only == 'false') || (needs.checks.outputs.forked_workflow == 'false' && needs.checks.outputs.stable_image_exists != 'true' && needs.checks.outputs.docs_only == 'false') }}
374379

375380
helm-tests:
376-
if: ${{ needs.checks.outputs.docs_only != 'true' }}
381+
if: ${{ needs.checks.outputs.docs_only != 'true' && (inputs.run_tests && inputs.run_tests || true) }}
377382
name: Helm Tests ${{ matrix.base-os }}
378383
runs-on: ubuntu-22.04
379384
needs: [checks, binaries, build-docker, build-docker-plus]
@@ -512,7 +517,7 @@ jobs:
512517
if: ${{ steps.stable_exists.outputs.exists != 'true' && needs.checks.outputs.docs_only == 'false' }}
513518

514519
setup-matrix:
515-
if: ${{ inputs.force || needs.checks.outputs.docs_only != 'true' }}
520+
if: ${{ inputs.force || (inputs.run_tests && inputs.run_tests || true) || needs.checks.outputs.docs_only != 'true' }}
516521
name: Setup Matrix for Smoke Tests
517522
runs-on: ubuntu-22.04
518523
needs: [binaries, checks]
@@ -574,7 +579,7 @@ jobs:
574579
if: ${{ steps.check-image.outcome == 'failure' && needs.checks.outputs.docs_only == 'false' }}
575580

576581
smoke-tests-oss:
577-
if: ${{ inputs.force || needs.checks.outputs.docs_only != 'true' }}
582+
if: ${{ inputs.force || (inputs.run_tests && inputs.run_tests || true) || needs.checks.outputs.docs_only != 'true' }}
578583
name: ${{ matrix.images.label }} ${{ matrix.images.image }} ${{ matrix.k8s }} smoke tests
579584
needs:
580585
- checks
@@ -601,7 +606,7 @@ jobs:
601606
k8s-version: ${{ matrix.k8s }}
602607

603608
smoke-tests-plus:
604-
if: ${{ inputs.force || needs.checks.outputs.docs_only != 'true' }}
609+
if: ${{ inputs.force || (inputs.run_tests && inputs.run_tests || true) || needs.checks.outputs.docs_only != 'true' }}
605610
name: ${{ matrix.images.label }} ${{ matrix.images.image }} ${{ matrix.k8s }} smoke tests
606611
needs:
607612
- checks
@@ -628,7 +633,7 @@ jobs:
628633
k8s-version: ${{ matrix.k8s }}
629634

630635
smoke-tests-nap:
631-
if: ${{ inputs.force || needs.checks.outputs.docs_only != 'true' }}
636+
if: ${{ inputs.force || (inputs.run_tests && inputs.run_tests || true) || needs.checks.outputs.docs_only != 'true' }}
632637
name: ${{ matrix.images.label }} ${{ matrix.images.image }} ${{ matrix.k8s }} smoke tests
633638
needs:
634639
- checks

0 commit comments

Comments
 (0)