Skip to content

Commit 153503e

Browse files
Exclude external/** from license checks and skip builds for config changes
- Add external/** to repolint.json skip-paths-matching patterns - Add .github/workflows/** to repolint.json skip-paths-matching patterns - Create .licenseignore to exclude external/** and .github/workflows/** from copyright-license-checker-action validation - Add .licenseignore to pkg-build-pr-check.yml paths-ignore to prevent unnecessary package builds when only configuration files are modified
2 parents 083c907 + 966bab9 commit 153503e

3 files changed

Lines changed: 392 additions & 0 deletions

File tree

.github/workflows/pkg-build-pr-check.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ on:
2020
- reopened
2121
paths-ignore:
2222
- '.github/**'
23+
- '.licenseignore'
2324

2425
permissions:
2526
contents: read

.github/workflows/repolint.json

Lines changed: 386 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,386 @@
1+
{
2+
"$schema": "https://raw.githubusercontent.com/todogroup/repolinter/master/rulesets/schema.json",
3+
"version": 2,
4+
"axioms": {
5+
"linguist": "language",
6+
"licensee": "license",
7+
"packagers": "packager"
8+
},
9+
"rules": {
10+
"license-file-exists": {
11+
"level": "error",
12+
"rule": {
13+
"type": "file-existence",
14+
"options": {
15+
"globsAny": [
16+
"LICENSE*",
17+
"COPYING*",
18+
"NOTICE*"
19+
],
20+
"nocase": true
21+
}
22+
}
23+
},
24+
"readme-file-exists": {
25+
"level": "error",
26+
"rule": {
27+
"type": "file-existence",
28+
"options": {
29+
"globsAny": [
30+
"README*"
31+
],
32+
"nocase": true
33+
}
34+
}
35+
},
36+
"contributing-file-exists": {
37+
"level": "warning",
38+
"rule": {
39+
"type": "file-existence",
40+
"options": {
41+
"globsAny": [
42+
"{docs/,.github/,}CONTRIB*"
43+
],
44+
"nocase": true
45+
}
46+
}
47+
},
48+
"code-of-conduct-file-exists": {
49+
"level": "warning",
50+
"rule": {
51+
"type": "file-existence",
52+
"options": {
53+
"globsAny": [
54+
"{docs/,.github/,}CODEOFCONDUCT*",
55+
"{docs/,.github/,}CODE-OF-CONDUCT*",
56+
"{docs/,.github/,}CODE_OF_CONDUCT*"
57+
],
58+
"nocase": true
59+
}
60+
}
61+
},
62+
"changelog-file-exists": {
63+
"level": "warning",
64+
"rule": {
65+
"type": "file-existence",
66+
"options": {
67+
"globsAny": [
68+
"CHANGELOG*"
69+
],
70+
"nocase": true
71+
}
72+
}
73+
},
74+
"readme-references-license": {
75+
"level": "error",
76+
"rule": {
77+
"type": "file-contents",
78+
"options": {
79+
"globsAll": [
80+
"README*"
81+
],
82+
"content": "license|notice",
83+
"flags": "i"
84+
}
85+
}
86+
},
87+
"binaries-not-present": {
88+
"level": "warning",
89+
"rule": {
90+
"type": "file-type-exclusion",
91+
"options": {
92+
"type": [
93+
"**/*.exe",
94+
"**/*.dll",
95+
"**/*.o",
96+
"**/*.so",
97+
"!node_modules/**"
98+
]
99+
}
100+
}
101+
},
102+
"test-directory-exists": {
103+
"level": "warning",
104+
"rule": {
105+
"type": "directory-existence",
106+
"options": {
107+
"globsAny": [
108+
"**/test*",
109+
"**/specs",
110+
"**/*test*"
111+
],
112+
"nocase": true
113+
}
114+
}
115+
},
116+
"integrates-with-ci": {
117+
"level": "warning",
118+
"rule": {
119+
"type": "file-existence",
120+
"options": {
121+
"globsAny": [
122+
".gitlab-ci.yml",
123+
".travis.yml",
124+
"appveyor.yml",
125+
".appveyor.yml",
126+
"circle.yml",
127+
".circleci/config.yml",
128+
"Jenkinsfile",
129+
".drone.yml",
130+
".github/workflows/*",
131+
"azure-pipelines.yml"
132+
]
133+
}
134+
}
135+
},
136+
"source-license-headers-exist": {
137+
"level": "error",
138+
"rule": {
139+
"type": "file-starts-with",
140+
"options": {
141+
"globsAll": [
142+
"**/*.py",
143+
"**/*.js",
144+
"**/*.c",
145+
"**/*.cc",
146+
"**/*.cpp",
147+
"**/*.h",
148+
"**/*.ts",
149+
"**/*.rs",
150+
"**/*.java",
151+
"**/*.go",
152+
"**/*.bbclass",
153+
"**/*.S",
154+
"**/*.hpp"
155+
],
156+
"skip-paths-matching": {
157+
"patterns": [
158+
".github\/workflows\/",
159+
"babel.config.js",
160+
"build\/",
161+
"external\/",
162+
"jest.config.js",
163+
"node_modules\/",
164+
"types\/",
165+
"uthash.h"
166+
]
167+
},
168+
"lineCount": 200,
169+
"patterns": [
170+
"Copyright(\\s)*(\\(c\\)|©)?",
171+
"SPDX-License-Identifier|Redistribution and use in source and binary forms, with or without"
172+
],
173+
"flags": "i",
174+
"succeed-on-non-existent": true
175+
}
176+
}
177+
},
178+
"source-qualcomm-license-headers-exist": {
179+
"level": "warning",
180+
"rule": {
181+
"type": "file-starts-with",
182+
"options": {
183+
"globsAll": [
184+
"**/*.py",
185+
"**/*.js",
186+
"**/*.c",
187+
"**/*.cc",
188+
"**/*.cpp",
189+
"**/*.h",
190+
"**/*.ts",
191+
"**/*.sh",
192+
"**/*.rs",
193+
"**/*.java",
194+
"**/*.go",
195+
"**/*.bbclass",
196+
"**/*.S",
197+
"**/*.hpp"
198+
],
199+
"skip-paths-matching": {
200+
"patterns": [
201+
".github\/workflows\/",
202+
"babel.config.js",
203+
"build\/",
204+
"external\/",
205+
"jest.config.js",
206+
"node_modules\/",
207+
"types\/",
208+
"uthash.h"
209+
]
210+
},
211+
"lineCount": 200,
212+
"patterns": [
213+
"(Copyright|©).*Qualcomm Innovation Center, Inc|Qualcomm Technologies, Inc|Copyright (\\(c\\)|©) (20(1[2-9]|2[0-2])(-|,|\\s)*)+ The Linux Foundation"
214+
],
215+
"flags": "i"
216+
}
217+
}
218+
},
219+
"github-issue-template-exists": {
220+
"level": "warning",
221+
"rule": {
222+
"type": "file-existence",
223+
"options": {
224+
"globsAny": [
225+
"ISSUE_TEMPLATE*",
226+
".github/ISSUE_TEMPLATE*"
227+
]
228+
}
229+
}
230+
},
231+
"github-pull-request-template-exists": {
232+
"level": "warning",
233+
"rule": {
234+
"type": "file-existence",
235+
"options": {
236+
"globsAny": [
237+
"PULL_REQUEST_TEMPLATE*",
238+
".github/PULL_REQUEST_TEMPLATE*"
239+
]
240+
}
241+
}
242+
},
243+
"javascript-package-metadata-exists": {
244+
"level": "warning",
245+
"where": [
246+
"language=javascript"
247+
],
248+
"rule": {
249+
"type": "file-existence",
250+
"options": {
251+
"globsAny": [
252+
"package.json"
253+
]
254+
}
255+
}
256+
},
257+
"ruby-package-metadata-exists": {
258+
"level": "warning",
259+
"where": [
260+
"language=ruby"
261+
],
262+
"rule": {
263+
"type": "file-existence",
264+
"options": {
265+
"globsAny": [
266+
"Gemfile"
267+
]
268+
}
269+
}
270+
},
271+
"java-package-metadata-exists": {
272+
"level": "warning",
273+
"where": [
274+
"language=java"
275+
],
276+
"rule": {
277+
"type": "file-existence",
278+
"options": {
279+
"globsAny": [
280+
"pom.xml",
281+
"build.xml",
282+
"build.gradle"
283+
]
284+
}
285+
}
286+
},
287+
"python-package-metadata-exists": {
288+
"level": "warning",
289+
"where": [
290+
"language=python"
291+
],
292+
"rule": {
293+
"type": "file-existence",
294+
"options": {
295+
"globsAny": [
296+
"setup.py",
297+
"requirements.txt"
298+
]
299+
}
300+
}
301+
},
302+
"rust-package-metadata-exists": {
303+
"level": "error",
304+
"where": [
305+
"language=rust"
306+
],
307+
"rule": {
308+
"type": "file-existence",
309+
"options": {
310+
"globsAny": [
311+
"**/Cargo.toml",
312+
"**/Cargo.lock"
313+
]
314+
}
315+
}
316+
},
317+
"objective-c-package-metadata-exists": {
318+
"level": "warning",
319+
"where": [
320+
"language=objective-c"
321+
],
322+
"rule": {
323+
"type": "file-existence",
324+
"options": {
325+
"globsAny": [
326+
"Cartfile",
327+
"Podfile",
328+
"*.podspec"
329+
]
330+
}
331+
}
332+
},
333+
"swift-package-metadata-exists": {
334+
"level": "warning",
335+
"where": [
336+
"language=swift"
337+
],
338+
"rule": {
339+
"type": "file-existence",
340+
"options": {
341+
"globsAny": [
342+
"Package.swift"
343+
]
344+
}
345+
}
346+
},
347+
"erlang-package-metadata-exists": {
348+
"level": "warning",
349+
"where": [
350+
"language=erlang"
351+
],
352+
"rule": {
353+
"type": "file-existence",
354+
"options": {
355+
"globsAny": [
356+
"rebar.config"
357+
]
358+
}
359+
}
360+
},
361+
"elixir-package-metadata-exists": {
362+
"level": "warning",
363+
"where": [
364+
"language=elixir"
365+
],
366+
"rule": {
367+
"type": "file-existence",
368+
"options": {
369+
"globsAny": [
370+
"mix.exs"
371+
]
372+
}
373+
}
374+
},
375+
"license-detectable-by-licensee": {
376+
"level": "off",
377+
"where": [
378+
"license=*"
379+
],
380+
"rule": {
381+
"type": "license-detectable-by-licensee",
382+
"options": {}
383+
}
384+
}
385+
}
386+
}

0 commit comments

Comments
 (0)