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
1823defaults :
1924 run :
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