@@ -9,19 +9,36 @@ permissions:
99 contents : read
1010
1111jobs :
12+ go-version :
13+ name : Check Go version consistency
14+ runs-on : ubuntu-latest
15+ steps :
16+ - name : Harden Runner
17+ uses : step-security/harden-runner@9af89fc71515a100421586dfdb3dc9c984fbf411 # v2.19.4
18+ with :
19+ egress-policy : audit
20+
21+ - name : checkout
22+ uses : actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
23+ with :
24+ persist-credentials : false
25+
26+ - name : Check Go version consistency
27+ run : make check-go-version
28+
1229 pr-short-tests :
1330 name : Run short go tests
1431 runs-on : ubuntu-latest
1532 steps :
1633 - name : Harden Runner
17- uses : step-security/harden-runner@9af89fc71515a100421586dfdb3dc9c984fbf411 # v2.19.4
34+ uses : step-security/harden-runner@bf7454d06d71f1098171f2acdf0cd4708d7b5920 # v2.20.0
1835 with :
1936 egress-policy : audit
2037
2138 - name : checkout
22- uses : actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6 .0.3
39+ uses : actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7 .0.0
2340
24- - uses : jdx/mise-action@dba19683ed58901619b14f395a24841710cb4925 # v4.1 .0
41+ - uses : jdx/mise-action@e6a8b3978addb5a52f2b4cd9d91eafa7f0ab959d # v4.2 .0
2542 with :
2643 version : 2026.6.1
2744
@@ -30,30 +47,30 @@ jobs:
3047
3148 - name : Annotate tests
3249 if : always()
33- uses : guyarb/golang-test-annoations@2941118d7ef622b1b3771d1ff6eae9e90659eb26 # v0.8 .0
50+ uses : guyarb/golang-test-annoations@96fc379b171c49932041d6c789e73331a7bdeec1 # v0.9 .0
3451 with :
3552 test-results : test.json
3653
3754 # This should not be made a mandatory test
3855 # It is only used to make us aware of any potential security failure that
3956 # should trigger a bump of the image in build/.
4057 pr-vuln-scan :
41- name : Build image and scan it against known vulnerabilities
58+ name : Trivy scan # Builds image and scan it against known vulnerabilities
4259 runs-on : ubuntu-latest
4360 steps :
4461 - name : Harden Runner
45- uses : step-security/harden-runner@9af89fc71515a100421586dfdb3dc9c984fbf411 # v2.19.4
62+ uses : step-security/harden-runner@bf7454d06d71f1098171f2acdf0cd4708d7b5920 # v2.20.0
4663 with :
4764 egress-policy : audit
4865
49- - uses : actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6 .0.3
66+ - uses : actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7 .0.0
5067
51- - uses : jdx/mise-action@dba19683ed58901619b14f395a24841710cb4925 # v4.1 .0
68+ - uses : jdx/mise-action@e6a8b3978addb5a52f2b4cd9d91eafa7f0ab959d # v4.2 .0
5269 with :
5370 version : 2026.6.1
5471
5572 - name : Set up Docker Buildx
56- uses : docker/setup-buildx-action@d7f5e7f509e45cec5c76c4d5afdd7de93d0b3df5 # v4.1 .0
73+ uses : docker/setup-buildx-action@bb05f3f5519dd87d3ba754cc423b652a5edd6d2c # v4.2 .0
5774
5875 - name : Build image
5976 run : make dev-image
6885 vuln-type : ' os,library'
6986 severity : ' CRITICAL,HIGH'
7087
88+ e2e-test-matrix :
89+ name : Generate e2e test matrix
90+ runs-on : ubuntu-latest
91+ outputs :
92+ testnames : ${{ steps.matrix.outputs.testnames }}
93+ steps :
94+ - name : Harden Runner
95+ uses : step-security/harden-runner@bf7454d06d71f1098171f2acdf0cd4708d7b5920 # v2.20.0
96+ with :
97+ egress-policy : audit
98+
99+ - uses : actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
100+
101+ - uses : jdx/mise-action@e6a8b3978addb5a52f2b4cd9d91eafa7f0ab959d # v4.2.0
102+ with :
103+ version : 2026.6.1
104+
105+ - name : Generate matrix
106+ id : matrix
107+ run : |
108+ testnames=$(go test -list '^Test' ./tests/kind | jq -R -s -c 'split("\n") | map(select(startswith("Test")))')
109+ echo "testnames=${testnames}" >> "${GITHUB_OUTPUT}"
110+
71111 # This ensures the latest code works with the manifests built from tree.
72112 # It is useful for two things:
73113 # - Test manifests changes (obviously), ensuring they don't break existing clusters
@@ -76,37 +116,27 @@ jobs:
76116 # - Test some features are working as expected.
77117 # Helm charts are _trailing_ releases, while manifests are done during development.
78118 e2e-manifests :
79- name : End-to-End test with kured with code and manifests from HEAD
119+ name : e2e # End-to-End test with kured with code and manifests from HEAD
80120 runs-on : ubuntu-latest
121+ needs : e2e-test-matrix
81122 strategy :
82123 fail-fast : false
83124 matrix :
84- testname :
85- - " TestE2EWithCommand/current"
86- - " TestE2EWithCommand/previous"
87- - " TestE2EWithSignal/current"
88- - " TestE2EWithSignal/previous"
89- - " TestE2EConcurrentWithCommand/current"
90- - " TestE2EConcurrentWithCommand/previous"
91- - " TestE2EConcurrentWithSignal/current"
92- - " TestE2EConcurrentWithSignal/previous"
93- - " TestCordonningIsKept/concurrency1"
94- - " TestCordonningIsKept/concurrency2"
95- - " TestE2EBlocker/podblocker"
125+ testname : ${{ fromJSON(needs.e2e-test-matrix.outputs.testnames) }}
96126 steps :
97127 - name : Harden Runner
98- uses : step-security/harden-runner@9af89fc71515a100421586dfdb3dc9c984fbf411 # v2.19.4
128+ uses : step-security/harden-runner@bf7454d06d71f1098171f2acdf0cd4708d7b5920 # v2.20.0
99129 with :
100130 egress-policy : audit
101131
102- - uses : actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6 .0.3
132+ - uses : actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7 .0.0
103133
104- - uses : jdx/mise-action@dba19683ed58901619b14f395a24841710cb4925 # v4.1 .0
134+ - uses : jdx/mise-action@e6a8b3978addb5a52f2b4cd9d91eafa7f0ab959d # v4.2 .0
105135 with :
106136 version : 2026.6.1
107137
108138 - name : Set up Docker Buildx
109- uses : docker/setup-buildx-action@d7f5e7f509e45cec5c76c4d5afdd7de93d0b3df5 # v4.1 .0
139+ uses : docker/setup-buildx-action@bb05f3f5519dd87d3ba754cc423b652a5edd6d2c # v4.2 .0
110140
111141 - name : Run specific e2e tests
112- run : make e2e-test ARGS="-run ^${{ matrix.testname }}"
142+ run : make e2e-test ARGS="-run ^${{ matrix.testname }}$ "
0 commit comments