Skip to content

Commit 57ca544

Browse files
author
Kris Armstrong
committed
chore(ci): modernize release build pipeline
1 parent eda1e9a commit 57ca544

50 files changed

Lines changed: 2173 additions & 1444 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.clang-format

Lines changed: 4 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,10 @@
11
---
2-
# clang-format configuration for C23 (NOT C++)
3-
# This project uses pure C with C23 standard features.
2+
# clang-format configuration for C23 (NOT C++).
3+
# clang-format uses its C++ parser for C-family languages; keep the C standard
4+
# in compiler flags and avoid unsupported Language/Standard values here.
45
# Reference: https://clang.llvm.org/docs/ClangFormatStyleOptions.html
56

6-
Language: C
77
BasedOnStyle: LLVM
8-
Standard: c23
98

109
# Basic formatting
1110
IndentWidth: 4
@@ -99,13 +98,7 @@ SortIncludes: CaseSensitive
9998
SpaceAfterCStyleCast: false
10099
SpaceAfterLogicalNot: false
101100
SpaceBeforeAssignmentOperators: true
102-
SpaceBeforeParens:
103-
AfterControlStatements: true
104-
AfterForeachMacros: true
105-
AfterFunctionDeclarationName: false
106-
AfterFunctionDefinitionName: false
107-
AfterIfMacros: true
108-
BeforeNonEmptyParentheses: false
101+
SpaceBeforeParens: ControlStatements
109102
SpaceBeforeSquareBrackets: false
110103
SpaceInEmptyBlock: false
111104
SpaceInEmptyParentheses: false
@@ -128,4 +121,3 @@ PenaltyBreakString: 1000
128121
PenaltyExcessCharacter: 1000000
129122
PenaltyReturnTypeOnItsOwnLine: 60
130123
...
131-

.github/workflows/ci.yml

Lines changed: 31 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -24,10 +24,12 @@ jobs:
2424
name: Backend (Go)
2525
runs-on: ubuntu-latest
2626
steps:
27-
- uses: actions/checkout@v6
27+
- uses: actions/checkout@v6.0.2
28+
with:
29+
fetch-depth: 0
2830

2931
- name: Set up Go
30-
uses: actions/setup-go@v6
32+
uses: actions/setup-go@v6.4.0
3133
with:
3234
go-version-file: go.mod
3335
cache: true
@@ -38,11 +40,11 @@ jobs:
3840
- name: Verify dependencies
3941
run: go mod verify
4042

43+
- name: Install golangci-lint
44+
run: go install github.com/golangci/golangci-lint/v2/cmd/golangci-lint@v2.12.1
45+
4146
- name: Run golangci-lint
42-
uses: golangci/golangci-lint-action@v9
43-
with:
44-
version: v2.7.2
45-
args: --timeout=5m
47+
run: golangci-lint run --timeout=5m --new-from-rev=HEAD~1
4648

4749
- name: Run tests
4850
run: go test -v -race -coverprofile=coverage.out -covermode=atomic ./...
@@ -75,10 +77,10 @@ jobs:
7577
run:
7678
working-directory: ui
7779
steps:
78-
- uses: actions/checkout@v6
80+
- uses: actions/checkout@v6.0.2
7981

8082
- name: Set up Node.js
81-
uses: actions/setup-node@v6
83+
uses: actions/setup-node@v6.4.0
8284
with:
8385
node-version: '25'
8486
cache: 'npm'
@@ -97,7 +99,7 @@ jobs:
9799
run: npm run build
98100

99101
- name: Upload frontend build
100-
uses: actions/upload-artifact@v6
102+
uses: actions/upload-artifact@v7.0.1
101103
with:
102104
name: frontend-dist
103105
path: ui/dist/
@@ -110,7 +112,7 @@ jobs:
110112
name: C Lint (C23)
111113
runs-on: ubuntu-latest
112114
steps:
113-
- uses: actions/checkout@v6
115+
- uses: actions/checkout@v6.0.2
114116

115117
- name: Install C23 tools (clang-tidy, cppcheck, bear)
116118
run: |
@@ -215,10 +217,10 @@ jobs:
215217
runs-on: ubuntu-latest
216218

