66 - main
77 pull_request :
88
9+ permissions :
10+ contents : read
11+
912jobs :
1013 lint :
11- runs-on : ubuntu-latest
14+ runs-on : ubuntu-24.04-arm
1215
1316 steps :
14- - uses : actions/checkout@93cb6efe18208431cddfb8368fd83d5badbf9bfd # v5
15-
16- - uses : actions/setup-node@395ad3262231945c25e8478fd5baf05154b1d79f # v6
17+ - uses : actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6
1718 with :
18- node-version : 24
19+ persist-credentials : false
1920
20- - run : corepack enable
21+ - uses : pnpm/action-setup@41ff72655975bd51cab0327fa583b6e92b6d3061 # v4.2.0
22+ - uses : actions/setup-node@2028fbc5c25fe9cf00d9f06a71cc4710d4507903 # v6
23+ with :
24+ node-version : 25
2125
2226 - name : find pnpm cache path
2327 id : cache
24- run : echo "path=$(pnpm store path)" >> $GITHUB_OUTPUT
28+ run : echo "path=$(pnpm store path)" >> " $GITHUB_OUTPUT"
2529
26- - uses : actions/cache@0057852bfaa89a56745cba8c7296529d2fc39830 # v4
30+ - uses : actions/cache@0057852bfaa89a56745cba8c7296529d2fc39830 # v4.3.0
2731 with :
2832 path : ${{ steps.cache.outputs.path }}
2933 key : v1-pnpm-${{ hashFiles('**/pnpm-lock.yaml') }}
3640 - run : node --run lint
3741
3842 fmt :
39- runs-on : ubuntu-latest
43+ runs-on : ubuntu-24.04-arm
4044
4145 steps :
4246 - uses : actions/checkout@93cb6efe18208431cddfb8368fd83d5badbf9bfd # v5
@@ -48,22 +52,23 @@ jobs:
4852 - run : biome check
4953
5054 typecheck :
51- runs-on : ubuntu-latest
55+ runs-on : ubuntu-24.04-arm
5256
5357 steps :
54- - uses : actions/checkout@93cb6efe18208431cddfb8368fd83d5badbf9bfd # v5
55-
56- - uses : actions/setup-node@395ad3262231945c25e8478fd5baf05154b1d79f # v6
58+ - uses : actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6
5759 with :
58- node-version : 24
60+ persist-credentials : false
5961
60- - run : corepack enable
62+ - uses : pnpm/action-setup@41ff72655975bd51cab0327fa583b6e92b6d3061 # v4.2.0
63+ - uses : actions/setup-node@2028fbc5c25fe9cf00d9f06a71cc4710d4507903 # v6
64+ with :
65+ node-version : 25
6166
6267 - name : find pnpm cache path
6368 id : cache
64- run : echo "path=$(pnpm store path)" >> $GITHUB_OUTPUT
69+ run : echo "path=$(pnpm store path)" >> " $GITHUB_OUTPUT"
6570
66- - uses : actions/cache@0057852bfaa89a56745cba8c7296529d2fc39830 # v4
71+ - uses : actions/cache@0057852bfaa89a56745cba8c7296529d2fc39830 # v4.3.0
6772 with :
6873 path : ${{ steps.cache.outputs.path }}
6974 key : v1-pnpm-${{ hashFiles('**/pnpm-lock.yaml') }}
@@ -76,22 +81,23 @@ jobs:
7681 - run : node --run typecheck
7782
7883 test :
79- runs-on : ubuntu-latest
84+ runs-on : ubuntu-24.04-arm
8085
8186 steps :
82- - uses : actions/checkout@93cb6efe18208431cddfb8368fd83d5badbf9bfd # v5
83-
84- - uses : actions/setup-node@395ad3262231945c25e8478fd5baf05154b1d79f # v6
87+ - uses : actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6
8588 with :
86- node-version : 24
89+ persist-credentials : false
8790
88- - run : corepack enable
91+ - uses : pnpm/action-setup@41ff72655975bd51cab0327fa583b6e92b6d3061 # v4.2.0
92+ - uses : actions/setup-node@2028fbc5c25fe9cf00d9f06a71cc4710d4507903 # v6
93+ with :
94+ node-version : 25
8995
9096 - name : find pnpm cache path
9197 id : cache
92- run : echo "path=$(pnpm store path)" >> $GITHUB_OUTPUT
98+ run : echo "path=$(pnpm store path)" >> " $GITHUB_OUTPUT"
9399
94- - uses : actions/cache@0057852bfaa89a56745cba8c7296529d2fc39830 # v4
100+ - uses : actions/cache@0057852bfaa89a56745cba8c7296529d2fc39830 # v4.3.0
95101 with :
96102 path : ${{ steps.cache.outputs.path }}
97103 key : v1-pnpm-${{ hashFiles('**/pnpm-lock.yaml') }}
@@ -106,7 +112,7 @@ jobs:
106112 NODE_ENV : test
107113
108114 build :
109- runs-on : ubuntu-latest
115+ runs-on : ubuntu-24.04-arm
110116 permissions :
111117 contents : read
112118 packages : write
@@ -115,37 +121,35 @@ jobs:
115121 steps :
116122 - name : Docker meta
117123 id : meta
118- uses : docker/metadata-action@c299e40c65443455700f0fdfc63efafe5b349051 # v5
124+ uses : docker/metadata-action@902fa8ec7d6ecbf8d84d538b9b233a880e428804 # v5
119125 with :
120126 images : |
121127 ghcr.io/${{ github.repository }}
122128 tags : |
123129 type=raw,value={{sha}}
124130 type=raw,value=latest
125131
126- - name : Set up depot
127- uses : depot/setup-action@b0b1ea4f69e92ebf5dea3f8713a1b0c37b2126a5 # v1
128-
129132 - name : Login to GHCR
130133 if : github.ref == 'refs/heads/main'
131- uses : docker/login-action@5e57cd118135c172c3672efd75eb46360885c0ef # v3
134+ uses : docker/login-action@74a5d142397b4f367a81961eba4e8cd7edddf772 # v3
132135 with :
133136 registry : ghcr.io
134137 username : ${{ github.actor }}
135138 password : ${{ secrets.GITHUB_TOKEN }}
136139
137140 - name : Build and maybe Push Docker image
138- uses : depot /build-push-action@9785b135c3c76c33db102e45be96a25ab55cd507 # v1
141+ uses : docker /build-push-action@ca052bb54ab0790a636c9b5f226502c73d547a25 # v5
139142 with :
140- project : ks849krng9
141143 push : ${{ github.ref == 'refs/heads/main' }}
142144 tags : ${{ steps.meta.outputs.tags }}
143145 labels : ${{ steps.meta.outputs.labels }}
146+ # cache-from: type=gha
147+ # cache-to: type=gha,mode=max
144148
145149 deploy :
146150 if : github.ref == 'refs/heads/main'
147151 needs : [lint, test, typecheck, build]
148- runs-on : ubuntu-latest
152+ runs-on : ubuntu-24.04-arm
149153 environment :
150154 name : prod
151155 url : https://arm.haglund.dev/api
0 commit comments