4141 codegen : ${{ steps.changed-files.outputs.codegen_any_modified == 'true' }}
4242 lint : ${{ steps.changed-files.outputs.lint_any_modified == 'true' }}
4343 ui : ${{ steps.changed-files.outputs.ui_any_modified == 'true' }}
44- runs-on : ubuntu-24.04
44+ runs-on : ubuntu-latest
4545 steps :
4646 - uses : actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
4747 with :
@@ -126,14 +126,11 @@ jobs:
126126 name : Unit Tests
127127 needs : [ changed-files ]
128128 if : ${{ needs.changed-files.outputs.tests == 'true' }}
129- runs-on : ubuntu-24.04
129+ runs-on : ubuntu-latest
130130 timeout-minutes : 10
131131 steps :
132132 - uses : actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
133- - uses : actions/setup-go@0c52d547c9bc32b1aa3301fd7a9cb496313a4491 # v5.0.0
134- with :
135- go-version : " 1.24"
136- cache : true
133+ - uses : ./.github/actions/setup-go
137134 - run : make test STATIC_FILES=false GOTEST='go test -p 20 -covermode=atomic -coverprofile=coverage.out'
138135 - name : Upload coverage report
139136 # engineers just ignore this in PRs, so lets not even run it
@@ -147,14 +144,14 @@ jobs:
147144 tests-windows :
148145 name : Windows Unit Tests
149146 needs : [ changed-files ]
150- if : ${{ needs.changed-files.outputs.tests == 'true' }}
147+ if : false # Disabled: godebug fips140=auto requires Red Hat go-toolset, which is not available on Windows
151148 runs-on : windows-2022
152149 timeout-minutes : 20
153150 steps :
154151 - uses : actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
155152 - uses : actions/setup-go@0c52d547c9bc32b1aa3301fd7a9cb496313a4491 # v5.0.0
156153 with :
157- go-version : " 1.24 "
154+ go-version-file : go.mod
158155 cache : true
159156 # windows run does not use makefile target because it does a lot more than just testing and is not cross-platform compatible
160157 - run : go test -p 20 -covermode=atomic -coverprofile='coverage.out' $(go list ./... | select-string -Pattern 'github.com/argoproj/argo-workflows/v3/workflow/controller' , 'github.com/argoproj/argo-workflows/v3/server' -NotMatch)
@@ -172,7 +169,7 @@ jobs:
172169 argo-images :
173170 name : argo-images
174171 # needs: [ lint ]
175- runs-on : ubuntu-24.04
172+ runs-on : ubuntu-latest
176173 timeout-minutes : 10
177174 strategy :
178175 fail-fast : false
@@ -203,7 +200,7 @@ jobs:
203200 name : E2E Tests
204201 needs : [ changed-files, argo-images ]
205202 if : ${{ needs.changed-files.outputs.e2e-tests == 'true' }}
206- runs-on : ubuntu-24.04
203+ runs-on : ubuntu-latest
207204 # These tests usually finish in ~25m, but occasionally they take much longer due to resource
208205 # contention on the runner, which we have no control over.
209206 timeout-minutes : 60
@@ -268,10 +265,7 @@ jobs:
268265 - name : Install socat (needed by Kubernetes)
269266 run : sudo apt-get -y install socat
270267 - uses : actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
271- - uses : actions/setup-go@0c52d547c9bc32b1aa3301fd7a9cb496313a4491 # v5.0.0
272- with :
273- go-version : " 1.24"
274- cache : true
268+ - uses : ./.github/actions/setup-go
275269 - name : Install Java for the SDK
276270 if : ${{matrix.test == 'test-java-sdk'}}
277271 uses : actions/setup-java@387ac29b308b003ca37ba93a6cab5eb57c8f5f93 # v4.0.0
@@ -386,7 +380,7 @@ jobs:
386380 name : E2E Tests - Composite result
387381 needs : [ e2e-tests ]
388382 if : ${{ always() }}
389- runs-on : ubuntu-24.04
383+ runs-on : ubuntu-latest
390384 steps :
391385 - run : |
392386 result="${{ needs.e2e-tests.result }}"
@@ -401,16 +395,13 @@ jobs:
401395 name : Codegen
402396 needs : [ changed-files ]
403397 if : ${{ needs.changed-files.outputs.codegen == 'true' }}
404- runs-on : ubuntu-24.04
398+ runs-on : ubuntu-latest
405399 timeout-minutes : 20
406400 env :
407401 GOPATH : /home/runner/go
408402 steps :
409403 - uses : actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
410- - uses : actions/setup-go@0c52d547c9bc32b1aa3301fd7a9cb496313a4491 # v5.0.0
411- with :
412- go-version : " 1.24"
413- cache : true
404+ - uses : ./.github/actions/setup-go
414405 - name : Install protoc
415406 run : |
416407 set -eux -o pipefail
@@ -438,16 +429,13 @@ jobs:
438429 name : Lint
439430 needs : [ changed-files ]
440431 if : ${{ needs.changed-files.outputs.lint == 'true' }}
441- runs-on : ubuntu-24.04
432+ runs-on : ubuntu-latest
442433 timeout-minutes : 15 # must be strictly greater than the timeout in .golangci.yml
443434 env :
444435 GOPATH : /home/runner/go
445436 steps :
446437 - uses : actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
447- - uses : actions/setup-go@0c52d547c9bc32b1aa3301fd7a9cb496313a4491 # v5.0.0
448- with :
449- go-version : " 1.24"
450- cache : true
438+ - uses : ./.github/actions/setup-go
451439 - run : make lint STATIC_FILES=false
452440 # if lint makes changes that are not in the PR, fail the build
453441 - name : Check if lint made changes not present in the PR
@@ -460,7 +448,7 @@ jobs:
460448 name : UI
461449 needs : [ changed-files ]
462450 if : ${{ needs.changed-files.outputs.ui == 'true' }}
463- runs-on : ubuntu-24.04
451+ runs-on : ubuntu-latest
464452 timeout-minutes : 6
465453 env :
466454 NODE_OPTIONS : --max-old-space-size=4096
0 commit comments