217219
steps:
218-
- uses: actions/checkout@v6
220+
- uses: actions/checkout@v6.0.2
219221

220222
- name: Set up Go
221-
uses: actions/setup-go@v6
223+
uses: actions/setup-go@v6.4.0
222224
with:
223225
go-version-file: go.mod
224226
cache: true
@@ -240,7 +242,7 @@ jobs:
240242
sarif_file: gosec-results.sarif
241243

242244
- name: Set up Node.js
243-
uses: actions/setup-node@v6
245+
uses: actions/setup-node@v6.4.0
244246
with:
245247
node-version: '25'
246248
cache: 'npm'
@@ -280,7 +282,7 @@ jobs:
280282
name: Quality Checks
281283
runs-on: ubuntu-latest
282284
steps:
283-
- uses: actions/checkout@v6
285+
- uses: actions/checkout@v6.0.2
284286

285287
- name: Check for sensitive files
286288
run: |
@@ -339,7 +341,7 @@ jobs:
339341
runs-on: ubuntu-latest
340342

341343
steps:
342-
- uses: actions/checkout@v6
344+
- uses: actions/checkout@v6.0.2
343345

344346
- name: Check for locale files
345347
id: check-locales
@@ -419,16 +421,16 @@ jobs:
419421
goos: darwin
420422
goarch: arm64
421423
steps:
422-
- uses: actions/checkout@v6
424+
- uses: actions/checkout@v6.0.2
423425

424426
- name: Set up Go
425-
uses: actions/setup-go@v6
427+
uses: actions/setup-go@v6.4.0
426428
with:
427429
go-version-file: go.mod
428430
cache: true
429431

430432
- name: Download frontend build
431-
uses: actions/download-artifact@v7
433+
uses: actions/download-artifact@v8.0.1
432434
with:
433435
name: frontend-dist
434436
path: ui/dist/
@@ -462,7 +464,7 @@ jobs:
462464
./bin/stem-${{ matrix.os }}-${{ matrix.arch }} version || true
463465
464466
- name: Upload artifact
465-
uses: actions/upload-artifact@v6
467+
uses: actions/upload-artifact@v7.0.1
466468
with:
467469
name: stem-${{ matrix.os }}-${{ matrix.arch }}
468470
path: bin/stem-${{ matrix.os }}-${{ matrix.arch }}
@@ -478,23 +480,23 @@ jobs:
478480
timeout-minutes: 15
479481

480482
steps:
481-
- uses: actions/checkout@v6
483+
- uses: actions/checkout@v6.0.2
482484

483485
- name: Set up Go
484-
uses: actions/setup-go@v6
486+
uses: actions/setup-go@v6.4.0
485487
with:
486488
go-version-file: go.mod
487489
cache: true
488490

489491
- name: Set up Node.js
490-
uses: actions/setup-node@v6
492+
uses: actions/setup-node@v6.4.0
491493
with:
492494
node-version: '25'
493495
cache: 'npm'
494496
cache-dependency-path: ui/package-lock.json
495497

496498
- name: Download frontend build
497-
uses: actions/download-artifact@v7
499+
uses: actions/download-artifact@v8.0.1
498500
with:
499501
name: frontend-dist
500502
path: ui/dist/
@@ -536,23 +538,23 @@ jobs:
536538
timeout-minutes: 30
537539

538540
steps:
539-
- uses: actions/checkout@v6
541+
- uses: actions/checkout@v6.0.2
540542

541543
- name: Set up Go
542-
uses: actions/setup-go@v6
544+
uses: actions/setup-go@v6.4.0
543545
with:
544546
go-version-file: go.mod
545547
cache: true
546548

547549
- name: Set up Node.js
548-
uses: actions/setup-node@v6
550+
uses: actions/setup-node@v6.4.0
549551
with:
550552
node-version: '25'
551553
cache: 'npm'
552554
cache-dependency-path: ui/package-lock.json
553555

554556
- name: Download frontend build
555-
uses: actions/download-artifact@v7
557+
uses: actions/download-artifact@v8.0.1
556558
with:
557559
name: frontend-dist
558560
path: ui/dist/
@@ -594,15 +596,15 @@ jobs:
594596
run: npx playwright test --project=chromium --reporter=html
595597

