@@ -120,7 +120,7 @@ jobs:
120
120
update-flake :
121
121
needs : changes
122
122
if : needs.changes.outputs.gomod == 'true'
123
- runs-on : ${{ github.repository_owner == 'coder' && 'buildjet-8vcpu- ubuntu-2204 ' || 'ubuntu-latest' }}
123
+ runs-on : ${{ github.repository_owner == 'coder' && 'depot- ubuntu-22.04-8 ' || 'ubuntu-latest' }}
124
124
steps :
125
125
- name : Checkout
126
126
uses : actions/checkout@v4
@@ -139,7 +139,7 @@ jobs:
139
139
lint :
140
140
needs : changes
141
141
if : needs.changes.outputs.offlinedocs-only == 'false' || needs.changes.outputs.ci == 'true' || github.ref == 'refs/heads/main'
142
- runs-on : ${{ github.repository_owner == 'coder' && 'buildjet-8vcpu- ubuntu-2204 ' || 'ubuntu-latest' }}
142
+ runs-on : ${{ github.repository_owner == 'coder' && 'depot- ubuntu-22.04-8 ' || 'ubuntu-latest' }}
143
143
steps :
144
144
- name : Checkout
145
145
uses : actions/checkout@v4
@@ -160,7 +160,7 @@ jobs:
160
160
echo "LINT_CACHE_DIR=$dir" >> $GITHUB_ENV
161
161
162
162
- name : golangci-lint cache
163
- uses : buildjet /cache@v4
163
+ uses : actions /cache@v4
164
164
with :
165
165
path : |
166
166
${{ env.LINT_CACHE_DIR }}
@@ -170,7 +170,7 @@ jobs:
170
170
171
171
# Check for any typos
172
172
- name : Check for typos
173
- uses : crate-ci/typos@v1.22.7
173
+ uses : crate-ci/typos@v1.22.9
174
174
with :
175
175
config : .github/workflows/typos.toml
176
176
@@ -191,9 +191,15 @@ jobs:
191
191
run : |
192
192
make --output-sync=line -j lint
193
193
194
+ - name : Check workflow files
195
+ run : |
196
+ bash <(curl https://raw.githubusercontent.com/rhysd/actionlint/main/scripts/download-actionlint.bash) 1.6.22
197
+ ./actionlint -color -shellcheck= -ignore "set-output"
198
+ shell : bash
199
+
194
200
gen :
195
201
timeout-minutes : 8
196
- runs-on : ${{ github.repository_owner == 'coder' && 'buildjet-8vcpu- ubuntu-2204 ' || 'ubuntu-latest' }}
202
+ runs-on : ${{ github.repository_owner == 'coder' && 'depot- ubuntu-22.04-8 ' || 'ubuntu-latest' }}
197
203
needs : changes
198
204
if : needs.changes.outputs.docs-only == 'false' || needs.changes.outputs.ci == 'true' || github.ref == 'refs/heads/main'
199
205
steps :
@@ -243,7 +249,7 @@ jobs:
243
249
fmt :
244
250
needs : changes
245
251
if : needs.changes.outputs.offlinedocs-only == 'false' || needs.changes.outputs.ci == 'true' || github.ref == 'refs/heads/main'
246
- runs-on : ${{ github.repository_owner == 'coder' && 'buildjet-8vcpu- ubuntu-2204 ' || 'ubuntu-latest' }}
252
+ runs-on : ${{ github.repository_owner == 'coder' && 'depot- ubuntu-22.04-8 ' || 'ubuntu-latest' }}
247
253
timeout-minutes : 7
248
254
steps :
249
255
- name : Checkout
@@ -254,12 +260,9 @@ jobs:
254
260
- name : Setup Node
255
261
uses : ./.github/actions/setup-node
256
262
263
+ # Use default Go version
257
264
- name : Setup Go
258
- uses : buildjet/setup-go@v5
259
- with :
260
- # This doesn't need caching. It's super fast anyways!
261
- cache : false
262
- go-version : 1.21.9
265
+ uses : ./.github/actions/setup-go
263
266
264
267
- name : Install shfmt
265
268
run : go install mvdan.cc/sh/v3/cmd/shfmt@v3.7.0
@@ -273,7 +276,7 @@ jobs:
273
276
run : ./scripts/check_unstaged.sh
274
277
275
278
test-go :
276
- runs-on : ${{ matrix.os == 'ubuntu-latest' && github.repository_owner == 'coder' && 'buildjet-4vcpu- ubuntu-2204 ' || matrix.os == 'macos-latest' && github.repository_owner == 'coder' && 'macos-latest-xlarge' || matrix.os == 'windows-2022' && github.repository_owner == 'coder' && 'windows-latest-16-cores' || matrix.os }}
279
+ runs-on : ${{ matrix.os == 'ubuntu-latest' && github.repository_owner == 'coder' && 'depot- ubuntu-22.04-4 ' || matrix.os == 'macos-latest' && github.repository_owner == 'coder' && 'macos-latest-xlarge' || matrix.os == 'windows-2022' && github.repository_owner == 'coder' && 'windows-latest-16-cores' || matrix.os }}
277
280
needs : changes
278
281
if : needs.changes.outputs.go == 'true' || needs.changes.outputs.ci == 'true' || github.ref == 'refs/heads/main'
279
282
timeout-minutes : 20
@@ -329,7 +332,7 @@ jobs:
329
332
api-key : ${{ secrets.DATADOG_API_KEY }}
330
333
331
334
test-go-pg :
332
- runs-on : ${{ github.repository_owner == 'coder' && 'buildjet-8vcpu- ubuntu-2204 ' || 'ubuntu-latest' }}
335
+ runs-on : ${{ github.repository_owner == 'coder' && 'depot- ubuntu-22.04-8 ' || 'ubuntu-latest' }}
333
336
needs :
334
337
- changes
335
338
if : needs.changes.outputs.go == 'true' || needs.changes.outputs.ci == 'true' || github.ref == 'refs/heads/main'
@@ -351,8 +354,50 @@ jobs:
351
354
uses : ./.github/actions/setup-tf
352
355
353
356
- name : Test with PostgreSQL Database
357
+ env :
358
+ POSTGRES_VERSION : " 13"
359
+ TS_DEBUG_DISCO : " true"
360
+ run : |
361
+ make test-postgres
362
+
363
+ - name : Upload test stats to Datadog
364
+ timeout-minutes : 1
365
+ continue-on-error : true
366
+ uses : ./.github/actions/upload-datadog
367
+ if : success() || failure()
368
+ with :
369
+ api-key : ${{ secrets.DATADOG_API_KEY }}
370
+
371
+ # NOTE: this could instead be defined as a matrix strategy, but we want to
372
+ # only block merging if tests on postgres 13 fail. Using a matrix strategy
373
+ # here makes the check in the above `required` job rather complicated.
374
+ test-go-pg-16 :
375
+ runs-on : ${{ github.repository_owner == 'coder' && 'depot-ubuntu-22.04-8' || 'ubuntu-latest' }}
376
+ needs :
377
+ - changes
378
+ if : needs.changes.outputs.go == 'true' || needs.changes.outputs.ci == 'true' || github.ref == 'refs/heads/main'
379
+ # This timeout must be greater than the timeout set by `go test` in
380
+ # `make test-postgres` to ensure we receive a trace of running
381
+ # goroutines. Setting this to the timeout +5m should work quite well
382
+ # even if some of the preceding steps are slow.
383
+ timeout-minutes : 25
384
+ steps :
385
+ - name : Checkout
386
+ uses : actions/checkout@v4
387
+ with :
388
+ fetch-depth : 1
389
+
390
+ - name : Setup Go
391
+ uses : ./.github/actions/setup-go
392
+
393
+ - name : Setup Terraform
394
+ uses : ./.github/actions/setup-tf
395
+
396
+ - name : Test with PostgreSQL Database
397
+ env :
398
+ POSTGRES_VERSION : " 16"
399
+ TS_DEBUG_DISCO : " true"
354
400
run : |
355
- export TS_DEBUG_DISCO=true
356
401
make test-postgres
357
402
358
403
- name : Upload test stats to Datadog
@@ -364,7 +409,7 @@ jobs:
364
409
api-key : ${{ secrets.DATADOG_API_KEY }}
365
410
366
411
test-go-race :
367
- runs-on : ${{ github.repository_owner == 'coder' && 'buildjet-8vcpu- ubuntu-2204 ' || 'ubuntu-latest' }}
412
+ runs-on : ${{ github.repository_owner == 'coder' && 'depot- ubuntu-22.04-8 ' || 'ubuntu-latest' }}
368
413
needs : changes
369
414
if : needs.changes.outputs.go == 'true' || needs.changes.outputs.ci == 'true' || github.ref == 'refs/heads/main'
370
415
timeout-minutes : 25
@@ -399,7 +444,7 @@ jobs:
399
444
# These tests are skipped in the main go test jobs because they require root
400
445
# and mess with networking.
401
446
test-go-tailnet-integration :
402
- runs-on : ${{ github.repository_owner == 'coder' && 'buildjet-8vcpu- ubuntu-2204 ' || 'ubuntu-latest' }}
447
+ runs-on : ${{ github.repository_owner == 'coder' && 'depot- ubuntu-22.04-8 ' || 'ubuntu-latest' }}
403
448
needs : changes
404
449
# Unnecessary to run on main for now
405
450
if : needs.changes.outputs.tailnet-integration == 'true' || needs.changes.outputs.ci == 'true'
@@ -421,7 +466,7 @@ jobs:
421
466
run : make test-tailnet-integration
422
467
423
468
test-js :
424
- runs-on : ${{ github.repository_owner == 'coder' && 'buildjet-8vcpu- ubuntu-2204 ' || 'ubuntu-latest' }}
469
+ runs-on : ${{ github.repository_owner == 'coder' && 'depot- ubuntu-22.04-8 ' || 'ubuntu-latest' }}
425
470
needs : changes
426
471
if : needs.changes.outputs.ts == 'true' || needs.changes.outputs.ci == 'true' || github.ref == 'refs/heads/main'
427
472
timeout-minutes : 20
@@ -438,7 +483,7 @@ jobs:
438
483
working-directory : site
439
484
440
485
test-e2e :
441
- runs-on : ${{ github.repository_owner == 'coder' && 'buildjet-16vcpu- ubuntu-2204 ' || 'ubuntu-latest' }}
486
+ runs-on : ${{ github.repository_owner == 'coder' && 'depot- ubuntu-22.04-16 ' || 'ubuntu-latest' }}
442
487
needs : changes
443
488
if : needs.changes.outputs.go == 'true' || needs.changes.outputs.ts == 'true' || needs.changes.outputs.ci == 'true' || github.ref == 'refs/heads/main'
444
489
timeout-minutes : 20
@@ -582,7 +627,7 @@ jobs:
582
627
offlinedocs :
583
628
name : offlinedocs
584
629
needs : changes
585
- runs-on : ${{ github.repository_owner == 'coder' && 'buildjet-8vcpu- ubuntu-2204 ' || 'ubuntu-latest' }}
630
+ runs-on : ${{ github.repository_owner == 'coder' && 'depot- ubuntu-22.04-8 ' || 'ubuntu-latest' }}
586
631
if : needs.changes.outputs.offlinedocs == 'true' || needs.changes.outputs.ci == 'true' || needs.changes.outputs.docs == 'true'
587
632
588
633
steps :
@@ -680,11 +725,10 @@ jobs:
680
725
681
726
build :
682
727
# This builds and publishes ghcr.io/coder/coder-preview:main for each commit
683
- # to main branch. We are only building this for amd64 platform. (>95% pulls
684
- # are for amd64)
728
+ # to main branch.
685
729
needs : changes
686
730
if : github.ref == 'refs/heads/main' && needs.changes.outputs.docs-only == 'false' && !github.event.pull_request.head.repo.fork
687
- runs-on : ${{ github.repository_owner == 'coder' && 'buildjet-8vcpu- ubuntu-2204 ' || 'ubuntu-latest' }}
731
+ runs-on : ${{ github.repository_owner == 'coder' && 'depot- ubuntu-22.04-8 ' || 'ubuntu-latest' }}
688
732
env :
689
733
DOCKER_CLI_EXPERIMENTAL : " enabled"
690
734
outputs :
@@ -890,7 +934,7 @@ jobs:
890
934
# runs sqlc-vet to ensure all queries are valid. This catches any mistakes
891
935
# in migrations or sqlc queries that makes a query unable to be prepared.
892
936
sqlc-vet :
893
- runs-on : ${{ github.repository_owner == 'coder' && 'buildjet-8vcpu- ubuntu-2204 ' || 'ubuntu-latest' }}
937
+ runs-on : ${{ github.repository_owner == 'coder' && 'depot- ubuntu-22.04-8 ' || 'ubuntu-latest' }}
894
938
needs : changes
895
939
if : needs.changes.outputs.db == 'true' || needs.changes.outputs.ci == 'true' || github.ref == 'refs/heads/main'
896
940
steps :
0 commit comments