@@ -7,18 +7,17 @@ concurrency:
77 group : ${{ github.workflow }}-${{ github.head_ref || github.run_id }}
88 cancel-in-progress : true
99
10+ permissions :
11+ contents : read
12+
1013jobs :
1114 files-changed :
1215 uses : ./.github/workflows/files-changed.yml
13- permissions :
14- contents : read
1516
1617 lint-backend :
1718 if : needs.files-changed.outputs.backend == 'true' || needs.files-changed.outputs.actions == 'true'
1819 needs : files-changed
1920 runs-on : ubuntu-latest
20- permissions :
21- contents : read
2221 steps :
2322 - uses : actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
2423 - uses : actions/setup-go@4a3601121dd01d1626a1e23e37211e3254c1c06c # v6.4.0
@@ -35,93 +34,40 @@ jobs:
3534 env :
3635 TAGS : bindata sqlite sqlite_unlock_notify
3736
38- lint-templates :
39- if : needs.files-changed.outputs.templates == 'true'
37+ lint-on-demand :
4038 needs : files-changed
4139 runs-on : ubuntu-latest
42- permissions :
43- contents : read
4440 steps :
4541 - uses : actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
46- - uses : astral-sh/setup-uv@08807647e7069bb48b6ef5acd8ec9567f424441b # v8.1.0
47- - run : uv python install 3.14
42+ - uses : actions/setup-go@4a3601121dd01d1626a1e23e37211e3254c1c06c # v6.4.0
43+ with :
44+ go-version-file : go.mod
45+ check-latest : true
46+ cache : false
4847 - uses : pnpm/action-setup@fc06bc1257f339d1d5d8b3a19a8cae5388b55320 # v5.0.0
4948 - uses : actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0
5049 with :
5150 node-version : 24
5251 cache : pnpm
5352 cache-dependency-path : pnpm-lock.yaml
54- - run : make deps-py
55- - run : make deps-frontend
56- - run : make lint-templates
5753
58- lint-yaml :
59- if : needs.files-changed.outputs.yaml == 'true'
60- needs : files-changed
61- runs-on : ubuntu-latest
62- permissions :
63- contents : read
64- steps :
65- - uses : actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
66- - uses : astral-sh/setup-uv@08807647e7069bb48b6ef5acd8ec9567f424441b # v8.1.0
67- - run : uv python install 3.14
68- - run : make deps-py
69- - run : make lint-yaml
54+ - run : make lint-spell
7055
71- lint-json :
72- if : needs.files-changed.outputs.json == 'true'
73- needs : files-changed
74- runs-on : ubuntu-latest
75- permissions :
76- contents : read
77- steps :
78- - uses : actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
79- - uses : pnpm/action-setup@fc06bc1257f339d1d5d8b3a19a8cae5388b55320 # v5.0.0
80- - uses : actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0
81- with :
82- node-version : 24
83- cache : pnpm
84- cache-dependency-path : pnpm-lock.yaml
85- - run : make deps-frontend
86- - run : make lint-json
56+ - if : needs.files-changed.outputs.templates == 'true' || needs.files-changed.outputs.yaml == 'true'
57+ uses : astral-sh/setup-uv@08807647e7069bb48b6ef5acd8ec9567f424441b # v8.1.0
58+ - if : needs.files-changed.outputs.templates == 'true' || needs.files-changed.outputs.yaml == 'true'
59+ run : uv python install 3.14 && make deps-py lint-templates lint-yaml
8760
88- lint-swagger :
89- if : needs.files-changed.outputs.swagger == 'true'
90- needs : files-changed
91- runs-on : ubuntu-latest
92- permissions :
93- contents : read
94- steps :
95- - uses : actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
96- - uses : pnpm/action-setup@fc06bc1257f339d1d5d8b3a19a8cae5388b55320 # v5.0.0
97- - uses : actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0
98- with :
99- node-version : 24
100- cache : pnpm
101- cache-dependency-path : pnpm-lock.yaml
102- - run : make deps-frontend
103- - run : make lint-swagger
61+ - if : needs.files-changed.outputs.docs == 'true' || needs.files-changed.outputs.swagger == 'true' || needs.files-changed.outputs.json == 'true'
62+ run : make deps-frontend lint-md lint-swagger lint-json
10463
105- lint-spell :
106- if : needs.files-changed.outputs.backend == 'true' || needs.files-changed.outputs.frontend == 'true' || needs.files-changed.outputs.actions == 'true' || needs.files-changed.outputs.docs == 'true' || needs.files-changed.outputs.templates == 'true'
107- needs : files-changed
108- runs-on : ubuntu-latest
109- permissions :
110- contents : read
111- steps :
112- - uses : actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
113- - uses : actions/setup-go@4a3601121dd01d1626a1e23e37211e3254c1c06c # v6.4.0
114- with :
115- go-version-file : go.mod
116- check-latest : true
117- - run : make lint-spell
64+ - if : needs.files-changed.outputs.actions == 'true'
65+ run : make lint-actions
11866
11967 lint-go-windows :
12068 if : needs.files-changed.outputs.backend == 'true' || needs.files-changed.outputs.actions == 'true'
12169 needs : files-changed
12270 runs-on : ubuntu-latest
123- permissions :
124- contents : read
12571 steps :
12672 - uses : actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
12773 - uses : actions/setup-go@4a3601121dd01d1626a1e23e37211e3254c1c06c # v6.4.0
14490 if : needs.files-changed.outputs.backend == 'true' || needs.files-changed.outputs.actions == 'true'
14591 needs : files-changed
14692 runs-on : ubuntu-latest
147- permissions :
148- contents : read
14993 steps :
15094 - uses : actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
15195 - uses : actions/setup-go@4a3601121dd01d1626a1e23e37211e3254c1c06c # v6.4.0
@@ -166,8 +110,6 @@ jobs:
166110 if : needs.files-changed.outputs.backend == 'true' || needs.files-changed.outputs.actions == 'true'
167111 needs : files-changed
168112 runs-on : ubuntu-latest
169- permissions :
170- contents : read
171113 steps :
172114 - uses : actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
173115 - uses : actions/setup-go@4a3601121dd01d1626a1e23e37211e3254c1c06c # v6.4.0
@@ -186,8 +128,6 @@ jobs:
186128 if : needs.files-changed.outputs.frontend == 'true' || needs.files-changed.outputs.actions == 'true'
187129 needs : files-changed
188130 runs-on : ubuntu-latest
189- permissions :
190- contents : read
191131 steps :
192132 - uses : actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
193133 - uses : pnpm/action-setup@fc06bc1257f339d1d5d8b3a19a8cae5388b55320 # v5.0.0
@@ -206,8 +146,6 @@ jobs:
206146 if : needs.files-changed.outputs.backend == 'true' || needs.files-changed.outputs.actions == 'true'
207147 needs : files-changed
208148 runs-on : ubuntu-latest
209- permissions :
210- contents : read
211149 steps :
212150 - uses : actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
213151 - uses : actions/setup-go@4a3601121dd01d1626a1e23e37211e3254c1c06c # v6.4.0
@@ -217,13 +155,12 @@ jobs:
217155 cache : false
218156 - uses : ./.github/actions/go-cache
219157 with :
220- cache-name : backend
221- # no frontend build here as backend should be able to build
222- # even without any frontend files
223- - run : make deps-backend
224- - run : go build -o gitea_no_gcc # test if build succeeds without the sqlite tag
158+ cache-name : compliance-backend
159+ - run : make deps-backend generate-go
160+ # no frontend build here as backend should be able to build, even without any frontend files
161+ # CGO is not used when cross-compile, so these steps also test if the code is compatible with CGO disabled
225162 - name : build-backend-arm64
226- run : make backend # test cross compile
163+ run : go build -o gitea_linux_arm64
227164 env :
228165 GOOS : linux
229166 GOARCH : arm64
@@ -235,38 +172,7 @@ jobs:
235172 GOARCH : amd64
236173 TAGS : bindata gogit
237174 - name : build-backend-386
238- run : go build -o gitea_linux_386 # test if compatible with 32 bit
175+ run : go build -o gitea_linux_386
239176 env :
240177 GOOS : linux
241178 GOARCH : 386
242-
243- docs :
244- if : needs.files-changed.outputs.docs == 'true' || needs.files-changed.outputs.actions == 'true'
245- needs : files-changed
246- runs-on : ubuntu-latest
247- permissions :
248- contents : read
249- steps :
250- - uses : actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
251- - uses : pnpm/action-setup@fc06bc1257f339d1d5d8b3a19a8cae5388b55320 # v5.0.0
252- - uses : actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0
253- with :
254- node-version : 24
255- cache : pnpm
256- cache-dependency-path : pnpm-lock.yaml
257- - run : make deps-frontend
258- - run : make lint-md
259-
260- actions :
261- if : needs.files-changed.outputs.actions == 'true' || needs.files-changed.outputs.actions == 'true'
262- needs : files-changed
263- runs-on : ubuntu-latest
264- permissions :
265- contents : read
266- steps :
267- - uses : actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
268- - uses : actions/setup-go@4a3601121dd01d1626a1e23e37211e3254c1c06c # v6.4.0
269- with :
270- go-version-file : go.mod
271- check-latest : true
272- - run : make lint-actions
0 commit comments