596598
- name: Upload Playwright report
597-
uses: actions/upload-artifact@v6
599+
uses: actions/upload-artifact@v7.0.1
598600
if: always()
599601
with:
600602
name: playwright-report
601603
path: ui/playwright-report/
602604
retention-days: 7
603605

604606
- name: Upload server logs on failure
605-
uses: actions/upload-artifact@v6
607+
uses: actions/upload-artifact@v7.0.1
606608
if: failure()
607609
with:
608610
name: e2e-server-logs

.github/workflows/codeql.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ jobs:
2727

2828
steps:
2929
- name: Checkout repository
30-
uses: actions/checkout@v6
30+
uses: actions/checkout@v6.0.2
3131

3232
- name: Initialize CodeQL
3333
uses: github/codeql-action/init@v4

.github/workflows/container.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ jobs:
1313

1414
steps:
1515
- name: Checkout
16-
uses: actions/checkout@v4
16+
uses: actions/checkout@v6.0.2
1717

1818
- name: Install Pack CLI
1919
run: |

.github/workflows/dead-code.yml

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -33,10 +33,10 @@ jobs:
3333
runs-on: ubuntu-latest
3434

3535
steps:
36-
- uses: actions/checkout@v6
36+
- uses: actions/checkout@v6.0.2
3737

3838
- name: Set up Go
39-
uses: actions/setup-go@v6
39+
uses: actions/setup-go@v6.4.0
4040
with:
4141
go-version-file: go.mod
4242
cache: true
@@ -91,10 +91,10 @@ jobs:
9191
runs-on: ubuntu-latest
9292

9393
steps:
94-
- uses: actions/checkout@v6
94+
- uses: actions/checkout@v6.0.2
9595

9696
- name: Set up Node.js
97-
uses: actions/setup-node@v6
97+
uses: actions/setup-node@v6.4.0
9898
with:
9999
node-version: "25.2.1"
100100
cache: npm
@@ -152,7 +152,7 @@ jobs:
152152
runs-on: ubuntu-latest
153153

154154
steps:
155-
- uses: actions/checkout@v6
155+
- uses: actions/checkout@v6.0.2
156156

157157
- name: Check for orphaned files
158158
run: |

.github/workflows/docker-publish.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,10 +28,10 @@ jobs:
2828
packages: write
2929

3030
steps:
31-
- uses: actions/checkout@v6
31+
- uses: actions/checkout@v6.0.2
3232

3333
- name: Set up QEMU
34-
uses: docker/setup-qemu-action@v3
34+
uses: docker/setup-qemu-action@v4.0.0
3535

3636
- name: Set up Docker Buildx
3737
uses: docker/setup-buildx-action@v3

.github/workflows/label-sync.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ jobs:
1818
runs-on: ubuntu-latest
1919
steps:
2020
- name: Checkout
21-
uses: actions/checkout@v6
21+
uses: actions/checkout@v6.0.2
2222

2323
- name: Sync labels
2424
uses: crazy-max/ghaction-github-labeler@v5

.github/workflows/license-check.yml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -20,16 +20,16 @@ jobs:
2020
runs-on: ubuntu-latest
2121

2222
steps:
23-
- uses: actions/checkout@v6
23+
- uses: actions/checkout@v6.0.2
2424

2525
- name: Set up Go
26-
uses: actions/setup-go@v6
26+
uses: actions/setup-go@v6.4.0
2727
with:
2828
go-version-file: go.mod
2929
cache: true
3030

3131
- name: Set up Node.js
32-
uses: actions/setup-node@v6
32+
uses: actions/setup-node@v6.4.0
3333
with:
3434
node-version: "25.2.1"
3535
cache: npm
@@ -104,7 +104,7 @@ jobs:
104104
echo ""
105105
106106
- name: Upload license reports
107-
uses: actions/upload-artifact@v6
107+
uses: actions/upload-artifact@v7.0.1
108108
if: always()
109109
with:
110110
name: license-reports

0 commit comments

Comments
 (0)