mirror of
https://github.com/github/codeql-action.git
synced 2025-12-10 09:44:32 +08:00
Compare commits
533 Commits
codeql-bun
...
v3.26.0
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
eb055d739a | ||
|
|
3884d04c11 | ||
|
|
c24926b734 | ||
|
|
68ba39bacf | ||
|
|
8dd1773467 | ||
|
|
441c9d90e4 | ||
|
|
f03da13454 | ||
|
|
29a5cfc75d | ||
|
|
9e440ad4c7 | ||
|
|
136f5a589b | ||
|
|
0407820509 | ||
|
|
48c11ed2ba | ||
|
|
a1404425d9 | ||
|
|
ecb9ccfcb1 | ||
|
|
acb243eabd | ||
|
|
8612c175f8 | ||
|
|
0763ccfe11 | ||
|
|
4be318a22d | ||
|
|
84f2bfe7be | ||
|
|
9c646c24a4 | ||
|
|
8b7d7393fb | ||
|
|
3822a64bb3 | ||
|
|
6511e77610 | ||
|
|
fdd01ca1fe | ||
|
|
5cdd182212 | ||
|
|
42c6f6c925 | ||
|
|
159c618fd0 | ||
|
|
38a02917b0 | ||
|
|
16639b4b1a | ||
|
|
ca2d8a2534 | ||
|
|
ee304a3057 | ||
|
|
aa96d09e16 | ||
|
|
95d81a0096 | ||
|
|
8f2e2d6281 | ||
|
|
afb54ba388 | ||
|
|
57a4b22c7d | ||
|
|
4b1d7da102 | ||
|
|
97e8f69368 | ||
|
|
f8e94f9775 | ||
|
|
9e375a8f4f | ||
|
|
02d73d0544 | ||
|
|
5cf07d8b70 | ||
|
|
ecab108bfb | ||
|
|
1b214db077 | ||
|
|
826b78c018 | ||
|
|
f67c9cd326 | ||
|
|
77e41720af | ||
|
|
4733419117 | ||
|
|
6186179441 | ||
|
|
7b43b7c7ca | ||
|
|
5669f66a72 | ||
|
|
b400d0f668 | ||
|
|
736528d92f | ||
|
|
98042e78ca | ||
|
|
892ff9ec25 | ||
|
|
edfef2739a | ||
|
|
7ad1090882 | ||
|
|
7cb4b5a421 | ||
|
|
0e346f2c4a | ||
|
|
4e038ccdaf | ||
|
|
59c6d06ad6 | ||
|
|
ea8137f35f | ||
|
|
b516521723 | ||
|
|
44534b787f | ||
|
|
667992c63e | ||
|
|
000ba111dd | ||
|
|
2d790406f5 | ||
|
|
232a8bc80e | ||
|
|
270a29d1cc | ||
|
|
58f46da2c3 | ||
|
|
f2166816d7 | ||
|
|
8e147925e0 | ||
|
|
e6663d9fa2 | ||
|
|
455bd98666 | ||
|
|
778c2bc28d | ||
|
|
3cf7236447 | ||
|
|
c2585eca08 | ||
|
|
d2d99b1ac4 | ||
|
|
09653b7034 | ||
|
|
e6438b3296 | ||
|
|
857f661639 | ||
|
|
98995113ab | ||
|
|
a9885c76a1 | ||
|
|
4fa2a79536 | ||
|
|
dec6fb713c | ||
|
|
947b18fb72 | ||
|
|
9ab727712f | ||
|
|
1c60bf167b | ||
|
|
b85b404fb1 | ||
|
|
a4f3debdaa | ||
|
|
e1f83c153a | ||
|
|
be825d5eef | ||
|
|
243e392ed0 | ||
|
|
026682fb73 | ||
|
|
264cbe20c6 | ||
|
|
0b65015a1d | ||
|
|
f48d8801fa | ||
|
|
6e04d518ba | ||
|
|
6478fc9b50 | ||
|
|
0a4755e088 | ||
|
|
0669d181f5 | ||
|
|
a98055bc5b | ||
|
|
a0041ad76c | ||
|
|
064a406de0 | ||
|
|
2d3d0ca0c7 | ||
|
|
7adf9ac915 | ||
|
|
01bde733fb | ||
|
|
8dba596f10 | ||
|
|
7e6aa4d65a | ||
|
|
44f8d40662 | ||
|
|
4b9726b71f | ||
|
|
ee4ad8b9d6 | ||
|
|
249d690124 | ||
|
|
bfdafbcc1e | ||
|
|
9679491cab | ||
|
|
6c2a71ced3 | ||
|
|
ddd849e831 | ||
|
|
dbfc2b6359 | ||
|
|
0ff1bdba7f | ||
|
|
79e9a50e51 | ||
|
|
80ab1ac076 | ||
|
|
7bb9277650 | ||
|
|
b611370bb5 | ||
|
|
3e6431f3ac | ||
|
|
de945755c9 | ||
|
|
37b6ead477 | ||
|
|
bef80a1974 | ||
|
|
8a9ecdff2e | ||
|
|
a52b209ec8 | ||
|
|
a32d3058b8 | ||
|
|
9ccc99508a | ||
|
|
9b7c22c3b3 | ||
|
|
9cf3243b0b | ||
|
|
1895b29ac8 | ||
|
|
9dcfde966d | ||
|
|
8723b5be41 | ||
|
|
5d576606ec | ||
|
|
7c35b4f6b5 | ||
|
|
462c756cab | ||
|
|
495201e69c | ||
|
|
3ce5d00107 | ||
|
|
e572852bf3 | ||
|
|
950748204e | ||
|
|
ce5603b80a | ||
|
|
c8f2e2ddaa | ||
|
|
0141077280 | ||
|
|
2674782bad | ||
|
|
b8a226936d | ||
|
|
691e81dcdf | ||
|
|
0d598e718d | ||
|
|
208abc5a9a | ||
|
|
5b39968121 | ||
|
|
f45434f7f2 | ||
|
|
b7574c1c6a | ||
|
|
35619fbef6 | ||
|
|
b530827173 | ||
|
|
e8821c51a5 | ||
|
|
c82e2452bb | ||
|
|
ec1c05a15f | ||
|
|
de327e8f55 | ||
|
|
6f86b5da5d | ||
|
|
eb17dc2c6f | ||
|
|
1428e58aad | ||
|
|
e7ce02a547 | ||
|
|
c884bf6268 | ||
|
|
2bee5fbe36 | ||
|
|
31a716b48f | ||
|
|
79f6e84e69 | ||
|
|
a449977807 | ||
|
|
3f41e06a52 | ||
|
|
bd2ebac938 | ||
|
|
cf20090521 | ||
|
|
1ea11ca775 | ||
|
|
2f54d9fcfa | ||
|
|
e7d04fdb41 | ||
|
|
d8f549d6d8 | ||
|
|
2e69043274 | ||
|
|
3990b56b85 | ||
|
|
6e7a8f3b0d | ||
|
|
1a077544f2 | ||
|
|
23acc5c183 | ||
|
|
9b72dbdc68 | ||
|
|
5bf6dad35b | ||
|
|
feec81c66b | ||
|
|
789b5f86ef | ||
|
|
c36b5fc54f | ||
|
|
b3642aa04d | ||
|
|
1fc6e20182 | ||
|
|
356bee4b4a | ||
|
|
385808c715 | ||
|
|
530d4feaa9 | ||
|
|
65db484585 | ||
|
|
f1335fc8bd | ||
|
|
37809d1f16 | ||
|
|
159d9119ac | ||
|
|
ed34eb9af4 | ||
|
|
31fe7dd0a6 | ||
|
|
d8d73c0e76 | ||
|
|
3d849e9df2 | ||
|
|
945bb878ef | ||
|
|
9ee83fa7ef | ||
|
|
f2ea211cd9 | ||
|
|
c8fb403f2f | ||
|
|
1354fe5355 | ||
|
|
ca3043e8ef | ||
|
|
b0944a22b8 | ||
|
|
81b81437fd | ||
|
|
eb1d92b846 | ||
|
|
94acfdc22c | ||
|
|
2fc7222394 | ||
|
|
b808216778 | ||
|
|
0a64ae0929 | ||
|
|
ba4e487a2c | ||
|
|
485d096a80 | ||
|
|
12243c759f | ||
|
|
0c392c4570 | ||
|
|
b004bb45a8 | ||
|
|
6d627423af | ||
|
|
599f279aa8 | ||
|
|
8d778e79ff | ||
|
|
c7964947b4 | ||
|
|
b411f9b125 | ||
|
|
2838cede68 | ||
|
|
358d5e7087 | ||
|
|
28d4d514f5 | ||
|
|
e8100b1de2 | ||
|
|
c65a150b16 | ||
|
|
8f1a6fed33 | ||
|
|
c48170714b | ||
|
|
25cffc6265 | ||
|
|
2e230e8fe0 | ||
|
|
66ad891bd4 | ||
|
|
18b06dd1df | ||
|
|
200dd0cf5b | ||
|
|
2bb35eab2f | ||
|
|
9c15e42f19 | ||
|
|
98e79227df | ||
|
|
440350bade | ||
|
|
d4fcc8b7bd | ||
|
|
add199be77 | ||
|
|
67d5a9a476 | ||
|
|
19a81bf3db | ||
|
|
a42953ede1 | ||
|
|
6af2d8daa6 | ||
|
|
f079b84933 | ||
|
|
e1a42688db | ||
|
|
df52537e53 | ||
|
|
a095bf2a16 | ||
|
|
bbd4e19f51 | ||
|
|
9ab5d16a3d | ||
|
|
028346e1ff | ||
|
|
5fe08473f8 | ||
|
|
9550da953d | ||
|
|
6548a4d65c | ||
|
|
7927df07e2 | ||
|
|
8c4bc43ead | ||
|
|
584871bb84 | ||
|
|
f629cb3941 | ||
|
|
9983853f46 | ||
|
|
fdba1f907e | ||
|
|
f7f71927cf | ||
|
|
6ccd5631d8 | ||
|
|
4f2b1826e9 | ||
|
|
59af9fc5ab | ||
|
|
610e72285f | ||
|
|
898dead2d6 | ||
|
|
1bea17f717 | ||
|
|
0b4214972e | ||
|
|
4fd6c0d4f1 | ||
|
|
acdf23828a | ||
|
|
087f0b04c6 | ||
|
|
cc96c825ba | ||
|
|
b1bd8da5e7 | ||
|
|
ebd27c09f6 | ||
|
|
2c0b69bd1f | ||
|
|
b46ca8cee6 | ||
|
|
00daf24ffe | ||
|
|
3ee86e168e | ||
|
|
b2dad92724 | ||
|
|
9fdb3e4972 | ||
|
|
00792ab1e0 | ||
|
|
7c4668115d | ||
|
|
b0a1d92ae3 | ||
|
|
23c1981a3f | ||
|
|
46fc2c9526 | ||
|
|
445165beea | ||
|
|
63d519c0ae | ||
|
|
0d9161ca1c | ||
|
|
9a1f461645 | ||
|
|
e9e27290e9 | ||
|
|
de1ac31508 | ||
|
|
a57c67b895 | ||
|
|
b7ef64ecb1 | ||
|
|
e54dea297a | ||
|
|
3b42294f03 | ||
|
|
9f32769e43 | ||
|
|
7fd4900b29 | ||
|
|
931fabe1ef | ||
|
|
24766fcf56 | ||
|
|
08487dbb93 | ||
|
|
5a14b059c3 | ||
|
|
df4819e3a1 | ||
|
|
bcc13653e8 | ||
|
|
1796f5474f | ||
|
|
4522b08a7e | ||
|
|
998a4c720d | ||
|
|
c92bbd4223 | ||
|
|
cff15d7117 | ||
|
|
cbe408dfc9 | ||
|
|
bf2faab135 | ||
|
|
32f554ea7c | ||
|
|
9f6ef11db1 | ||
|
|
b7cec75265 | ||
|
|
90e315a7a8 | ||
|
|
6778fe4553 | ||
|
|
bc3670a4f4 | ||
|
|
4f59156fc8 | ||
|
|
eb4969f5e2 | ||
|
|
4a51972477 | ||
|
|
a8c32fd278 | ||
|
|
6182f337aa | ||
|
|
f73b0b70eb | ||
|
|
c59e05245f | ||
|
|
33e416c056 | ||
|
|
67f8a36bdb | ||
|
|
4995c49010 | ||
|
|
def4d2cd4e | ||
|
|
5ac5c91bc1 | ||
|
|
7a6352f8e6 | ||
|
|
cf4c3b4434 | ||
|
|
9dc84e9abe | ||
|
|
c49579ba44 | ||
|
|
d23427596b | ||
|
|
9fba755525 | ||
|
|
43beef629f | ||
|
|
7d9b7a1870 | ||
|
|
715d348a99 | ||
|
|
7aff39e921 | ||
|
|
e36d338969 | ||
|
|
2c25369331 | ||
|
|
65c9ae9352 | ||
|
|
b1c3187939 | ||
|
|
a21528bb71 | ||
|
|
ccf74c9479 | ||
|
|
45fb58ab31 | ||
|
|
ec1179000d | ||
|
|
4fdf4ac628 | ||
|
|
e50fb8fff0 | ||
|
|
ca7f194e36 | ||
|
|
4b812a5dff | ||
|
|
1e21373a75 | ||
|
|
4673d41da1 | ||
|
|
65297ef0b0 | ||
|
|
84d6ead480 | ||
|
|
b20bf5914d | ||
|
|
93b8232a39 | ||
|
|
ee63da2847 | ||
|
|
e62cc70a8b | ||
|
|
5d274be858 | ||
|
|
3a471a06fa | ||
|
|
725ed4139d | ||
|
|
1de9b371a1 | ||
|
|
757fcd3d21 | ||
|
|
40f70f96b1 | ||
|
|
41857bab35 | ||
|
|
8fcfedf570 | ||
|
|
c2eaf8a4f9 | ||
|
|
a17ed37616 | ||
|
|
b3225af51b | ||
|
|
905f9b0083 | ||
|
|
80394dcc32 | ||
|
|
7c29971135 | ||
|
|
a5e49d1544 | ||
|
|
24acd7711e | ||
|
|
8b0dfa84c7 | ||
|
|
4ebadbc746 | ||
|
|
5af22f0433 | ||
|
|
c01f016188 | ||
|
|
d39d31e687 | ||
|
|
a7278252c7 | ||
|
|
1efa8597b1 | ||
|
|
ac2f82a1ff | ||
|
|
0ad7791640 | ||
|
|
79d9ee7f07 | ||
|
|
dbf2b1706b | ||
|
|
ff6a3c42a5 | ||
|
|
619dc0c4b8 | ||
|
|
8f596b4ae3 | ||
|
|
de8916ec5a | ||
|
|
4909c1ffb9 | ||
|
|
f45390cde1 | ||
|
|
1be8c488eb | ||
|
|
82edfe29ce | ||
|
|
8786e1f9a1 | ||
|
|
3c7ac61481 | ||
|
|
b5bd9be6da | ||
|
|
c7f9125735 | ||
|
|
1c7e8b2cf2 | ||
|
|
39e1e6509e | ||
|
|
501f5f5716 | ||
|
|
5d73b1bd71 | ||
|
|
c4fb451437 | ||
|
|
556b3bcfae | ||
|
|
ef66aeacbf | ||
|
|
9b87e0a8c4 | ||
|
|
18111b696b | ||
|
|
ade98b980a | ||
|
|
8566d50a79 | ||
|
|
453a95695a | ||
|
|
c7a8056fc3 | ||
|
|
71e6077db0 | ||
|
|
db2b739f55 | ||
|
|
b8e2556072 | ||
|
|
d8b8ad0cb2 | ||
|
|
fc090c44d2 | ||
|
|
ea78e51e31 | ||
|
|
14eab9153b | ||
|
|
59771ddf53 | ||
|
|
24b71bdbcc | ||
|
|
f2c09fb28a | ||
|
|
e006461bad | ||
|
|
d37ec9a9ec | ||
|
|
1ae9ce7145 | ||
|
|
df5a14dc28 | ||
|
|
a22989dcd4 | ||
|
|
3f70eaa4d3 | ||
|
|
2b2cee5229 | ||
|
|
4fcf7a216c | ||
|
|
d30d1cabb4 | ||
|
|
f21d2d2d1a | ||
|
|
55585360a3 | ||
|
|
fa75c144b4 | ||
|
|
5a599c68cf | ||
|
|
aa4a08dd29 | ||
|
|
2eaad471b6 | ||
|
|
cbe29f55df | ||
|
|
8f057a3d8e | ||
|
|
3d49faaabb | ||
|
|
e37d0f3e7c | ||
|
|
5b74166227 | ||
|
|
829376a618 | ||
|
|
efc474680f | ||
|
|
93f93fc2ad | ||
|
|
1ac88f37c7 | ||
|
|
3901d1208a | ||
|
|
4b0172d9c2 | ||
|
|
d4e7b0e493 | ||
|
|
96f44cb9d2 | ||
|
|
1829b70201 | ||
|
|
8ea1a11e72 | ||
|
|
24a01703e4 | ||
|
|
987236cc0f | ||
|
|
287c064d05 | ||
|
|
ee097cec19 | ||
|
|
5e9199f7b4 | ||
|
|
21eac7ce4e | ||
|
|
88fafebdd3 | ||
|
|
1a60a91726 | ||
|
|
2f0d0eaebd | ||
|
|
8f1e24411b | ||
|
|
33e3a7c976 | ||
|
|
84efe241da | ||
|
|
218c52e7c7 | ||
|
|
dd2106d0d1 | ||
|
|
3d026bcb8d | ||
|
|
f242fc9172 | ||
|
|
24a95a0411 | ||
|
|
7c23a5e578 | ||
|
|
746a1af6ad | ||
|
|
1f8d877ef2 | ||
|
|
140158642f | ||
|
|
3f0cb87e80 | ||
|
|
d33e75159d | ||
|
|
e94a917e33 | ||
|
|
bcb5e6e0b8 | ||
|
|
fcdff8b3c9 | ||
|
|
e6b2c0d6b8 | ||
|
|
4e8e3439dd | ||
|
|
f0a5e52d93 | ||
|
|
4a666f8539 | ||
|
|
1c270d01c7 | ||
|
|
11eab0d2e6 | ||
|
|
f64694af39 | ||
|
|
4355270be1 | ||
|
|
3f041c51a5 | ||
|
|
7df281f2fe | ||
|
|
f421cda8e7 | ||
|
|
5f535debfe | ||
|
|
278465cdfb | ||
|
|
e0bc6b7942 | ||
|
|
6ab7733abd | ||
|
|
d8293662f4 | ||
|
|
9ba21c3639 | ||
|
|
c7eea240e2 | ||
|
|
65e69c8a4b | ||
|
|
c037115ddf | ||
|
|
d3c32a84cb | ||
|
|
26540626a5 | ||
|
|
d3257627d7 | ||
|
|
978bdd643f | ||
|
|
2cc8bbd0e0 | ||
|
|
3bd9c3e65c | ||
|
|
dcf00b3fd4 | ||
|
|
f8dd543c81 | ||
|
|
6514cbb626 | ||
|
|
f06c933b16 | ||
|
|
eda4878a3d | ||
|
|
eeaea14a62 | ||
|
|
ec214df87a | ||
|
|
f4936c4c20 | ||
|
|
99c9897648 | ||
|
|
72f5fb9a00 | ||
|
|
d7c4cc360c | ||
|
|
048b508a9d | ||
|
|
84ba7fb56d | ||
|
|
016720d81f | ||
|
|
f835435c19 | ||
|
|
58194bf81a | ||
|
|
82b82e58c0 | ||
|
|
3c4b8bc120 | ||
|
|
a0a63a2dd4 | ||
|
|
3bd271cec3 | ||
|
|
70aa50b057 | ||
|
|
6ac57535de | ||
|
|
e20c273295 | ||
|
|
2bbafcdd7f | ||
|
|
7e30c622b0 | ||
|
|
ccc609bf1a | ||
|
|
a12b868bbc | ||
|
|
fcf7c47f2f | ||
|
|
7a14c3b11e | ||
|
|
e42f5e5768 | ||
|
|
7feb9a04fd |
@@ -1,77 +0,0 @@
|
|||||||
|
|
||||||
{
|
|
||||||
"parser": "@typescript-eslint/parser",
|
|
||||||
"parserOptions": {
|
|
||||||
"project": "./tsconfig.json"
|
|
||||||
},
|
|
||||||
"plugins": ["@typescript-eslint", "filenames", "github", "import", "no-async-foreach"],
|
|
||||||
"extends": [
|
|
||||||
"eslint:recommended",
|
|
||||||
"plugin:@typescript-eslint/recommended",
|
|
||||||
"plugin:@typescript-eslint/recommended-requiring-type-checking",
|
|
||||||
"plugin:github/recommended",
|
|
||||||
"plugin:github/typescript",
|
|
||||||
"plugin:import/typescript"
|
|
||||||
],
|
|
||||||
"rules": {
|
|
||||||
"filenames/match-regex": ["error", "^[a-z0-9-]+(\\.test)?$"],
|
|
||||||
"i18n-text/no-en": "off",
|
|
||||||
"import/extensions": ["error", {
|
|
||||||
// Allow importing JSON files
|
|
||||||
"json": {}
|
|
||||||
}],
|
|
||||||
"import/no-amd": "error",
|
|
||||||
"import/no-commonjs": "error",
|
|
||||||
"import/no-cycle": "error",
|
|
||||||
"import/no-dynamic-require": "error",
|
|
||||||
// Disable the rule that checks that devDependencies aren't imported since we use a single
|
|
||||||
// linting configuration file for both source and test code.
|
|
||||||
"import/no-extraneous-dependencies": ["error", {"devDependencies": true}],
|
|
||||||
"import/no-namespace": "off",
|
|
||||||
"import/no-unresolved": "error",
|
|
||||||
"import/no-webpack-loader-syntax": "error",
|
|
||||||
"import/order": ["error", {
|
|
||||||
"alphabetize": {"order": "asc"},
|
|
||||||
"newlines-between": "always"
|
|
||||||
}],
|
|
||||||
"max-len": ["error", {
|
|
||||||
"code": 120,
|
|
||||||
"ignoreUrls": true,
|
|
||||||
"ignoreStrings": true,
|
|
||||||
"ignoreTemplateLiterals": true
|
|
||||||
}],
|
|
||||||
"no-async-foreach/no-async-foreach": "error",
|
|
||||||
"no-console": "off",
|
|
||||||
"no-sequences": "error",
|
|
||||||
"no-shadow": "off",
|
|
||||||
"@typescript-eslint/no-shadow": ["error"],
|
|
||||||
"one-var": ["error", "never"]
|
|
||||||
},
|
|
||||||
"overrides": [{
|
|
||||||
// "temporarily downgraded during transition to eslint
|
|
||||||
"files": "**",
|
|
||||||
"rules": {
|
|
||||||
"@typescript-eslint/ban-types": "off",
|
|
||||||
"@typescript-eslint/explicit-module-boundary-types": "off",
|
|
||||||
"@typescript-eslint/no-explicit-any": "off",
|
|
||||||
"@typescript-eslint/no-unsafe-assignment": "off",
|
|
||||||
"@typescript-eslint/no-unsafe-call": "off",
|
|
||||||
"@typescript-eslint/no-unsafe-member-access": "off",
|
|
||||||
"@typescript-eslint/no-unsafe-return": "off",
|
|
||||||
"@typescript-eslint/no-var-requires": "off",
|
|
||||||
"@typescript-eslint/prefer-regexp-exec": "off",
|
|
||||||
"@typescript-eslint/require-await": "off",
|
|
||||||
"@typescript-eslint/restrict-template-expressions": "off",
|
|
||||||
"func-style": "off",
|
|
||||||
"sort-imports": "off"
|
|
||||||
}
|
|
||||||
}],
|
|
||||||
"settings": {
|
|
||||||
"import/resolver": {
|
|
||||||
"node": {
|
|
||||||
"moduleDirectory": ["node_modules", "src"]
|
|
||||||
},
|
|
||||||
"typescript": {}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -29,7 +29,16 @@ inputs:
|
|||||||
tools:
|
tools:
|
||||||
required: true
|
required: true
|
||||||
description: |
|
description: |
|
||||||
The url of codeql to use.
|
The version of CodeQL passed to the `tools` input of the init action.
|
||||||
|
This can be any of the following:
|
||||||
|
|
||||||
|
- A local path to a tarball containing the CodeQL tools, or
|
||||||
|
- A URL to a GitHub release assets containing the CodeQL tools, or
|
||||||
|
- A special value `linked` which is forcing the use of the CodeQL tools
|
||||||
|
that the action has been bundled with.
|
||||||
|
|
||||||
|
If not specified, the Action will check in several places until it finds
|
||||||
|
the CodeQL tools.
|
||||||
|
|
||||||
runs:
|
runs:
|
||||||
using: composite
|
using: composite
|
||||||
|
|||||||
15
.github/actions/prepare-test/action.yml
vendored
15
.github/actions/prepare-test/action.yml
vendored
@@ -2,12 +2,16 @@ name: "Prepare test"
|
|||||||
description: Performs some preparation to run tests
|
description: Performs some preparation to run tests
|
||||||
inputs:
|
inputs:
|
||||||
version:
|
version:
|
||||||
description: "The version of the CodeQL CLI to use. Can be 'latest', 'default', 'nightly-latest', 'nightly-YYYY-MM-DD', or 'stable-YYYY-MM-DD'."
|
description: "The version of the CodeQL CLI to use. Can be 'linked', 'default', 'nightly-latest', 'nightly-YYYY-MM-DD', or 'stable-YYYY-MM-DD'."
|
||||||
required: true
|
required: true
|
||||||
use-all-platform-bundle:
|
use-all-platform-bundle:
|
||||||
description: "If true, we output a tools URL with codeql-bundle.tar.gz file rather than platform-specific URL"
|
description: "If true, we output a tools URL with codeql-bundle.tar.gz file rather than platform-specific URL"
|
||||||
default: 'false'
|
default: 'false'
|
||||||
required: false
|
required: false
|
||||||
|
setup-kotlin:
|
||||||
|
description: "If true, we setup kotlin"
|
||||||
|
default: 'true'
|
||||||
|
required: true
|
||||||
outputs:
|
outputs:
|
||||||
tools-url:
|
tools-url:
|
||||||
description: "The value that should be passed as the 'tools' input of the 'init' step."
|
description: "The value that should be passed as the 'tools' input of the 'init' step."
|
||||||
@@ -50,11 +54,16 @@ runs:
|
|||||||
elif [[ ${{ inputs.version }} == *"stable"* ]]; then
|
elif [[ ${{ inputs.version }} == *"stable"* ]]; then
|
||||||
version=`echo ${{ inputs.version }} | sed -e 's/^.*\-//'`
|
version=`echo ${{ inputs.version }} | sed -e 's/^.*\-//'`
|
||||||
echo "tools-url=https://github.com/github/codeql-action/releases/download/codeql-bundle-$version/$artifact_name" >> $GITHUB_OUTPUT
|
echo "tools-url=https://github.com/github/codeql-action/releases/download/codeql-bundle-$version/$artifact_name" >> $GITHUB_OUTPUT
|
||||||
elif [[ ${{ inputs.version }} == "latest" ]]; then
|
elif [[ ${{ inputs.version }} == "linked" ]]; then
|
||||||
echo "tools-url=latest" >> $GITHUB_OUTPUT
|
echo "tools-url=linked" >> $GITHUB_OUTPUT
|
||||||
elif [[ ${{ inputs.version }} == "default" ]]; then
|
elif [[ ${{ inputs.version }} == "default" ]]; then
|
||||||
echo "tools-url=" >> $GITHUB_OUTPUT
|
echo "tools-url=" >> $GITHUB_OUTPUT
|
||||||
else
|
else
|
||||||
echo "::error::Unrecognized version specified!"
|
echo "::error::Unrecognized version specified!"
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
- uses: fwilhe2/setup-kotlin@9c245a6425255f5e98ba1ce6c15d31fce7eca9da
|
||||||
|
if: ${{ inputs.setup-kotlin == 'true' }}
|
||||||
|
with:
|
||||||
|
version: 1.8.21
|
||||||
|
|||||||
12
.github/actions/query-filter-test/action.yml
vendored
12
.github/actions/query-filter-test/action.yml
vendored
@@ -23,7 +23,16 @@ inputs:
|
|||||||
tools:
|
tools:
|
||||||
required: true
|
required: true
|
||||||
description: |
|
description: |
|
||||||
The url of codeql to use.
|
The version of CodeQL passed to the `tools` input of the init action.
|
||||||
|
This can be any of the following:
|
||||||
|
|
||||||
|
- A local path to a tarball containing the CodeQL tools, or
|
||||||
|
- A URL to a GitHub release assets containing the CodeQL tools, or
|
||||||
|
- A special value `linked` which is forcing the use of the CodeQL tools
|
||||||
|
that the action has been bundled with.
|
||||||
|
|
||||||
|
If not specified, the Action will check in several places until it finds
|
||||||
|
the CodeQL tools.
|
||||||
|
|
||||||
runs:
|
runs:
|
||||||
using: composite
|
using: composite
|
||||||
@@ -39,7 +48,6 @@ runs:
|
|||||||
- uses: ./../action/analyze
|
- uses: ./../action/analyze
|
||||||
with:
|
with:
|
||||||
output: ${{ runner.temp }}/results
|
output: ${{ runner.temp }}/results
|
||||||
upload-database: false
|
|
||||||
upload: never
|
upload: never
|
||||||
env:
|
env:
|
||||||
CODEQL_ACTION_TEST_MODE: "true"
|
CODEQL_ACTION_TEST_MODE: "true"
|
||||||
|
|||||||
@@ -18,12 +18,12 @@ runs:
|
|||||||
- name: Set up Python
|
- name: Set up Python
|
||||||
uses: actions/setup-python@v5
|
uses: actions/setup-python@v5
|
||||||
with:
|
with:
|
||||||
python-version: 3.8
|
python-version: 3.12
|
||||||
|
|
||||||
- name: Install dependencies
|
- name: Install dependencies
|
||||||
run: |
|
run: |
|
||||||
python -m pip install --upgrade pip
|
python -m pip install --upgrade pip
|
||||||
pip install PyGithub==1.55 requests
|
pip install PyGithub==2.3.0 requests
|
||||||
shell: bash
|
shell: bash
|
||||||
|
|
||||||
- name: Update git config
|
- name: Update git config
|
||||||
|
|||||||
2
.github/actions/setup-swift/action.yml
vendored
2
.github/actions/setup-swift/action.yml
vendored
@@ -33,7 +33,7 @@ runs:
|
|||||||
fi
|
fi
|
||||||
echo "version=$VERSION" | tee -a $GITHUB_OUTPUT
|
echo "version=$VERSION" | tee -a $GITHUB_OUTPUT
|
||||||
|
|
||||||
- uses: swift-actions/setup-swift@e1dca7c4a36344146bbc2803f0d538462477bb37 # Please update the corresponding SHA in the CLI's CodeQL Action Integration Test.
|
- uses: redsun82/setup-swift@b2b6f77ab14f6a9b136b520dc53ec8eca27d2b99 # Please update the corresponding SHA in the CLI's CodeQL Action Integration Test.
|
||||||
if: runner.os == 'Linux' && steps.get_swift_version.outputs.version != 'null'
|
if: runner.os == 'Linux' && steps.get_swift_version.outputs.version != 'null'
|
||||||
with:
|
with:
|
||||||
swift-version: "${{ steps.get_swift_version.outputs.version }}"
|
swift-version: "${{ steps.get_swift_version.outputs.version }}"
|
||||||
|
|||||||
29
.github/update-release-branch.py
vendored
29
.github/update-release-branch.py
vendored
@@ -1,5 +1,6 @@
|
|||||||
import argparse
|
import argparse
|
||||||
import datetime
|
import datetime
|
||||||
|
import fileinput
|
||||||
import re
|
import re
|
||||||
from github import Github
|
from github import Github
|
||||||
import json
|
import json
|
||||||
@@ -171,6 +172,19 @@ def get_current_version():
|
|||||||
with open('package.json', 'r') as f:
|
with open('package.json', 'r') as f:
|
||||||
return json.load(f)['version']
|
return json.load(f)['version']
|
||||||
|
|
||||||
|
# `npm version` doesn't always work because of merge conflicts, so we
|
||||||
|
# replace the version in package.json textually.
|
||||||
|
def replace_version_package_json(prev_version, new_version):
|
||||||
|
prev_line_is_codeql = False
|
||||||
|
for line in fileinput.input('package.json', inplace = True, encoding='utf-8'):
|
||||||
|
if prev_line_is_codeql and f'\"version\": \"{prev_version}\"' in line:
|
||||||
|
print(line.replace(prev_version, new_version), end='')
|
||||||
|
else:
|
||||||
|
prev_line_is_codeql = False
|
||||||
|
print(line, end='')
|
||||||
|
if '\"name\": \"codeql\",' in line:
|
||||||
|
prev_line_is_codeql = True
|
||||||
|
|
||||||
def get_today_string():
|
def get_today_string():
|
||||||
today = datetime.datetime.today()
|
today = datetime.datetime.today()
|
||||||
return '{:%d %b %Y}'.format(today)
|
return '{:%d %b %Y}'.format(today)
|
||||||
@@ -186,16 +200,17 @@ def process_changelog_for_backports(source_branch_major_version, target_branch_m
|
|||||||
with open('CHANGELOG.md', 'r') as f:
|
with open('CHANGELOG.md', 'r') as f:
|
||||||
|
|
||||||
# until we find the first section, just duplicate all lines
|
# until we find the first section, just duplicate all lines
|
||||||
while True:
|
found_first_section = False
|
||||||
|
while not found_first_section:
|
||||||
line = f.readline()
|
line = f.readline()
|
||||||
if not line:
|
if not line:
|
||||||
raise Exception('Could not find any change sections in CHANGELOG.md') # EOF
|
raise Exception('Could not find any change sections in CHANGELOG.md') # EOF
|
||||||
|
|
||||||
output += line
|
|
||||||
if line.startswith('## '):
|
if line.startswith('## '):
|
||||||
line = line.replace(f'## {source_branch_major_version}', f'## {target_branch_major_version}')
|
line = line.replace(f'## {source_branch_major_version}', f'## {target_branch_major_version}')
|
||||||
# we have found the first section, so now handle things differently
|
found_first_section = True
|
||||||
break
|
|
||||||
|
output += line
|
||||||
|
|
||||||
# found_content tracks whether we hit two headings in a row
|
# found_content tracks whether we hit two headings in a row
|
||||||
found_content = False
|
found_content = False
|
||||||
@@ -373,9 +388,9 @@ def main():
|
|||||||
run_git('commit', '--no-edit')
|
run_git('commit', '--no-edit')
|
||||||
|
|
||||||
# Migrate the package version number from a vLatest version number to a vOlder version number
|
# Migrate the package version number from a vLatest version number to a vOlder version number
|
||||||
print(f'Setting version number to {version}')
|
print(f'Setting version number to {version} in package.json')
|
||||||
subprocess.check_output(['npm', 'version', version, '--no-git-tag-version'])
|
replace_version_package_json(get_current_version(), version) # We rely on the `Update dependencies` workflow to update package-lock.json
|
||||||
run_git('add', 'package.json', 'package-lock.json')
|
run_git('add', 'package.json')
|
||||||
|
|
||||||
# Migrate the changelog notes from vLatest version numbers to vOlder version numbers
|
# Migrate the changelog notes from vLatest version numbers to vOlder version numbers
|
||||||
print(f'Migrating changelog notes from v{source_branch_major_version} to v{target_branch_major_version}')
|
print(f'Migrating changelog notes from v{source_branch_major_version} to v{target_branch_major_version}')
|
||||||
|
|||||||
84
.github/workflows/__all-platform-bundle.yml
generated
vendored
84
.github/workflows/__all-platform-bundle.yml
generated
vendored
@@ -7,26 +7,28 @@ name: PR Check - All-platform bundle
|
|||||||
env:
|
env:
|
||||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
GO111MODULE: auto
|
GO111MODULE: auto
|
||||||
CODEQL_EXTRACTOR_JAVA_AGENT_DISABLE_KOTLIN: 'true'
|
|
||||||
on:
|
on:
|
||||||
push:
|
push:
|
||||||
branches:
|
branches:
|
||||||
- main
|
- main
|
||||||
- releases/v*
|
- releases/v*
|
||||||
pull_request:
|
pull_request:
|
||||||
types:
|
types:
|
||||||
- opened
|
- opened
|
||||||
- synchronize
|
- synchronize
|
||||||
- reopened
|
- reopened
|
||||||
- ready_for_review
|
- ready_for_review
|
||||||
|
schedule:
|
||||||
|
- cron: '0 5 * * *'
|
||||||
workflow_dispatch: {}
|
workflow_dispatch: {}
|
||||||
jobs:
|
jobs:
|
||||||
all-platform-bundle:
|
all-platform-bundle:
|
||||||
strategy:
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
include:
|
include:
|
||||||
- os: ubuntu-latest
|
- os: ubuntu-latest
|
||||||
version: nightly-latest
|
version: nightly-latest
|
||||||
name: All-platform bundle
|
name: All-platform bundle
|
||||||
permissions:
|
permissions:
|
||||||
contents: read
|
contents: read
|
||||||
@@ -34,44 +36,34 @@ jobs:
|
|||||||
timeout-minutes: 45
|
timeout-minutes: 45
|
||||||
runs-on: ${{ matrix.os }}
|
runs-on: ${{ matrix.os }}
|
||||||
steps:
|
steps:
|
||||||
- name: Setup Python on MacOS
|
- name: Setup Python on MacOS
|
||||||
uses: actions/setup-python@v5
|
uses: actions/setup-python@v5
|
||||||
if: >-
|
if: >-
|
||||||
matrix.os == 'macos-latest' && (
|
runner.os == 'macOS' && (
|
||||||
|
|
||||||
matrix.version == 'stable-20221211' ||
|
matrix.version == 'stable-v2.13.5' ||
|
||||||
|
|
||||||
matrix.version == 'stable-20230418' ||
|
matrix.version == 'stable-v2.14.6')
|
||||||
|
with:
|
||||||
matrix.version == 'stable-v2.13.5' ||
|
python-version: '3.11'
|
||||||
|
- name: Check out repository
|
||||||
matrix.version == 'stable-v2.14.6')
|
uses: actions/checkout@v4
|
||||||
with:
|
- name: Prepare test
|
||||||
python-version: '3.11'
|
id: prepare-test
|
||||||
- name: Check out repository
|
uses: ./.github/actions/prepare-test
|
||||||
uses: actions/checkout@v4
|
with:
|
||||||
- name: Prepare test
|
version: ${{ matrix.version }}
|
||||||
id: prepare-test
|
use-all-platform-bundle: 'true'
|
||||||
uses: ./.github/actions/prepare-test
|
setup-kotlin: 'true'
|
||||||
with:
|
- id: init
|
||||||
version: ${{ matrix.version }}
|
uses: ./../action/init
|
||||||
use-all-platform-bundle: 'true'
|
with:
|
||||||
- name: Set environment variable for Swift enablement
|
# Swift is not supported on Ubuntu so we manually exclude it from the list here
|
||||||
if: runner.os != 'Windows' && matrix.version == '20221211'
|
languages: cpp,csharp,go,java,javascript,python,ruby
|
||||||
shell: bash
|
tools: ${{ steps.prepare-test.outputs.tools-url }}
|
||||||
run: echo "CODEQL_ENABLE_EXPERIMENTAL_FEATURES_SWIFT=true" >> $GITHUB_ENV
|
- name: Build code
|
||||||
- id: init
|
shell: bash
|
||||||
uses: ./../action/init
|
run: ./build.sh
|
||||||
with:
|
- uses: ./../action/analyze
|
||||||
tools: ${{ steps.prepare-test.outputs.tools-url }}
|
|
||||||
- uses: ./../action/.github/actions/setup-swift
|
|
||||||
with:
|
|
||||||
codeql-path: ${{ steps.init.outputs.codeql-path }}
|
|
||||||
- name: Build code
|
|
||||||
shell: bash
|
|
||||||
run: ./build.sh
|
|
||||||
- uses: ./../action/analyze
|
|
||||||
with:
|
|
||||||
upload-database: false
|
|
||||||
env:
|
env:
|
||||||
CODEQL_ACTION_TEST_MODE: true
|
CODEQL_ACTION_TEST_MODE: true
|
||||||
|
|||||||
96
.github/workflows/__analyze-ref-input.yml
generated
vendored
96
.github/workflows/__analyze-ref-input.yml
generated
vendored
@@ -7,30 +7,32 @@ name: "PR Check - Analyze: 'ref' and 'sha' from inputs"
|
|||||||
env:
|
env:
|
||||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
GO111MODULE: auto
|
GO111MODULE: auto
|
||||||
CODEQL_EXTRACTOR_JAVA_AGENT_DISABLE_KOTLIN: 'true'
|
|
||||||
on:
|
on:
|
||||||
push:
|
push:
|
||||||
branches:
|
branches:
|
||||||
- main
|
- main
|
||||||
- releases/v*
|
- releases/v*
|
||||||
pull_request:
|
pull_request:
|
||||||
types:
|
types:
|
||||||
- opened
|
- opened
|
||||||
- synchronize
|
- synchronize
|
||||||
- reopened
|
- reopened
|
||||||
- ready_for_review
|
- ready_for_review
|
||||||
|
schedule:
|
||||||
|
- cron: '0 5 * * *'
|
||||||
workflow_dispatch: {}
|
workflow_dispatch: {}
|
||||||
jobs:
|
jobs:
|
||||||
analyze-ref-input:
|
analyze-ref-input:
|
||||||
strategy:
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
include:
|
include:
|
||||||
- os: ubuntu-latest
|
- os: ubuntu-latest
|
||||||
version: default
|
version: default
|
||||||
- os: macos-latest
|
- os: macos-latest
|
||||||
version: default
|
version: default
|
||||||
- os: windows-latest
|
- os: windows-latest
|
||||||
version: default
|
version: default
|
||||||
name: "Analyze: 'ref' and 'sha' from inputs"
|
name: "Analyze: 'ref' and 'sha' from inputs"
|
||||||
permissions:
|
permissions:
|
||||||
contents: read
|
contents: read
|
||||||
@@ -38,45 +40,37 @@ jobs:
|
|||||||
timeout-minutes: 45
|
timeout-minutes: 45
|
||||||
runs-on: ${{ matrix.os }}
|
runs-on: ${{ matrix.os }}
|
||||||
steps:
|
steps:
|
||||||
- name: Setup Python on MacOS
|
- name: Setup Python on MacOS
|
||||||
uses: actions/setup-python@v5
|
uses: actions/setup-python@v5
|
||||||
if: >-
|
if: >-
|
||||||
matrix.os == 'macos-latest' && (
|
runner.os == 'macOS' && (
|
||||||
|
|
||||||
matrix.version == 'stable-20221211' ||
|
matrix.version == 'stable-v2.13.5' ||
|
||||||
|
|
||||||
matrix.version == 'stable-20230418' ||
|
matrix.version == 'stable-v2.14.6')
|
||||||
|
with:
|
||||||
matrix.version == 'stable-v2.13.5' ||
|
python-version: '3.11'
|
||||||
|
- name: Check out repository
|
||||||
matrix.version == 'stable-v2.14.6')
|
uses: actions/checkout@v4
|
||||||
with:
|
- name: Prepare test
|
||||||
python-version: '3.11'
|
id: prepare-test
|
||||||
- name: Check out repository
|
uses: ./.github/actions/prepare-test
|
||||||
uses: actions/checkout@v4
|
with:
|
||||||
- name: Prepare test
|
version: ${{ matrix.version }}
|
||||||
id: prepare-test
|
use-all-platform-bundle: 'false'
|
||||||
uses: ./.github/actions/prepare-test
|
setup-kotlin: 'true'
|
||||||
with:
|
- uses: ./../action/init
|
||||||
version: ${{ matrix.version }}
|
with:
|
||||||
use-all-platform-bundle: 'false'
|
tools: ${{ steps.prepare-test.outputs.tools-url }}
|
||||||
- name: Set environment variable for Swift enablement
|
languages: cpp,csharp,java,javascript,python
|
||||||
if: runner.os != 'Windows' && matrix.version == '20221211'
|
config-file: ${{ github.repository }}/tests/multi-language-repo/.github/codeql/custom-queries.yml@${{
|
||||||
shell: bash
|
github.sha }}
|
||||||
run: echo "CODEQL_ENABLE_EXPERIMENTAL_FEATURES_SWIFT=true" >> $GITHUB_ENV
|
- name: Build code
|
||||||
- uses: ./../action/init
|
shell: bash
|
||||||
with:
|
run: ./build.sh
|
||||||
tools: ${{ steps.prepare-test.outputs.tools-url }}
|
- uses: ./../action/analyze
|
||||||
languages: cpp,csharp,java,javascript,python
|
with:
|
||||||
config-file: ${{ github.repository }}/tests/multi-language-repo/.github/codeql/custom-queries.yml@${{
|
ref: refs/heads/main
|
||||||
github.sha }}
|
sha: 5e235361806c361d4d3f8859e3c897658025a9a2
|
||||||
- name: Build code
|
|
||||||
shell: bash
|
|
||||||
run: ./build.sh
|
|
||||||
- uses: ./../action/analyze
|
|
||||||
with:
|
|
||||||
upload-database: false
|
|
||||||
ref: refs/heads/main
|
|
||||||
sha: 5e235361806c361d4d3f8859e3c897658025a9a2
|
|
||||||
env:
|
env:
|
||||||
CODEQL_ACTION_TEST_MODE: true
|
CODEQL_ACTION_TEST_MODE: true
|
||||||
|
|||||||
113
.github/workflows/__autobuild-action.yml
generated
vendored
113
.github/workflows/__autobuild-action.yml
generated
vendored
@@ -7,30 +7,32 @@ name: PR Check - autobuild-action
|
|||||||
env:
|
env:
|
||||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
GO111MODULE: auto
|
GO111MODULE: auto
|
||||||
CODEQL_EXTRACTOR_JAVA_AGENT_DISABLE_KOTLIN: 'true'
|
|
||||||
on:
|
on:
|
||||||
push:
|
push:
|
||||||
branches:
|
branches:
|
||||||
- main
|
- main
|
||||||
- releases/v*
|
- releases/v*
|
||||||
pull_request:
|
pull_request:
|
||||||
types:
|
types:
|
||||||
- opened
|
- opened
|
||||||
- synchronize
|
- synchronize
|
||||||
- reopened
|
- reopened
|
||||||
- ready_for_review
|
- ready_for_review
|
||||||
|
schedule:
|
||||||
|
- cron: '0 5 * * *'
|
||||||
workflow_dispatch: {}
|
workflow_dispatch: {}
|
||||||
jobs:
|
jobs:
|
||||||
autobuild-action:
|
autobuild-action:
|
||||||
strategy:
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
include:
|
include:
|
||||||
- os: ubuntu-latest
|
- os: ubuntu-latest
|
||||||
version: latest
|
version: linked
|
||||||
- os: macos-latest
|
- os: macos-latest
|
||||||
version: latest
|
version: linked
|
||||||
- os: windows-latest
|
- os: windows-latest
|
||||||
version: latest
|
version: linked
|
||||||
name: autobuild-action
|
name: autobuild-action
|
||||||
permissions:
|
permissions:
|
||||||
contents: read
|
contents: read
|
||||||
@@ -38,55 +40,46 @@ jobs:
|
|||||||
timeout-minutes: 45
|
timeout-minutes: 45
|
||||||
runs-on: ${{ matrix.os }}
|
runs-on: ${{ matrix.os }}
|
||||||
steps:
|
steps:
|
||||||
- name: Setup Python on MacOS
|
- name: Setup Python on MacOS
|
||||||
uses: actions/setup-python@v5
|
uses: actions/setup-python@v5
|
||||||
if: >-
|
if: >-
|
||||||
matrix.os == 'macos-latest' && (
|
runner.os == 'macOS' && (
|
||||||
|
|
||||||
matrix.version == 'stable-20221211' ||
|
matrix.version == 'stable-v2.13.5' ||
|
||||||
|
|
||||||
matrix.version == 'stable-20230418' ||
|
matrix.version == 'stable-v2.14.6')
|
||||||
|
with:
|
||||||
matrix.version == 'stable-v2.13.5' ||
|
python-version: '3.11'
|
||||||
|
- name: Check out repository
|
||||||
matrix.version == 'stable-v2.14.6')
|
uses: actions/checkout@v4
|
||||||
with:
|
- name: Prepare test
|
||||||
python-version: '3.11'
|
id: prepare-test
|
||||||
- name: Check out repository
|
uses: ./.github/actions/prepare-test
|
||||||
uses: actions/checkout@v4
|
with:
|
||||||
- name: Prepare test
|
version: ${{ matrix.version }}
|
||||||
id: prepare-test
|
use-all-platform-bundle: 'false'
|
||||||
uses: ./.github/actions/prepare-test
|
setup-kotlin: 'true'
|
||||||
with:
|
- uses: ./../action/init
|
||||||
version: ${{ matrix.version }}
|
with:
|
||||||
use-all-platform-bundle: 'false'
|
languages: csharp
|
||||||
- name: Set environment variable for Swift enablement
|
tools: ${{ steps.prepare-test.outputs.tools-url }}
|
||||||
if: runner.os != 'Windows' && matrix.version == '20221211'
|
- uses: ./../action/autobuild
|
||||||
shell: bash
|
env:
|
||||||
run: echo "CODEQL_ENABLE_EXPERIMENTAL_FEATURES_SWIFT=true" >> $GITHUB_ENV
|
|
||||||
- uses: ./../action/init
|
|
||||||
with:
|
|
||||||
languages: csharp
|
|
||||||
tools: ${{ steps.prepare-test.outputs.tools-url }}
|
|
||||||
- uses: ./../action/autobuild
|
|
||||||
env:
|
|
||||||
# Explicitly disable the CLR tracer.
|
# Explicitly disable the CLR tracer.
|
||||||
COR_ENABLE_PROFILING: ''
|
COR_ENABLE_PROFILING: ''
|
||||||
COR_PROFILER: ''
|
COR_PROFILER: ''
|
||||||
COR_PROFILER_PATH_64: ''
|
COR_PROFILER_PATH_64: ''
|
||||||
CORECLR_ENABLE_PROFILING: ''
|
CORECLR_ENABLE_PROFILING: ''
|
||||||
CORECLR_PROFILER: ''
|
CORECLR_PROFILER: ''
|
||||||
CORECLR_PROFILER_PATH_64: ''
|
CORECLR_PROFILER_PATH_64: ''
|
||||||
- uses: ./../action/analyze
|
- uses: ./../action/analyze
|
||||||
with:
|
- name: Check database
|
||||||
upload-database: false
|
shell: bash
|
||||||
- name: Check database
|
run: |
|
||||||
shell: bash
|
cd "$RUNNER_TEMP/codeql_databases"
|
||||||
run: |
|
if [[ ! -d csharp ]]; then
|
||||||
cd "$RUNNER_TEMP/codeql_databases"
|
echo "Did not find a C# database"
|
||||||
if [[ ! -d csharp ]]; then
|
exit 1
|
||||||
echo "Did not find a C# database"
|
fi
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
env:
|
env:
|
||||||
CODEQL_ACTION_TEST_MODE: true
|
CODEQL_ACTION_TEST_MODE: true
|
||||||
|
|||||||
90
.github/workflows/__autobuild-direct-tracing-with-working-dir.yml
generated
vendored
Normal file
90
.github/workflows/__autobuild-direct-tracing-with-working-dir.yml
generated
vendored
Normal file
@@ -0,0 +1,90 @@
|
|||||||
|
# Warning: This file is generated automatically, and should not be modified.
|
||||||
|
# Instead, please modify the template in the pr-checks directory and run:
|
||||||
|
# (cd pr-checks; pip install ruamel.yaml@0.17.31 && python3 sync.py)
|
||||||
|
# to regenerate this file.
|
||||||
|
|
||||||
|
name: PR Check - Autobuild direct tracing (custom working directory)
|
||||||
|
env:
|
||||||
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
GO111MODULE: auto
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
branches:
|
||||||
|
- main
|
||||||
|
- releases/v*
|
||||||
|
pull_request:
|
||||||
|
types:
|
||||||
|
- opened
|
||||||
|
- synchronize
|
||||||
|
- reopened
|
||||||
|
- ready_for_review
|
||||||
|
schedule:
|
||||||
|
- cron: '0 5 * * *'
|
||||||
|
workflow_dispatch: {}
|
||||||
|
jobs:
|
||||||
|
autobuild-direct-tracing-with-working-dir:
|
||||||
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
|
matrix:
|
||||||
|
include:
|
||||||
|
- os: ubuntu-latest
|
||||||
|
version: linked
|
||||||
|
- os: windows-latest
|
||||||
|
version: linked
|
||||||
|
- os: ubuntu-latest
|
||||||
|
version: nightly-latest
|
||||||
|
- os: windows-latest
|
||||||
|
version: nightly-latest
|
||||||
|
name: Autobuild direct tracing (custom working directory)
|
||||||
|
permissions:
|
||||||
|
contents: read
|
||||||
|
security-events: write
|
||||||
|
timeout-minutes: 45
|
||||||
|
runs-on: ${{ matrix.os }}
|
||||||
|
steps:
|
||||||
|
- name: Setup Python on MacOS
|
||||||
|
uses: actions/setup-python@v5
|
||||||
|
if: >-
|
||||||
|
runner.os == 'macOS' && (
|
||||||
|
|
||||||
|
matrix.version == 'stable-v2.13.5' ||
|
||||||
|
|
||||||
|
matrix.version == 'stable-v2.14.6')
|
||||||
|
with:
|
||||||
|
python-version: '3.11'
|
||||||
|
- name: Check out repository
|
||||||
|
uses: actions/checkout@v4
|
||||||
|
- name: Prepare test
|
||||||
|
id: prepare-test
|
||||||
|
uses: ./.github/actions/prepare-test
|
||||||
|
with:
|
||||||
|
version: ${{ matrix.version }}
|
||||||
|
use-all-platform-bundle: 'false'
|
||||||
|
setup-kotlin: 'true'
|
||||||
|
- name: Test setup
|
||||||
|
shell: bash
|
||||||
|
run: |
|
||||||
|
# Make sure that Gradle build succeeds in autobuild-dir ...
|
||||||
|
cp -a ../action/tests/java-repo autobuild-dir
|
||||||
|
# ... and fails if attempted in the current directory
|
||||||
|
echo > build.gradle
|
||||||
|
- uses: ./../action/init
|
||||||
|
with:
|
||||||
|
build-mode: autobuild
|
||||||
|
languages: java
|
||||||
|
tools: ${{ steps.prepare-test.outputs.tools-url }}
|
||||||
|
- name: Check that indirect tracing is disabled
|
||||||
|
shell: bash
|
||||||
|
run: |
|
||||||
|
if [[ ! -z "${CODEQL_RUNNER}" ]]; then
|
||||||
|
echo "Expected indirect tracing to be disabled, but the" \
|
||||||
|
"CODEQL_RUNNER environment variable is set."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
- uses: ./../action/autobuild
|
||||||
|
with:
|
||||||
|
working-directory: autobuild-dir
|
||||||
|
- uses: ./../action/analyze
|
||||||
|
env:
|
||||||
|
CODEQL_ACTION_AUTOBUILD_BUILD_MODE_DIRECT_TRACING: true
|
||||||
|
CODEQL_ACTION_TEST_MODE: true
|
||||||
91
.github/workflows/__autobuild-direct-tracing.yml
generated
vendored
Normal file
91
.github/workflows/__autobuild-direct-tracing.yml
generated
vendored
Normal file
@@ -0,0 +1,91 @@
|
|||||||
|
# Warning: This file is generated automatically, and should not be modified.
|
||||||
|
# Instead, please modify the template in the pr-checks directory and run:
|
||||||
|
# (cd pr-checks; pip install ruamel.yaml@0.17.31 && python3 sync.py)
|
||||||
|
# to regenerate this file.
|
||||||
|
|
||||||
|
name: PR Check - Autobuild direct tracing
|
||||||
|
env:
|
||||||
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
GO111MODULE: auto
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
branches:
|
||||||
|
- main
|
||||||
|
- releases/v*
|
||||||
|
pull_request:
|
||||||
|
types:
|
||||||
|
- opened
|
||||||
|
- synchronize
|
||||||
|
- reopened
|
||||||
|
- ready_for_review
|
||||||
|
schedule:
|
||||||
|
- cron: '0 5 * * *'
|
||||||
|
workflow_dispatch: {}
|
||||||
|
jobs:
|
||||||
|
autobuild-direct-tracing:
|
||||||
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
|
matrix:
|
||||||
|
include:
|
||||||
|
- os: ubuntu-latest
|
||||||
|
version: linked
|
||||||
|
- os: windows-latest
|
||||||
|
version: linked
|
||||||
|
- os: ubuntu-latest
|
||||||
|
version: nightly-latest
|
||||||
|
- os: windows-latest
|
||||||
|
version: nightly-latest
|
||||||
|
name: Autobuild direct tracing
|
||||||
|
permissions:
|
||||||
|
contents: read
|
||||||
|
security-events: write
|
||||||
|
timeout-minutes: 45
|
||||||
|
runs-on: ${{ matrix.os }}
|
||||||
|
steps:
|
||||||
|
- name: Setup Python on MacOS
|
||||||
|
uses: actions/setup-python@v5
|
||||||
|
if: >-
|
||||||
|
runner.os == 'macOS' && (
|
||||||
|
|
||||||
|
matrix.version == 'stable-v2.13.5' ||
|
||||||
|
|
||||||
|
matrix.version == 'stable-v2.14.6')
|
||||||
|
with:
|
||||||
|
python-version: '3.11'
|
||||||
|
- name: Check out repository
|
||||||
|
uses: actions/checkout@v4
|
||||||
|
- name: Prepare test
|
||||||
|
id: prepare-test
|
||||||
|
uses: ./.github/actions/prepare-test
|
||||||
|
with:
|
||||||
|
version: ${{ matrix.version }}
|
||||||
|
use-all-platform-bundle: 'false'
|
||||||
|
setup-kotlin: 'true'
|
||||||
|
- name: Set up Java test repo configuration
|
||||||
|
shell: bash
|
||||||
|
run: |
|
||||||
|
mv * .github ../action/tests/multi-language-repo/
|
||||||
|
mv ../action/tests/multi-language-repo/.github/workflows .github
|
||||||
|
mv ../action/tests/java-repo/* .
|
||||||
|
|
||||||
|
- uses: ./../action/init
|
||||||
|
id: init
|
||||||
|
with:
|
||||||
|
build-mode: autobuild
|
||||||
|
db-location: ${{ runner.temp }}/customDbLocation
|
||||||
|
languages: java
|
||||||
|
tools: ${{ steps.prepare-test.outputs.tools-url }}
|
||||||
|
|
||||||
|
- name: Check that indirect tracing is disabled
|
||||||
|
shell: bash
|
||||||
|
run: |
|
||||||
|
if [[ ! -z "${CODEQL_RUNNER}" ]]; then
|
||||||
|
echo "Expected indirect tracing to be disabled, but the" \
|
||||||
|
"CODEQL_RUNNER environment variable is set."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
- uses: ./../action/analyze
|
||||||
|
env:
|
||||||
|
CODEQL_ACTION_AUTOBUILD_BUILD_MODE_DIRECT_TRACING: true
|
||||||
|
CODEQL_ACTION_TEST_MODE: true
|
||||||
103
.github/workflows/__build-mode-autobuild.yml
generated
vendored
103
.github/workflows/__build-mode-autobuild.yml
generated
vendored
@@ -7,26 +7,28 @@ name: PR Check - Build mode autobuild
|
|||||||
env:
|
env:
|
||||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
GO111MODULE: auto
|
GO111MODULE: auto
|
||||||
CODEQL_EXTRACTOR_JAVA_AGENT_DISABLE_KOTLIN: 'true'
|
|
||||||
on:
|
on:
|
||||||
push:
|
push:
|
||||||
branches:
|
branches:
|
||||||
- main
|
- main
|
||||||
- releases/v*
|
- releases/v*
|
||||||
pull_request:
|
pull_request:
|
||||||
types:
|
types:
|
||||||
- opened
|
- opened
|
||||||
- synchronize
|
- synchronize
|
||||||
- reopened
|
- reopened
|
||||||
- ready_for_review
|
- ready_for_review
|
||||||
|
schedule:
|
||||||
|
- cron: '0 5 * * *'
|
||||||
workflow_dispatch: {}
|
workflow_dispatch: {}
|
||||||
jobs:
|
jobs:
|
||||||
build-mode-autobuild:
|
build-mode-autobuild:
|
||||||
strategy:
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
include:
|
include:
|
||||||
- os: ubuntu-latest
|
- os: ubuntu-latest
|
||||||
version: nightly-latest
|
version: nightly-latest
|
||||||
name: Build mode autobuild
|
name: Build mode autobuild
|
||||||
permissions:
|
permissions:
|
||||||
contents: read
|
contents: read
|
||||||
@@ -34,55 +36,48 @@ jobs:
|
|||||||
timeout-minutes: 45
|
timeout-minutes: 45
|
||||||
runs-on: ${{ matrix.os }}
|
runs-on: ${{ matrix.os }}
|
||||||
steps:
|
steps:
|
||||||
- name: Setup Python on MacOS
|
- name: Setup Python on MacOS
|
||||||
uses: actions/setup-python@v5
|
uses: actions/setup-python@v5
|
||||||
if: >-
|
if: >-
|
||||||
matrix.os == 'macos-latest' && (
|
runner.os == 'macOS' && (
|
||||||
|
|
||||||
matrix.version == 'stable-20221211' ||
|
matrix.version == 'stable-v2.13.5' ||
|
||||||
|
|
||||||
matrix.version == 'stable-20230418' ||
|
matrix.version == 'stable-v2.14.6')
|
||||||
|
with:
|
||||||
|
python-version: '3.11'
|
||||||
|
- name: Check out repository
|
||||||
|
uses: actions/checkout@v4
|
||||||
|
- name: Prepare test
|
||||||
|
id: prepare-test
|
||||||
|
uses: ./.github/actions/prepare-test
|
||||||
|
with:
|
||||||
|
version: ${{ matrix.version }}
|
||||||
|
use-all-platform-bundle: 'false'
|
||||||
|
setup-kotlin: 'true'
|
||||||
|
- name: Set up Java test repo configuration
|
||||||
|
run: |
|
||||||
|
mv * .github ../action/tests/multi-language-repo/
|
||||||
|
mv ../action/tests/multi-language-repo/.github/workflows .github
|
||||||
|
mv ../action/tests/java-repo/* .
|
||||||
|
|
||||||
matrix.version == 'stable-v2.13.5' ||
|
- uses: ./../action/init
|
||||||
|
id: init
|
||||||
|
with:
|
||||||
|
build-mode: autobuild
|
||||||
|
db-location: ${{ runner.temp }}/customDbLocation
|
||||||
|
languages: java
|
||||||
|
tools: ${{ steps.prepare-test.outputs.tools-url }}
|
||||||
|
|
||||||
matrix.version == 'stable-v2.14.6')
|
- name: Validate database build mode
|
||||||
with:
|
run: |
|
||||||
python-version: '3.11'
|
metadata_path="$RUNNER_TEMP/customDbLocation/java/codeql-database.yml"
|
||||||
- name: Check out repository
|
build_mode=$(yq eval '.buildMode' "$metadata_path")
|
||||||
uses: actions/checkout@v4
|
if [[ "$build_mode" != "autobuild" ]]; then
|
||||||
- name: Prepare test
|
echo "Expected build mode to be 'autobuild' but was $build_mode"
|
||||||
id: prepare-test
|
exit 1
|
||||||
uses: ./.github/actions/prepare-test
|
fi
|
||||||
with:
|
|
||||||
version: ${{ matrix.version }}
|
|
||||||
use-all-platform-bundle: 'false'
|
|
||||||
- name: Set environment variable for Swift enablement
|
|
||||||
if: runner.os != 'Windows' && matrix.version == '20221211'
|
|
||||||
shell: bash
|
|
||||||
run: echo "CODEQL_ENABLE_EXPERIMENTAL_FEATURES_SWIFT=true" >> $GITHUB_ENV
|
|
||||||
- name: Set up Java test repo configuration
|
|
||||||
run: |
|
|
||||||
mv * .github ../action/tests/multi-language-repo/
|
|
||||||
mv ../action/tests/multi-language-repo/.github/workflows .github
|
|
||||||
mv ../action/tests/java-repo/* .
|
|
||||||
|
|
||||||
- uses: ./../action/init
|
- uses: ./../action/analyze
|
||||||
id: init
|
|
||||||
with:
|
|
||||||
build-mode: autobuild
|
|
||||||
db-location: ${{ runner.temp }}/customDbLocation
|
|
||||||
languages: java
|
|
||||||
tools: ${{ steps.prepare-test.outputs.tools-url }}
|
|
||||||
|
|
||||||
- name: Validate database build mode
|
|
||||||
run: |
|
|
||||||
metadata_path="$RUNNER_TEMP/customDbLocation/java/codeql-database.yml"
|
|
||||||
build_mode=$(yq eval '.buildMode' "$metadata_path")
|
|
||||||
if [[ "$build_mode" != "autobuild" ]]; then
|
|
||||||
echo "Expected build mode to be 'autobuild' but was $build_mode"
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
- uses: ./../action/analyze
|
|
||||||
env:
|
env:
|
||||||
CODEQL_ACTION_TEST_MODE: true
|
CODEQL_ACTION_TEST_MODE: true
|
||||||
|
|||||||
103
.github/workflows/__build-mode-manual.yml
generated
vendored
103
.github/workflows/__build-mode-manual.yml
generated
vendored
@@ -7,26 +7,28 @@ name: PR Check - Build mode manual
|
|||||||
env:
|
env:
|
||||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
GO111MODULE: auto
|
GO111MODULE: auto
|
||||||
CODEQL_EXTRACTOR_JAVA_AGENT_DISABLE_KOTLIN: 'true'
|
|
||||||
on:
|
on:
|
||||||
push:
|
push:
|
||||||
branches:
|
branches:
|
||||||
- main
|
- main
|
||||||
- releases/v*
|
- releases/v*
|
||||||
pull_request:
|
pull_request:
|
||||||
types:
|
types:
|
||||||
- opened
|
- opened
|
||||||
- synchronize
|
- synchronize
|
||||||
- reopened
|
- reopened
|
||||||
- ready_for_review
|
- ready_for_review
|
||||||
|
schedule:
|
||||||
|
- cron: '0 5 * * *'
|
||||||
workflow_dispatch: {}
|
workflow_dispatch: {}
|
||||||
jobs:
|
jobs:
|
||||||
build-mode-manual:
|
build-mode-manual:
|
||||||
strategy:
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
include:
|
include:
|
||||||
- os: ubuntu-latest
|
- os: ubuntu-latest
|
||||||
version: nightly-latest
|
version: nightly-latest
|
||||||
name: Build mode manual
|
name: Build mode manual
|
||||||
permissions:
|
permissions:
|
||||||
contents: read
|
contents: read
|
||||||
@@ -34,57 +36,46 @@ jobs:
|
|||||||
timeout-minutes: 45
|
timeout-minutes: 45
|
||||||
runs-on: ${{ matrix.os }}
|
runs-on: ${{ matrix.os }}
|
||||||
steps:
|
steps:
|
||||||
- name: Setup Python on MacOS
|
- name: Setup Python on MacOS
|
||||||
uses: actions/setup-python@v5
|
uses: actions/setup-python@v5
|
||||||
if: >-
|
if: >-
|
||||||
matrix.os == 'macos-latest' && (
|
runner.os == 'macOS' && (
|
||||||
|
|
||||||
matrix.version == 'stable-20221211' ||
|
matrix.version == 'stable-v2.13.5' ||
|
||||||
|
|
||||||
matrix.version == 'stable-20230418' ||
|
matrix.version == 'stable-v2.14.6')
|
||||||
|
with:
|
||||||
|
python-version: '3.11'
|
||||||
|
- name: Check out repository
|
||||||
|
uses: actions/checkout@v4
|
||||||
|
- name: Prepare test
|
||||||
|
id: prepare-test
|
||||||
|
uses: ./.github/actions/prepare-test
|
||||||
|
with:
|
||||||
|
version: ${{ matrix.version }}
|
||||||
|
use-all-platform-bundle: 'false'
|
||||||
|
setup-kotlin: 'true'
|
||||||
|
- uses: ./../action/init
|
||||||
|
id: init
|
||||||
|
with:
|
||||||
|
build-mode: manual
|
||||||
|
db-location: ${{ runner.temp }}/customDbLocation
|
||||||
|
languages: java
|
||||||
|
tools: ${{ steps.prepare-test.outputs.tools-url }}
|
||||||
|
|
||||||
matrix.version == 'stable-v2.13.5' ||
|
- name: Validate database build mode
|
||||||
|
run: |
|
||||||
|
metadata_path="$RUNNER_TEMP/customDbLocation/java/codeql-database.yml"
|
||||||
|
build_mode=$(yq eval '.buildMode' "$metadata_path")
|
||||||
|
if [[ "$build_mode" != "manual" ]]; then
|
||||||
|
echo "Expected build mode to be 'manual' but was $build_mode"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
matrix.version == 'stable-v2.14.6')
|
- name: Build code
|
||||||
with:
|
shell: bash
|
||||||
python-version: '3.11'
|
run: ./build.sh
|
||||||
- name: Check out repository
|
|
||||||
uses: actions/checkout@v4
|
|
||||||
- name: Prepare test
|
|
||||||
id: prepare-test
|
|
||||||
uses: ./.github/actions/prepare-test
|
|
||||||
with:
|
|
||||||
version: ${{ matrix.version }}
|
|
||||||
use-all-platform-bundle: 'false'
|
|
||||||
- name: Set environment variable for Swift enablement
|
|
||||||
if: runner.os != 'Windows' && matrix.version == '20221211'
|
|
||||||
shell: bash
|
|
||||||
run: echo "CODEQL_ENABLE_EXPERIMENTAL_FEATURES_SWIFT=true" >> $GITHUB_ENV
|
|
||||||
- uses: ./../action/init
|
|
||||||
id: init
|
|
||||||
with:
|
|
||||||
build-mode: manual
|
|
||||||
db-location: ${{ runner.temp }}/customDbLocation
|
|
||||||
languages: java
|
|
||||||
tools: ${{ steps.prepare-test.outputs.tools-url }}
|
|
||||||
|
|
||||||
- name: Validate database build mode
|
- uses: ./../action/analyze
|
||||||
run: |
|
|
||||||
metadata_path="$RUNNER_TEMP/customDbLocation/java/codeql-database.yml"
|
|
||||||
build_mode=$(yq eval '.buildMode' "$metadata_path")
|
|
||||||
if [[ "$build_mode" != "manual" ]]; then
|
|
||||||
echo "Expected build mode to be 'manual' but was $build_mode"
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
- uses: ./../action/.github/actions/setup-swift
|
|
||||||
with:
|
|
||||||
codeql-path: ${{ steps.init.outputs.codeql-path }}
|
|
||||||
|
|
||||||
- name: Build code
|
|
||||||
shell: bash
|
|
||||||
run: ./build.sh
|
|
||||||
|
|
||||||
- uses: ./../action/analyze
|
|
||||||
env:
|
env:
|
||||||
CODEQL_ACTION_TEST_MODE: true
|
CODEQL_ACTION_TEST_MODE: true
|
||||||
|
|||||||
101
.github/workflows/__build-mode-none.yml
generated
vendored
101
.github/workflows/__build-mode-none.yml
generated
vendored
@@ -7,28 +7,30 @@ name: PR Check - Build mode none
|
|||||||
env:
|
env:
|
||||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
GO111MODULE: auto
|
GO111MODULE: auto
|
||||||
CODEQL_EXTRACTOR_JAVA_AGENT_DISABLE_KOTLIN: 'true'
|
|
||||||
on:
|
on:
|
||||||
push:
|
push:
|
||||||
branches:
|
branches:
|
||||||
- main
|
- main
|
||||||
- releases/v*
|
- releases/v*
|
||||||
pull_request:
|
pull_request:
|
||||||
types:
|
types:
|
||||||
- opened
|
- opened
|
||||||
- synchronize
|
- synchronize
|
||||||
- reopened
|
- reopened
|
||||||
- ready_for_review
|
- ready_for_review
|
||||||
|
schedule:
|
||||||
|
- cron: '0 5 * * *'
|
||||||
workflow_dispatch: {}
|
workflow_dispatch: {}
|
||||||
jobs:
|
jobs:
|
||||||
build-mode-none:
|
build-mode-none:
|
||||||
strategy:
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
include:
|
include:
|
||||||
- os: ubuntu-latest
|
- os: ubuntu-latest
|
||||||
version: latest
|
version: linked
|
||||||
- os: ubuntu-latest
|
- os: ubuntu-latest
|
||||||
version: nightly-latest
|
version: nightly-latest
|
||||||
name: Build mode none
|
name: Build mode none
|
||||||
permissions:
|
permissions:
|
||||||
contents: read
|
contents: read
|
||||||
@@ -36,53 +38,46 @@ jobs:
|
|||||||
timeout-minutes: 45
|
timeout-minutes: 45
|
||||||
runs-on: ${{ matrix.os }}
|
runs-on: ${{ matrix.os }}
|
||||||
steps:
|
steps:
|
||||||
- name: Setup Python on MacOS
|
- name: Setup Python on MacOS
|
||||||
uses: actions/setup-python@v5
|
uses: actions/setup-python@v5
|
||||||
if: >-
|
if: >-
|
||||||
matrix.os == 'macos-latest' && (
|
runner.os == 'macOS' && (
|
||||||
|
|
||||||
matrix.version == 'stable-20221211' ||
|
matrix.version == 'stable-v2.13.5' ||
|
||||||
|
|
||||||
matrix.version == 'stable-20230418' ||
|
matrix.version == 'stable-v2.14.6')
|
||||||
|
with:
|
||||||
|
python-version: '3.11'
|
||||||
|
- name: Check out repository
|
||||||
|
uses: actions/checkout@v4
|
||||||
|
- name: Prepare test
|
||||||
|
id: prepare-test
|
||||||
|
uses: ./.github/actions/prepare-test
|
||||||
|
with:
|
||||||
|
version: ${{ matrix.version }}
|
||||||
|
use-all-platform-bundle: 'false'
|
||||||
|
setup-kotlin: 'true'
|
||||||
|
- uses: ./../action/init
|
||||||
|
id: init
|
||||||
|
with:
|
||||||
|
build-mode: none
|
||||||
|
db-location: ${{ runner.temp }}/customDbLocation
|
||||||
|
languages: java
|
||||||
|
tools: ${{ steps.prepare-test.outputs.tools-url }}
|
||||||
|
|
||||||
matrix.version == 'stable-v2.13.5' ||
|
- name: Validate database build mode
|
||||||
|
run: |
|
||||||
matrix.version == 'stable-v2.14.6')
|
metadata_path="$RUNNER_TEMP/customDbLocation/java/codeql-database.yml"
|
||||||
with:
|
build_mode=$(yq eval '.buildMode' "$metadata_path")
|
||||||
python-version: '3.11'
|
if [[ "$build_mode" != "none" ]]; then
|
||||||
- name: Check out repository
|
echo "Expected build mode to be 'none' but was $build_mode"
|
||||||
uses: actions/checkout@v4
|
exit 1
|
||||||
- name: Prepare test
|
fi
|
||||||
id: prepare-test
|
|
||||||
uses: ./.github/actions/prepare-test
|
|
||||||
with:
|
|
||||||
version: ${{ matrix.version }}
|
|
||||||
use-all-platform-bundle: 'false'
|
|
||||||
- name: Set environment variable for Swift enablement
|
|
||||||
if: runner.os != 'Windows' && matrix.version == '20221211'
|
|
||||||
shell: bash
|
|
||||||
run: echo "CODEQL_ENABLE_EXPERIMENTAL_FEATURES_SWIFT=true" >> $GITHUB_ENV
|
|
||||||
- uses: ./../action/init
|
|
||||||
id: init
|
|
||||||
with:
|
|
||||||
build-mode: none
|
|
||||||
db-location: ${{ runner.temp }}/customDbLocation
|
|
||||||
languages: java
|
|
||||||
tools: ${{ steps.prepare-test.outputs.tools-url }}
|
|
||||||
|
|
||||||
- name: Validate database build mode
|
|
||||||
run: |
|
|
||||||
metadata_path="$RUNNER_TEMP/customDbLocation/java/codeql-database.yml"
|
|
||||||
build_mode=$(yq eval '.buildMode' "$metadata_path")
|
|
||||||
if [[ "$build_mode" != "none" ]]; then
|
|
||||||
echo "Expected build mode to be 'none' but was $build_mode"
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
# The latest nightly supports omitting the autobuild Action when the build mode is specified.
|
# The latest nightly supports omitting the autobuild Action when the build mode is specified.
|
||||||
- uses: ./../action/autobuild
|
- uses: ./../action/autobuild
|
||||||
if: matrix.version != 'nightly-latest'
|
if: matrix.version != 'nightly-latest'
|
||||||
|
|
||||||
- uses: ./../action/analyze
|
- uses: ./../action/analyze
|
||||||
env:
|
env:
|
||||||
CODEQL_ACTION_TEST_MODE: true
|
CODEQL_ACTION_TEST_MODE: true
|
||||||
|
|||||||
103
.github/workflows/__build-mode-rollback.yml
generated
vendored
103
.github/workflows/__build-mode-rollback.yml
generated
vendored
@@ -7,26 +7,28 @@ name: PR Check - Build mode rollback
|
|||||||
env:
|
env:
|
||||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
GO111MODULE: auto
|
GO111MODULE: auto
|
||||||
CODEQL_EXTRACTOR_JAVA_AGENT_DISABLE_KOTLIN: 'true'
|
|
||||||
on:
|
on:
|
||||||
push:
|
push:
|
||||||
branches:
|
branches:
|
||||||
- main
|
- main
|
||||||
- releases/v*
|
- releases/v*
|
||||||
pull_request:
|
pull_request:
|
||||||
types:
|
types:
|
||||||
- opened
|
- opened
|
||||||
- synchronize
|
- synchronize
|
||||||
- reopened
|
- reopened
|
||||||
- ready_for_review
|
- ready_for_review
|
||||||
|
schedule:
|
||||||
|
- cron: '0 5 * * *'
|
||||||
workflow_dispatch: {}
|
workflow_dispatch: {}
|
||||||
jobs:
|
jobs:
|
||||||
build-mode-rollback:
|
build-mode-rollback:
|
||||||
strategy:
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
include:
|
include:
|
||||||
- os: ubuntu-latest
|
- os: ubuntu-latest
|
||||||
version: nightly-latest
|
version: nightly-latest
|
||||||
name: Build mode rollback
|
name: Build mode rollback
|
||||||
permissions:
|
permissions:
|
||||||
contents: read
|
contents: read
|
||||||
@@ -34,56 +36,49 @@ jobs:
|
|||||||
timeout-minutes: 45
|
timeout-minutes: 45
|
||||||
runs-on: ${{ matrix.os }}
|
runs-on: ${{ matrix.os }}
|
||||||
steps:
|
steps:
|
||||||
- name: Setup Python on MacOS
|
- name: Setup Python on MacOS
|
||||||
uses: actions/setup-python@v5
|
uses: actions/setup-python@v5
|
||||||
if: >-
|
if: >-
|
||||||
matrix.os == 'macos-latest' && (
|
runner.os == 'macOS' && (
|
||||||
|
|
||||||
matrix.version == 'stable-20221211' ||
|
matrix.version == 'stable-v2.13.5' ||
|
||||||
|
|
||||||
matrix.version == 'stable-20230418' ||
|
matrix.version == 'stable-v2.14.6')
|
||||||
|
with:
|
||||||
|
python-version: '3.11'
|
||||||
|
- name: Check out repository
|
||||||
|
uses: actions/checkout@v4
|
||||||
|
- name: Prepare test
|
||||||
|
id: prepare-test
|
||||||
|
uses: ./.github/actions/prepare-test
|
||||||
|
with:
|
||||||
|
version: ${{ matrix.version }}
|
||||||
|
use-all-platform-bundle: 'false'
|
||||||
|
setup-kotlin: 'true'
|
||||||
|
- name: Set up Java test repo configuration
|
||||||
|
run: |
|
||||||
|
mv * .github ../action/tests/multi-language-repo/
|
||||||
|
mv ../action/tests/multi-language-repo/.github/workflows .github
|
||||||
|
mv ../action/tests/java-repo/* .
|
||||||
|
|
||||||
matrix.version == 'stable-v2.13.5' ||
|
- uses: ./../action/init
|
||||||
|
id: init
|
||||||
|
with:
|
||||||
|
build-mode: none
|
||||||
|
db-location: ${{ runner.temp }}/customDbLocation
|
||||||
|
languages: java
|
||||||
|
tools: ${{ steps.prepare-test.outputs.tools-url }}
|
||||||
|
|
||||||
matrix.version == 'stable-v2.14.6')
|
- name: Validate database build mode
|
||||||
with:
|
run: |
|
||||||
python-version: '3.11'
|
metadata_path="$RUNNER_TEMP/customDbLocation/java/codeql-database.yml"
|
||||||
- name: Check out repository
|
build_mode=$(yq eval '.buildMode' "$metadata_path")
|
||||||
uses: actions/checkout@v4
|
if [[ "$build_mode" != "autobuild" ]]; then
|
||||||
- name: Prepare test
|
echo "Expected build mode to be 'autobuild' but was $build_mode"
|
||||||
id: prepare-test
|
exit 1
|
||||||
uses: ./.github/actions/prepare-test
|
fi
|
||||||
with:
|
|
||||||
version: ${{ matrix.version }}
|
|
||||||
use-all-platform-bundle: 'false'
|
|
||||||
- name: Set environment variable for Swift enablement
|
|
||||||
if: runner.os != 'Windows' && matrix.version == '20221211'
|
|
||||||
shell: bash
|
|
||||||
run: echo "CODEQL_ENABLE_EXPERIMENTAL_FEATURES_SWIFT=true" >> $GITHUB_ENV
|
|
||||||
- name: Set up Java test repo configuration
|
|
||||||
run: |
|
|
||||||
mv * .github ../action/tests/multi-language-repo/
|
|
||||||
mv ../action/tests/multi-language-repo/.github/workflows .github
|
|
||||||
mv ../action/tests/java-repo/* .
|
|
||||||
|
|
||||||
- uses: ./../action/init
|
- uses: ./../action/analyze
|
||||||
id: init
|
|
||||||
with:
|
|
||||||
build-mode: none
|
|
||||||
db-location: ${{ runner.temp }}/customDbLocation
|
|
||||||
languages: java
|
|
||||||
tools: ${{ steps.prepare-test.outputs.tools-url }}
|
|
||||||
|
|
||||||
- name: Validate database build mode
|
|
||||||
run: |
|
|
||||||
metadata_path="$RUNNER_TEMP/customDbLocation/java/codeql-database.yml"
|
|
||||||
build_mode=$(yq eval '.buildMode' "$metadata_path")
|
|
||||||
if [[ "$build_mode" != "autobuild" ]]; then
|
|
||||||
echo "Expected build mode to be 'autobuild' but was $build_mode"
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
- uses: ./../action/analyze
|
|
||||||
env:
|
env:
|
||||||
CODEQL_ACTION_DISABLE_JAVA_BUILDLESS: true
|
CODEQL_ACTION_DISABLE_JAVA_BUILDLESS: true
|
||||||
CODEQL_ACTION_TEST_MODE: true
|
CODEQL_ACTION_TEST_MODE: true
|
||||||
|
|||||||
79
.github/workflows/__cleanup-db-cluster-dir.yml
generated
vendored
Normal file
79
.github/workflows/__cleanup-db-cluster-dir.yml
generated
vendored
Normal file
@@ -0,0 +1,79 @@
|
|||||||
|
# Warning: This file is generated automatically, and should not be modified.
|
||||||
|
# Instead, please modify the template in the pr-checks directory and run:
|
||||||
|
# (cd pr-checks; pip install ruamel.yaml@0.17.31 && python3 sync.py)
|
||||||
|
# to regenerate this file.
|
||||||
|
|
||||||
|
name: PR Check - Clean up database cluster directory
|
||||||
|
env:
|
||||||
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
GO111MODULE: auto
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
branches:
|
||||||
|
- main
|
||||||
|
- releases/v*
|
||||||
|
pull_request:
|
||||||
|
types:
|
||||||
|
- opened
|
||||||
|
- synchronize
|
||||||
|
- reopened
|
||||||
|
- ready_for_review
|
||||||
|
schedule:
|
||||||
|
- cron: '0 5 * * *'
|
||||||
|
workflow_dispatch: {}
|
||||||
|
jobs:
|
||||||
|
cleanup-db-cluster-dir:
|
||||||
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
|
matrix:
|
||||||
|
include:
|
||||||
|
- os: ubuntu-latest
|
||||||
|
version: linked
|
||||||
|
name: Clean up database cluster directory
|
||||||
|
permissions:
|
||||||
|
contents: read
|
||||||
|
security-events: write
|
||||||
|
timeout-minutes: 45
|
||||||
|
runs-on: ${{ matrix.os }}
|
||||||
|
steps:
|
||||||
|
- name: Setup Python on MacOS
|
||||||
|
uses: actions/setup-python@v5
|
||||||
|
if: >-
|
||||||
|
runner.os == 'macOS' && (
|
||||||
|
|
||||||
|
matrix.version == 'stable-v2.13.5' ||
|
||||||
|
|
||||||
|
matrix.version == 'stable-v2.14.6')
|
||||||
|
with:
|
||||||
|
python-version: '3.11'
|
||||||
|
- name: Check out repository
|
||||||
|
uses: actions/checkout@v4
|
||||||
|
- name: Prepare test
|
||||||
|
id: prepare-test
|
||||||
|
uses: ./.github/actions/prepare-test
|
||||||
|
with:
|
||||||
|
version: ${{ matrix.version }}
|
||||||
|
use-all-platform-bundle: 'false'
|
||||||
|
setup-kotlin: 'true'
|
||||||
|
- name: Add a file to the database cluster directory
|
||||||
|
run: |
|
||||||
|
mkdir -p "${{ runner.temp }}/customDbLocation/javascript"
|
||||||
|
touch "${{ runner.temp }}/customDbLocation/javascript/a-file-to-clean-up.txt"
|
||||||
|
|
||||||
|
- uses: ./../action/init
|
||||||
|
id: init
|
||||||
|
with:
|
||||||
|
build-mode: none
|
||||||
|
db-location: ${{ runner.temp }}/customDbLocation
|
||||||
|
languages: javascript
|
||||||
|
tools: ${{ steps.prepare-test.outputs.tools-url }}
|
||||||
|
|
||||||
|
- name: Validate file cleaned up
|
||||||
|
run: |
|
||||||
|
if [[ -f "${{ runner.temp }}/customDbLocation/javascript/a-file-to-clean-up.txt" ]]; then
|
||||||
|
echo "File was not cleaned up"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
echo "File was cleaned up"
|
||||||
|
env:
|
||||||
|
CODEQL_ACTION_TEST_MODE: true
|
||||||
159
.github/workflows/__config-export.yml
generated
vendored
159
.github/workflows/__config-export.yml
generated
vendored
@@ -7,36 +7,38 @@ name: PR Check - Config export
|
|||||||
env:
|
env:
|
||||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
GO111MODULE: auto
|
GO111MODULE: auto
|
||||||
CODEQL_EXTRACTOR_JAVA_AGENT_DISABLE_KOTLIN: 'true'
|
|
||||||
on:
|
on:
|
||||||
push:
|
push:
|
||||||
branches:
|
branches:
|
||||||
- main
|
- main
|
||||||
- releases/v*
|
- releases/v*
|
||||||
pull_request:
|
pull_request:
|
||||||
types:
|
types:
|
||||||
- opened
|
- opened
|
||||||
- synchronize
|
- synchronize
|
||||||
- reopened
|
- reopened
|
||||||
- ready_for_review
|
- ready_for_review
|
||||||
|
schedule:
|
||||||
|
- cron: '0 5 * * *'
|
||||||
workflow_dispatch: {}
|
workflow_dispatch: {}
|
||||||
jobs:
|
jobs:
|
||||||
config-export:
|
config-export:
|
||||||
strategy:
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
include:
|
include:
|
||||||
- os: ubuntu-latest
|
- os: ubuntu-latest
|
||||||
version: latest
|
version: linked
|
||||||
- os: macos-latest
|
- os: macos-latest
|
||||||
version: latest
|
version: linked
|
||||||
- os: windows-latest
|
- os: windows-latest
|
||||||
version: latest
|
version: linked
|
||||||
- os: ubuntu-latest
|
- os: ubuntu-latest
|
||||||
version: nightly-latest
|
version: nightly-latest
|
||||||
- os: macos-latest
|
- os: macos-latest
|
||||||
version: nightly-latest
|
version: nightly-latest
|
||||||
- os: windows-latest
|
- os: windows-latest
|
||||||
version: nightly-latest
|
version: nightly-latest
|
||||||
name: Config export
|
name: Config export
|
||||||
permissions:
|
permissions:
|
||||||
contents: read
|
contents: read
|
||||||
@@ -44,72 +46,65 @@ jobs:
|
|||||||
timeout-minutes: 45
|
timeout-minutes: 45
|
||||||
runs-on: ${{ matrix.os }}
|
runs-on: ${{ matrix.os }}
|
||||||
steps:
|
steps:
|
||||||
- name: Setup Python on MacOS
|
- name: Setup Python on MacOS
|
||||||
uses: actions/setup-python@v5
|
uses: actions/setup-python@v5
|
||||||
if: >-
|
if: >-
|
||||||
matrix.os == 'macos-latest' && (
|
runner.os == 'macOS' && (
|
||||||
|
|
||||||
matrix.version == 'stable-20221211' ||
|
matrix.version == 'stable-v2.13.5' ||
|
||||||
|
|
||||||
matrix.version == 'stable-20230418' ||
|
matrix.version == 'stable-v2.14.6')
|
||||||
|
with:
|
||||||
|
python-version: '3.11'
|
||||||
|
- name: Check out repository
|
||||||
|
uses: actions/checkout@v4
|
||||||
|
- name: Prepare test
|
||||||
|
id: prepare-test
|
||||||
|
uses: ./.github/actions/prepare-test
|
||||||
|
with:
|
||||||
|
version: ${{ matrix.version }}
|
||||||
|
use-all-platform-bundle: 'false'
|
||||||
|
setup-kotlin: 'true'
|
||||||
|
- uses: ./../action/init
|
||||||
|
with:
|
||||||
|
languages: javascript
|
||||||
|
queries: security-extended
|
||||||
|
tools: ${{ steps.prepare-test.outputs.tools-url }}
|
||||||
|
- uses: ./../action/analyze
|
||||||
|
with:
|
||||||
|
output: ${{ runner.temp }}/results
|
||||||
|
upload-database: false
|
||||||
|
- name: Upload SARIF
|
||||||
|
uses: actions/upload-artifact@v3
|
||||||
|
with:
|
||||||
|
name: config-export-${{ matrix.os }}-${{ matrix.version }}.sarif.json
|
||||||
|
path: ${{ runner.temp }}/results/javascript.sarif
|
||||||
|
retention-days: 7
|
||||||
|
- name: Check config properties appear in SARIF
|
||||||
|
uses: actions/github-script@v7
|
||||||
|
env:
|
||||||
|
SARIF_PATH: ${{ runner.temp }}/results/javascript.sarif
|
||||||
|
with:
|
||||||
|
script: |
|
||||||
|
const fs = require('fs');
|
||||||
|
|
||||||
matrix.version == 'stable-v2.13.5' ||
|
const sarif = JSON.parse(fs.readFileSync(process.env['SARIF_PATH'], 'utf8'));
|
||||||
|
const run = sarif.runs[0];
|
||||||
|
const configSummary = run.properties.codeqlConfigSummary;
|
||||||
|
|
||||||
matrix.version == 'stable-v2.14.6')
|
if (configSummary === undefined) {
|
||||||
with:
|
core.setFailed('`codeqlConfigSummary` property not found in the SARIF run property bag.');
|
||||||
python-version: '3.11'
|
}
|
||||||
- name: Check out repository
|
if (configSummary.disableDefaultQueries !== false) {
|
||||||
uses: actions/checkout@v4
|
core.setFailed('`disableDefaultQueries` property incorrect: expected false, got ' +
|
||||||
- name: Prepare test
|
`${JSON.stringify(configSummary.disableDefaultQueries)}.`);
|
||||||
id: prepare-test
|
}
|
||||||
uses: ./.github/actions/prepare-test
|
const expectedQueries = [{ type: 'builtinSuite', uses: 'security-extended' }];
|
||||||
with:
|
// Use JSON.stringify to deep-equal the arrays.
|
||||||
version: ${{ matrix.version }}
|
if (JSON.stringify(configSummary.queries) !== JSON.stringify(expectedQueries)) {
|
||||||
use-all-platform-bundle: 'false'
|
core.setFailed(`\`queries\` property incorrect: expected ${JSON.stringify(expectedQueries)}, got ` +
|
||||||
- name: Set environment variable for Swift enablement
|
`${JSON.stringify(configSummary.queries)}.`);
|
||||||
if: runner.os != 'Windows' && matrix.version == '20221211'
|
}
|
||||||
shell: bash
|
core.info('Finished config export tests.');
|
||||||
run: echo "CODEQL_ENABLE_EXPERIMENTAL_FEATURES_SWIFT=true" >> $GITHUB_ENV
|
|
||||||
- uses: ./../action/init
|
|
||||||
with:
|
|
||||||
languages: javascript
|
|
||||||
queries: security-extended
|
|
||||||
tools: ${{ steps.prepare-test.outputs.tools-url }}
|
|
||||||
- uses: ./../action/analyze
|
|
||||||
with:
|
|
||||||
output: ${{ runner.temp }}/results
|
|
||||||
upload-database: false
|
|
||||||
- name: Upload SARIF
|
|
||||||
uses: actions/upload-artifact@v3
|
|
||||||
with:
|
|
||||||
name: config-export-${{ matrix.os }}-${{ matrix.version }}.sarif.json
|
|
||||||
path: ${{ runner.temp }}/results/javascript.sarif
|
|
||||||
retention-days: 7
|
|
||||||
- name: Check config properties appear in SARIF
|
|
||||||
uses: actions/github-script@v7
|
|
||||||
env:
|
|
||||||
SARIF_PATH: ${{ runner.temp }}/results/javascript.sarif
|
|
||||||
with:
|
|
||||||
script: |
|
|
||||||
const fs = require('fs');
|
|
||||||
|
|
||||||
const sarif = JSON.parse(fs.readFileSync(process.env['SARIF_PATH'], 'utf8'));
|
|
||||||
const run = sarif.runs[0];
|
|
||||||
const configSummary = run.properties.codeqlConfigSummary;
|
|
||||||
|
|
||||||
if (configSummary === undefined) {
|
|
||||||
core.setFailed('`codeqlConfigSummary` property not found in the SARIF run property bag.');
|
|
||||||
}
|
|
||||||
if (configSummary.disableDefaultQueries !== false) {
|
|
||||||
core.setFailed('`disableDefaultQueries` property incorrect: expected false, got ' +
|
|
||||||
`${JSON.stringify(configSummary.disableDefaultQueries)}.`);
|
|
||||||
}
|
|
||||||
const expectedQueries = [{ type: 'builtinSuite', uses: 'security-extended' }];
|
|
||||||
// Use JSON.stringify to deep-equal the arrays.
|
|
||||||
if (JSON.stringify(configSummary.queries) !== JSON.stringify(expectedQueries)) {
|
|
||||||
core.setFailed(`\`queries\` property incorrect: expected ${JSON.stringify(expectedQueries)}, got ` +
|
|
||||||
`${JSON.stringify(configSummary.queries)}.`);
|
|
||||||
}
|
|
||||||
core.info('Finished config export tests.');
|
|
||||||
env:
|
env:
|
||||||
CODEQL_ACTION_TEST_MODE: true
|
CODEQL_ACTION_TEST_MODE: true
|
||||||
|
|||||||
111
.github/workflows/__config-input.yml
generated
vendored
111
.github/workflows/__config-input.yml
generated
vendored
@@ -7,26 +7,28 @@ name: PR Check - Config input
|
|||||||
env:
|
env:
|
||||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
GO111MODULE: auto
|
GO111MODULE: auto
|
||||||
CODEQL_EXTRACTOR_JAVA_AGENT_DISABLE_KOTLIN: 'true'
|
|
||||||
on:
|
on:
|
||||||
push:
|
push:
|
||||||
branches:
|
branches:
|
||||||
- main
|
- main
|
||||||
- releases/v*
|
- releases/v*
|
||||||
pull_request:
|
pull_request:
|
||||||
types:
|
types:
|
||||||
- opened
|
- opened
|
||||||
- synchronize
|
- synchronize
|
||||||
- reopened
|
- reopened
|
||||||
- ready_for_review
|
- ready_for_review
|
||||||
|
schedule:
|
||||||
|
- cron: '0 5 * * *'
|
||||||
workflow_dispatch: {}
|
workflow_dispatch: {}
|
||||||
jobs:
|
jobs:
|
||||||
config-input:
|
config-input:
|
||||||
strategy:
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
include:
|
include:
|
||||||
- os: ubuntu-latest
|
- os: ubuntu-latest
|
||||||
version: latest
|
version: linked
|
||||||
name: Config input
|
name: Config input
|
||||||
permissions:
|
permissions:
|
||||||
contents: read
|
contents: read
|
||||||
@@ -34,59 +36,52 @@ jobs:
|
|||||||
timeout-minutes: 45
|
timeout-minutes: 45
|
||||||
runs-on: ${{ matrix.os }}
|
runs-on: ${{ matrix.os }}
|
||||||
steps:
|
steps:
|
||||||
- name: Setup Python on MacOS
|
- name: Setup Python on MacOS
|
||||||
uses: actions/setup-python@v5
|
uses: actions/setup-python@v5
|
||||||
if: >-
|
if: >-
|
||||||
matrix.os == 'macos-latest' && (
|
runner.os == 'macOS' && (
|
||||||
|
|
||||||
matrix.version == 'stable-20221211' ||
|
matrix.version == 'stable-v2.13.5' ||
|
||||||
|
|
||||||
matrix.version == 'stable-20230418' ||
|
matrix.version == 'stable-v2.14.6')
|
||||||
|
with:
|
||||||
|
python-version: '3.11'
|
||||||
|
- name: Check out repository
|
||||||
|
uses: actions/checkout@v4
|
||||||
|
- name: Prepare test
|
||||||
|
id: prepare-test
|
||||||
|
uses: ./.github/actions/prepare-test
|
||||||
|
with:
|
||||||
|
version: ${{ matrix.version }}
|
||||||
|
use-all-platform-bundle: 'false'
|
||||||
|
setup-kotlin: 'true'
|
||||||
|
- name: Copy queries into workspace
|
||||||
|
run: |
|
||||||
|
cp -a ../action/queries .
|
||||||
|
|
||||||
matrix.version == 'stable-v2.13.5' ||
|
- uses: ./../action/init
|
||||||
|
with:
|
||||||
|
tools: ${{ steps.prepare-test.outputs.tools-url }}
|
||||||
|
languages: javascript
|
||||||
|
build-mode: none
|
||||||
|
config: |
|
||||||
|
disable-default-queries: true
|
||||||
|
queries:
|
||||||
|
- name: Run custom query
|
||||||
|
uses: ./queries/default-setup-environment-variables.ql
|
||||||
|
paths-ignore:
|
||||||
|
- tests
|
||||||
|
- lib
|
||||||
|
|
||||||
matrix.version == 'stable-v2.14.6')
|
- uses: ./../action/analyze
|
||||||
with:
|
with:
|
||||||
python-version: '3.11'
|
output: ${{ runner.temp }}/results
|
||||||
- name: Check out repository
|
|
||||||
uses: actions/checkout@v4
|
|
||||||
- name: Prepare test
|
|
||||||
id: prepare-test
|
|
||||||
uses: ./.github/actions/prepare-test
|
|
||||||
with:
|
|
||||||
version: ${{ matrix.version }}
|
|
||||||
use-all-platform-bundle: 'false'
|
|
||||||
- name: Set environment variable for Swift enablement
|
|
||||||
if: runner.os != 'Windows' && matrix.version == '20221211'
|
|
||||||
shell: bash
|
|
||||||
run: echo "CODEQL_ENABLE_EXPERIMENTAL_FEATURES_SWIFT=true" >> $GITHUB_ENV
|
|
||||||
- name: Copy queries into workspace
|
|
||||||
run: |
|
|
||||||
cp -a ../action/queries .
|
|
||||||
|
|
||||||
- uses: ./../action/init
|
- name: Check SARIF
|
||||||
with:
|
uses: ./../action/.github/actions/check-sarif
|
||||||
tools: ${{ steps.prepare-test.outputs.tools-url }}
|
with:
|
||||||
languages: javascript
|
sarif-file: ${{ runner.temp }}/results/javascript.sarif
|
||||||
build-mode: none
|
queries-run: javascript/codeql-action/default-setup-env-vars
|
||||||
config: |
|
queries-not-run: javascript/codeql-action/default-setup-context-properties
|
||||||
disable-default-queries: true
|
|
||||||
queries:
|
|
||||||
- name: Run custom query
|
|
||||||
uses: ./queries/default-setup-environment-variables.ql
|
|
||||||
paths-ignore:
|
|
||||||
- tests
|
|
||||||
- lib
|
|
||||||
|
|
||||||
- uses: ./../action/analyze
|
|
||||||
with:
|
|
||||||
output: ${{ runner.temp }}/results
|
|
||||||
|
|
||||||
- name: Check SARIF
|
|
||||||
uses: ./../action/.github/actions/check-sarif
|
|
||||||
with:
|
|
||||||
sarif-file: ${{ runner.temp }}/results/javascript.sarif
|
|
||||||
queries-run: javascript/codeql-action/default-setup-env-vars
|
|
||||||
queries-not-run: javascript/codeql-action/default-setup-context-properties
|
|
||||||
env:
|
env:
|
||||||
CODEQL_ACTION_TEST_MODE: true
|
CODEQL_ACTION_TEST_MODE: true
|
||||||
|
|||||||
107
.github/workflows/__cpp-deptrace-disabled.yml
generated
vendored
107
.github/workflows/__cpp-deptrace-disabled.yml
generated
vendored
@@ -7,30 +7,32 @@ name: 'PR Check - C/C++: disabling autoinstalling dependencies (Linux)'
|
|||||||
env:
|
env:
|
||||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
GO111MODULE: auto
|
GO111MODULE: auto
|
||||||
CODEQL_EXTRACTOR_JAVA_AGENT_DISABLE_KOTLIN: 'true'
|
|
||||||
on:
|
on:
|
||||||
push:
|
push:
|
||||||
branches:
|
branches:
|
||||||
- main
|
- main
|
||||||
- releases/v*
|
- releases/v*
|
||||||
pull_request:
|
pull_request:
|
||||||
types:
|
types:
|
||||||
- opened
|
- opened
|
||||||
- synchronize
|
- synchronize
|
||||||
- reopened
|
- reopened
|
||||||
- ready_for_review
|
- ready_for_review
|
||||||
|
schedule:
|
||||||
|
- cron: '0 5 * * *'
|
||||||
workflow_dispatch: {}
|
workflow_dispatch: {}
|
||||||
jobs:
|
jobs:
|
||||||
cpp-deptrace-disabled:
|
cpp-deptrace-disabled:
|
||||||
strategy:
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
include:
|
include:
|
||||||
- os: ubuntu-latest
|
- os: ubuntu-latest
|
||||||
version: latest
|
version: linked
|
||||||
- os: ubuntu-latest
|
- os: ubuntu-latest
|
||||||
version: default
|
version: default
|
||||||
- os: ubuntu-latest
|
- os: ubuntu-latest
|
||||||
version: nightly-latest
|
version: nightly-latest
|
||||||
name: 'C/C++: disabling autoinstalling dependencies (Linux)'
|
name: 'C/C++: disabling autoinstalling dependencies (Linux)'
|
||||||
permissions:
|
permissions:
|
||||||
contents: read
|
contents: read
|
||||||
@@ -38,51 +40,44 @@ jobs:
|
|||||||
timeout-minutes: 45
|
timeout-minutes: 45
|
||||||
runs-on: ${{ matrix.os }}
|
runs-on: ${{ matrix.os }}
|
||||||
steps:
|
steps:
|
||||||
- name: Setup Python on MacOS
|
- name: Setup Python on MacOS
|
||||||
uses: actions/setup-python@v5
|
uses: actions/setup-python@v5
|
||||||
if: >-
|
if: >-
|
||||||
matrix.os == 'macos-latest' && (
|
runner.os == 'macOS' && (
|
||||||
|
|
||||||
matrix.version == 'stable-20221211' ||
|
matrix.version == 'stable-v2.13.5' ||
|
||||||
|
|
||||||
matrix.version == 'stable-20230418' ||
|
matrix.version == 'stable-v2.14.6')
|
||||||
|
with:
|
||||||
matrix.version == 'stable-v2.13.5' ||
|
python-version: '3.11'
|
||||||
|
- name: Check out repository
|
||||||
matrix.version == 'stable-v2.14.6')
|
uses: actions/checkout@v4
|
||||||
with:
|
- name: Prepare test
|
||||||
python-version: '3.11'
|
id: prepare-test
|
||||||
- name: Check out repository
|
uses: ./.github/actions/prepare-test
|
||||||
uses: actions/checkout@v4
|
with:
|
||||||
- name: Prepare test
|
version: ${{ matrix.version }}
|
||||||
id: prepare-test
|
use-all-platform-bundle: 'false'
|
||||||
uses: ./.github/actions/prepare-test
|
setup-kotlin: 'true'
|
||||||
with:
|
- name: Test setup
|
||||||
version: ${{ matrix.version }}
|
shell: bash
|
||||||
use-all-platform-bundle: 'false'
|
run: |
|
||||||
- name: Set environment variable for Swift enablement
|
cp -a ../action/tests/cpp-autobuild autobuild-dir
|
||||||
if: runner.os != 'Windows' && matrix.version == '20221211'
|
- uses: ./../action/init
|
||||||
shell: bash
|
with:
|
||||||
run: echo "CODEQL_ENABLE_EXPERIMENTAL_FEATURES_SWIFT=true" >> $GITHUB_ENV
|
languages: cpp
|
||||||
- name: Test setup
|
tools: ${{ steps.prepare-test.outputs.tools-url }}
|
||||||
shell: bash
|
- uses: ./../action/autobuild
|
||||||
run: |
|
with:
|
||||||
cp -a ../action/tests/cpp-autobuild autobuild-dir
|
working-directory: autobuild-dir
|
||||||
- uses: ./../action/init
|
env:
|
||||||
with:
|
CODEQL_EXTRACTOR_CPP_AUTOINSTALL_DEPENDENCIES: false
|
||||||
languages: cpp
|
- shell: bash
|
||||||
tools: ${{ steps.prepare-test.outputs.tools-url }}
|
run: |
|
||||||
- uses: ./../action/autobuild
|
if ls /usr/bin/errno; then
|
||||||
with:
|
echo "C/C++ autobuild installed errno, but it should not have since auto-install dependencies is disabled."
|
||||||
working-directory: autobuild-dir
|
exit 1
|
||||||
env:
|
fi
|
||||||
CODEQL_EXTRACTOR_CPP_AUTOINSTALL_DEPENDENCIES: false
|
|
||||||
- shell: bash
|
|
||||||
run: |
|
|
||||||
if ls /usr/bin/errno; then
|
|
||||||
echo "C/C++ autobuild installed errno, but it should not have since auto-install dependencies is disabled."
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
env:
|
env:
|
||||||
DOTNET_GENERATE_ASPNET_CERTIFICATE: 'false'
|
DOTNET_GENERATE_ASPNET_CERTIFICATE: 'false'
|
||||||
CODEQL_ACTION_TEST_MODE: true
|
CODEQL_ACTION_TEST_MODE: true
|
||||||
|
|||||||
103
.github/workflows/__cpp-deptrace-enabled-on-macos.yml
generated
vendored
103
.github/workflows/__cpp-deptrace-enabled-on-macos.yml
generated
vendored
@@ -7,26 +7,28 @@ name: 'PR Check - C/C++: autoinstalling dependencies is skipped (macOS)'
|
|||||||
env:
|
env:
|
||||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
GO111MODULE: auto
|
GO111MODULE: auto
|
||||||
CODEQL_EXTRACTOR_JAVA_AGENT_DISABLE_KOTLIN: 'true'
|
|
||||||
on:
|
on:
|
||||||
push:
|
push:
|
||||||
branches:
|
branches:
|
||||||
- main
|
- main
|
||||||
- releases/v*
|
- releases/v*
|
||||||
pull_request:
|
pull_request:
|
||||||
types:
|
types:
|
||||||
- opened
|
- opened
|
||||||
- synchronize
|
- synchronize
|
||||||
- reopened
|
- reopened
|
||||||
- ready_for_review
|
- ready_for_review
|
||||||
|
schedule:
|
||||||
|
- cron: '0 5 * * *'
|
||||||
workflow_dispatch: {}
|
workflow_dispatch: {}
|
||||||
jobs:
|
jobs:
|
||||||
cpp-deptrace-enabled-on-macos:
|
cpp-deptrace-enabled-on-macos:
|
||||||
strategy:
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
include:
|
include:
|
||||||
- os: macos-latest
|
- os: macos-latest
|
||||||
version: nightly-latest
|
version: nightly-latest
|
||||||
name: 'C/C++: autoinstalling dependencies is skipped (macOS)'
|
name: 'C/C++: autoinstalling dependencies is skipped (macOS)'
|
||||||
permissions:
|
permissions:
|
||||||
contents: read
|
contents: read
|
||||||
@@ -34,53 +36,46 @@ jobs:
|
|||||||
timeout-minutes: 45
|
timeout-minutes: 45
|
||||||
runs-on: ${{ matrix.os }}
|
runs-on: ${{ matrix.os }}
|
||||||
steps:
|
steps:
|
||||||
- name: Setup Python on MacOS
|
- name: Setup Python on MacOS
|
||||||
uses: actions/setup-python@v5
|
uses: actions/setup-python@v5
|
||||||
if: >-
|
if: >-
|
||||||
matrix.os == 'macos-latest' && (
|
runner.os == 'macOS' && (
|
||||||
|
|
||||||
matrix.version == 'stable-20221211' ||
|
matrix.version == 'stable-v2.13.5' ||
|
||||||
|
|
||||||
matrix.version == 'stable-20230418' ||
|
matrix.version == 'stable-v2.14.6')
|
||||||
|
with:
|
||||||
matrix.version == 'stable-v2.13.5' ||
|
python-version: '3.11'
|
||||||
|
- name: Check out repository
|
||||||
matrix.version == 'stable-v2.14.6')
|
uses: actions/checkout@v4
|
||||||
with:
|
- name: Prepare test
|
||||||
python-version: '3.11'
|
id: prepare-test
|
||||||
- name: Check out repository
|
uses: ./.github/actions/prepare-test
|
||||||
uses: actions/checkout@v4
|
with:
|
||||||
- name: Prepare test
|
version: ${{ matrix.version }}
|
||||||
id: prepare-test
|
use-all-platform-bundle: 'false'
|
||||||
uses: ./.github/actions/prepare-test
|
setup-kotlin: 'true'
|
||||||
with:
|
- name: Test setup
|
||||||
version: ${{ matrix.version }}
|
shell: bash
|
||||||
use-all-platform-bundle: 'false'
|
run: |
|
||||||
- name: Set environment variable for Swift enablement
|
cp -a ../action/tests/cpp-autobuild autobuild-dir
|
||||||
if: runner.os != 'Windows' && matrix.version == '20221211'
|
- uses: ./../action/init
|
||||||
shell: bash
|
with:
|
||||||
run: echo "CODEQL_ENABLE_EXPERIMENTAL_FEATURES_SWIFT=true" >> $GITHUB_ENV
|
languages: cpp
|
||||||
- name: Test setup
|
tools: ${{ steps.prepare-test.outputs.tools-url }}
|
||||||
shell: bash
|
- uses: ./../action/autobuild
|
||||||
run: |
|
with:
|
||||||
cp -a ../action/tests/cpp-autobuild autobuild-dir
|
working-directory: autobuild-dir
|
||||||
- uses: ./../action/init
|
env:
|
||||||
with:
|
CODEQL_EXTRACTOR_CPP_AUTOINSTALL_DEPENDENCIES: true
|
||||||
languages: cpp
|
- shell: bash
|
||||||
tools: ${{ steps.prepare-test.outputs.tools-url }}
|
run: |
|
||||||
- uses: ./../action/autobuild
|
if ! ls /usr/bin/errno; then
|
||||||
with:
|
echo "As expected, CODEQL_EXTRACTOR_CPP_AUTOINSTALL_DEPENDENCIES is a no-op on macOS"
|
||||||
working-directory: autobuild-dir
|
else
|
||||||
env:
|
echo "CODEQL_EXTRACTOR_CPP_AUTOINSTALL_DEPENDENCIES should not have had any effect on macOS"
|
||||||
CODEQL_EXTRACTOR_CPP_AUTOINSTALL_DEPENDENCIES: true
|
exit 1
|
||||||
- shell: bash
|
fi
|
||||||
run: |
|
|
||||||
if ! ls /usr/bin/errno; then
|
|
||||||
echo "As expected, CODEQL_EXTRACTOR_CPP_AUTOINSTALL_DEPENDENCIES is a no-op on macOS"
|
|
||||||
else
|
|
||||||
echo "CODEQL_EXTRACTOR_CPP_AUTOINSTALL_DEPENDENCIES should not have had any effect on macOS"
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
env:
|
env:
|
||||||
DOTNET_GENERATE_ASPNET_CERTIFICATE: 'false'
|
DOTNET_GENERATE_ASPNET_CERTIFICATE: 'false'
|
||||||
CODEQL_ACTION_TEST_MODE: true
|
CODEQL_ACTION_TEST_MODE: true
|
||||||
|
|||||||
107
.github/workflows/__cpp-deptrace-enabled.yml
generated
vendored
107
.github/workflows/__cpp-deptrace-enabled.yml
generated
vendored
@@ -7,30 +7,32 @@ name: 'PR Check - C/C++: autoinstalling dependencies (Linux)'
|
|||||||
env:
|
env:
|
||||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
GO111MODULE: auto
|
GO111MODULE: auto
|
||||||
CODEQL_EXTRACTOR_JAVA_AGENT_DISABLE_KOTLIN: 'true'
|
|
||||||
on:
|
on:
|
||||||
push:
|
push:
|
||||||
branches:
|
branches:
|
||||||
- main
|
- main
|
||||||
- releases/v*
|
- releases/v*
|
||||||
pull_request:
|
pull_request:
|
||||||
types:
|
types:
|
||||||
- opened
|
- opened
|
||||||
- synchronize
|
- synchronize
|
||||||
- reopened
|
- reopened
|
||||||
- ready_for_review
|
- ready_for_review
|
||||||
|
schedule:
|
||||||
|
- cron: '0 5 * * *'
|
||||||
workflow_dispatch: {}
|
workflow_dispatch: {}
|
||||||
jobs:
|
jobs:
|
||||||
cpp-deptrace-enabled:
|
cpp-deptrace-enabled:
|
||||||
strategy:
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
include:
|
include:
|
||||||
- os: ubuntu-latest
|
- os: ubuntu-latest
|
||||||
version: latest
|
version: linked
|
||||||
- os: ubuntu-latest
|
- os: ubuntu-latest
|
||||||
version: default
|
version: default
|
||||||
- os: ubuntu-latest
|
- os: ubuntu-latest
|
||||||
version: nightly-latest
|
version: nightly-latest
|
||||||
name: 'C/C++: autoinstalling dependencies (Linux)'
|
name: 'C/C++: autoinstalling dependencies (Linux)'
|
||||||
permissions:
|
permissions:
|
||||||
contents: read
|
contents: read
|
||||||
@@ -38,51 +40,44 @@ jobs:
|
|||||||
timeout-minutes: 45
|
timeout-minutes: 45
|
||||||
runs-on: ${{ matrix.os }}
|
runs-on: ${{ matrix.os }}
|
||||||
steps:
|
steps:
|
||||||
- name: Setup Python on MacOS
|
- name: Setup Python on MacOS
|
||||||
uses: actions/setup-python@v5
|
uses: actions/setup-python@v5
|
||||||
if: >-
|
if: >-
|
||||||
matrix.os == 'macos-latest' && (
|
runner.os == 'macOS' && (
|
||||||
|
|
||||||
matrix.version == 'stable-20221211' ||
|
matrix.version == 'stable-v2.13.5' ||
|
||||||
|
|
||||||
matrix.version == 'stable-20230418' ||
|
matrix.version == 'stable-v2.14.6')
|
||||||
|
with:
|
||||||
matrix.version == 'stable-v2.13.5' ||
|
python-version: '3.11'
|
||||||
|
- name: Check out repository
|
||||||
matrix.version == 'stable-v2.14.6')
|
uses: actions/checkout@v4
|
||||||
with:
|
- name: Prepare test
|
||||||
python-version: '3.11'
|
id: prepare-test
|
||||||
- name: Check out repository
|
uses: ./.github/actions/prepare-test
|
||||||
uses: actions/checkout@v4
|
with:
|
||||||
- name: Prepare test
|
version: ${{ matrix.version }}
|
||||||
id: prepare-test
|
use-all-platform-bundle: 'false'
|
||||||
uses: ./.github/actions/prepare-test
|
setup-kotlin: 'true'
|
||||||
with:
|
- name: Test setup
|
||||||
version: ${{ matrix.version }}
|
shell: bash
|
||||||
use-all-platform-bundle: 'false'
|
run: |
|
||||||
- name: Set environment variable for Swift enablement
|
cp -a ../action/tests/cpp-autobuild autobuild-dir
|
||||||
if: runner.os != 'Windows' && matrix.version == '20221211'
|
- uses: ./../action/init
|
||||||
shell: bash
|
with:
|
||||||
run: echo "CODEQL_ENABLE_EXPERIMENTAL_FEATURES_SWIFT=true" >> $GITHUB_ENV
|
languages: cpp
|
||||||
- name: Test setup
|
tools: ${{ steps.prepare-test.outputs.tools-url }}
|
||||||
shell: bash
|
- uses: ./../action/autobuild
|
||||||
run: |
|
with:
|
||||||
cp -a ../action/tests/cpp-autobuild autobuild-dir
|
working-directory: autobuild-dir
|
||||||
- uses: ./../action/init
|
env:
|
||||||
with:
|
CODEQL_EXTRACTOR_CPP_AUTOINSTALL_DEPENDENCIES: true
|
||||||
languages: cpp
|
- shell: bash
|
||||||
tools: ${{ steps.prepare-test.outputs.tools-url }}
|
run: |
|
||||||
- uses: ./../action/autobuild
|
if ! ls /usr/bin/errno; then
|
||||||
with:
|
echo "Did not autoinstall errno"
|
||||||
working-directory: autobuild-dir
|
exit 1
|
||||||
env:
|
fi
|
||||||
CODEQL_EXTRACTOR_CPP_AUTOINSTALL_DEPENDENCIES: true
|
|
||||||
- shell: bash
|
|
||||||
run: |
|
|
||||||
if ! ls /usr/bin/errno; then
|
|
||||||
echo "Did not autoinstall errno"
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
env:
|
env:
|
||||||
DOTNET_GENERATE_ASPNET_CERTIFICATE: 'false'
|
DOTNET_GENERATE_ASPNET_CERTIFICATE: 'false'
|
||||||
CODEQL_ACTION_TEST_MODE: true
|
CODEQL_ACTION_TEST_MODE: true
|
||||||
|
|||||||
221
.github/workflows/__diagnostics-export.yml
generated
vendored
221
.github/workflows/__diagnostics-export.yml
generated
vendored
@@ -7,42 +7,38 @@ name: PR Check - Diagnostic export
|
|||||||
env:
|
env:
|
||||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
GO111MODULE: auto
|
GO111MODULE: auto
|
||||||
CODEQL_EXTRACTOR_JAVA_AGENT_DISABLE_KOTLIN: 'true'
|
|
||||||
on:
|
on:
|
||||||
push:
|
push:
|
||||||
branches:
|
branches:
|
||||||
- main
|
- main
|
||||||
- releases/v*
|
- releases/v*
|
||||||
pull_request:
|
pull_request:
|
||||||
types:
|
types:
|
||||||
- opened
|
- opened
|
||||||
- synchronize
|
- synchronize
|
||||||
- reopened
|
- reopened
|
||||||
- ready_for_review
|
- ready_for_review
|
||||||
|
schedule:
|
||||||
|
- cron: '0 5 * * *'
|
||||||
workflow_dispatch: {}
|
workflow_dispatch: {}
|
||||||
jobs:
|
jobs:
|
||||||
diagnostics-export:
|
diagnostics-export:
|
||||||
strategy:
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
include:
|
include:
|
||||||
- os: ubuntu-latest
|
- os: ubuntu-latest
|
||||||
version: stable-20230317
|
version: linked
|
||||||
- os: macos-latest
|
- os: macos-latest
|
||||||
version: stable-20230317
|
version: linked
|
||||||
- os: windows-latest
|
- os: windows-latest
|
||||||
version: stable-20230317
|
version: linked
|
||||||
- os: ubuntu-latest
|
- os: ubuntu-latest
|
||||||
version: latest
|
version: nightly-latest
|
||||||
- os: macos-latest
|
- os: macos-latest
|
||||||
version: latest
|
version: nightly-latest
|
||||||
- os: windows-latest
|
- os: windows-latest
|
||||||
version: latest
|
version: nightly-latest
|
||||||
- os: ubuntu-latest
|
|
||||||
version: nightly-latest
|
|
||||||
- os: macos-latest
|
|
||||||
version: nightly-latest
|
|
||||||
- os: windows-latest
|
|
||||||
version: nightly-latest
|
|
||||||
name: Diagnostic export
|
name: Diagnostic export
|
||||||
permissions:
|
permissions:
|
||||||
contents: read
|
contents: read
|
||||||
@@ -50,113 +46,102 @@ jobs:
|
|||||||
timeout-minutes: 45
|
timeout-minutes: 45
|
||||||
runs-on: ${{ matrix.os }}
|
runs-on: ${{ matrix.os }}
|
||||||
steps:
|
steps:
|
||||||
- name: Setup Python on MacOS
|
- name: Setup Python on MacOS
|
||||||
uses: actions/setup-python@v5
|
uses: actions/setup-python@v5
|
||||||
if: >-
|
if: >-
|
||||||
matrix.os == 'macos-latest' && (
|
runner.os == 'macOS' && (
|
||||||
|
|
||||||
matrix.version == 'stable-20221211' ||
|
matrix.version == 'stable-v2.13.5' ||
|
||||||
|
|
||||||
matrix.version == 'stable-20230418' ||
|
matrix.version == 'stable-v2.14.6')
|
||||||
|
with:
|
||||||
matrix.version == 'stable-v2.13.5' ||
|
python-version: '3.11'
|
||||||
|
- name: Check out repository
|
||||||
matrix.version == 'stable-v2.14.6')
|
uses: actions/checkout@v4
|
||||||
with:
|
- name: Prepare test
|
||||||
python-version: '3.11'
|
id: prepare-test
|
||||||
- name: Check out repository
|
uses: ./.github/actions/prepare-test
|
||||||
uses: actions/checkout@v4
|
with:
|
||||||
- name: Prepare test
|
version: ${{ matrix.version }}
|
||||||
id: prepare-test
|
use-all-platform-bundle: 'false'
|
||||||
uses: ./.github/actions/prepare-test
|
setup-kotlin: 'true'
|
||||||
with:
|
- uses: ./../action/init
|
||||||
version: ${{ matrix.version }}
|
id: init
|
||||||
use-all-platform-bundle: 'false'
|
with:
|
||||||
- name: Set environment variable for Swift enablement
|
languages: javascript
|
||||||
if: runner.os != 'Windows' && matrix.version == '20221211'
|
tools: ${{ steps.prepare-test.outputs.tools-url }}
|
||||||
shell: bash
|
- name: Add test diagnostics
|
||||||
run: echo "CODEQL_ENABLE_EXPERIMENTAL_FEATURES_SWIFT=true" >> $GITHUB_ENV
|
shell: bash
|
||||||
- uses: ./../action/init
|
env:
|
||||||
id: init
|
CODEQL_PATH: ${{ steps.init.outputs.codeql-path }}
|
||||||
with:
|
run: |
|
||||||
languages: javascript
|
|
||||||
tools: ${{ steps.prepare-test.outputs.tools-url }}
|
|
||||||
- name: Add test diagnostics
|
|
||||||
shell: bash
|
|
||||||
env:
|
|
||||||
CODEQL_PATH: ${{ steps.init.outputs.codeql-path }}
|
|
||||||
run: |
|
|
||||||
for i in {1..2}; do
|
|
||||||
# Use the same location twice to test the workaround for the bug in CodeQL CLI 2.12.5 that
|
|
||||||
# produces an invalid diagnostic with multiple identical location objects.
|
|
||||||
"$CODEQL_PATH" database add-diagnostic \
|
"$CODEQL_PATH" database add-diagnostic \
|
||||||
"$RUNNER_TEMP/codeql_databases/javascript" \
|
"$RUNNER_TEMP/codeql_databases/javascript" \
|
||||||
--file-path /path/to/file \
|
--file-path /path/to/file \
|
||||||
--plaintext-message "Plaintext message $i" \
|
--plaintext-message "Plaintext message" \
|
||||||
--source-id "lang/diagnostics/example" \
|
--source-id "lang/diagnostics/example" \
|
||||||
--source-name "Diagnostic name" \
|
--source-name "Diagnostic name" \
|
||||||
--ready-for-status-page
|
--ready-for-status-page
|
||||||
done
|
- uses: ./../action/analyze
|
||||||
- uses: ./../action/analyze
|
with:
|
||||||
with:
|
output: ${{ runner.temp }}/results
|
||||||
output: ${{ runner.temp }}/results
|
upload-database: false
|
||||||
upload-database: false
|
- name: Upload SARIF
|
||||||
- name: Upload SARIF
|
uses: actions/upload-artifact@v3
|
||||||
uses: actions/upload-artifact@v3
|
with:
|
||||||
with:
|
name: diagnostics-export-${{ matrix.os }}-${{ matrix.version }}.sarif.json
|
||||||
name: diagnostics-export-${{ matrix.os }}-${{ matrix.version }}.sarif.json
|
path: ${{ runner.temp }}/results/javascript.sarif
|
||||||
path: ${{ runner.temp }}/results/javascript.sarif
|
retention-days: 7
|
||||||
retention-days: 7
|
- name: Check diagnostics appear in SARIF
|
||||||
- name: Check diagnostics appear in SARIF
|
uses: actions/github-script@v7
|
||||||
uses: actions/github-script@v7
|
env:
|
||||||
env:
|
SARIF_PATH: ${{ runner.temp }}/results/javascript.sarif
|
||||||
SARIF_PATH: ${{ runner.temp }}/results/javascript.sarif
|
with:
|
||||||
with:
|
script: |
|
||||||
script: |
|
const fs = require('fs');
|
||||||
const fs = require('fs');
|
|
||||||
|
|
||||||
function checkStatusPageNotification(n) {
|
function checkStatusPageNotification(n) {
|
||||||
const expectedMessage = 'Plaintext message 1\n\nCodeQL also found 1 other diagnostic like this. See the workflow log for details.';
|
const expectedMessage = 'Plaintext message';
|
||||||
if (n.message.text !== expectedMessage) {
|
if (n.message.text !== expectedMessage) {
|
||||||
core.setFailed(`Expected the status page diagnostic to have the message '${expectedMessage}', but found '${n.message.text}'.`);
|
core.setFailed(`Expected the status page diagnostic to have the message '${expectedMessage}', but found '${n.message.text}'.`);
|
||||||
|
}
|
||||||
|
if (n.locations.length !== 1) {
|
||||||
|
core.setFailed(`Expected the status page diagnostic to have exactly 1 location, but found ${n.locations.length}.`);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
if (n.locations.length !== 1) {
|
|
||||||
core.setFailed(`Expected the status page diagnostic to have exactly 1 location, but found ${n.locations.length}.`);
|
const sarif = JSON.parse(fs.readFileSync(process.env['SARIF_PATH'], 'utf8'));
|
||||||
|
const run = sarif.runs[0];
|
||||||
|
|
||||||
|
const toolExecutionNotifications = run.invocations[0].toolExecutionNotifications;
|
||||||
|
const statusPageNotifications = toolExecutionNotifications.filter(n =>
|
||||||
|
n.descriptor.id === 'lang/diagnostics/example' && n.properties?.visibility?.statusPage
|
||||||
|
);
|
||||||
|
if (statusPageNotifications.length !== 1) {
|
||||||
|
core.setFailed(
|
||||||
|
'Expected exactly one status page reporting descriptor for this diagnostic in the ' +
|
||||||
|
`'runs[].invocations[].toolExecutionNotifications[]' SARIF property, but found ` +
|
||||||
|
`${statusPageNotifications.length}. All notification reporting descriptors: ` +
|
||||||
|
`${JSON.stringify(toolExecutionNotifications)}.`
|
||||||
|
);
|
||||||
}
|
}
|
||||||
}
|
checkStatusPageNotification(statusPageNotifications[0]);
|
||||||
|
|
||||||
const sarif = JSON.parse(fs.readFileSync(process.env['SARIF_PATH'], 'utf8'));
|
const notifications = run.tool.driver.notifications;
|
||||||
const run = sarif.runs[0];
|
const diagnosticNotification = notifications.filter(n =>
|
||||||
|
n.id === 'lang/diagnostics/example' && n.name === 'lang/diagnostics/example' &&
|
||||||
const toolExecutionNotifications = run.invocations[0].toolExecutionNotifications;
|
n.fullDescription.text === 'Diagnostic name'
|
||||||
const statusPageNotifications = toolExecutionNotifications.filter(n =>
|
|
||||||
n.descriptor.id === 'lang/diagnostics/example' && n.properties?.visibility?.statusPage
|
|
||||||
);
|
|
||||||
if (statusPageNotifications.length !== 1) {
|
|
||||||
core.setFailed(
|
|
||||||
'Expected exactly one status page reporting descriptor for this diagnostic in the ' +
|
|
||||||
`'runs[].invocations[].toolExecutionNotifications[]' SARIF property, but found ` +
|
|
||||||
`${statusPageNotifications.length}. All notification reporting descriptors: ` +
|
|
||||||
`${JSON.stringify(toolExecutionNotifications)}.`
|
|
||||||
);
|
);
|
||||||
}
|
if (diagnosticNotification.length !== 1) {
|
||||||
checkStatusPageNotification(statusPageNotifications[0]);
|
core.setFailed(
|
||||||
|
'Expected exactly one notification for this diagnostic in the ' +
|
||||||
|
`'runs[].tool.driver.notifications[]' SARIF property, but found ` +
|
||||||
|
`${diagnosticNotification.length}. All notifications: ` +
|
||||||
|
`${JSON.stringify(notifications)}.`
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
const notifications = run.tool.driver.notifications;
|
core.info('Finished diagnostic export test');
|
||||||
const diagnosticNotification = notifications.filter(n =>
|
|
||||||
n.id === 'lang/diagnostics/example' && n.name === 'lang/diagnostics/example' &&
|
|
||||||
n.fullDescription.text === 'Diagnostic name'
|
|
||||||
);
|
|
||||||
if (diagnosticNotification.length !== 1) {
|
|
||||||
core.setFailed(
|
|
||||||
'Expected exactly one notification for this diagnostic in the ' +
|
|
||||||
`'runs[].tool.driver.notifications[]' SARIF property, but found ` +
|
|
||||||
`${diagnosticNotification.length}. All notifications: ` +
|
|
||||||
`${JSON.stringify(notifications)}.`
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
core.info('Finished diagnostic export test');
|
|
||||||
env:
|
env:
|
||||||
CODEQL_ACTION_EXPORT_DIAGNOSTICS: true
|
CODEQL_ACTION_EXPORT_DIAGNOSTICS: true
|
||||||
CODEQL_ACTION_TEST_MODE: true
|
CODEQL_ACTION_TEST_MODE: true
|
||||||
|
|||||||
147
.github/workflows/__export-file-baseline-information.yml
generated
vendored
147
.github/workflows/__export-file-baseline-information.yml
generated
vendored
@@ -7,30 +7,32 @@ name: PR Check - Export file baseline information
|
|||||||
env:
|
env:
|
||||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
GO111MODULE: auto
|
GO111MODULE: auto
|
||||||
CODEQL_EXTRACTOR_JAVA_AGENT_DISABLE_KOTLIN: 'true'
|
|
||||||
on:
|
on:
|
||||||
push:
|
push:
|
||||||
branches:
|
branches:
|
||||||
- main
|
- main
|
||||||
- releases/v*
|
- releases/v*
|
||||||
pull_request:
|
pull_request:
|
||||||
types:
|
types:
|
||||||
- opened
|
- opened
|
||||||
- synchronize
|
- synchronize
|
||||||
- reopened
|
- reopened
|
||||||
- ready_for_review
|
- ready_for_review
|
||||||
|
schedule:
|
||||||
|
- cron: '0 5 * * *'
|
||||||
workflow_dispatch: {}
|
workflow_dispatch: {}
|
||||||
jobs:
|
jobs:
|
||||||
export-file-baseline-information:
|
export-file-baseline-information:
|
||||||
strategy:
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
include:
|
include:
|
||||||
- os: ubuntu-latest
|
- os: ubuntu-latest
|
||||||
version: nightly-latest
|
version: nightly-latest
|
||||||
- os: macos-latest
|
- os: macos-latest
|
||||||
version: nightly-latest
|
version: nightly-latest
|
||||||
- os: windows-latest
|
- os: windows-latest
|
||||||
version: nightly-latest
|
version: nightly-latest
|
||||||
name: Export file baseline information
|
name: Export file baseline information
|
||||||
permissions:
|
permissions:
|
||||||
contents: read
|
contents: read
|
||||||
@@ -38,72 +40,65 @@ jobs:
|
|||||||
timeout-minutes: 45
|
timeout-minutes: 45
|
||||||
runs-on: ${{ matrix.os }}
|
runs-on: ${{ matrix.os }}
|
||||||
steps:
|
steps:
|
||||||
- name: Setup Python on MacOS
|
- name: Setup Python on MacOS
|
||||||
uses: actions/setup-python@v5
|
uses: actions/setup-python@v5
|
||||||
if: >-
|
if: >-
|
||||||
matrix.os == 'macos-latest' && (
|
runner.os == 'macOS' && (
|
||||||
|
|
||||||
matrix.version == 'stable-20221211' ||
|
matrix.version == 'stable-v2.13.5' ||
|
||||||
|
|
||||||
matrix.version == 'stable-20230418' ||
|
matrix.version == 'stable-v2.14.6')
|
||||||
|
with:
|
||||||
matrix.version == 'stable-v2.13.5' ||
|
python-version: '3.11'
|
||||||
|
- name: Check out repository
|
||||||
matrix.version == 'stable-v2.14.6')
|
uses: actions/checkout@v4
|
||||||
with:
|
- name: Prepare test
|
||||||
python-version: '3.11'
|
id: prepare-test
|
||||||
- name: Check out repository
|
uses: ./.github/actions/prepare-test
|
||||||
uses: actions/checkout@v4
|
with:
|
||||||
- name: Prepare test
|
version: ${{ matrix.version }}
|
||||||
id: prepare-test
|
use-all-platform-bundle: 'false'
|
||||||
uses: ./.github/actions/prepare-test
|
setup-kotlin: 'true'
|
||||||
with:
|
- uses: ./../action/init
|
||||||
version: ${{ matrix.version }}
|
id: init
|
||||||
use-all-platform-bundle: 'false'
|
with:
|
||||||
- name: Set environment variable for Swift enablement
|
languages: javascript
|
||||||
if: runner.os != 'Windows' && matrix.version == '20221211'
|
tools: ${{ steps.prepare-test.outputs.tools-url }}
|
||||||
shell: bash
|
- uses: ./../action/.github/actions/setup-swift
|
||||||
run: echo "CODEQL_ENABLE_EXPERIMENTAL_FEATURES_SWIFT=true" >> $GITHUB_ENV
|
with:
|
||||||
- uses: ./../action/init
|
codeql-path: ${{ steps.init.outputs.codeql-path }}
|
||||||
id: init
|
- name: Build code
|
||||||
with:
|
shell: bash
|
||||||
languages: javascript
|
run: ./build.sh
|
||||||
tools: ${{ steps.prepare-test.outputs.tools-url }}
|
- uses: ./../action/analyze
|
||||||
- uses: ./../action/.github/actions/setup-swift
|
with:
|
||||||
with:
|
output: ${{ runner.temp }}/results
|
||||||
codeql-path: ${{ steps.init.outputs.codeql-path }}
|
- name: Upload SARIF
|
||||||
- name: Build code
|
uses: actions/upload-artifact@v3
|
||||||
shell: bash
|
with:
|
||||||
run: ./build.sh
|
name: with-baseline-information-${{ matrix.os }}-${{ matrix.version }}.sarif.json
|
||||||
- uses: ./../action/analyze
|
path: ${{ runner.temp }}/results/javascript.sarif
|
||||||
with:
|
retention-days: 7
|
||||||
output: ${{ runner.temp }}/results
|
- name: Check results
|
||||||
- name: Upload SARIF
|
shell: bash
|
||||||
uses: actions/upload-artifact@v3
|
run: |
|
||||||
with:
|
cd "$RUNNER_TEMP/results"
|
||||||
name: with-baseline-information-${{ matrix.os }}-${{ matrix.version }}.sarif.json
|
expected_baseline_languages="c csharp go java kotlin javascript python ruby"
|
||||||
path: ${{ runner.temp }}/results/javascript.sarif
|
if [[ $RUNNER_OS == "macOS" ]]; then
|
||||||
retention-days: 7
|
expected_baseline_languages+=" swift"
|
||||||
- name: Check results
|
|
||||||
shell: bash
|
|
||||||
run: |
|
|
||||||
cd "$RUNNER_TEMP/results"
|
|
||||||
expected_baseline_languages="c csharp go java kotlin javascript python ruby"
|
|
||||||
if [[ $RUNNER_OS != "Windows" ]]; then
|
|
||||||
expected_baseline_languages+=" swift"
|
|
||||||
fi
|
|
||||||
|
|
||||||
for lang in ${expected_baseline_languages}; do
|
|
||||||
rule_name="cli/expected-extracted-files/${lang}"
|
|
||||||
found_notification=$(jq --arg rule_name "${rule_name}" '[.runs[0].tool.driver.notifications |
|
|
||||||
select(. != null) | flatten | .[].id] | any(. == $rule_name)' javascript.sarif)
|
|
||||||
if [[ "${found_notification}" != "true" ]]; then
|
|
||||||
echo "Expected SARIF output to contain notification '${rule_name}', but found no such notification."
|
|
||||||
exit 1
|
|
||||||
else
|
|
||||||
echo "Found notification '${rule_name}'."
|
|
||||||
fi
|
fi
|
||||||
done
|
|
||||||
|
for lang in ${expected_baseline_languages}; do
|
||||||
|
rule_name="cli/expected-extracted-files/${lang}"
|
||||||
|
found_notification=$(jq --arg rule_name "${rule_name}" '[.runs[0].tool.driver.notifications |
|
||||||
|
select(. != null) | flatten | .[].id] | any(. == $rule_name)' javascript.sarif)
|
||||||
|
if [[ "${found_notification}" != "true" ]]; then
|
||||||
|
echo "Expected SARIF output to contain notification '${rule_name}', but found no such notification."
|
||||||
|
exit 1
|
||||||
|
else
|
||||||
|
echo "Found notification '${rule_name}'."
|
||||||
|
fi
|
||||||
|
done
|
||||||
env:
|
env:
|
||||||
CODEQL_ACTION_SUBLANGUAGE_FILE_COVERAGE: true
|
CODEQL_ACTION_SUBLANGUAGE_FILE_COVERAGE: true
|
||||||
CODEQL_ACTION_TEST_MODE: true
|
CODEQL_ACTION_TEST_MODE: true
|
||||||
|
|||||||
109
.github/workflows/__extractor-ram-threads.yml
generated
vendored
109
.github/workflows/__extractor-ram-threads.yml
generated
vendored
@@ -7,26 +7,28 @@ name: PR Check - Extractor ram and threads options test
|
|||||||
env:
|
env:
|
||||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
GO111MODULE: auto
|
GO111MODULE: auto
|
||||||
CODEQL_EXTRACTOR_JAVA_AGENT_DISABLE_KOTLIN: 'true'
|
|
||||||
on:
|
on:
|
||||||
push:
|
push:
|
||||||
branches:
|
branches:
|
||||||
- main
|
- main
|
||||||
- releases/v*
|
- releases/v*
|
||||||
pull_request:
|
pull_request:
|
||||||
types:
|
types:
|
||||||
- opened
|
- opened
|
||||||
- synchronize
|
- synchronize
|
||||||
- reopened
|
- reopened
|
||||||
- ready_for_review
|
- ready_for_review
|
||||||
|
schedule:
|
||||||
|
- cron: '0 5 * * *'
|
||||||
workflow_dispatch: {}
|
workflow_dispatch: {}
|
||||||
jobs:
|
jobs:
|
||||||
extractor-ram-threads:
|
extractor-ram-threads:
|
||||||
strategy:
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
include:
|
include:
|
||||||
- os: ubuntu-latest
|
- os: ubuntu-latest
|
||||||
version: latest
|
version: linked
|
||||||
name: Extractor ram and threads options test
|
name: Extractor ram and threads options test
|
||||||
permissions:
|
permissions:
|
||||||
contents: read
|
contents: read
|
||||||
@@ -34,55 +36,48 @@ jobs:
|
|||||||
timeout-minutes: 45
|
timeout-minutes: 45
|
||||||
runs-on: ${{ matrix.os }}
|
runs-on: ${{ matrix.os }}
|
||||||
steps:
|
steps:
|
||||||
- name: Setup Python on MacOS
|
- name: Setup Python on MacOS
|
||||||
uses: actions/setup-python@v5
|
uses: actions/setup-python@v5
|
||||||
if: >-
|
if: >-
|
||||||
matrix.os == 'macos-latest' && (
|
runner.os == 'macOS' && (
|
||||||
|
|
||||||
matrix.version == 'stable-20221211' ||
|
matrix.version == 'stable-v2.13.5' ||
|
||||||
|
|
||||||
matrix.version == 'stable-20230418' ||
|
matrix.version == 'stable-v2.14.6')
|
||||||
|
with:
|
||||||
matrix.version == 'stable-v2.13.5' ||
|
python-version: '3.11'
|
||||||
|
- name: Check out repository
|
||||||
matrix.version == 'stable-v2.14.6')
|
uses: actions/checkout@v4
|
||||||
with:
|
- name: Prepare test
|
||||||
python-version: '3.11'
|
id: prepare-test
|
||||||
- name: Check out repository
|
uses: ./.github/actions/prepare-test
|
||||||
uses: actions/checkout@v4
|
with:
|
||||||
- name: Prepare test
|
version: ${{ matrix.version }}
|
||||||
id: prepare-test
|
use-all-platform-bundle: 'false'
|
||||||
uses: ./.github/actions/prepare-test
|
setup-kotlin: 'true'
|
||||||
with:
|
- uses: ./../action/init
|
||||||
version: ${{ matrix.version }}
|
with:
|
||||||
use-all-platform-bundle: 'false'
|
languages: java
|
||||||
- name: Set environment variable for Swift enablement
|
ram: 230
|
||||||
if: runner.os != 'Windows' && matrix.version == '20221211'
|
threads: 1
|
||||||
shell: bash
|
- name: Assert Results
|
||||||
run: echo "CODEQL_ENABLE_EXPERIMENTAL_FEATURES_SWIFT=true" >> $GITHUB_ENV
|
shell: bash
|
||||||
- uses: ./../action/init
|
run: |
|
||||||
with:
|
if [ "${CODEQL_RAM}" != "230" ]; then
|
||||||
languages: java
|
echo "CODEQL_RAM is '${CODEQL_RAM}' instead of 230"
|
||||||
ram: 230
|
exit 1
|
||||||
threads: 1
|
fi
|
||||||
- name: Assert Results
|
if [ "${CODEQL_EXTRACTOR_JAVA_RAM}" != "230" ]; then
|
||||||
shell: bash
|
echo "CODEQL_EXTRACTOR_JAVA_RAM is '${CODEQL_EXTRACTOR_JAVA_RAM}' instead of 230"
|
||||||
run: |
|
exit 1
|
||||||
if [ "${CODEQL_RAM}" != "230" ]; then
|
fi
|
||||||
echo "CODEQL_RAM is '${CODEQL_RAM}' instead of 230"
|
if [ "${CODEQL_THREADS}" != "1" ]; then
|
||||||
exit 1
|
echo "CODEQL_THREADS is '${CODEQL_THREADS}' instead of 1"
|
||||||
fi
|
exit 1
|
||||||
if [ "${CODEQL_EXTRACTOR_JAVA_RAM}" != "230" ]; then
|
fi
|
||||||
echo "CODEQL_EXTRACTOR_JAVA_RAM is '${CODEQL_EXTRACTOR_JAVA_RAM}' instead of 230"
|
if [ "${CODEQL_EXTRACTOR_JAVA_THREADS}" != "1" ]; then
|
||||||
exit 1
|
echo "CODEQL_EXTRACTOR_JAVA_THREADS is '${CODEQL_EXTRACTOR_JAVA_THREADS}' instead of 1"
|
||||||
fi
|
exit 1
|
||||||
if [ "${CODEQL_THREADS}" != "1" ]; then
|
fi
|
||||||
echo "CODEQL_THREADS is '${CODEQL_THREADS}' instead of 1"
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
if [ "${CODEQL_EXTRACTOR_JAVA_THREADS}" != "1" ]; then
|
|
||||||
echo "CODEQL_EXTRACTOR_JAVA_THREADS is '${CODEQL_EXTRACTOR_JAVA_THREADS}' instead of 1"
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
env:
|
env:
|
||||||
CODEQL_ACTION_TEST_MODE: true
|
CODEQL_ACTION_TEST_MODE: true
|
||||||
|
|||||||
170
.github/workflows/__go-custom-queries.yml
generated
vendored
170
.github/workflows/__go-custom-queries.yml
generated
vendored
@@ -7,66 +7,74 @@ name: 'PR Check - Go: Custom queries'
|
|||||||
env:
|
env:
|
||||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
GO111MODULE: auto
|
GO111MODULE: auto
|
||||||
CODEQL_EXTRACTOR_JAVA_AGENT_DISABLE_KOTLIN: 'true'
|
|
||||||
on:
|
on:
|
||||||
push:
|
push:
|
||||||
branches:
|
branches:
|
||||||
- main
|
- main
|
||||||
- releases/v*
|
- releases/v*
|
||||||
pull_request:
|
pull_request:
|
||||||
types:
|
types:
|
||||||
- opened
|
- opened
|
||||||
- synchronize
|
- synchronize
|
||||||
- reopened
|
- reopened
|
||||||
- ready_for_review
|
- ready_for_review
|
||||||
|
schedule:
|
||||||
|
- cron: '0 5 * * *'
|
||||||
workflow_dispatch: {}
|
workflow_dispatch: {}
|
||||||
jobs:
|
jobs:
|
||||||
go-custom-queries:
|
go-custom-queries:
|
||||||
strategy:
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
include:
|
include:
|
||||||
- os: ubuntu-latest
|
- os: ubuntu-latest
|
||||||
version: stable-20221211
|
version: stable-v2.13.5
|
||||||
- os: macos-latest
|
- os: macos-12
|
||||||
version: stable-20221211
|
version: stable-v2.13.5
|
||||||
- os: windows-latest
|
- os: windows-latest
|
||||||
version: stable-20221211
|
version: stable-v2.13.5
|
||||||
- os: ubuntu-latest
|
- os: ubuntu-latest
|
||||||
version: stable-20230418
|
version: stable-v2.14.6
|
||||||
- os: macos-latest
|
- os: macos-12
|
||||||
version: stable-20230418
|
version: stable-v2.14.6
|
||||||
- os: windows-latest
|
- os: windows-latest
|
||||||
version: stable-20230418
|
version: stable-v2.14.6
|
||||||
- os: ubuntu-latest
|
- os: ubuntu-latest
|
||||||
version: stable-v2.13.5
|
version: stable-v2.15.5
|
||||||
- os: macos-latest
|
- os: macos-latest
|
||||||
version: stable-v2.13.5
|
version: stable-v2.15.5
|
||||||
- os: windows-latest
|
- os: windows-latest
|
||||||
version: stable-v2.13.5
|
version: stable-v2.15.5
|
||||||
- os: ubuntu-latest
|
- os: ubuntu-latest
|
||||||
version: stable-v2.14.6
|
version: stable-v2.16.6
|
||||||
- os: macos-latest
|
- os: macos-latest
|
||||||
version: stable-v2.14.6
|
version: stable-v2.16.6
|
||||||
- os: windows-latest
|
- os: windows-latest
|
||||||
version: stable-v2.14.6
|
version: stable-v2.16.6
|
||||||
- os: ubuntu-latest
|
- os: ubuntu-latest
|
||||||
version: default
|
version: stable-v2.17.6
|
||||||
- os: macos-latest
|
- os: macos-latest
|
||||||
version: default
|
version: stable-v2.17.6
|
||||||
- os: windows-latest
|
- os: windows-latest
|
||||||
version: default
|
version: stable-v2.17.6
|
||||||
- os: ubuntu-latest
|
- os: ubuntu-latest
|
||||||
version: latest
|
version: default
|
||||||
- os: macos-latest
|
- os: macos-latest
|
||||||
version: latest
|
version: default
|
||||||
- os: windows-latest
|
- os: windows-latest
|
||||||
version: latest
|
version: default
|
||||||
- os: ubuntu-latest
|
- os: ubuntu-latest
|
||||||
version: nightly-latest
|
version: linked
|
||||||
- os: macos-latest
|
- os: macos-latest
|
||||||
version: nightly-latest
|
version: linked
|
||||||
- os: windows-latest
|
- os: windows-latest
|
||||||
version: nightly-latest
|
version: linked
|
||||||
|
- os: ubuntu-latest
|
||||||
|
version: nightly-latest
|
||||||
|
- os: macos-latest
|
||||||
|
version: nightly-latest
|
||||||
|
- os: windows-latest
|
||||||
|
version: nightly-latest
|
||||||
name: 'Go: Custom queries'
|
name: 'Go: Custom queries'
|
||||||
permissions:
|
permissions:
|
||||||
contents: read
|
contents: read
|
||||||
@@ -74,43 +82,37 @@ jobs:
|
|||||||
timeout-minutes: 45
|
timeout-minutes: 45
|
||||||
runs-on: ${{ matrix.os }}
|
runs-on: ${{ matrix.os }}
|
||||||
steps:
|
steps:
|
||||||
- name: Setup Python on MacOS
|
- name: Setup Python on MacOS
|
||||||
uses: actions/setup-python@v5
|
uses: actions/setup-python@v5
|
||||||
if: >-
|
if: >-
|
||||||
matrix.os == 'macos-latest' && (
|
runner.os == 'macOS' && (
|
||||||
|
|
||||||
matrix.version == 'stable-20221211' ||
|
matrix.version == 'stable-v2.13.5' ||
|
||||||
|
|
||||||
matrix.version == 'stable-20230418' ||
|
matrix.version == 'stable-v2.14.6')
|
||||||
|
with:
|
||||||
matrix.version == 'stable-v2.13.5' ||
|
python-version: '3.11'
|
||||||
|
- name: Check out repository
|
||||||
matrix.version == 'stable-v2.14.6')
|
uses: actions/checkout@v4
|
||||||
with:
|
- name: Prepare test
|
||||||
python-version: '3.11'
|
id: prepare-test
|
||||||
- name: Check out repository
|
uses: ./.github/actions/prepare-test
|
||||||
uses: actions/checkout@v4
|
with:
|
||||||
- name: Prepare test
|
version: ${{ matrix.version }}
|
||||||
id: prepare-test
|
use-all-platform-bundle: 'false'
|
||||||
uses: ./.github/actions/prepare-test
|
setup-kotlin: 'true'
|
||||||
with:
|
- uses: actions/setup-go@v5
|
||||||
version: ${{ matrix.version }}
|
with:
|
||||||
use-all-platform-bundle: 'false'
|
go-version: '>=1.21.0'
|
||||||
- name: Set environment variable for Swift enablement
|
- uses: ./../action/init
|
||||||
if: runner.os != 'Windows' && matrix.version == '20221211'
|
with:
|
||||||
shell: bash
|
languages: go
|
||||||
run: echo "CODEQL_ENABLE_EXPERIMENTAL_FEATURES_SWIFT=true" >> $GITHUB_ENV
|
config-file: ./.github/codeql/custom-queries.yml
|
||||||
- uses: ./../action/init
|
tools: ${{ steps.prepare-test.outputs.tools-url }}
|
||||||
with:
|
- name: Build code
|
||||||
languages: go
|
shell: bash
|
||||||
config-file: ./.github/codeql/custom-queries.yml
|
run: ./build.sh
|
||||||
tools: ${{ steps.prepare-test.outputs.tools-url }}
|
- uses: ./../action/analyze
|
||||||
- name: Build code
|
|
||||||
shell: bash
|
|
||||||
run: ./build.sh
|
|
||||||
- uses: ./../action/analyze
|
|
||||||
with:
|
|
||||||
upload-database: false
|
|
||||||
env:
|
env:
|
||||||
DOTNET_GENERATE_ASPNET_CERTIFICATE: 'false'
|
DOTNET_GENERATE_ASPNET_CERTIFICATE: 'false'
|
||||||
CODEQL_ACTION_TEST_MODE: true
|
CODEQL_ACTION_TEST_MODE: true
|
||||||
|
|||||||
135
.github/workflows/__go-indirect-tracing-workaround-diagnostic.yml
generated
vendored
135
.github/workflows/__go-indirect-tracing-workaround-diagnostic.yml
generated
vendored
@@ -7,26 +7,28 @@ name: 'PR Check - Go: diagnostic when Go is changed after init step'
|
|||||||
env:
|
env:
|
||||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
GO111MODULE: auto
|
GO111MODULE: auto
|
||||||
CODEQL_EXTRACTOR_JAVA_AGENT_DISABLE_KOTLIN: 'true'
|
|
||||||
on:
|
on:
|
||||||
push:
|
push:
|
||||||
branches:
|
branches:
|
||||||
- main
|
- main
|
||||||
- releases/v*
|
- releases/v*
|
||||||
pull_request:
|
pull_request:
|
||||||
types:
|
types:
|
||||||
- opened
|
- opened
|
||||||
- synchronize
|
- synchronize
|
||||||
- reopened
|
- reopened
|
||||||
- ready_for_review
|
- ready_for_review
|
||||||
|
schedule:
|
||||||
|
- cron: '0 5 * * *'
|
||||||
workflow_dispatch: {}
|
workflow_dispatch: {}
|
||||||
jobs:
|
jobs:
|
||||||
go-indirect-tracing-workaround-diagnostic:
|
go-indirect-tracing-workaround-diagnostic:
|
||||||
strategy:
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
include:
|
include:
|
||||||
- os: ubuntu-latest
|
- os: ubuntu-latest
|
||||||
version: stable-v2.14.6
|
version: stable-v2.14.6
|
||||||
name: 'Go: diagnostic when Go is changed after init step'
|
name: 'Go: diagnostic when Go is changed after init step'
|
||||||
permissions:
|
permissions:
|
||||||
contents: read
|
contents: read
|
||||||
@@ -34,73 +36,66 @@ jobs:
|
|||||||
timeout-minutes: 45
|
timeout-minutes: 45
|
||||||
runs-on: ${{ matrix.os }}
|
runs-on: ${{ matrix.os }}
|
||||||
steps:
|
steps:
|
||||||
- name: Setup Python on MacOS
|
- name: Setup Python on MacOS
|
||||||
uses: actions/setup-python@v5
|
uses: actions/setup-python@v5
|
||||||
if: >-
|
if: >-
|
||||||
matrix.os == 'macos-latest' && (
|
runner.os == 'macOS' && (
|
||||||
|
|
||||||
matrix.version == 'stable-20221211' ||
|
matrix.version == 'stable-v2.13.5' ||
|
||||||
|
|
||||||
matrix.version == 'stable-20230418' ||
|
matrix.version == 'stable-v2.14.6')
|
||||||
|
with:
|
||||||
matrix.version == 'stable-v2.13.5' ||
|
python-version: '3.11'
|
||||||
|
- name: Check out repository
|
||||||
matrix.version == 'stable-v2.14.6')
|
uses: actions/checkout@v4
|
||||||
with:
|
- name: Prepare test
|
||||||
python-version: '3.11'
|
id: prepare-test
|
||||||
- name: Check out repository
|
uses: ./.github/actions/prepare-test
|
||||||
uses: actions/checkout@v4
|
with:
|
||||||
- name: Prepare test
|
version: ${{ matrix.version }}
|
||||||
id: prepare-test
|
use-all-platform-bundle: 'false'
|
||||||
uses: ./.github/actions/prepare-test
|
setup-kotlin: 'true'
|
||||||
with:
|
- uses: actions/setup-go@v5
|
||||||
version: ${{ matrix.version }}
|
with:
|
||||||
use-all-platform-bundle: 'false'
|
|
||||||
- name: Set environment variable for Swift enablement
|
|
||||||
if: runner.os != 'Windows' && matrix.version == '20221211'
|
|
||||||
shell: bash
|
|
||||||
run: echo "CODEQL_ENABLE_EXPERIMENTAL_FEATURES_SWIFT=true" >> $GITHUB_ENV
|
|
||||||
- uses: actions/setup-go@v5
|
|
||||||
with:
|
|
||||||
# We need a Go version that ships with statically linked binaries on Linux
|
# We need a Go version that ships with statically linked binaries on Linux
|
||||||
go-version: '>=1.21.0'
|
go-version: '>=1.21.0'
|
||||||
- uses: ./../action/init
|
- uses: ./../action/init
|
||||||
with:
|
with:
|
||||||
languages: go
|
languages: go
|
||||||
tools: ${{ steps.prepare-test.outputs.tools-url }}
|
tools: ${{ steps.prepare-test.outputs.tools-url }}
|
||||||
# Deliberately change Go after the `init` step
|
# Deliberately change Go after the `init` step
|
||||||
- uses: actions/setup-go@v5
|
- uses: actions/setup-go@v5
|
||||||
with:
|
with:
|
||||||
go-version: '1.20'
|
go-version: '1.20'
|
||||||
- name: Build code
|
- name: Build code
|
||||||
shell: bash
|
shell: bash
|
||||||
run: go build main.go
|
run: go build main.go
|
||||||
- uses: ./../action/analyze
|
- uses: ./../action/analyze
|
||||||
with:
|
with:
|
||||||
output: ${{ runner.temp }}/results
|
output: ${{ runner.temp }}/results
|
||||||
upload-database: false
|
upload-database: false
|
||||||
- name: Check diagnostic appears in SARIF
|
- name: Check diagnostic appears in SARIF
|
||||||
uses: actions/github-script@v7
|
uses: actions/github-script@v7
|
||||||
env:
|
env:
|
||||||
SARIF_PATH: ${{ runner.temp }}/results/go.sarif
|
SARIF_PATH: ${{ runner.temp }}/results/go.sarif
|
||||||
with:
|
with:
|
||||||
script: |
|
script: |
|
||||||
const fs = require('fs');
|
const fs = require('fs');
|
||||||
|
|
||||||
const sarif = JSON.parse(fs.readFileSync(process.env['SARIF_PATH'], 'utf8'));
|
const sarif = JSON.parse(fs.readFileSync(process.env['SARIF_PATH'], 'utf8'));
|
||||||
const run = sarif.runs[0];
|
const run = sarif.runs[0];
|
||||||
|
|
||||||
const toolExecutionNotifications = run.invocations[0].toolExecutionNotifications;
|
const toolExecutionNotifications = run.invocations[0].toolExecutionNotifications;
|
||||||
const statusPageNotifications = toolExecutionNotifications.filter(n =>
|
const statusPageNotifications = toolExecutionNotifications.filter(n =>
|
||||||
n.descriptor.id === 'go/workflow/go-installed-after-codeql-init' && n.properties?.visibility?.statusPage
|
n.descriptor.id === 'go/workflow/go-installed-after-codeql-init' && n.properties?.visibility?.statusPage
|
||||||
);
|
|
||||||
if (statusPageNotifications.length !== 1) {
|
|
||||||
core.setFailed(
|
|
||||||
'Expected exactly one status page reporting descriptor for this diagnostic in the ' +
|
|
||||||
`'runs[].invocations[].toolExecutionNotifications[]' SARIF property, but found ` +
|
|
||||||
`${statusPageNotifications.length}. All notification reporting descriptors: ` +
|
|
||||||
`${JSON.stringify(toolExecutionNotifications)}.`
|
|
||||||
);
|
);
|
||||||
}
|
if (statusPageNotifications.length !== 1) {
|
||||||
|
core.setFailed(
|
||||||
|
'Expected exactly one status page reporting descriptor for this diagnostic in the ' +
|
||||||
|
`'runs[].invocations[].toolExecutionNotifications[]' SARIF property, but found ` +
|
||||||
|
`${statusPageNotifications.length}. All notification reporting descriptors: ` +
|
||||||
|
`${JSON.stringify(toolExecutionNotifications)}.`
|
||||||
|
);
|
||||||
|
}
|
||||||
env:
|
env:
|
||||||
CODEQL_ACTION_TEST_MODE: true
|
CODEQL_ACTION_TEST_MODE: true
|
||||||
|
|||||||
102
.github/workflows/__go-indirect-tracing-workaround-no-file-program.yml
generated
vendored
Normal file
102
.github/workflows/__go-indirect-tracing-workaround-no-file-program.yml
generated
vendored
Normal file
@@ -0,0 +1,102 @@
|
|||||||
|
# Warning: This file is generated automatically, and should not be modified.
|
||||||
|
# Instead, please modify the template in the pr-checks directory and run:
|
||||||
|
# (cd pr-checks; pip install ruamel.yaml@0.17.31 && python3 sync.py)
|
||||||
|
# to regenerate this file.
|
||||||
|
|
||||||
|
name: 'PR Check - Go: diagnostic when `file` is not installed'
|
||||||
|
env:
|
||||||
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
GO111MODULE: auto
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
branches:
|
||||||
|
- main
|
||||||
|
- releases/v*
|
||||||
|
pull_request:
|
||||||
|
types:
|
||||||
|
- opened
|
||||||
|
- synchronize
|
||||||
|
- reopened
|
||||||
|
- ready_for_review
|
||||||
|
schedule:
|
||||||
|
- cron: '0 5 * * *'
|
||||||
|
workflow_dispatch: {}
|
||||||
|
jobs:
|
||||||
|
go-indirect-tracing-workaround-no-file-program:
|
||||||
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
|
matrix:
|
||||||
|
include:
|
||||||
|
- os: ubuntu-latest
|
||||||
|
version: stable-v2.14.6
|
||||||
|
name: 'Go: diagnostic when `file` is not installed'
|
||||||
|
permissions:
|
||||||
|
contents: read
|
||||||
|
security-events: write
|
||||||
|
timeout-minutes: 45
|
||||||
|
runs-on: ${{ matrix.os }}
|
||||||
|
steps:
|
||||||
|
- name: Setup Python on MacOS
|
||||||
|
uses: actions/setup-python@v5
|
||||||
|
if: >-
|
||||||
|
runner.os == 'macOS' && (
|
||||||
|
|
||||||
|
matrix.version == 'stable-v2.13.5' ||
|
||||||
|
|
||||||
|
matrix.version == 'stable-v2.14.6')
|
||||||
|
with:
|
||||||
|
python-version: '3.11'
|
||||||
|
- name: Check out repository
|
||||||
|
uses: actions/checkout@v4
|
||||||
|
- name: Prepare test
|
||||||
|
id: prepare-test
|
||||||
|
uses: ./.github/actions/prepare-test
|
||||||
|
with:
|
||||||
|
version: ${{ matrix.version }}
|
||||||
|
use-all-platform-bundle: 'false'
|
||||||
|
setup-kotlin: 'true'
|
||||||
|
- uses: actions/setup-go@v5
|
||||||
|
with:
|
||||||
|
# We need a Go version that ships with statically linked binaries on Linux
|
||||||
|
go-version: '>=1.21.0'
|
||||||
|
- name: Remove `file` program
|
||||||
|
run: |
|
||||||
|
echo $(which file)
|
||||||
|
sudo rm -rf $(which file)
|
||||||
|
echo $(which file)
|
||||||
|
- uses: ./../action/init
|
||||||
|
with:
|
||||||
|
languages: go
|
||||||
|
tools: ${{ steps.prepare-test.outputs.tools-url }}
|
||||||
|
- name: Build code
|
||||||
|
shell: bash
|
||||||
|
run: go build main.go
|
||||||
|
- uses: ./../action/analyze
|
||||||
|
with:
|
||||||
|
output: ${{ runner.temp }}/results
|
||||||
|
upload-database: false
|
||||||
|
- name: Check diagnostic appears in SARIF
|
||||||
|
uses: actions/github-script@v7
|
||||||
|
env:
|
||||||
|
SARIF_PATH: ${{ runner.temp }}/results/go.sarif
|
||||||
|
with:
|
||||||
|
script: |
|
||||||
|
const fs = require('fs');
|
||||||
|
|
||||||
|
const sarif = JSON.parse(fs.readFileSync(process.env['SARIF_PATH'], 'utf8'));
|
||||||
|
const run = sarif.runs[0];
|
||||||
|
|
||||||
|
const toolExecutionNotifications = run.invocations[0].toolExecutionNotifications;
|
||||||
|
const statusPageNotifications = toolExecutionNotifications.filter(n =>
|
||||||
|
n.descriptor.id === 'go/workflow/file-program-unavailable' && n.properties?.visibility?.statusPage
|
||||||
|
);
|
||||||
|
if (statusPageNotifications.length !== 1) {
|
||||||
|
core.setFailed(
|
||||||
|
'Expected exactly one status page reporting descriptor for this diagnostic in the ' +
|
||||||
|
`'runs[].invocations[].toolExecutionNotifications[]' SARIF property, but found ` +
|
||||||
|
`${statusPageNotifications.length}. All notification reporting descriptors: ` +
|
||||||
|
`${JSON.stringify(toolExecutionNotifications)}.`
|
||||||
|
);
|
||||||
|
}
|
||||||
|
env:
|
||||||
|
CODEQL_ACTION_TEST_MODE: true
|
||||||
133
.github/workflows/__go-indirect-tracing-workaround.yml
generated
vendored
133
.github/workflows/__go-indirect-tracing-workaround.yml
generated
vendored
@@ -7,26 +7,28 @@ name: 'PR Check - Go: workaround for indirect tracing'
|
|||||||
env:
|
env:
|
||||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
GO111MODULE: auto
|
GO111MODULE: auto
|
||||||
CODEQL_EXTRACTOR_JAVA_AGENT_DISABLE_KOTLIN: 'true'
|
|
||||||
on:
|
on:
|
||||||
push:
|
push:
|
||||||
branches:
|
branches:
|
||||||
- main
|
- main
|
||||||
- releases/v*
|
- releases/v*
|
||||||
pull_request:
|
pull_request:
|
||||||
types:
|
types:
|
||||||
- opened
|
- opened
|
||||||
- synchronize
|
- synchronize
|
||||||
- reopened
|
- reopened
|
||||||
- ready_for_review
|
- ready_for_review
|
||||||
|
schedule:
|
||||||
|
- cron: '0 5 * * *'
|
||||||
workflow_dispatch: {}
|
workflow_dispatch: {}
|
||||||
jobs:
|
jobs:
|
||||||
go-indirect-tracing-workaround:
|
go-indirect-tracing-workaround:
|
||||||
strategy:
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
include:
|
include:
|
||||||
- os: ubuntu-latest
|
- os: ubuntu-latest
|
||||||
version: stable-v2.14.6
|
version: stable-v2.14.6
|
||||||
name: 'Go: workaround for indirect tracing'
|
name: 'Go: workaround for indirect tracing'
|
||||||
permissions:
|
permissions:
|
||||||
contents: read
|
contents: read
|
||||||
@@ -34,71 +36,62 @@ jobs:
|
|||||||
timeout-minutes: 45
|
timeout-minutes: 45
|
||||||
runs-on: ${{ matrix.os }}
|
runs-on: ${{ matrix.os }}
|
||||||
steps:
|
steps:
|
||||||
- name: Setup Python on MacOS
|
- name: Setup Python on MacOS
|
||||||
uses: actions/setup-python@v5
|
uses: actions/setup-python@v5
|
||||||
if: >-
|
if: >-
|
||||||
matrix.os == 'macos-latest' && (
|
runner.os == 'macOS' && (
|
||||||
|
|
||||||
matrix.version == 'stable-20221211' ||
|
matrix.version == 'stable-v2.13.5' ||
|
||||||
|
|
||||||
matrix.version == 'stable-20230418' ||
|
matrix.version == 'stable-v2.14.6')
|
||||||
|
with:
|
||||||
matrix.version == 'stable-v2.13.5' ||
|
python-version: '3.11'
|
||||||
|
- name: Check out repository
|
||||||
matrix.version == 'stable-v2.14.6')
|
uses: actions/checkout@v4
|
||||||
with:
|
- name: Prepare test
|
||||||
python-version: '3.11'
|
id: prepare-test
|
||||||
- name: Check out repository
|
uses: ./.github/actions/prepare-test
|
||||||
uses: actions/checkout@v4
|
with:
|
||||||
- name: Prepare test
|
version: ${{ matrix.version }}
|
||||||
id: prepare-test
|
use-all-platform-bundle: 'false'
|
||||||
uses: ./.github/actions/prepare-test
|
setup-kotlin: 'true'
|
||||||
with:
|
- uses: actions/setup-go@v5
|
||||||
version: ${{ matrix.version }}
|
with:
|
||||||
use-all-platform-bundle: 'false'
|
|
||||||
- name: Set environment variable for Swift enablement
|
|
||||||
if: runner.os != 'Windows' && matrix.version == '20221211'
|
|
||||||
shell: bash
|
|
||||||
run: echo "CODEQL_ENABLE_EXPERIMENTAL_FEATURES_SWIFT=true" >> $GITHUB_ENV
|
|
||||||
- uses: actions/setup-go@v5
|
|
||||||
with:
|
|
||||||
# We need a Go version that ships with statically linked binaries on Linux
|
# We need a Go version that ships with statically linked binaries on Linux
|
||||||
go-version: '>=1.21.0'
|
go-version: '>=1.21.0'
|
||||||
- uses: ./../action/init
|
- uses: ./../action/init
|
||||||
with:
|
with:
|
||||||
languages: go
|
languages: go
|
||||||
tools: ${{ steps.prepare-test.outputs.tools-url }}
|
tools: ${{ steps.prepare-test.outputs.tools-url }}
|
||||||
- name: Build code
|
- name: Build code
|
||||||
shell: bash
|
shell: bash
|
||||||
run: go build main.go
|
run: go build main.go
|
||||||
- uses: ./../action/analyze
|
- uses: ./../action/analyze
|
||||||
with:
|
- shell: bash
|
||||||
upload-database: false
|
run: |
|
||||||
- shell: bash
|
if [[ -z "${CODEQL_ACTION_GO_BINARY}" ]]; then
|
||||||
run: |
|
echo "Expected the workaround for indirect tracing of static binaries to trigger, but the" \
|
||||||
if [[ -z "${CODEQL_ACTION_GO_BINARY}" ]]; then
|
"CODEQL_ACTION_GO_BINARY environment variable is not set."
|
||||||
echo "Expected the workaround for indirect tracing of static binaries to trigger, but the" \
|
exit 1
|
||||||
"CODEQL_ACTION_GO_BINARY environment variable is not set."
|
fi
|
||||||
exit 1
|
if [[ ! -f "${CODEQL_ACTION_GO_BINARY}" ]]; then
|
||||||
fi
|
echo "CODEQL_ACTION_GO_BINARY is set, but the corresponding script does not exist."
|
||||||
if [[ ! -f "${CODEQL_ACTION_GO_BINARY}" ]]; then
|
exit 1
|
||||||
echo "CODEQL_ACTION_GO_BINARY is set, but the corresponding script does not exist."
|
fi
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
|
|
||||||
# Once we start running Bash 4.2 in all environments, we can replace the
|
# Once we start running Bash 4.2 in all environments, we can replace the
|
||||||
# `! -z` flag with the more elegant `-v` which confirms that the variable
|
# `! -z` flag with the more elegant `-v` which confirms that the variable
|
||||||
# is actually unset and not potentially set to a blank value.
|
# is actually unset and not potentially set to a blank value.
|
||||||
if [[ ! -z "${CODEQL_ACTION_DID_AUTOBUILD_GOLANG}" ]]; then
|
if [[ ! -z "${CODEQL_ACTION_DID_AUTOBUILD_GOLANG}" ]]; then
|
||||||
echo "Expected the Go autobuilder not to be run, but the" \
|
echo "Expected the Go autobuilder not to be run, but the" \
|
||||||
"CODEQL_ACTION_DID_AUTOBUILD_GOLANG environment variable was set."
|
"CODEQL_ACTION_DID_AUTOBUILD_GOLANG environment variable was set."
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
cd "$RUNNER_TEMP/codeql_databases"
|
cd "$RUNNER_TEMP/codeql_databases"
|
||||||
if [[ ! -d go ]]; then
|
if [[ ! -d go ]]; then
|
||||||
echo "Did not find a Go database"
|
echo "Did not find a Go database"
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
env:
|
env:
|
||||||
CODEQL_ACTION_TEST_MODE: true
|
CODEQL_ACTION_TEST_MODE: true
|
||||||
|
|||||||
163
.github/workflows/__go-tracing-autobuilder.yml
generated
vendored
163
.github/workflows/__go-tracing-autobuilder.yml
generated
vendored
@@ -7,52 +7,58 @@ name: 'PR Check - Go: tracing with autobuilder step'
|
|||||||
env:
|
env:
|
||||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
GO111MODULE: auto
|
GO111MODULE: auto
|
||||||
CODEQL_EXTRACTOR_JAVA_AGENT_DISABLE_KOTLIN: 'true'
|
|
||||||
on:
|
on:
|
||||||
push:
|
push:
|
||||||
branches:
|
branches:
|
||||||
- main
|
- main
|
||||||
- releases/v*
|
- releases/v*
|
||||||
pull_request:
|
pull_request:
|
||||||
types:
|
types:
|
||||||
- opened
|
- opened
|
||||||
- synchronize
|
- synchronize
|
||||||
- reopened
|
- reopened
|
||||||
- ready_for_review
|
- ready_for_review
|
||||||
|
schedule:
|
||||||
|
- cron: '0 5 * * *'
|
||||||
workflow_dispatch: {}
|
workflow_dispatch: {}
|
||||||
jobs:
|
jobs:
|
||||||
go-tracing-autobuilder:
|
go-tracing-autobuilder:
|
||||||
strategy:
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
include:
|
include:
|
||||||
- os: ubuntu-latest
|
- os: ubuntu-latest
|
||||||
version: stable-20221211
|
version: stable-v2.13.5
|
||||||
- os: macos-latest
|
- os: macos-12
|
||||||
version: stable-20221211
|
version: stable-v2.13.5
|
||||||
- os: ubuntu-latest
|
- os: ubuntu-latest
|
||||||
version: stable-20230418
|
version: stable-v2.14.6
|
||||||
- os: macos-latest
|
- os: macos-12
|
||||||
version: stable-20230418
|
version: stable-v2.14.6
|
||||||
- os: ubuntu-latest
|
- os: ubuntu-latest
|
||||||
version: stable-v2.13.5
|
version: stable-v2.15.5
|
||||||
- os: macos-latest
|
- os: macos-latest
|
||||||
version: stable-v2.13.5
|
version: stable-v2.15.5
|
||||||
- os: ubuntu-latest
|
- os: ubuntu-latest
|
||||||
version: stable-v2.14.6
|
version: stable-v2.16.6
|
||||||
- os: macos-latest
|
- os: macos-latest
|
||||||
version: stable-v2.14.6
|
version: stable-v2.16.6
|
||||||
- os: ubuntu-latest
|
- os: ubuntu-latest
|
||||||
version: default
|
version: stable-v2.17.6
|
||||||
- os: macos-latest
|
- os: macos-latest
|
||||||
version: default
|
version: stable-v2.17.6
|
||||||
- os: ubuntu-latest
|
- os: ubuntu-latest
|
||||||
version: latest
|
version: default
|
||||||
- os: macos-latest
|
- os: macos-latest
|
||||||
version: latest
|
version: default
|
||||||
- os: ubuntu-latest
|
- os: ubuntu-latest
|
||||||
version: nightly-latest
|
version: linked
|
||||||
- os: macos-latest
|
- os: macos-latest
|
||||||
version: nightly-latest
|
version: linked
|
||||||
|
- os: ubuntu-latest
|
||||||
|
version: nightly-latest
|
||||||
|
- os: macos-latest
|
||||||
|
version: nightly-latest
|
||||||
name: 'Go: tracing with autobuilder step'
|
name: 'Go: tracing with autobuilder step'
|
||||||
permissions:
|
permissions:
|
||||||
contents: read
|
contents: read
|
||||||
@@ -60,58 +66,49 @@ jobs:
|
|||||||
timeout-minutes: 45
|
timeout-minutes: 45
|
||||||
runs-on: ${{ matrix.os }}
|
runs-on: ${{ matrix.os }}
|
||||||
steps:
|
steps:
|
||||||
- name: Setup Python on MacOS
|
- name: Setup Python on MacOS
|
||||||
uses: actions/setup-python@v5
|
uses: actions/setup-python@v5
|
||||||
if: >-
|
if: >-
|
||||||
matrix.os == 'macos-latest' && (
|
runner.os == 'macOS' && (
|
||||||
|
|
||||||
matrix.version == 'stable-20221211' ||
|
matrix.version == 'stable-v2.13.5' ||
|
||||||
|
|
||||||
matrix.version == 'stable-20230418' ||
|
matrix.version == 'stable-v2.14.6')
|
||||||
|
with:
|
||||||
matrix.version == 'stable-v2.13.5' ||
|
python-version: '3.11'
|
||||||
|
- name: Check out repository
|
||||||
matrix.version == 'stable-v2.14.6')
|
uses: actions/checkout@v4
|
||||||
with:
|
- name: Prepare test
|
||||||
python-version: '3.11'
|
id: prepare-test
|
||||||
- name: Check out repository
|
uses: ./.github/actions/prepare-test
|
||||||
uses: actions/checkout@v4
|
with:
|
||||||
- name: Prepare test
|
version: ${{ matrix.version }}
|
||||||
id: prepare-test
|
use-all-platform-bundle: 'false'
|
||||||
uses: ./.github/actions/prepare-test
|
setup-kotlin: 'true'
|
||||||
with:
|
- uses: actions/setup-go@v5
|
||||||
version: ${{ matrix.version }}
|
with:
|
||||||
use-all-platform-bundle: 'false'
|
go-version: ~1.22.0
|
||||||
- name: Set environment variable for Swift enablement
|
|
||||||
if: runner.os != 'Windows' && matrix.version == '20221211'
|
|
||||||
shell: bash
|
|
||||||
run: echo "CODEQL_ENABLE_EXPERIMENTAL_FEATURES_SWIFT=true" >> $GITHUB_ENV
|
|
||||||
- uses: actions/setup-go@v5
|
|
||||||
with:
|
|
||||||
go-version: ~1.22.0
|
|
||||||
# to avoid potentially misleading autobuilder results where we expect it to download
|
# to avoid potentially misleading autobuilder results where we expect it to download
|
||||||
# dependencies successfully, but they actually come from a warm cache
|
# dependencies successfully, but they actually come from a warm cache
|
||||||
cache: false
|
cache: false
|
||||||
- uses: ./../action/init
|
- uses: ./../action/init
|
||||||
with:
|
with:
|
||||||
languages: go
|
languages: go
|
||||||
tools: ${{ steps.prepare-test.outputs.tools-url }}
|
tools: ${{ steps.prepare-test.outputs.tools-url }}
|
||||||
- uses: ./../action/autobuild
|
- uses: ./../action/autobuild
|
||||||
- uses: ./../action/analyze
|
- uses: ./../action/analyze
|
||||||
with:
|
- shell: bash
|
||||||
upload-database: false
|
run: |
|
||||||
- shell: bash
|
if [[ "${CODEQL_ACTION_DID_AUTOBUILD_GOLANG}" != true ]]; then
|
||||||
run: |
|
echo "Expected the Go autobuilder to be run, but the" \
|
||||||
if [[ "${CODEQL_ACTION_DID_AUTOBUILD_GOLANG}" != true ]]; then
|
"CODEQL_ACTION_DID_AUTOBUILD_GOLANG environment variable was not true."
|
||||||
echo "Expected the Go autobuilder to be run, but the" \
|
exit 1
|
||||||
"CODEQL_ACTION_DID_AUTOBUILD_GOLANG environment variable was not true."
|
fi
|
||||||
exit 1
|
cd "$RUNNER_TEMP/codeql_databases"
|
||||||
fi
|
if [[ ! -d go ]]; then
|
||||||
cd "$RUNNER_TEMP/codeql_databases"
|
echo "Did not find a Go database"
|
||||||
if [[ ! -d go ]]; then
|
exit 1
|
||||||
echo "Did not find a Go database"
|
fi
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
env:
|
env:
|
||||||
DOTNET_GENERATE_ASPNET_CERTIFICATE: 'false'
|
DOTNET_GENERATE_ASPNET_CERTIFICATE: 'false'
|
||||||
CODEQL_ACTION_TEST_MODE: true
|
CODEQL_ACTION_TEST_MODE: true
|
||||||
|
|||||||
173
.github/workflows/__go-tracing-custom-build-steps.yml
generated
vendored
173
.github/workflows/__go-tracing-custom-build-steps.yml
generated
vendored
@@ -7,52 +7,58 @@ name: 'PR Check - Go: tracing with custom build steps'
|
|||||||
env:
|
env:
|
||||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
GO111MODULE: auto
|
GO111MODULE: auto
|
||||||
CODEQL_EXTRACTOR_JAVA_AGENT_DISABLE_KOTLIN: 'true'
|
|
||||||
on:
|
on:
|
||||||
push:
|
push:
|
||||||
branches:
|
branches:
|
||||||
- main
|
- main
|
||||||
- releases/v*
|
- releases/v*
|
||||||
pull_request:
|
pull_request:
|
||||||
types:
|
types:
|
||||||
- opened
|
- opened
|
||||||
- synchronize
|
- synchronize
|
||||||
- reopened
|
- reopened
|
||||||
- ready_for_review
|
- ready_for_review
|
||||||
|
schedule:
|
||||||
|
- cron: '0 5 * * *'
|
||||||
workflow_dispatch: {}
|
workflow_dispatch: {}
|
||||||
jobs:
|
jobs:
|
||||||
go-tracing-custom-build-steps:
|
go-tracing-custom-build-steps:
|
||||||
strategy:
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
include:
|
include:
|
||||||
- os: ubuntu-latest
|
- os: ubuntu-latest
|
||||||
version: stable-20221211
|
version: stable-v2.13.5
|
||||||
- os: macos-latest
|
- os: macos-12
|
||||||
version: stable-20221211
|
version: stable-v2.13.5
|
||||||
- os: ubuntu-latest
|
- os: ubuntu-latest
|
||||||
version: stable-20230418
|
version: stable-v2.14.6
|
||||||
- os: macos-latest
|
- os: macos-12
|
||||||
version: stable-20230418
|
version: stable-v2.14.6
|
||||||
- os: ubuntu-latest
|
- os: ubuntu-latest
|
||||||
version: stable-v2.13.5
|
version: stable-v2.15.5
|
||||||
- os: macos-latest
|
- os: macos-latest
|
||||||
version: stable-v2.13.5
|
version: stable-v2.15.5
|
||||||
- os: ubuntu-latest
|
- os: ubuntu-latest
|
||||||
version: stable-v2.14.6
|
version: stable-v2.16.6
|
||||||
- os: macos-latest
|
- os: macos-latest
|
||||||
version: stable-v2.14.6
|
version: stable-v2.16.6
|
||||||
- os: ubuntu-latest
|
- os: ubuntu-latest
|
||||||
version: default
|
version: stable-v2.17.6
|
||||||
- os: macos-latest
|
- os: macos-latest
|
||||||
version: default
|
version: stable-v2.17.6
|
||||||
- os: ubuntu-latest
|
- os: ubuntu-latest
|
||||||
version: latest
|
version: default
|
||||||
- os: macos-latest
|
- os: macos-latest
|
||||||
version: latest
|
version: default
|
||||||
- os: ubuntu-latest
|
- os: ubuntu-latest
|
||||||
version: nightly-latest
|
version: linked
|
||||||
- os: macos-latest
|
- os: macos-latest
|
||||||
version: nightly-latest
|
version: linked
|
||||||
|
- os: ubuntu-latest
|
||||||
|
version: nightly-latest
|
||||||
|
- os: macos-latest
|
||||||
|
version: nightly-latest
|
||||||
name: 'Go: tracing with custom build steps'
|
name: 'Go: tracing with custom build steps'
|
||||||
permissions:
|
permissions:
|
||||||
contents: read
|
contents: read
|
||||||
@@ -60,62 +66,53 @@ jobs:
|
|||||||
timeout-minutes: 45
|
timeout-minutes: 45
|
||||||
runs-on: ${{ matrix.os }}
|
runs-on: ${{ matrix.os }}
|
||||||
steps:
|
steps:
|
||||||
- name: Setup Python on MacOS
|
- name: Setup Python on MacOS
|
||||||
uses: actions/setup-python@v5
|
uses: actions/setup-python@v5
|
||||||
if: >-
|
if: >-
|
||||||
matrix.os == 'macos-latest' && (
|
runner.os == 'macOS' && (
|
||||||
|
|
||||||
matrix.version == 'stable-20221211' ||
|
matrix.version == 'stable-v2.13.5' ||
|
||||||
|
|
||||||
matrix.version == 'stable-20230418' ||
|
matrix.version == 'stable-v2.14.6')
|
||||||
|
with:
|
||||||
matrix.version == 'stable-v2.13.5' ||
|
python-version: '3.11'
|
||||||
|
- name: Check out repository
|
||||||
matrix.version == 'stable-v2.14.6')
|
uses: actions/checkout@v4
|
||||||
with:
|
- name: Prepare test
|
||||||
python-version: '3.11'
|
id: prepare-test
|
||||||
- name: Check out repository
|
uses: ./.github/actions/prepare-test
|
||||||
uses: actions/checkout@v4
|
with:
|
||||||
- name: Prepare test
|
version: ${{ matrix.version }}
|
||||||
id: prepare-test
|
use-all-platform-bundle: 'false'
|
||||||
uses: ./.github/actions/prepare-test
|
setup-kotlin: 'true'
|
||||||
with:
|
- uses: actions/setup-go@v5
|
||||||
version: ${{ matrix.version }}
|
with:
|
||||||
use-all-platform-bundle: 'false'
|
go-version: ~1.22.0
|
||||||
- name: Set environment variable for Swift enablement
|
|
||||||
if: runner.os != 'Windows' && matrix.version == '20221211'
|
|
||||||
shell: bash
|
|
||||||
run: echo "CODEQL_ENABLE_EXPERIMENTAL_FEATURES_SWIFT=true" >> $GITHUB_ENV
|
|
||||||
- uses: actions/setup-go@v5
|
|
||||||
with:
|
|
||||||
go-version: ~1.22.0
|
|
||||||
# to avoid potentially misleading autobuilder results where we expect it to download
|
# to avoid potentially misleading autobuilder results where we expect it to download
|
||||||
# dependencies successfully, but they actually come from a warm cache
|
# dependencies successfully, but they actually come from a warm cache
|
||||||
cache: false
|
cache: false
|
||||||
- uses: ./../action/init
|
- uses: ./../action/init
|
||||||
with:
|
with:
|
||||||
languages: go
|
languages: go
|
||||||
tools: ${{ steps.prepare-test.outputs.tools-url }}
|
tools: ${{ steps.prepare-test.outputs.tools-url }}
|
||||||
- name: Build code
|
- name: Build code
|
||||||
shell: bash
|
shell: bash
|
||||||
run: go build main.go
|
run: go build main.go
|
||||||
- uses: ./../action/analyze
|
- uses: ./../action/analyze
|
||||||
with:
|
- shell: bash
|
||||||
upload-database: false
|
run: |
|
||||||
- shell: bash
|
# Once we start running Bash 4.2 in all environments, we can replace the
|
||||||
run: |
|
# `! -z` flag with the more elegant `-v` which confirms that the variable
|
||||||
# Once we start running Bash 4.2 in all environments, we can replace the
|
# is actually unset and not potentially set to a blank value.
|
||||||
# `! -z` flag with the more elegant `-v` which confirms that the variable
|
if [[ ! -z "${CODEQL_ACTION_DID_AUTOBUILD_GOLANG}" ]]; then
|
||||||
# is actually unset and not potentially set to a blank value.
|
echo "Expected the Go autobuilder not to be run, but the" \
|
||||||
if [[ ! -z "${CODEQL_ACTION_DID_AUTOBUILD_GOLANG}" ]]; then
|
"CODEQL_ACTION_DID_AUTOBUILD_GOLANG environment variable was set."
|
||||||
echo "Expected the Go autobuilder not to be run, but the" \
|
exit 1
|
||||||
"CODEQL_ACTION_DID_AUTOBUILD_GOLANG environment variable was set."
|
fi
|
||||||
exit 1
|
cd "$RUNNER_TEMP/codeql_databases"
|
||||||
fi
|
if [[ ! -d go ]]; then
|
||||||
cd "$RUNNER_TEMP/codeql_databases"
|
echo "Did not find a Go database"
|
||||||
if [[ ! -d go ]]; then
|
exit 1
|
||||||
echo "Did not find a Go database"
|
fi
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
env:
|
env:
|
||||||
CODEQL_ACTION_TEST_MODE: true
|
CODEQL_ACTION_TEST_MODE: true
|
||||||
|
|||||||
151
.github/workflows/__go-tracing-legacy-workflow.yml
generated
vendored
151
.github/workflows/__go-tracing-legacy-workflow.yml
generated
vendored
@@ -7,52 +7,58 @@ name: 'PR Check - Go: tracing with legacy workflow'
|
|||||||
env:
|
env:
|
||||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
GO111MODULE: auto
|
GO111MODULE: auto
|
||||||
CODEQL_EXTRACTOR_JAVA_AGENT_DISABLE_KOTLIN: 'true'
|
|
||||||
on:
|
on:
|
||||||
push:
|
push:
|
||||||
branches:
|
branches:
|
||||||
- main
|
- main
|
||||||
- releases/v*
|
- releases/v*
|
||||||
pull_request:
|
pull_request:
|
||||||
types:
|
types:
|
||||||
- opened
|
- opened
|
||||||
- synchronize
|
- synchronize
|
||||||
- reopened
|
- reopened
|
||||||
- ready_for_review
|
- ready_for_review
|
||||||
|
schedule:
|
||||||
|
- cron: '0 5 * * *'
|
||||||
workflow_dispatch: {}
|
workflow_dispatch: {}
|
||||||
jobs:
|
jobs:
|
||||||
go-tracing-legacy-workflow:
|
go-tracing-legacy-workflow:
|
||||||
strategy:
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
include:
|
include:
|
||||||
- os: ubuntu-latest
|
- os: ubuntu-latest
|
||||||
version: stable-20221211
|
version: stable-v2.13.5
|
||||||
- os: macos-latest
|
- os: macos-12
|
||||||
version: stable-20221211
|
version: stable-v2.13.5
|
||||||
- os: ubuntu-latest
|
- os: ubuntu-latest
|
||||||
version: stable-20230418
|
version: stable-v2.14.6
|
||||||
- os: macos-latest
|
- os: macos-12
|
||||||
version: stable-20230418
|
version: stable-v2.14.6
|
||||||
- os: ubuntu-latest
|
- os: ubuntu-latest
|
||||||
version: stable-v2.13.5
|
version: stable-v2.15.5
|
||||||
- os: macos-latest
|
- os: macos-latest
|
||||||
version: stable-v2.13.5
|
version: stable-v2.15.5
|
||||||
- os: ubuntu-latest
|
- os: ubuntu-latest
|
||||||
version: stable-v2.14.6
|
version: stable-v2.16.6
|
||||||
- os: macos-latest
|
- os: macos-latest
|
||||||
version: stable-v2.14.6
|
version: stable-v2.16.6
|
||||||
- os: ubuntu-latest
|
- os: ubuntu-latest
|
||||||
version: default
|
version: stable-v2.17.6
|
||||||
- os: macos-latest
|
- os: macos-latest
|
||||||
version: default
|
version: stable-v2.17.6
|
||||||
- os: ubuntu-latest
|
- os: ubuntu-latest
|
||||||
version: latest
|
version: default
|
||||||
- os: macos-latest
|
- os: macos-latest
|
||||||
version: latest
|
version: default
|
||||||
- os: ubuntu-latest
|
- os: ubuntu-latest
|
||||||
version: nightly-latest
|
version: linked
|
||||||
- os: macos-latest
|
- os: macos-latest
|
||||||
version: nightly-latest
|
version: linked
|
||||||
|
- os: ubuntu-latest
|
||||||
|
version: nightly-latest
|
||||||
|
- os: macos-latest
|
||||||
|
version: nightly-latest
|
||||||
name: 'Go: tracing with legacy workflow'
|
name: 'Go: tracing with legacy workflow'
|
||||||
permissions:
|
permissions:
|
||||||
contents: read
|
contents: read
|
||||||
@@ -60,52 +66,43 @@ jobs:
|
|||||||
timeout-minutes: 45
|
timeout-minutes: 45
|
||||||
runs-on: ${{ matrix.os }}
|
runs-on: ${{ matrix.os }}
|
||||||
steps:
|
steps:
|
||||||
- name: Setup Python on MacOS
|
- name: Setup Python on MacOS
|
||||||
uses: actions/setup-python@v5
|
uses: actions/setup-python@v5
|
||||||
if: >-
|
if: >-
|
||||||
matrix.os == 'macos-latest' && (
|
runner.os == 'macOS' && (
|
||||||
|
|
||||||
matrix.version == 'stable-20221211' ||
|
matrix.version == 'stable-v2.13.5' ||
|
||||||
|
|
||||||
matrix.version == 'stable-20230418' ||
|
matrix.version == 'stable-v2.14.6')
|
||||||
|
with:
|
||||||
matrix.version == 'stable-v2.13.5' ||
|
python-version: '3.11'
|
||||||
|
- name: Check out repository
|
||||||
matrix.version == 'stable-v2.14.6')
|
uses: actions/checkout@v4
|
||||||
with:
|
- name: Prepare test
|
||||||
python-version: '3.11'
|
id: prepare-test
|
||||||
- name: Check out repository
|
uses: ./.github/actions/prepare-test
|
||||||
uses: actions/checkout@v4
|
with:
|
||||||
- name: Prepare test
|
version: ${{ matrix.version }}
|
||||||
id: prepare-test
|
use-all-platform-bundle: 'false'
|
||||||
uses: ./.github/actions/prepare-test
|
setup-kotlin: 'true'
|
||||||
with:
|
- uses: actions/setup-go@v5
|
||||||
version: ${{ matrix.version }}
|
with:
|
||||||
use-all-platform-bundle: 'false'
|
go-version: ~1.22.0
|
||||||
- name: Set environment variable for Swift enablement
|
|
||||||
if: runner.os != 'Windows' && matrix.version == '20221211'
|
|
||||||
shell: bash
|
|
||||||
run: echo "CODEQL_ENABLE_EXPERIMENTAL_FEATURES_SWIFT=true" >> $GITHUB_ENV
|
|
||||||
- uses: actions/setup-go@v5
|
|
||||||
with:
|
|
||||||
go-version: ~1.22.0
|
|
||||||
# to avoid potentially misleading autobuilder results where we expect it to download
|
# to avoid potentially misleading autobuilder results where we expect it to download
|
||||||
# dependencies successfully, but they actually come from a warm cache
|
# dependencies successfully, but they actually come from a warm cache
|
||||||
cache: false
|
cache: false
|
||||||
- uses: ./../action/init
|
- uses: ./../action/init
|
||||||
with:
|
with:
|
||||||
languages: go
|
languages: go
|
||||||
tools: ${{ steps.prepare-test.outputs.tools-url }}
|
tools: ${{ steps.prepare-test.outputs.tools-url }}
|
||||||
- uses: ./../action/analyze
|
- uses: ./../action/analyze
|
||||||
with:
|
- shell: bash
|
||||||
upload-database: false
|
run: |
|
||||||
- shell: bash
|
cd "$RUNNER_TEMP/codeql_databases"
|
||||||
run: |
|
if [[ ! -d go ]]; then
|
||||||
cd "$RUNNER_TEMP/codeql_databases"
|
echo "Did not find a Go database"
|
||||||
if [[ ! -d go ]]; then
|
exit 1
|
||||||
echo "Did not find a Go database"
|
fi
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
env:
|
env:
|
||||||
DOTNET_GENERATE_ASPNET_CERTIFICATE: 'false'
|
DOTNET_GENERATE_ASPNET_CERTIFICATE: 'false'
|
||||||
CODEQL_ACTION_TEST_MODE: true
|
CODEQL_ACTION_TEST_MODE: true
|
||||||
|
|||||||
207
.github/workflows/__init-with-registries.yml
generated
vendored
207
.github/workflows/__init-with-registries.yml
generated
vendored
@@ -7,42 +7,44 @@ name: 'PR Check - Packaging: Download using registries'
|
|||||||
env:
|
env:
|
||||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
GO111MODULE: auto
|
GO111MODULE: auto
|
||||||
CODEQL_EXTRACTOR_JAVA_AGENT_DISABLE_KOTLIN: 'true'
|
|
||||||
on:
|
on:
|
||||||
push:
|
push:
|
||||||
branches:
|
branches:
|
||||||
- main
|
- main
|
||||||
- releases/v*
|
- releases/v*
|
||||||
pull_request:
|
pull_request:
|
||||||
types:
|
types:
|
||||||
- opened
|
- opened
|
||||||
- synchronize
|
- synchronize
|
||||||
- reopened
|
- reopened
|
||||||
- ready_for_review
|
- ready_for_review
|
||||||
|
schedule:
|
||||||
|
- cron: '0 5 * * *'
|
||||||
workflow_dispatch: {}
|
workflow_dispatch: {}
|
||||||
jobs:
|
jobs:
|
||||||
init-with-registries:
|
init-with-registries:
|
||||||
strategy:
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
include:
|
include:
|
||||||
- os: ubuntu-latest
|
- os: ubuntu-latest
|
||||||
version: default
|
version: default
|
||||||
- os: macos-latest
|
- os: macos-latest
|
||||||
version: default
|
version: default
|
||||||
- os: windows-latest
|
- os: windows-latest
|
||||||
version: default
|
version: default
|
||||||
- os: ubuntu-latest
|
- os: ubuntu-latest
|
||||||
version: latest
|
version: linked
|
||||||
- os: macos-latest
|
- os: macos-latest
|
||||||
version: latest
|
version: linked
|
||||||
- os: windows-latest
|
- os: windows-latest
|
||||||
version: latest
|
version: linked
|
||||||
- os: ubuntu-latest
|
- os: ubuntu-latest
|
||||||
version: nightly-latest
|
version: nightly-latest
|
||||||
- os: macos-latest
|
- os: macos-latest
|
||||||
version: nightly-latest
|
version: nightly-latest
|
||||||
- os: windows-latest
|
- os: windows-latest
|
||||||
version: nightly-latest
|
version: nightly-latest
|
||||||
name: 'Packaging: Download using registries'
|
name: 'Packaging: Download using registries'
|
||||||
permissions:
|
permissions:
|
||||||
contents: read
|
contents: read
|
||||||
@@ -51,94 +53,87 @@ jobs:
|
|||||||
timeout-minutes: 45
|
timeout-minutes: 45
|
||||||
runs-on: ${{ matrix.os }}
|
runs-on: ${{ matrix.os }}
|
||||||
steps:
|
steps:
|
||||||
- name: Setup Python on MacOS
|
- name: Setup Python on MacOS
|
||||||
uses: actions/setup-python@v5
|
uses: actions/setup-python@v5
|
||||||
if: >-
|
if: >-
|
||||||
matrix.os == 'macos-latest' && (
|
runner.os == 'macOS' && (
|
||||||
|
|
||||||
matrix.version == 'stable-20221211' ||
|
matrix.version == 'stable-v2.13.5' ||
|
||||||
|
|
||||||
matrix.version == 'stable-20230418' ||
|
matrix.version == 'stable-v2.14.6')
|
||||||
|
with:
|
||||||
|
python-version: '3.11'
|
||||||
|
- name: Check out repository
|
||||||
|
uses: actions/checkout@v4
|
||||||
|
- name: Prepare test
|
||||||
|
id: prepare-test
|
||||||
|
uses: ./.github/actions/prepare-test
|
||||||
|
with:
|
||||||
|
version: ${{ matrix.version }}
|
||||||
|
use-all-platform-bundle: 'false'
|
||||||
|
setup-kotlin: 'true'
|
||||||
|
- name: Init with registries
|
||||||
|
uses: ./../action/init
|
||||||
|
with:
|
||||||
|
db-location: ${{ runner.temp }}/customDbLocation
|
||||||
|
tools: ${{ steps.prepare-test.outputs.tools-url }}
|
||||||
|
config-file: ./.github/codeql/codeql-config-registries.yml
|
||||||
|
languages: javascript
|
||||||
|
registries: |
|
||||||
|
- url: "https://ghcr.io/v2/"
|
||||||
|
packages: "*/*"
|
||||||
|
token: "${{ secrets.GITHUB_TOKEN }}"
|
||||||
|
|
||||||
matrix.version == 'stable-v2.13.5' ||
|
- name: Verify packages installed
|
||||||
|
shell: bash
|
||||||
|
run: |
|
||||||
|
PRIVATE_PACK="$HOME/.codeql/packages/codeql-testing/private-pack"
|
||||||
|
CODEQL_PACK1="$HOME/.codeql/packages/codeql-testing/codeql-pack1"
|
||||||
|
|
||||||
matrix.version == 'stable-v2.14.6')
|
if [[ -d $PRIVATE_PACK ]]
|
||||||
with:
|
then
|
||||||
python-version: '3.11'
|
echo "$PRIVATE_PACK was installed."
|
||||||
- name: Check out repository
|
else
|
||||||
uses: actions/checkout@v4
|
echo "::error $PRIVATE_PACK pack was not installed."
|
||||||
- name: Prepare test
|
exit 1
|
||||||
id: prepare-test
|
fi
|
||||||
uses: ./.github/actions/prepare-test
|
|
||||||
with:
|
|
||||||
version: ${{ matrix.version }}
|
|
||||||
use-all-platform-bundle: 'false'
|
|
||||||
- name: Set environment variable for Swift enablement
|
|
||||||
if: runner.os != 'Windows' && matrix.version == '20221211'
|
|
||||||
shell: bash
|
|
||||||
run: echo "CODEQL_ENABLE_EXPERIMENTAL_FEATURES_SWIFT=true" >> $GITHUB_ENV
|
|
||||||
- name: Init with registries
|
|
||||||
uses: ./../action/init
|
|
||||||
with:
|
|
||||||
db-location: ${{ runner.temp }}/customDbLocation
|
|
||||||
tools: ${{ steps.prepare-test.outputs.tools-url }}
|
|
||||||
config-file: ./.github/codeql/codeql-config-registries.yml
|
|
||||||
languages: javascript
|
|
||||||
registries: |
|
|
||||||
- url: "https://ghcr.io/v2/"
|
|
||||||
packages: "*/*"
|
|
||||||
token: "${{ secrets.GITHUB_TOKEN }}"
|
|
||||||
|
|
||||||
- name: Verify packages installed
|
if [[ -d $CODEQL_PACK1 ]]
|
||||||
shell: bash
|
then
|
||||||
run: |
|
echo "$CODEQL_PACK1 was installed."
|
||||||
PRIVATE_PACK="$HOME/.codeql/packages/codeql-testing/private-pack"
|
else
|
||||||
CODEQL_PACK1="$HOME/.codeql/packages/codeql-testing/codeql-pack1"
|
echo "::error $CODEQL_PACK1 pack was not installed."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
if [[ -d $PRIVATE_PACK ]]
|
- name: Verify qlconfig.yml file was created
|
||||||
then
|
shell: bash
|
||||||
echo "$PRIVATE_PACK was installed."
|
run: |
|
||||||
else
|
QLCONFIG_PATH=$RUNNER_TEMP/qlconfig.yml
|
||||||
echo "::error $PRIVATE_PACK pack was not installed."
|
echo "Expected qlconfig.yml file to be created at $QLCONFIG_PATH"
|
||||||
exit 1
|
if [[ -f $QLCONFIG_PATH ]]
|
||||||
fi
|
then
|
||||||
|
echo "qlconfig.yml file was created."
|
||||||
|
else
|
||||||
|
echo "::error qlconfig.yml file was not created."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
if [[ -d $CODEQL_PACK1 ]]
|
- name: Verify contents of qlconfig.yml
|
||||||
then
|
|
||||||
echo "$CODEQL_PACK1 was installed."
|
|
||||||
else
|
|
||||||
echo "::error $CODEQL_PACK1 pack was not installed."
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
- name: Verify qlconfig.yml file was created
|
|
||||||
shell: bash
|
|
||||||
run: |
|
|
||||||
QLCONFIG_PATH=$RUNNER_TEMP/qlconfig.yml
|
|
||||||
echo "Expected qlconfig.yml file to be created at $QLCONFIG_PATH"
|
|
||||||
if [[ -f $QLCONFIG_PATH ]]
|
|
||||||
then
|
|
||||||
echo "qlconfig.yml file was created."
|
|
||||||
else
|
|
||||||
echo "::error qlconfig.yml file was not created."
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
- name: Verify contents of qlconfig.yml
|
|
||||||
# yq is not available on windows
|
# yq is not available on windows
|
||||||
if: runner.os != 'Windows'
|
if: runner.os != 'Windows'
|
||||||
shell: bash
|
shell: bash
|
||||||
run: |
|
run: |
|
||||||
QLCONFIG_PATH=$RUNNER_TEMP/qlconfig.yml
|
QLCONFIG_PATH=$RUNNER_TEMP/qlconfig.yml
|
||||||
cat $QLCONFIG_PATH | yq -e '.registries[] | select(.url == "https://ghcr.io/v2/") | select(.packages == "*/*")'
|
cat $QLCONFIG_PATH | yq -e '.registries[] | select(.url == "https://ghcr.io/v2/") | select(.packages == "*/*")'
|
||||||
if [[ $? -eq 0 ]]
|
if [[ $? -eq 0 ]]
|
||||||
then
|
then
|
||||||
echo "Registry was added to qlconfig.yml file."
|
echo "Registry was added to qlconfig.yml file."
|
||||||
else
|
else
|
||||||
echo "::error Registry was not added to qlconfig.yml file."
|
echo "::error Registry was not added to qlconfig.yml file."
|
||||||
echo "Contents of qlconfig.yml file:"
|
echo "Contents of qlconfig.yml file:"
|
||||||
cat $QLCONFIG_PATH
|
cat $QLCONFIG_PATH
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
env:
|
env:
|
||||||
CODEQL_ACTION_TEST_MODE: true
|
CODEQL_ACTION_TEST_MODE: true
|
||||||
|
|||||||
113
.github/workflows/__javascript-source-root.yml
generated
vendored
113
.github/workflows/__javascript-source-root.yml
generated
vendored
@@ -7,30 +7,32 @@ name: PR Check - Custom source root
|
|||||||
env:
|
env:
|
||||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
GO111MODULE: auto
|
GO111MODULE: auto
|
||||||
CODEQL_EXTRACTOR_JAVA_AGENT_DISABLE_KOTLIN: 'true'
|
|
||||||
on:
|
on:
|
||||||
push:
|
push:
|
||||||
branches:
|
branches:
|
||||||
- main
|
- main
|
||||||
- releases/v*
|
- releases/v*
|
||||||
pull_request:
|
pull_request:
|
||||||
types:
|
types:
|
||||||
- opened
|
- opened
|
||||||
- synchronize
|
- synchronize
|
||||||
- reopened
|
- reopened
|
||||||
- ready_for_review
|
- ready_for_review
|
||||||
|
schedule:
|
||||||
|
- cron: '0 5 * * *'
|
||||||
workflow_dispatch: {}
|
workflow_dispatch: {}
|
||||||
jobs:
|
jobs:
|
||||||
javascript-source-root:
|
javascript-source-root:
|
||||||
strategy:
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
include:
|
include:
|
||||||
- os: ubuntu-latest
|
- os: ubuntu-latest
|
||||||
version: latest
|
version: linked
|
||||||
- os: ubuntu-latest
|
- os: ubuntu-latest
|
||||||
version: default
|
version: default
|
||||||
- os: ubuntu-latest
|
- os: ubuntu-latest
|
||||||
version: nightly-latest
|
version: nightly-latest
|
||||||
name: Custom source root
|
name: Custom source root
|
||||||
permissions:
|
permissions:
|
||||||
contents: read
|
contents: read
|
||||||
@@ -38,54 +40,45 @@ jobs:
|
|||||||
timeout-minutes: 45
|
timeout-minutes: 45
|
||||||
runs-on: ${{ matrix.os }}
|
runs-on: ${{ matrix.os }}
|
||||||
steps:
|
steps:
|
||||||
- name: Setup Python on MacOS
|
- name: Setup Python on MacOS
|
||||||
uses: actions/setup-python@v5
|
uses: actions/setup-python@v5
|
||||||
if: >-
|
if: >-
|
||||||
matrix.os == 'macos-latest' && (
|
runner.os == 'macOS' && (
|
||||||
|
|
||||||
matrix.version == 'stable-20221211' ||
|
matrix.version == 'stable-v2.13.5' ||
|
||||||
|
|
||||||
matrix.version == 'stable-20230418' ||
|
matrix.version == 'stable-v2.14.6')
|
||||||
|
with:
|
||||||
matrix.version == 'stable-v2.13.5' ||
|
python-version: '3.11'
|
||||||
|
- name: Check out repository
|
||||||
matrix.version == 'stable-v2.14.6')
|
uses: actions/checkout@v4
|
||||||
with:
|
- name: Prepare test
|
||||||
python-version: '3.11'
|
id: prepare-test
|
||||||
- name: Check out repository
|
uses: ./.github/actions/prepare-test
|
||||||
uses: actions/checkout@v4
|
with:
|
||||||
- name: Prepare test
|
version: ${{ matrix.version }}
|
||||||
id: prepare-test
|
use-all-platform-bundle: 'false'
|
||||||
uses: ./.github/actions/prepare-test
|
setup-kotlin: 'true'
|
||||||
with:
|
- name: Move codeql-action
|
||||||
version: ${{ matrix.version }}
|
shell: bash
|
||||||
use-all-platform-bundle: 'false'
|
run: |
|
||||||
- name: Set environment variable for Swift enablement
|
mkdir ../new-source-root
|
||||||
if: runner.os != 'Windows' && matrix.version == '20221211'
|
mv * ../new-source-root
|
||||||
shell: bash
|
- uses: ./../action/init
|
||||||
run: echo "CODEQL_ENABLE_EXPERIMENTAL_FEATURES_SWIFT=true" >> $GITHUB_ENV
|
with:
|
||||||
- name: Move codeql-action
|
languages: javascript
|
||||||
shell: bash
|
source-root: ../new-source-root
|
||||||
run: |
|
tools: ${{ steps.prepare-test.outputs.tools-url }}
|
||||||
mkdir ../new-source-root
|
- uses: ./../action/analyze
|
||||||
mv * ../new-source-root
|
with:
|
||||||
- uses: ./../action/init
|
skip-queries: true
|
||||||
with:
|
- name: Assert database exists
|
||||||
languages: javascript
|
shell: bash
|
||||||
source-root: ../new-source-root
|
run: |
|
||||||
tools: ${{ steps.prepare-test.outputs.tools-url }}
|
cd "$RUNNER_TEMP/codeql_databases"
|
||||||
- uses: ./../action/analyze
|
if [[ ! -d javascript ]]; then
|
||||||
with:
|
echo "Did not find a JavaScript database"
|
||||||
upload-database: false
|
exit 1
|
||||||
skip-queries: true
|
fi
|
||||||
upload: never
|
|
||||||
- name: Assert database exists
|
|
||||||
shell: bash
|
|
||||||
run: |
|
|
||||||
cd "$RUNNER_TEMP/codeql_databases"
|
|
||||||
if [[ ! -d javascript ]]; then
|
|
||||||
echo "Did not find a JavaScript database"
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
env:
|
env:
|
||||||
CODEQL_ACTION_TEST_MODE: true
|
CODEQL_ACTION_TEST_MODE: true
|
||||||
|
|||||||
87
.github/workflows/__language-aliases.yml
generated
vendored
87
.github/workflows/__language-aliases.yml
generated
vendored
@@ -7,26 +7,28 @@ name: PR Check - Language aliases
|
|||||||
env:
|
env:
|
||||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
GO111MODULE: auto
|
GO111MODULE: auto
|
||||||
CODEQL_EXTRACTOR_JAVA_AGENT_DISABLE_KOTLIN: 'true'
|
|
||||||
on:
|
on:
|
||||||
push:
|
push:
|
||||||
branches:
|
branches:
|
||||||
- main
|
- main
|
||||||
- releases/v*
|
- releases/v*
|
||||||
pull_request:
|
pull_request:
|
||||||
types:
|
types:
|
||||||
- opened
|
- opened
|
||||||
- synchronize
|
- synchronize
|
||||||
- reopened
|
- reopened
|
||||||
- ready_for_review
|
- ready_for_review
|
||||||
|
schedule:
|
||||||
|
- cron: '0 5 * * *'
|
||||||
workflow_dispatch: {}
|
workflow_dispatch: {}
|
||||||
jobs:
|
jobs:
|
||||||
language-aliases:
|
language-aliases:
|
||||||
strategy:
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
include:
|
include:
|
||||||
- os: ubuntu-latest
|
- os: ubuntu-latest
|
||||||
version: latest
|
version: linked
|
||||||
name: Language aliases
|
name: Language aliases
|
||||||
permissions:
|
permissions:
|
||||||
contents: read
|
contents: read
|
||||||
@@ -34,46 +36,39 @@ jobs:
|
|||||||
timeout-minutes: 45
|
timeout-minutes: 45
|
||||||
runs-on: ${{ matrix.os }}
|
runs-on: ${{ matrix.os }}
|
||||||
steps:
|
steps:
|
||||||
- name: Setup Python on MacOS
|
- name: Setup Python on MacOS
|
||||||
uses: actions/setup-python@v5
|
uses: actions/setup-python@v5
|
||||||
if: >-
|
if: >-
|
||||||
matrix.os == 'macos-latest' && (
|
runner.os == 'macOS' && (
|
||||||
|
|
||||||
matrix.version == 'stable-20221211' ||
|
matrix.version == 'stable-v2.13.5' ||
|
||||||
|
|
||||||
matrix.version == 'stable-20230418' ||
|
matrix.version == 'stable-v2.14.6')
|
||||||
|
with:
|
||||||
|
python-version: '3.11'
|
||||||
|
- name: Check out repository
|
||||||
|
uses: actions/checkout@v4
|
||||||
|
- name: Prepare test
|
||||||
|
id: prepare-test
|
||||||
|
uses: ./.github/actions/prepare-test
|
||||||
|
with:
|
||||||
|
version: ${{ matrix.version }}
|
||||||
|
use-all-platform-bundle: 'false'
|
||||||
|
setup-kotlin: 'true'
|
||||||
|
- uses: ./../action/init
|
||||||
|
with:
|
||||||
|
languages: C#,java-kotlin,swift,typescript
|
||||||
|
tools: ${{ steps.prepare-test.outputs.tools-url }}
|
||||||
|
|
||||||
matrix.version == 'stable-v2.13.5' ||
|
- name: Check languages
|
||||||
|
run: |
|
||||||
|
expected_languages="csharp,java,swift,javascript"
|
||||||
|
actual_languages=$(jq -r '.languages | join(",")' "$RUNNER_TEMP"/config)
|
||||||
|
|
||||||
matrix.version == 'stable-v2.14.6')
|
if [ "$expected_languages" != "$actual_languages" ]; then
|
||||||
with:
|
echo "Resolved languages did not match expected list. " \
|
||||||
python-version: '3.11'
|
"Expected languages: $expected_languages. Actual languages: $actual_languages."
|
||||||
- name: Check out repository
|
exit 1
|
||||||
uses: actions/checkout@v4
|
fi
|
||||||
- name: Prepare test
|
|
||||||
id: prepare-test
|
|
||||||
uses: ./.github/actions/prepare-test
|
|
||||||
with:
|
|
||||||
version: ${{ matrix.version }}
|
|
||||||
use-all-platform-bundle: 'false'
|
|
||||||
- name: Set environment variable for Swift enablement
|
|
||||||
if: runner.os != 'Windows' && matrix.version == '20221211'
|
|
||||||
shell: bash
|
|
||||||
run: echo "CODEQL_ENABLE_EXPERIMENTAL_FEATURES_SWIFT=true" >> $GITHUB_ENV
|
|
||||||
- uses: ./../action/init
|
|
||||||
with:
|
|
||||||
languages: C#,java-kotlin,swift,typescript
|
|
||||||
tools: ${{ steps.prepare-test.outputs.tools-url }}
|
|
||||||
|
|
||||||
- name: Check languages
|
|
||||||
run: |
|
|
||||||
expected_languages="csharp,java,swift,javascript"
|
|
||||||
actual_languages=$(jq -r '.languages | join(",")' "$RUNNER_TEMP"/config)
|
|
||||||
|
|
||||||
if [ "$expected_languages" != "$actual_languages" ]; then
|
|
||||||
echo "Resolved languages did not match expected list. " \
|
|
||||||
"Expected languages: $expected_languages. Actual languages: $actual_languages."
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
env:
|
env:
|
||||||
CODEQL_ACTION_TEST_MODE: true
|
CODEQL_ACTION_TEST_MODE: true
|
||||||
|
|||||||
249
.github/workflows/__multi-language-autodetect.yml
generated
vendored
249
.github/workflows/__multi-language-autodetect.yml
generated
vendored
@@ -7,52 +7,58 @@ name: PR Check - Multi-language repository
|
|||||||
env:
|
env:
|
||||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
GO111MODULE: auto
|
GO111MODULE: auto
|
||||||
CODEQL_EXTRACTOR_JAVA_AGENT_DISABLE_KOTLIN: 'true'
|
|
||||||
on:
|
on:
|
||||||
push:
|
push:
|
||||||
branches:
|
branches:
|
||||||
- main
|
- main
|
||||||
- releases/v*
|
- releases/v*
|
||||||
pull_request:
|
pull_request:
|
||||||
types:
|
types:
|
||||||
- opened
|
- opened
|
||||||
- synchronize
|
- synchronize
|
||||||
- reopened
|
- reopened
|
||||||
- ready_for_review
|
- ready_for_review
|
||||||
|
schedule:
|
||||||
|
- cron: '0 5 * * *'
|
||||||
workflow_dispatch: {}
|
workflow_dispatch: {}
|
||||||
jobs:
|
jobs:
|
||||||
multi-language-autodetect:
|
multi-language-autodetect:
|
||||||
strategy:
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
include:
|
include:
|
||||||
- os: ubuntu-latest
|
- os: macos-12
|
||||||
version: stable-20221211
|
version: stable-v2.13.5
|
||||||
- os: macos-latest
|
- os: ubuntu-latest
|
||||||
version: stable-20221211
|
version: stable-v2.13.5
|
||||||
- os: ubuntu-latest
|
- os: macos-12
|
||||||
version: stable-20230418
|
version: stable-v2.14.6
|
||||||
- os: macos-latest
|
- os: ubuntu-latest
|
||||||
version: stable-20230418
|
version: stable-v2.14.6
|
||||||
- os: ubuntu-latest
|
- os: macos-latest
|
||||||
version: stable-v2.13.5
|
version: stable-v2.15.5
|
||||||
- os: macos-latest
|
- os: ubuntu-latest
|
||||||
version: stable-v2.13.5
|
version: stable-v2.15.5
|
||||||
- os: ubuntu-latest
|
- os: macos-latest
|
||||||
version: stable-v2.14.6
|
version: stable-v2.16.6
|
||||||
- os: macos-latest
|
- os: ubuntu-latest
|
||||||
version: stable-v2.14.6
|
version: stable-v2.16.6
|
||||||
- os: ubuntu-latest
|
- os: macos-latest
|
||||||
version: default
|
version: stable-v2.17.6
|
||||||
- os: macos-latest
|
- os: ubuntu-latest
|
||||||
version: default
|
version: stable-v2.17.6
|
||||||
- os: ubuntu-latest
|
- os: macos-latest
|
||||||
version: latest
|
version: default
|
||||||
- os: macos-latest
|
- os: ubuntu-latest
|
||||||
version: latest
|
version: default
|
||||||
- os: ubuntu-latest
|
- os: macos-latest
|
||||||
version: nightly-latest
|
version: linked
|
||||||
- os: macos-latest
|
- os: ubuntu-latest
|
||||||
version: nightly-latest
|
version: linked
|
||||||
|
- os: macos-latest
|
||||||
|
version: nightly-latest
|
||||||
|
- os: ubuntu-latest
|
||||||
|
version: nightly-latest
|
||||||
name: Multi-language repository
|
name: Multi-language repository
|
||||||
permissions:
|
permissions:
|
||||||
contents: read
|
contents: read
|
||||||
@@ -60,100 +66,99 @@ jobs:
|
|||||||
timeout-minutes: 45
|
timeout-minutes: 45
|
||||||
runs-on: ${{ matrix.os }}
|
runs-on: ${{ matrix.os }}
|
||||||
steps:
|
steps:
|
||||||
- name: Setup Python on MacOS
|
- name: Setup Python on MacOS
|
||||||
uses: actions/setup-python@v5
|
uses: actions/setup-python@v5
|
||||||
if: >-
|
if: >-
|
||||||
matrix.os == 'macos-latest' && (
|
runner.os == 'macOS' && (
|
||||||
|
|
||||||
matrix.version == 'stable-20221211' ||
|
matrix.version == 'stable-v2.13.5' ||
|
||||||
|
|
||||||
matrix.version == 'stable-20230418' ||
|
matrix.version == 'stable-v2.14.6')
|
||||||
|
with:
|
||||||
|
python-version: '3.11'
|
||||||
|
- name: Check out repository
|
||||||
|
uses: actions/checkout@v4
|
||||||
|
- name: Prepare test
|
||||||
|
id: prepare-test
|
||||||
|
uses: ./.github/actions/prepare-test
|
||||||
|
with:
|
||||||
|
version: ${{ matrix.version }}
|
||||||
|
use-all-platform-bundle: 'false'
|
||||||
|
setup-kotlin: 'true'
|
||||||
|
- uses: actions/setup-go@v5
|
||||||
|
with:
|
||||||
|
go-version: '>=1.21.0'
|
||||||
|
|
||||||
matrix.version == 'stable-v2.13.5' ||
|
- uses: ./../action/init
|
||||||
|
id: init
|
||||||
|
with:
|
||||||
|
db-location: ${{ runner.temp }}/customDbLocation
|
||||||
|
# Swift is not supported on Ubuntu so we manually exclude it from the list here
|
||||||
|
languages: ${{ runner.os == 'Linux' && 'cpp,csharp,go,java,javascript,python,ruby'
|
||||||
|
|| '' }}
|
||||||
|
tools: ${{ steps.prepare-test.outputs.tools-url }}
|
||||||
|
|
||||||
matrix.version == 'stable-v2.14.6')
|
- uses: ./../action/.github/actions/setup-swift
|
||||||
with:
|
if: runner.os == 'macOS'
|
||||||
python-version: '3.11'
|
with:
|
||||||
- name: Check out repository
|
codeql-path: ${{ steps.init.outputs.codeql-path }}
|
||||||
uses: actions/checkout@v4
|
|
||||||
- name: Prepare test
|
|
||||||
id: prepare-test
|
|
||||||
uses: ./.github/actions/prepare-test
|
|
||||||
with:
|
|
||||||
version: ${{ matrix.version }}
|
|
||||||
use-all-platform-bundle: 'false'
|
|
||||||
- name: Set environment variable for Swift enablement
|
|
||||||
if: runner.os != 'Windows' && matrix.version == '20221211'
|
|
||||||
shell: bash
|
|
||||||
run: echo "CODEQL_ENABLE_EXPERIMENTAL_FEATURES_SWIFT=true" >> $GITHUB_ENV
|
|
||||||
- uses: ./../action/init
|
|
||||||
id: init
|
|
||||||
with:
|
|
||||||
db-location: ${{ runner.temp }}/customDbLocation
|
|
||||||
tools: ${{ steps.prepare-test.outputs.tools-url }}
|
|
||||||
|
|
||||||
- uses: ./../action/.github/actions/setup-swift
|
- name: Build code
|
||||||
with:
|
shell: bash
|
||||||
codeql-path: ${{ steps.init.outputs.codeql-path }}
|
run: ./build.sh
|
||||||
|
|
||||||
- name: Build code
|
- uses: ./../action/analyze
|
||||||
shell: bash
|
id: analysis
|
||||||
run: ./build.sh
|
with:
|
||||||
|
upload-database: false
|
||||||
|
|
||||||
- uses: ./../action/analyze
|
- name: Check language autodetect for all languages excluding Swift
|
||||||
id: analysis
|
shell: bash
|
||||||
with:
|
run: |
|
||||||
upload-database: false
|
CPP_DB=${{ fromJson(steps.analysis.outputs.db-locations).cpp }}
|
||||||
|
if [[ ! -d $CPP_DB ]] || [[ ! $CPP_DB == ${{ runner.temp }}/customDbLocation/* ]]; then
|
||||||
|
echo "Did not create a database for CPP, or created it in the wrong location."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
CSHARP_DB=${{ fromJson(steps.analysis.outputs.db-locations).csharp }}
|
||||||
|
if [[ ! -d $CSHARP_DB ]] || [[ ! $CSHARP_DB == ${{ runner.temp }}/customDbLocation/* ]]; then
|
||||||
|
echo "Did not create a database for C Sharp, or created it in the wrong location."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
GO_DB=${{ fromJson(steps.analysis.outputs.db-locations).go }}
|
||||||
|
if [[ ! -d $GO_DB ]] || [[ ! $GO_DB == ${{ runner.temp }}/customDbLocation/* ]]; then
|
||||||
|
echo "Did not create a database for Go, or created it in the wrong location."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
JAVA_DB=${{ fromJson(steps.analysis.outputs.db-locations).java }}
|
||||||
|
if [[ ! -d $JAVA_DB ]] || [[ ! $JAVA_DB == ${{ runner.temp }}/customDbLocation/* ]]; then
|
||||||
|
echo "Did not create a database for Java, or created it in the wrong location."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
JAVASCRIPT_DB=${{ fromJson(steps.analysis.outputs.db-locations).javascript }}
|
||||||
|
if [[ ! -d $JAVASCRIPT_DB ]] || [[ ! $JAVASCRIPT_DB == ${{ runner.temp }}/customDbLocation/* ]]; then
|
||||||
|
echo "Did not create a database for Javascript, or created it in the wrong location."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
PYTHON_DB=${{ fromJson(steps.analysis.outputs.db-locations).python }}
|
||||||
|
if [[ ! -d $PYTHON_DB ]] || [[ ! $PYTHON_DB == ${{ runner.temp }}/customDbLocation/* ]]; then
|
||||||
|
echo "Did not create a database for Python, or created it in the wrong location."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
RUBY_DB=${{ fromJson(steps.analysis.outputs.db-locations).ruby }}
|
||||||
|
if [[ ! -d $RUBY_DB ]] || [[ ! $RUBY_DB == ${{ runner.temp }}/customDbLocation/* ]]; then
|
||||||
|
echo "Did not create a database for Ruby, or created it in the wrong location."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
- name: Check language autodetect for all languages excluding Swift
|
- name: Check language autodetect for Swift on MacOS
|
||||||
shell: bash
|
if: runner.os == 'macOS'
|
||||||
run: |
|
shell: bash
|
||||||
CPP_DB=${{ fromJson(steps.analysis.outputs.db-locations).cpp }}
|
run: |
|
||||||
if [[ ! -d $CPP_DB ]] || [[ ! $CPP_DB == ${{ runner.temp }}/customDbLocation/* ]]; then
|
SWIFT_DB=${{ fromJson(steps.analysis.outputs.db-locations).swift }}
|
||||||
echo "Did not create a database for CPP, or created it in the wrong location."
|
if [[ ! -d $SWIFT_DB ]] || [[ ! $SWIFT_DB == ${{ runner.temp }}/customDbLocation/* ]]; then
|
||||||
exit 1
|
echo "Did not create a database for Swift, or created it in the wrong location."
|
||||||
fi
|
exit 1
|
||||||
CSHARP_DB=${{ fromJson(steps.analysis.outputs.db-locations).csharp }}
|
fi
|
||||||
if [[ ! -d $CSHARP_DB ]] || [[ ! $CSHARP_DB == ${{ runner.temp }}/customDbLocation/* ]]; then
|
|
||||||
echo "Did not create a database for C Sharp, or created it in the wrong location."
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
GO_DB=${{ fromJson(steps.analysis.outputs.db-locations).go }}
|
|
||||||
if [[ ! -d $GO_DB ]] || [[ ! $GO_DB == ${{ runner.temp }}/customDbLocation/* ]]; then
|
|
||||||
echo "Did not create a database for Go, or created it in the wrong location."
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
JAVA_DB=${{ fromJson(steps.analysis.outputs.db-locations).java }}
|
|
||||||
if [[ ! -d $JAVA_DB ]] || [[ ! $JAVA_DB == ${{ runner.temp }}/customDbLocation/* ]]; then
|
|
||||||
echo "Did not create a database for Java, or created it in the wrong location."
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
JAVASCRIPT_DB=${{ fromJson(steps.analysis.outputs.db-locations).javascript }}
|
|
||||||
if [[ ! -d $JAVASCRIPT_DB ]] || [[ ! $JAVASCRIPT_DB == ${{ runner.temp }}/customDbLocation/* ]]; then
|
|
||||||
echo "Did not create a database for Javascript, or created it in the wrong location."
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
PYTHON_DB=${{ fromJson(steps.analysis.outputs.db-locations).python }}
|
|
||||||
if [[ ! -d $PYTHON_DB ]] || [[ ! $PYTHON_DB == ${{ runner.temp }}/customDbLocation/* ]]; then
|
|
||||||
echo "Did not create a database for Python, or created it in the wrong location."
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
RUBY_DB=${{ fromJson(steps.analysis.outputs.db-locations).ruby }}
|
|
||||||
if [[ ! -d $RUBY_DB ]] || [[ ! $RUBY_DB == ${{ runner.temp }}/customDbLocation/* ]]; then
|
|
||||||
echo "Did not create a database for Ruby, or created it in the wrong location."
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
- name: Check language autodetect for Swift
|
|
||||||
if: >-
|
|
||||||
env.CODEQL_ENABLE_EXPERIMENTAL_FEATURES_SWIFT == 'true' ||
|
|
||||||
(runner.os != 'Windows' && matrix.version == 'nightly-latest')
|
|
||||||
shell: bash
|
|
||||||
run: |
|
|
||||||
SWIFT_DB=${{ fromJson(steps.analysis.outputs.db-locations).swift }}
|
|
||||||
if [[ ! -d $SWIFT_DB ]] || [[ ! $SWIFT_DB == ${{ runner.temp }}/customDbLocation/* ]]; then
|
|
||||||
echo "Did not create a database for Swift, or created it in the wrong location."
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
env:
|
env:
|
||||||
CODEQL_ACTION_TEST_MODE: true
|
CODEQL_ACTION_TEST_MODE: true
|
||||||
|
|||||||
159
.github/workflows/__packaging-codescanning-config-inputs-js.yml
generated
vendored
159
.github/workflows/__packaging-codescanning-config-inputs-js.yml
generated
vendored
@@ -7,42 +7,44 @@ name: 'PR Check - Packaging: Config and input passed to the CLI'
|
|||||||
env:
|
env:
|
||||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
GO111MODULE: auto
|
GO111MODULE: auto
|
||||||
CODEQL_EXTRACTOR_JAVA_AGENT_DISABLE_KOTLIN: 'true'
|
|
||||||
on:
|
on:
|
||||||
push:
|
push:
|
||||||
branches:
|
branches:
|
||||||
- main
|
- main
|
||||||
- releases/v*
|
- releases/v*
|
||||||
pull_request:
|
pull_request:
|
||||||
types:
|
types:
|
||||||
- opened
|
- opened
|
||||||
- synchronize
|
- synchronize
|
||||||
- reopened
|
- reopened
|
||||||
- ready_for_review
|
- ready_for_review
|
||||||
|
schedule:
|
||||||
|
- cron: '0 5 * * *'
|
||||||
workflow_dispatch: {}
|
workflow_dispatch: {}
|
||||||
jobs:
|
jobs:
|
||||||
packaging-codescanning-config-inputs-js:
|
packaging-codescanning-config-inputs-js:
|
||||||
strategy:
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
include:
|
include:
|
||||||
- os: ubuntu-latest
|
- os: ubuntu-latest
|
||||||
version: latest
|
version: linked
|
||||||
- os: macos-latest
|
- os: macos-latest
|
||||||
version: latest
|
version: linked
|
||||||
- os: windows-latest
|
- os: windows-latest
|
||||||
version: latest
|
version: linked
|
||||||
- os: ubuntu-latest
|
- os: ubuntu-latest
|
||||||
version: default
|
version: default
|
||||||
- os: macos-latest
|
- os: macos-latest
|
||||||
version: default
|
version: default
|
||||||
- os: windows-latest
|
- os: windows-latest
|
||||||
version: default
|
version: default
|
||||||
- os: ubuntu-latest
|
- os: ubuntu-latest
|
||||||
version: nightly-latest
|
version: nightly-latest
|
||||||
- os: macos-latest
|
- os: macos-latest
|
||||||
version: nightly-latest
|
version: nightly-latest
|
||||||
- os: windows-latest
|
- os: windows-latest
|
||||||
version: nightly-latest
|
version: nightly-latest
|
||||||
name: 'Packaging: Config and input passed to the CLI'
|
name: 'Packaging: Config and input passed to the CLI'
|
||||||
permissions:
|
permissions:
|
||||||
contents: read
|
contents: read
|
||||||
@@ -50,67 +52,60 @@ jobs:
|
|||||||
timeout-minutes: 45
|
timeout-minutes: 45
|
||||||
runs-on: ${{ matrix.os }}
|
runs-on: ${{ matrix.os }}
|
||||||
steps:
|
steps:
|
||||||
- name: Setup Python on MacOS
|
- name: Setup Python on MacOS
|
||||||
uses: actions/setup-python@v5
|
uses: actions/setup-python@v5
|
||||||
if: >-
|
if: >-
|
||||||
matrix.os == 'macos-latest' && (
|
runner.os == 'macOS' && (
|
||||||
|
|
||||||
matrix.version == 'stable-20221211' ||
|
matrix.version == 'stable-v2.13.5' ||
|
||||||
|
|
||||||
matrix.version == 'stable-20230418' ||
|
matrix.version == 'stable-v2.14.6')
|
||||||
|
with:
|
||||||
|
python-version: '3.11'
|
||||||
|
- name: Check out repository
|
||||||
|
uses: actions/checkout@v4
|
||||||
|
- name: Prepare test
|
||||||
|
id: prepare-test
|
||||||
|
uses: ./.github/actions/prepare-test
|
||||||
|
with:
|
||||||
|
version: ${{ matrix.version }}
|
||||||
|
use-all-platform-bundle: 'false'
|
||||||
|
setup-kotlin: 'true'
|
||||||
|
- uses: ./../action/init
|
||||||
|
with:
|
||||||
|
config-file: .github/codeql/codeql-config-packaging3.yml
|
||||||
|
packs: +codeql-testing/codeql-pack1@1.0.0
|
||||||
|
languages: javascript
|
||||||
|
tools: ${{ steps.prepare-test.outputs.tools-url }}
|
||||||
|
- name: Build code
|
||||||
|
shell: bash
|
||||||
|
run: ./build.sh
|
||||||
|
- uses: ./../action/analyze
|
||||||
|
with:
|
||||||
|
output: ${{ runner.temp }}/results
|
||||||
|
upload-database: false
|
||||||
|
|
||||||
matrix.version == 'stable-v2.13.5' ||
|
- name: Check results
|
||||||
|
uses: ./../action/.github/actions/check-sarif
|
||||||
|
with:
|
||||||
|
sarif-file: ${{ runner.temp }}/results/javascript.sarif
|
||||||
|
queries-run:
|
||||||
|
javascript/example/empty-or-one-block,javascript/example/empty-or-one-block,javascript/example/other-query-block,javascript/example/two-block
|
||||||
|
queries-not-run: foo,bar
|
||||||
|
|
||||||
matrix.version == 'stable-v2.14.6')
|
- name: Assert Results
|
||||||
with:
|
shell: bash
|
||||||
python-version: '3.11'
|
run: |
|
||||||
- name: Check out repository
|
cd "$RUNNER_TEMP/results"
|
||||||
uses: actions/checkout@v4
|
# We should have 4 hits from these rules
|
||||||
- name: Prepare test
|
EXPECTED_RULES="javascript/example/empty-or-one-block javascript/example/empty-or-one-block javascript/example/other-query-block javascript/example/two-block"
|
||||||
id: prepare-test
|
|
||||||
uses: ./.github/actions/prepare-test
|
|
||||||
with:
|
|
||||||
version: ${{ matrix.version }}
|
|
||||||
use-all-platform-bundle: 'false'
|
|
||||||
- name: Set environment variable for Swift enablement
|
|
||||||
if: runner.os != 'Windows' && matrix.version == '20221211'
|
|
||||||
shell: bash
|
|
||||||
run: echo "CODEQL_ENABLE_EXPERIMENTAL_FEATURES_SWIFT=true" >> $GITHUB_ENV
|
|
||||||
- uses: ./../action/init
|
|
||||||
with:
|
|
||||||
config-file: .github/codeql/codeql-config-packaging3.yml
|
|
||||||
packs: +codeql-testing/codeql-pack1@1.0.0
|
|
||||||
languages: javascript
|
|
||||||
tools: ${{ steps.prepare-test.outputs.tools-url }}
|
|
||||||
- name: Build code
|
|
||||||
shell: bash
|
|
||||||
run: ./build.sh
|
|
||||||
- uses: ./../action/analyze
|
|
||||||
with:
|
|
||||||
output: ${{ runner.temp }}/results
|
|
||||||
upload-database: false
|
|
||||||
|
|
||||||
- name: Check results
|
# use tr to replace newlines with spaces and xargs to trim leading and trailing whitespace
|
||||||
uses: ./../action/.github/actions/check-sarif
|
RULES="$(cat javascript.sarif | jq -r '.runs[0].results[].ruleId' | sort | tr "\n\r" " " | xargs)"
|
||||||
with:
|
echo "Found matching rules '$RULES'"
|
||||||
sarif-file: ${{ runner.temp }}/results/javascript.sarif
|
if [ "$RULES" != "$EXPECTED_RULES" ]; then
|
||||||
queries-run:
|
echo "Did not match expected rules '$EXPECTED_RULES'."
|
||||||
javascript/example/empty-or-one-block,javascript/example/empty-or-one-block,javascript/example/other-query-block,javascript/example/two-block
|
exit 1
|
||||||
queries-not-run: foo,bar
|
fi
|
||||||
|
|
||||||
- name: Assert Results
|
|
||||||
shell: bash
|
|
||||||
run: |
|
|
||||||
cd "$RUNNER_TEMP/results"
|
|
||||||
# We should have 4 hits from these rules
|
|
||||||
EXPECTED_RULES="javascript/example/empty-or-one-block javascript/example/empty-or-one-block javascript/example/other-query-block javascript/example/two-block"
|
|
||||||
|
|
||||||
# use tr to replace newlines with spaces and xargs to trim leading and trailing whitespace
|
|
||||||
RULES="$(cat javascript.sarif | jq -r '.runs[0].results[].ruleId' | sort | tr "\n\r" " " | xargs)"
|
|
||||||
echo "Found matching rules '$RULES'"
|
|
||||||
if [ "$RULES" != "$EXPECTED_RULES" ]; then
|
|
||||||
echo "Did not match expected rules '$EXPECTED_RULES'."
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
env:
|
env:
|
||||||
CODEQL_ACTION_TEST_MODE: true
|
CODEQL_ACTION_TEST_MODE: true
|
||||||
|
|||||||
159
.github/workflows/__packaging-config-inputs-js.yml
generated
vendored
159
.github/workflows/__packaging-config-inputs-js.yml
generated
vendored
@@ -7,42 +7,44 @@ name: 'PR Check - Packaging: Config and input'
|
|||||||
env:
|
env:
|
||||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
GO111MODULE: auto
|
GO111MODULE: auto
|
||||||
CODEQL_EXTRACTOR_JAVA_AGENT_DISABLE_KOTLIN: 'true'
|
|
||||||
on:
|
on:
|
||||||
push:
|
push:
|
||||||
branches:
|
branches:
|
||||||
- main
|
- main
|
||||||
- releases/v*
|
- releases/v*
|
||||||
pull_request:
|
pull_request:
|
||||||
types:
|
types:
|
||||||
- opened
|
- opened
|
||||||
- synchronize
|
- synchronize
|
||||||
- reopened
|
- reopened
|
||||||
- ready_for_review
|
- ready_for_review
|
||||||
|
schedule:
|
||||||
|
- cron: '0 5 * * *'
|
||||||
workflow_dispatch: {}
|
workflow_dispatch: {}
|
||||||
jobs:
|
jobs:
|
||||||
packaging-config-inputs-js:
|
packaging-config-inputs-js:
|
||||||
strategy:
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
include:
|
include:
|
||||||
- os: ubuntu-latest
|
- os: ubuntu-latest
|
||||||
version: latest
|
version: linked
|
||||||
- os: macos-latest
|
- os: macos-latest
|
||||||
version: latest
|
version: linked
|
||||||
- os: windows-latest
|
- os: windows-latest
|
||||||
version: latest
|
version: linked
|
||||||
- os: ubuntu-latest
|
- os: ubuntu-latest
|
||||||
version: default
|
version: default
|
||||||
- os: macos-latest
|
- os: macos-latest
|
||||||
version: default
|
version: default
|
||||||
- os: windows-latest
|
- os: windows-latest
|
||||||
version: default
|
version: default
|
||||||
- os: ubuntu-latest
|
- os: ubuntu-latest
|
||||||
version: nightly-latest
|
version: nightly-latest
|
||||||
- os: macos-latest
|
- os: macos-latest
|
||||||
version: nightly-latest
|
version: nightly-latest
|
||||||
- os: windows-latest
|
- os: windows-latest
|
||||||
version: nightly-latest
|
version: nightly-latest
|
||||||
name: 'Packaging: Config and input'
|
name: 'Packaging: Config and input'
|
||||||
permissions:
|
permissions:
|
||||||
contents: read
|
contents: read
|
||||||
@@ -50,67 +52,60 @@ jobs:
|
|||||||
timeout-minutes: 45
|
timeout-minutes: 45
|
||||||
runs-on: ${{ matrix.os }}
|
runs-on: ${{ matrix.os }}
|
||||||
steps:
|
steps:
|
||||||
- name: Setup Python on MacOS
|
- name: Setup Python on MacOS
|
||||||
uses: actions/setup-python@v5
|
uses: actions/setup-python@v5
|
||||||
if: >-
|
if: >-
|
||||||
matrix.os == 'macos-latest' && (
|
runner.os == 'macOS' && (
|
||||||
|
|
||||||
matrix.version == 'stable-20221211' ||
|
matrix.version == 'stable-v2.13.5' ||
|
||||||
|
|
||||||
matrix.version == 'stable-20230418' ||
|
matrix.version == 'stable-v2.14.6')
|
||||||
|
with:
|
||||||
|
python-version: '3.11'
|
||||||
|
- name: Check out repository
|
||||||
|
uses: actions/checkout@v4
|
||||||
|
- name: Prepare test
|
||||||
|
id: prepare-test
|
||||||
|
uses: ./.github/actions/prepare-test
|
||||||
|
with:
|
||||||
|
version: ${{ matrix.version }}
|
||||||
|
use-all-platform-bundle: 'false'
|
||||||
|
setup-kotlin: 'true'
|
||||||
|
- uses: ./../action/init
|
||||||
|
with:
|
||||||
|
config-file: .github/codeql/codeql-config-packaging3.yml
|
||||||
|
packs: +codeql-testing/codeql-pack1@1.0.0
|
||||||
|
languages: javascript
|
||||||
|
tools: ${{ steps.prepare-test.outputs.tools-url }}
|
||||||
|
- name: Build code
|
||||||
|
shell: bash
|
||||||
|
run: ./build.sh
|
||||||
|
- uses: ./../action/analyze
|
||||||
|
with:
|
||||||
|
output: ${{ runner.temp }}/results
|
||||||
|
upload-database: false
|
||||||
|
|
||||||
matrix.version == 'stable-v2.13.5' ||
|
- name: Check results
|
||||||
|
uses: ./../action/.github/actions/check-sarif
|
||||||
|
with:
|
||||||
|
sarif-file: ${{ runner.temp }}/results/javascript.sarif
|
||||||
|
queries-run:
|
||||||
|
javascript/example/empty-or-one-block,javascript/example/empty-or-one-block,javascript/example/other-query-block,javascript/example/two-block
|
||||||
|
queries-not-run: foo,bar
|
||||||
|
|
||||||
matrix.version == 'stable-v2.14.6')
|
- name: Assert Results
|
||||||
with:
|
shell: bash
|
||||||
python-version: '3.11'
|
run: |
|
||||||
- name: Check out repository
|
cd "$RUNNER_TEMP/results"
|
||||||
uses: actions/checkout@v4
|
# We should have 4 hits from these rules
|
||||||
- name: Prepare test
|
EXPECTED_RULES="javascript/example/empty-or-one-block javascript/example/empty-or-one-block javascript/example/other-query-block javascript/example/two-block"
|
||||||
id: prepare-test
|
|
||||||
uses: ./.github/actions/prepare-test
|
|
||||||
with:
|
|
||||||
version: ${{ matrix.version }}
|
|
||||||
use-all-platform-bundle: 'false'
|
|
||||||
- name: Set environment variable for Swift enablement
|
|
||||||
if: runner.os != 'Windows' && matrix.version == '20221211'
|
|
||||||
shell: bash
|
|
||||||
run: echo "CODEQL_ENABLE_EXPERIMENTAL_FEATURES_SWIFT=true" >> $GITHUB_ENV
|
|
||||||
- uses: ./../action/init
|
|
||||||
with:
|
|
||||||
config-file: .github/codeql/codeql-config-packaging3.yml
|
|
||||||
packs: +codeql-testing/codeql-pack1@1.0.0
|
|
||||||
languages: javascript
|
|
||||||
tools: ${{ steps.prepare-test.outputs.tools-url }}
|
|
||||||
- name: Build code
|
|
||||||
shell: bash
|
|
||||||
run: ./build.sh
|
|
||||||
- uses: ./../action/analyze
|
|
||||||
with:
|
|
||||||
output: ${{ runner.temp }}/results
|
|
||||||
upload-database: false
|
|
||||||
|
|
||||||
- name: Check results
|
# use tr to replace newlines with spaces and xargs to trim leading and trailing whitespace
|
||||||
uses: ./../action/.github/actions/check-sarif
|
RULES="$(cat javascript.sarif | jq -r '.runs[0].results[].ruleId' | sort | tr "\n\r" " " | xargs)"
|
||||||
with:
|
echo "Found matching rules '$RULES'"
|
||||||
sarif-file: ${{ runner.temp }}/results/javascript.sarif
|
if [ "$RULES" != "$EXPECTED_RULES" ]; then
|
||||||
queries-run:
|
echo "Did not match expected rules '$EXPECTED_RULES'."
|
||||||
javascript/example/empty-or-one-block,javascript/example/empty-or-one-block,javascript/example/other-query-block,javascript/example/two-block
|
exit 1
|
||||||
queries-not-run: foo,bar
|
fi
|
||||||
|
|
||||||
- name: Assert Results
|
|
||||||
shell: bash
|
|
||||||
run: |
|
|
||||||
cd "$RUNNER_TEMP/results"
|
|
||||||
# We should have 4 hits from these rules
|
|
||||||
EXPECTED_RULES="javascript/example/empty-or-one-block javascript/example/empty-or-one-block javascript/example/other-query-block javascript/example/two-block"
|
|
||||||
|
|
||||||
# use tr to replace newlines with spaces and xargs to trim leading and trailing whitespace
|
|
||||||
RULES="$(cat javascript.sarif | jq -r '.runs[0].results[].ruleId' | sort | tr "\n\r" " " | xargs)"
|
|
||||||
echo "Found matching rules '$RULES'"
|
|
||||||
if [ "$RULES" != "$EXPECTED_RULES" ]; then
|
|
||||||
echo "Did not match expected rules '$EXPECTED_RULES'."
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
env:
|
env:
|
||||||
CODEQL_ACTION_TEST_MODE: true
|
CODEQL_ACTION_TEST_MODE: true
|
||||||
|
|||||||
157
.github/workflows/__packaging-config-js.yml
generated
vendored
157
.github/workflows/__packaging-config-js.yml
generated
vendored
@@ -7,42 +7,44 @@ name: 'PR Check - Packaging: Config file'
|
|||||||
env:
|
env:
|
||||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
GO111MODULE: auto
|
GO111MODULE: auto
|
||||||
CODEQL_EXTRACTOR_JAVA_AGENT_DISABLE_KOTLIN: 'true'
|
|
||||||
on:
|
on:
|
||||||
push:
|
push:
|
||||||
branches:
|
branches:
|
||||||
- main
|
- main
|
||||||
- releases/v*
|
- releases/v*
|
||||||
pull_request:
|
pull_request:
|
||||||
types:
|
types:
|
||||||
- opened
|
- opened
|
||||||
- synchronize
|
- synchronize
|
||||||
- reopened
|
- reopened
|
||||||
- ready_for_review
|
- ready_for_review
|
||||||
|
schedule:
|
||||||
|
- cron: '0 5 * * *'
|
||||||
workflow_dispatch: {}
|
workflow_dispatch: {}
|
||||||
jobs:
|
jobs:
|
||||||
packaging-config-js:
|
packaging-config-js:
|
||||||
strategy:
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
include:
|
include:
|
||||||
- os: ubuntu-latest
|
- os: ubuntu-latest
|
||||||
version: latest
|
version: linked
|
||||||
- os: macos-latest
|
- os: macos-latest
|
||||||
version: latest
|
version: linked
|
||||||
- os: windows-latest
|
- os: windows-latest
|
||||||
version: latest
|
version: linked
|
||||||
- os: ubuntu-latest
|
- os: ubuntu-latest
|
||||||
version: default
|
version: default
|
||||||
- os: macos-latest
|
- os: macos-latest
|
||||||
version: default
|
version: default
|
||||||
- os: windows-latest
|
- os: windows-latest
|
||||||
version: default
|
version: default
|
||||||
- os: ubuntu-latest
|
- os: ubuntu-latest
|
||||||
version: nightly-latest
|
version: nightly-latest
|
||||||
- os: macos-latest
|
- os: macos-latest
|
||||||
version: nightly-latest
|
version: nightly-latest
|
||||||
- os: windows-latest
|
- os: windows-latest
|
||||||
version: nightly-latest
|
version: nightly-latest
|
||||||
name: 'Packaging: Config file'
|
name: 'Packaging: Config file'
|
||||||
permissions:
|
permissions:
|
||||||
contents: read
|
contents: read
|
||||||
@@ -50,66 +52,59 @@ jobs:
|
|||||||
timeout-minutes: 45
|
timeout-minutes: 45
|
||||||
runs-on: ${{ matrix.os }}
|
runs-on: ${{ matrix.os }}
|
||||||
steps:
|
steps:
|
||||||
- name: Setup Python on MacOS
|
- name: Setup Python on MacOS
|
||||||
uses: actions/setup-python@v5
|
uses: actions/setup-python@v5
|
||||||
if: >-
|
if: >-
|
||||||
matrix.os == 'macos-latest' && (
|
runner.os == 'macOS' && (
|
||||||
|
|
||||||
matrix.version == 'stable-20221211' ||
|
matrix.version == 'stable-v2.13.5' ||
|
||||||
|
|
||||||
matrix.version == 'stable-20230418' ||
|
matrix.version == 'stable-v2.14.6')
|
||||||
|
with:
|
||||||
|
python-version: '3.11'
|
||||||
|
- name: Check out repository
|
||||||
|
uses: actions/checkout@v4
|
||||||
|
- name: Prepare test
|
||||||
|
id: prepare-test
|
||||||
|
uses: ./.github/actions/prepare-test
|
||||||
|
with:
|
||||||
|
version: ${{ matrix.version }}
|
||||||
|
use-all-platform-bundle: 'false'
|
||||||
|
setup-kotlin: 'true'
|
||||||
|
- uses: ./../action/init
|
||||||
|
with:
|
||||||
|
config-file: .github/codeql/codeql-config-packaging.yml
|
||||||
|
languages: javascript
|
||||||
|
tools: ${{ steps.prepare-test.outputs.tools-url }}
|
||||||
|
- name: Build code
|
||||||
|
shell: bash
|
||||||
|
run: ./build.sh
|
||||||
|
- uses: ./../action/analyze
|
||||||
|
with:
|
||||||
|
output: ${{ runner.temp }}/results
|
||||||
|
upload-database: false
|
||||||
|
|
||||||
matrix.version == 'stable-v2.13.5' ||
|
- name: Check results
|
||||||
|
uses: ./../action/.github/actions/check-sarif
|
||||||
|
with:
|
||||||
|
sarif-file: ${{ runner.temp }}/results/javascript.sarif
|
||||||
|
queries-run:
|
||||||
|
javascript/example/empty-or-one-block,javascript/example/empty-or-one-block,javascript/example/other-query-block,javascript/example/two-block
|
||||||
|
queries-not-run: foo,bar
|
||||||
|
|
||||||
matrix.version == 'stable-v2.14.6')
|
- name: Assert Results
|
||||||
with:
|
shell: bash
|
||||||
python-version: '3.11'
|
run: |
|
||||||
- name: Check out repository
|
cd "$RUNNER_TEMP/results"
|
||||||
uses: actions/checkout@v4
|
# We should have 4 hits from these rules
|
||||||
- name: Prepare test
|
EXPECTED_RULES="javascript/example/empty-or-one-block javascript/example/empty-or-one-block javascript/example/other-query-block javascript/example/two-block"
|
||||||
id: prepare-test
|
|
||||||
uses: ./.github/actions/prepare-test
|
|
||||||
with:
|
|
||||||
version: ${{ matrix.version }}
|
|
||||||
use-all-platform-bundle: 'false'
|
|
||||||
- name: Set environment variable for Swift enablement
|
|
||||||
if: runner.os != 'Windows' && matrix.version == '20221211'
|
|
||||||
shell: bash
|
|
||||||
run: echo "CODEQL_ENABLE_EXPERIMENTAL_FEATURES_SWIFT=true" >> $GITHUB_ENV
|
|
||||||
- uses: ./../action/init
|
|
||||||
with:
|
|
||||||
config-file: .github/codeql/codeql-config-packaging.yml
|
|
||||||
languages: javascript
|
|
||||||
tools: ${{ steps.prepare-test.outputs.tools-url }}
|
|
||||||
- name: Build code
|
|
||||||
shell: bash
|
|
||||||
run: ./build.sh
|
|
||||||
- uses: ./../action/analyze
|
|
||||||
with:
|
|
||||||
output: ${{ runner.temp }}/results
|
|
||||||
upload-database: false
|
|
||||||
|
|
||||||
- name: Check results
|
# use tr to replace newlines with spaces and xargs to trim leading and trailing whitespace
|
||||||
uses: ./../action/.github/actions/check-sarif
|
RULES="$(cat javascript.sarif | jq -r '.runs[0].results[].ruleId' | sort | tr "\n\r" " " | xargs)"
|
||||||
with:
|
echo "Found matching rules '$RULES'"
|
||||||
sarif-file: ${{ runner.temp }}/results/javascript.sarif
|
if [ "$RULES" != "$EXPECTED_RULES" ]; then
|
||||||
queries-run:
|
echo "Did not match expected rules '$EXPECTED_RULES'."
|
||||||
javascript/example/empty-or-one-block,javascript/example/empty-or-one-block,javascript/example/other-query-block,javascript/example/two-block
|
exit 1
|
||||||
queries-not-run: foo,bar
|
fi
|
||||||
|
|
||||||
- name: Assert Results
|
|
||||||
shell: bash
|
|
||||||
run: |
|
|
||||||
cd "$RUNNER_TEMP/results"
|
|
||||||
# We should have 4 hits from these rules
|
|
||||||
EXPECTED_RULES="javascript/example/empty-or-one-block javascript/example/empty-or-one-block javascript/example/other-query-block javascript/example/two-block"
|
|
||||||
|
|
||||||
# use tr to replace newlines with spaces and xargs to trim leading and trailing whitespace
|
|
||||||
RULES="$(cat javascript.sarif | jq -r '.runs[0].results[].ruleId' | sort | tr "\n\r" " " | xargs)"
|
|
||||||
echo "Found matching rules '$RULES'"
|
|
||||||
if [ "$RULES" != "$EXPECTED_RULES" ]; then
|
|
||||||
echo "Did not match expected rules '$EXPECTED_RULES'."
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
env:
|
env:
|
||||||
CODEQL_ACTION_TEST_MODE: true
|
CODEQL_ACTION_TEST_MODE: true
|
||||||
|
|||||||
157
.github/workflows/__packaging-inputs-js.yml
generated
vendored
157
.github/workflows/__packaging-inputs-js.yml
generated
vendored
@@ -7,42 +7,44 @@ name: 'PR Check - Packaging: Action input'
|
|||||||
env:
|
env:
|
||||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
GO111MODULE: auto
|
GO111MODULE: auto
|
||||||
CODEQL_EXTRACTOR_JAVA_AGENT_DISABLE_KOTLIN: 'true'
|
|
||||||
on:
|
on:
|
||||||
push:
|
push:
|
||||||
branches:
|
branches:
|
||||||
- main
|
- main
|
||||||
- releases/v*
|
- releases/v*
|
||||||
pull_request:
|
pull_request:
|
||||||
types:
|
types:
|
||||||
- opened
|
- opened
|
||||||
- synchronize
|
- synchronize
|
||||||
- reopened
|
- reopened
|
||||||
- ready_for_review
|
- ready_for_review
|
||||||
|
schedule:
|
||||||
|
- cron: '0 5 * * *'
|
||||||
workflow_dispatch: {}
|
workflow_dispatch: {}
|
||||||
jobs:
|
jobs:
|
||||||
packaging-inputs-js:
|
packaging-inputs-js:
|
||||||
strategy:
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
include:
|
include:
|
||||||
- os: ubuntu-latest
|
- os: ubuntu-latest
|
||||||
version: latest
|
version: linked
|
||||||
- os: macos-latest
|
- os: macos-latest
|
||||||
version: latest
|
version: linked
|
||||||
- os: windows-latest
|
- os: windows-latest
|
||||||
version: latest
|
version: linked
|
||||||
- os: ubuntu-latest
|
- os: ubuntu-latest
|
||||||
version: default
|
version: default
|
||||||
- os: macos-latest
|
- os: macos-latest
|
||||||
version: default
|
version: default
|
||||||
- os: windows-latest
|
- os: windows-latest
|
||||||
version: default
|
version: default
|
||||||
- os: ubuntu-latest
|
- os: ubuntu-latest
|
||||||
version: nightly-latest
|
version: nightly-latest
|
||||||
- os: macos-latest
|
- os: macos-latest
|
||||||
version: nightly-latest
|
version: nightly-latest
|
||||||
- os: windows-latest
|
- os: windows-latest
|
||||||
version: nightly-latest
|
version: nightly-latest
|
||||||
name: 'Packaging: Action input'
|
name: 'Packaging: Action input'
|
||||||
permissions:
|
permissions:
|
||||||
contents: read
|
contents: read
|
||||||
@@ -50,66 +52,59 @@ jobs:
|
|||||||
timeout-minutes: 45
|
timeout-minutes: 45
|
||||||
runs-on: ${{ matrix.os }}
|
runs-on: ${{ matrix.os }}
|
||||||
steps:
|
steps:
|
||||||
- name: Setup Python on MacOS
|
- name: Setup Python on MacOS
|
||||||
uses: actions/setup-python@v5
|
uses: actions/setup-python@v5
|
||||||
if: >-
|
if: >-
|
||||||
matrix.os == 'macos-latest' && (
|
runner.os == 'macOS' && (
|
||||||
|
|
||||||
matrix.version == 'stable-20221211' ||
|
matrix.version == 'stable-v2.13.5' ||
|
||||||
|
|
||||||
matrix.version == 'stable-20230418' ||
|
matrix.version == 'stable-v2.14.6')
|
||||||
|
with:
|
||||||
|
python-version: '3.11'
|
||||||
|
- name: Check out repository
|
||||||
|
uses: actions/checkout@v4
|
||||||
|
- name: Prepare test
|
||||||
|
id: prepare-test
|
||||||
|
uses: ./.github/actions/prepare-test
|
||||||
|
with:
|
||||||
|
version: ${{ matrix.version }}
|
||||||
|
use-all-platform-bundle: 'false'
|
||||||
|
setup-kotlin: 'true'
|
||||||
|
- uses: ./../action/init
|
||||||
|
with:
|
||||||
|
config-file: .github/codeql/codeql-config-packaging2.yml
|
||||||
|
languages: javascript
|
||||||
|
packs: codeql-testing/codeql-pack1@1.0.0, codeql-testing/codeql-pack2, codeql-testing/codeql-pack3:other-query.ql
|
||||||
|
tools: ${{ steps.prepare-test.outputs.tools-url }}
|
||||||
|
- name: Build code
|
||||||
|
shell: bash
|
||||||
|
run: ./build.sh
|
||||||
|
- uses: ./../action/analyze
|
||||||
|
with:
|
||||||
|
output: ${{ runner.temp }}/results
|
||||||
|
|
||||||
matrix.version == 'stable-v2.13.5' ||
|
- name: Check results
|
||||||
|
uses: ./../action/.github/actions/check-sarif
|
||||||
|
with:
|
||||||
|
sarif-file: ${{ runner.temp }}/results/javascript.sarif
|
||||||
|
queries-run:
|
||||||
|
javascript/example/empty-or-one-block,javascript/example/empty-or-one-block,javascript/example/other-query-block,javascript/example/two-block
|
||||||
|
queries-not-run: foo,bar
|
||||||
|
|
||||||
matrix.version == 'stable-v2.14.6')
|
- name: Assert Results
|
||||||
with:
|
shell: bash
|
||||||
python-version: '3.11'
|
run: |
|
||||||
- name: Check out repository
|
cd "$RUNNER_TEMP/results"
|
||||||
uses: actions/checkout@v4
|
# We should have 4 hits from these rules
|
||||||
- name: Prepare test
|
EXPECTED_RULES="javascript/example/empty-or-one-block javascript/example/empty-or-one-block javascript/example/other-query-block javascript/example/two-block"
|
||||||
id: prepare-test
|
|
||||||
uses: ./.github/actions/prepare-test
|
|
||||||
with:
|
|
||||||
version: ${{ matrix.version }}
|
|
||||||
use-all-platform-bundle: 'false'
|
|
||||||
- name: Set environment variable for Swift enablement
|
|
||||||
if: runner.os != 'Windows' && matrix.version == '20221211'
|
|
||||||
shell: bash
|
|
||||||
run: echo "CODEQL_ENABLE_EXPERIMENTAL_FEATURES_SWIFT=true" >> $GITHUB_ENV
|
|
||||||
- uses: ./../action/init
|
|
||||||
with:
|
|
||||||
config-file: .github/codeql/codeql-config-packaging2.yml
|
|
||||||
languages: javascript
|
|
||||||
packs: codeql-testing/codeql-pack1@1.0.0, codeql-testing/codeql-pack2, codeql-testing/codeql-pack3:other-query.ql
|
|
||||||
tools: ${{ steps.prepare-test.outputs.tools-url }}
|
|
||||||
- name: Build code
|
|
||||||
shell: bash
|
|
||||||
run: ./build.sh
|
|
||||||
- uses: ./../action/analyze
|
|
||||||
with:
|
|
||||||
output: ${{ runner.temp }}/results
|
|
||||||
|
|
||||||
- name: Check results
|
# use tr to replace newlines with spaces and xargs to trim leading and trailing whitespace
|
||||||
uses: ./../action/.github/actions/check-sarif
|
RULES="$(cat javascript.sarif | jq -r '.runs[0].results[].ruleId' | sort | tr "\n\r" " " | xargs)"
|
||||||
with:
|
echo "Found matching rules '$RULES'"
|
||||||
sarif-file: ${{ runner.temp }}/results/javascript.sarif
|
if [ "$RULES" != "$EXPECTED_RULES" ]; then
|
||||||
queries-run:
|
echo "Did not match expected rules '$EXPECTED_RULES'."
|
||||||
javascript/example/empty-or-one-block,javascript/example/empty-or-one-block,javascript/example/other-query-block,javascript/example/two-block
|
exit 1
|
||||||
queries-not-run: foo,bar
|
fi
|
||||||
|
|
||||||
- name: Assert Results
|
|
||||||
shell: bash
|
|
||||||
run: |
|
|
||||||
cd "$RUNNER_TEMP/results"
|
|
||||||
# We should have 4 hits from these rules
|
|
||||||
EXPECTED_RULES="javascript/example/empty-or-one-block javascript/example/empty-or-one-block javascript/example/other-query-block javascript/example/two-block"
|
|
||||||
|
|
||||||
# use tr to replace newlines with spaces and xargs to trim leading and trailing whitespace
|
|
||||||
RULES="$(cat javascript.sarif | jq -r '.runs[0].results[].ruleId' | sort | tr "\n\r" " " | xargs)"
|
|
||||||
echo "Found matching rules '$RULES'"
|
|
||||||
if [ "$RULES" != "$EXPECTED_RULES" ]; then
|
|
||||||
echo "Did not match expected rules '$EXPECTED_RULES'."
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
env:
|
env:
|
||||||
CODEQL_ACTION_TEST_MODE: true
|
CODEQL_ACTION_TEST_MODE: true
|
||||||
|
|||||||
167
.github/workflows/__remote-config.yml
generated
vendored
167
.github/workflows/__remote-config.yml
generated
vendored
@@ -7,66 +7,74 @@ name: PR Check - Remote config file
|
|||||||
env:
|
env:
|
||||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
GO111MODULE: auto
|
GO111MODULE: auto
|
||||||
CODEQL_EXTRACTOR_JAVA_AGENT_DISABLE_KOTLIN: 'true'
|
|
||||||
on:
|
on:
|
||||||
push:
|
push:
|
||||||
branches:
|
branches:
|
||||||
- main
|
- main
|
||||||
- releases/v*
|
- releases/v*
|
||||||
pull_request:
|
pull_request:
|
||||||
types:
|
types:
|
||||||
- opened
|
- opened
|
||||||
- synchronize
|
- synchronize
|
||||||
- reopened
|
- reopened
|
||||||
- ready_for_review
|
- ready_for_review
|
||||||
|
schedule:
|
||||||
|
- cron: '0 5 * * *'
|
||||||
workflow_dispatch: {}
|
workflow_dispatch: {}
|
||||||
jobs:
|
jobs:
|
||||||
remote-config:
|
remote-config:
|
||||||
strategy:
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
include:
|
include:
|
||||||
- os: ubuntu-latest
|
- os: ubuntu-latest
|
||||||
version: stable-20221211
|
version: stable-v2.13.5
|
||||||
- os: macos-latest
|
- os: macos-12
|
||||||
version: stable-20221211
|
version: stable-v2.13.5
|
||||||
- os: windows-latest
|
- os: windows-latest
|
||||||
version: stable-20221211
|
version: stable-v2.13.5
|
||||||
- os: ubuntu-latest
|
- os: ubuntu-latest
|
||||||
version: stable-20230418
|
version: stable-v2.14.6
|
||||||
- os: macos-latest
|
- os: macos-12
|
||||||
version: stable-20230418
|
version: stable-v2.14.6
|
||||||
- os: windows-latest
|
- os: windows-latest
|
||||||
version: stable-20230418
|
version: stable-v2.14.6
|
||||||
- os: ubuntu-latest
|
- os: ubuntu-latest
|
||||||
version: stable-v2.13.5
|
version: stable-v2.15.5
|
||||||
- os: macos-latest
|
- os: macos-latest
|
||||||
version: stable-v2.13.5
|
version: stable-v2.15.5
|
||||||
- os: windows-latest
|
- os: windows-latest
|
||||||
version: stable-v2.13.5
|
version: stable-v2.15.5
|
||||||
- os: ubuntu-latest
|
- os: ubuntu-latest
|
||||||
version: stable-v2.14.6
|
version: stable-v2.16.6
|
||||||
- os: macos-latest
|
- os: macos-latest
|
||||||
version: stable-v2.14.6
|
version: stable-v2.16.6
|
||||||
- os: windows-latest
|
- os: windows-latest
|
||||||
version: stable-v2.14.6
|
version: stable-v2.16.6
|
||||||
- os: ubuntu-latest
|
- os: ubuntu-latest
|
||||||
version: default
|
version: stable-v2.17.6
|
||||||
- os: macos-latest
|
- os: macos-latest
|
||||||
version: default
|
version: stable-v2.17.6
|
||||||
- os: windows-latest
|
- os: windows-latest
|
||||||
version: default
|
version: stable-v2.17.6
|
||||||
- os: ubuntu-latest
|
- os: ubuntu-latest
|
||||||
version: latest
|
version: default
|
||||||
- os: macos-latest
|
- os: macos-latest
|
||||||
version: latest
|
version: default
|
||||||
- os: windows-latest
|
- os: windows-latest
|
||||||
version: latest
|
version: default
|
||||||
- os: ubuntu-latest
|
- os: ubuntu-latest
|
||||||
version: nightly-latest
|
version: linked
|
||||||
- os: macos-latest
|
- os: macos-latest
|
||||||
version: nightly-latest
|
version: linked
|
||||||
- os: windows-latest
|
- os: windows-latest
|
||||||
version: nightly-latest
|
version: linked
|
||||||
|
- os: ubuntu-latest
|
||||||
|
version: nightly-latest
|
||||||
|
- os: macos-latest
|
||||||
|
version: nightly-latest
|
||||||
|
- os: windows-latest
|
||||||
|
version: nightly-latest
|
||||||
name: Remote config file
|
name: Remote config file
|
||||||
permissions:
|
permissions:
|
||||||
contents: read
|
contents: read
|
||||||
@@ -74,41 +82,34 @@ jobs:
|
|||||||
timeout-minutes: 45
|
timeout-minutes: 45
|
||||||
runs-on: ${{ matrix.os }}
|
runs-on: ${{ matrix.os }}
|
||||||
steps:
|
steps:
|
||||||
- name: Setup Python on MacOS
|
- name: Setup Python on MacOS
|
||||||
uses: actions/setup-python@v5
|
uses: actions/setup-python@v5
|
||||||
if: >-
|
if: >-
|
||||||
matrix.os == 'macos-latest' && (
|
runner.os == 'macOS' && (
|
||||||
|
|
||||||
matrix.version == 'stable-20221211' ||
|
matrix.version == 'stable-v2.13.5' ||
|
||||||
|
|
||||||
matrix.version == 'stable-20230418' ||
|
matrix.version == 'stable-v2.14.6')
|
||||||
|
with:
|
||||||
matrix.version == 'stable-v2.13.5' ||
|
python-version: '3.11'
|
||||||
|
- name: Check out repository
|
||||||
matrix.version == 'stable-v2.14.6')
|
uses: actions/checkout@v4
|
||||||
with:
|
- name: Prepare test
|
||||||
python-version: '3.11'
|
id: prepare-test
|
||||||
- name: Check out repository
|
uses: ./.github/actions/prepare-test
|
||||||
uses: actions/checkout@v4
|
with:
|
||||||
- name: Prepare test
|
version: ${{ matrix.version }}
|
||||||
id: prepare-test
|
use-all-platform-bundle: 'false'
|
||||||
uses: ./.github/actions/prepare-test
|
setup-kotlin: 'true'
|
||||||
with:
|
- uses: ./../action/init
|
||||||
version: ${{ matrix.version }}
|
with:
|
||||||
use-all-platform-bundle: 'false'
|
tools: ${{ steps.prepare-test.outputs.tools-url }}
|
||||||
- name: Set environment variable for Swift enablement
|
languages: cpp,csharp,java,javascript,python
|
||||||
if: runner.os != 'Windows' && matrix.version == '20221211'
|
config-file: ${{ github.repository }}/tests/multi-language-repo/.github/codeql/custom-queries.yml@${{
|
||||||
shell: bash
|
github.sha }}
|
||||||
run: echo "CODEQL_ENABLE_EXPERIMENTAL_FEATURES_SWIFT=true" >> $GITHUB_ENV
|
- name: Build code
|
||||||
- uses: ./../action/init
|
shell: bash
|
||||||
with:
|
run: ./build.sh
|
||||||
tools: ${{ steps.prepare-test.outputs.tools-url }}
|
- uses: ./../action/analyze
|
||||||
languages: cpp,csharp,java,javascript,python
|
|
||||||
config-file: ${{ github.repository }}/tests/multi-language-repo/.github/codeql/custom-queries.yml@${{
|
|
||||||
github.sha }}
|
|
||||||
- name: Build code
|
|
||||||
shell: bash
|
|
||||||
run: ./build.sh
|
|
||||||
- uses: ./../action/analyze
|
|
||||||
env:
|
env:
|
||||||
CODEQL_ACTION_TEST_MODE: true
|
CODEQL_ACTION_TEST_MODE: true
|
||||||
|
|||||||
151
.github/workflows/__resolve-environment-action.yml
generated
vendored
151
.github/workflows/__resolve-environment-action.yml
generated
vendored
@@ -7,48 +7,50 @@ name: PR Check - Resolve environment
|
|||||||
env:
|
env:
|
||||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
GO111MODULE: auto
|
GO111MODULE: auto
|
||||||
CODEQL_EXTRACTOR_JAVA_AGENT_DISABLE_KOTLIN: 'true'
|
|
||||||
on:
|
on:
|
||||||
push:
|
push:
|
||||||
branches:
|
branches:
|
||||||
- main
|
- main
|
||||||
- releases/v*
|
- releases/v*
|
||||||
pull_request:
|
pull_request:
|
||||||
types:
|
types:
|
||||||
- opened
|
- opened
|
||||||
- synchronize
|
- synchronize
|
||||||
- reopened
|
- reopened
|
||||||
- ready_for_review
|
- ready_for_review
|
||||||
|
schedule:
|
||||||
|
- cron: '0 5 * * *'
|
||||||
workflow_dispatch: {}
|
workflow_dispatch: {}
|
||||||
jobs:
|
jobs:
|
||||||
resolve-environment-action:
|
resolve-environment-action:
|
||||||
strategy:
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
include:
|
include:
|
||||||
- os: ubuntu-latest
|
- os: ubuntu-latest
|
||||||
version: stable-v2.13.4
|
version: stable-v2.13.5
|
||||||
- os: macos-latest
|
- os: macos-12
|
||||||
version: stable-v2.13.4
|
version: stable-v2.13.5
|
||||||
- os: windows-latest
|
- os: windows-latest
|
||||||
version: stable-v2.13.4
|
version: stable-v2.13.5
|
||||||
- os: ubuntu-latest
|
- os: ubuntu-latest
|
||||||
version: default
|
version: default
|
||||||
- os: macos-latest
|
- os: macos-latest
|
||||||
version: default
|
version: default
|
||||||
- os: windows-latest
|
- os: windows-latest
|
||||||
version: default
|
version: default
|
||||||
- os: ubuntu-latest
|
- os: ubuntu-latest
|
||||||
version: latest
|
version: linked
|
||||||
- os: macos-latest
|
- os: macos-latest
|
||||||
version: latest
|
version: linked
|
||||||
- os: windows-latest
|
- os: windows-latest
|
||||||
version: latest
|
version: linked
|
||||||
- os: ubuntu-latest
|
- os: ubuntu-latest
|
||||||
version: nightly-latest
|
version: nightly-latest
|
||||||
- os: macos-latest
|
- os: macos-latest
|
||||||
version: nightly-latest
|
version: nightly-latest
|
||||||
- os: windows-latest
|
- os: windows-latest
|
||||||
version: nightly-latest
|
version: nightly-latest
|
||||||
name: Resolve environment
|
name: Resolve environment
|
||||||
permissions:
|
permissions:
|
||||||
contents: read
|
contents: read
|
||||||
@@ -56,58 +58,51 @@ jobs:
|
|||||||
timeout-minutes: 45
|
timeout-minutes: 45
|
||||||
runs-on: ${{ matrix.os }}
|
runs-on: ${{ matrix.os }}
|
||||||
steps:
|
steps:
|
||||||
- name: Setup Python on MacOS
|
- name: Setup Python on MacOS
|
||||||
uses: actions/setup-python@v5
|
uses: actions/setup-python@v5
|
||||||
if: >-
|
if: >-
|
||||||
matrix.os == 'macos-latest' && (
|
runner.os == 'macOS' && (
|
||||||
|
|
||||||
matrix.version == 'stable-20221211' ||
|
matrix.version == 'stable-v2.13.5' ||
|
||||||
|
|
||||||
matrix.version == 'stable-20230418' ||
|
matrix.version == 'stable-v2.14.6')
|
||||||
|
with:
|
||||||
|
python-version: '3.11'
|
||||||
|
- name: Check out repository
|
||||||
|
uses: actions/checkout@v4
|
||||||
|
- name: Prepare test
|
||||||
|
id: prepare-test
|
||||||
|
uses: ./.github/actions/prepare-test
|
||||||
|
with:
|
||||||
|
version: ${{ matrix.version }}
|
||||||
|
use-all-platform-bundle: 'false'
|
||||||
|
setup-kotlin: 'true'
|
||||||
|
- uses: ./../action/init
|
||||||
|
with:
|
||||||
|
languages: ${{ matrix.version == 'stable-v2.13.5' && 'go' || 'go,javascript-typescript'
|
||||||
|
}}
|
||||||
|
tools: ${{ steps.prepare-test.outputs.tools-url }}
|
||||||
|
|
||||||
matrix.version == 'stable-v2.13.5' ||
|
- name: Resolve environment for Go
|
||||||
|
uses: ./../action/resolve-environment
|
||||||
|
id: resolve-environment-go
|
||||||
|
with:
|
||||||
|
language: go
|
||||||
|
|
||||||
matrix.version == 'stable-v2.14.6')
|
- name: Fail if Go configuration missing
|
||||||
with:
|
if: (!fromJSON(steps.resolve-environment-go.outputs.environment).configuration.go)
|
||||||
python-version: '3.11'
|
run: exit 1
|
||||||
- name: Check out repository
|
|
||||||
uses: actions/checkout@v4
|
|
||||||
- name: Prepare test
|
|
||||||
id: prepare-test
|
|
||||||
uses: ./.github/actions/prepare-test
|
|
||||||
with:
|
|
||||||
version: ${{ matrix.version }}
|
|
||||||
use-all-platform-bundle: 'false'
|
|
||||||
- name: Set environment variable for Swift enablement
|
|
||||||
if: runner.os != 'Windows' && matrix.version == '20221211'
|
|
||||||
shell: bash
|
|
||||||
run: echo "CODEQL_ENABLE_EXPERIMENTAL_FEATURES_SWIFT=true" >> $GITHUB_ENV
|
|
||||||
- uses: ./../action/init
|
|
||||||
with:
|
|
||||||
languages: ${{ matrix.version == 'stable-v2.13.4' && 'go' || 'go,javascript-typescript'
|
|
||||||
}}
|
|
||||||
tools: ${{ steps.prepare-test.outputs.tools-url }}
|
|
||||||
|
|
||||||
- name: Resolve environment for Go
|
- name: Resolve environment for JavaScript/TypeScript
|
||||||
uses: ./../action/resolve-environment
|
if: matrix.version != 'stable-v2.13.5'
|
||||||
id: resolve-environment-go
|
uses: ./../action/resolve-environment
|
||||||
with:
|
id: resolve-environment-js
|
||||||
language: go
|
with:
|
||||||
|
language: javascript-typescript
|
||||||
|
|
||||||
- name: Fail if Go configuration missing
|
- name: Fail if JavaScript/TypeScript configuration present
|
||||||
if: (!fromJSON(steps.resolve-environment-go.outputs.environment).configuration.go)
|
if: matrix.version != 'stable-v2.13.5' &&
|
||||||
run: exit 1
|
fromJSON(steps.resolve-environment-js.outputs.environment).configuration.javascript
|
||||||
|
run: exit 1
|
||||||
- name: Resolve environment for JavaScript/TypeScript
|
|
||||||
if: matrix.version != 'stable-v2.13.4'
|
|
||||||
uses: ./../action/resolve-environment
|
|
||||||
id: resolve-environment-js
|
|
||||||
with:
|
|
||||||
language: javascript-typescript
|
|
||||||
|
|
||||||
- name: Fail if JavaScript/TypeScript configuration present
|
|
||||||
if: matrix.version != 'stable-v2.13.4' &&
|
|
||||||
fromJSON(steps.resolve-environment-js.outputs.environment).configuration.javascript
|
|
||||||
run: exit 1
|
|
||||||
env:
|
env:
|
||||||
CODEQL_ACTION_TEST_MODE: true
|
CODEQL_ACTION_TEST_MODE: true
|
||||||
|
|||||||
101
.github/workflows/__rubocop-multi-language.yml
generated
vendored
101
.github/workflows/__rubocop-multi-language.yml
generated
vendored
@@ -7,26 +7,28 @@ name: PR Check - RuboCop multi-language
|
|||||||
env:
|
env:
|
||||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
GO111MODULE: auto
|
GO111MODULE: auto
|
||||||
CODEQL_EXTRACTOR_JAVA_AGENT_DISABLE_KOTLIN: 'true'
|
|
||||||
on:
|
on:
|
||||||
push:
|
push:
|
||||||
branches:
|
branches:
|
||||||
- main
|
- main
|
||||||
- releases/v*
|
- releases/v*
|
||||||
pull_request:
|
pull_request:
|
||||||
types:
|
types:
|
||||||
- opened
|
- opened
|
||||||
- synchronize
|
- synchronize
|
||||||
- reopened
|
- reopened
|
||||||
- ready_for_review
|
- ready_for_review
|
||||||
|
schedule:
|
||||||
|
- cron: '0 5 * * *'
|
||||||
workflow_dispatch: {}
|
workflow_dispatch: {}
|
||||||
jobs:
|
jobs:
|
||||||
rubocop-multi-language:
|
rubocop-multi-language:
|
||||||
strategy:
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
include:
|
include:
|
||||||
- os: ubuntu-latest
|
- os: ubuntu-latest
|
||||||
version: default
|
version: default
|
||||||
name: RuboCop multi-language
|
name: RuboCop multi-language
|
||||||
permissions:
|
permissions:
|
||||||
contents: read
|
contents: read
|
||||||
@@ -34,51 +36,44 @@ jobs:
|
|||||||
timeout-minutes: 45
|
timeout-minutes: 45
|
||||||
runs-on: ${{ matrix.os }}
|
runs-on: ${{ matrix.os }}
|
||||||
steps:
|
steps:
|
||||||
- name: Setup Python on MacOS
|
- name: Setup Python on MacOS
|
||||||
uses: actions/setup-python@v5
|
uses: actions/setup-python@v5
|
||||||
if: >-
|
if: >-
|
||||||
matrix.os == 'macos-latest' && (
|
runner.os == 'macOS' && (
|
||||||
|
|
||||||
matrix.version == 'stable-20221211' ||
|
matrix.version == 'stable-v2.13.5' ||
|
||||||
|
|
||||||
matrix.version == 'stable-20230418' ||
|
matrix.version == 'stable-v2.14.6')
|
||||||
|
with:
|
||||||
matrix.version == 'stable-v2.13.5' ||
|
python-version: '3.11'
|
||||||
|
- name: Check out repository
|
||||||
matrix.version == 'stable-v2.14.6')
|
uses: actions/checkout@v4
|
||||||
with:
|
- name: Prepare test
|
||||||
python-version: '3.11'
|
id: prepare-test
|
||||||
- name: Check out repository
|
uses: ./.github/actions/prepare-test
|
||||||
uses: actions/checkout@v4
|
with:
|
||||||
- name: Prepare test
|
version: ${{ matrix.version }}
|
||||||
id: prepare-test
|
use-all-platform-bundle: 'false'
|
||||||
uses: ./.github/actions/prepare-test
|
setup-kotlin: 'true'
|
||||||
with:
|
- name: Set up Ruby
|
||||||
version: ${{ matrix.version }}
|
uses: ruby/setup-ruby@v1
|
||||||
use-all-platform-bundle: 'false'
|
with:
|
||||||
- name: Set environment variable for Swift enablement
|
ruby-version: 2.6
|
||||||
if: runner.os != 'Windows' && matrix.version == '20221211'
|
- name: Install Code Scanning integration
|
||||||
shell: bash
|
shell: bash
|
||||||
run: echo "CODEQL_ENABLE_EXPERIMENTAL_FEATURES_SWIFT=true" >> $GITHUB_ENV
|
run: bundle add code-scanning-rubocop --version 0.3.0 --skip-install
|
||||||
- name: Set up Ruby
|
- name: Install dependencies
|
||||||
uses: ruby/setup-ruby@v1
|
shell: bash
|
||||||
with:
|
run: bundle install
|
||||||
ruby-version: 2.6
|
- name: RuboCop run
|
||||||
- name: Install Code Scanning integration
|
shell: bash
|
||||||
shell: bash
|
run: |
|
||||||
run: bundle add code-scanning-rubocop --version 0.3.0 --skip-install
|
bash -c "
|
||||||
- name: Install dependencies
|
bundle exec rubocop --require code_scanning --format CodeScanning::SarifFormatter -o rubocop.sarif
|
||||||
shell: bash
|
[[ $? -ne 2 ]]
|
||||||
run: bundle install
|
"
|
||||||
- name: RuboCop run
|
- uses: ./../action/upload-sarif
|
||||||
shell: bash
|
with:
|
||||||
run: |
|
sarif_file: rubocop.sarif
|
||||||
bash -c "
|
|
||||||
bundle exec rubocop --require code_scanning --format CodeScanning::SarifFormatter -o rubocop.sarif
|
|
||||||
[[ $? -ne 2 ]]
|
|
||||||
"
|
|
||||||
- uses: ./../action/upload-sarif
|
|
||||||
with:
|
|
||||||
sarif_file: rubocop.sarif
|
|
||||||
env:
|
env:
|
||||||
CODEQL_ACTION_TEST_MODE: true
|
CODEQL_ACTION_TEST_MODE: true
|
||||||
|
|||||||
113
.github/workflows/__ruby.yml
generated
vendored
113
.github/workflows/__ruby.yml
generated
vendored
@@ -7,36 +7,38 @@ name: PR Check - Ruby analysis
|
|||||||
env:
|
env:
|
||||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
GO111MODULE: auto
|
GO111MODULE: auto
|
||||||
CODEQL_EXTRACTOR_JAVA_AGENT_DISABLE_KOTLIN: 'true'
|
|
||||||
on:
|
on:
|
||||||
push:
|
push:
|
||||||
branches:
|
branches:
|
||||||
- main
|
- main
|
||||||
- releases/v*
|
- releases/v*
|
||||||
pull_request:
|
pull_request:
|
||||||
types:
|
types:
|
||||||
- opened
|
- opened
|
||||||
- synchronize
|
- synchronize
|
||||||
- reopened
|
- reopened
|
||||||
- ready_for_review
|
- ready_for_review
|
||||||
|
schedule:
|
||||||
|
- cron: '0 5 * * *'
|
||||||
workflow_dispatch: {}
|
workflow_dispatch: {}
|
||||||
jobs:
|
jobs:
|
||||||
ruby:
|
ruby:
|
||||||
strategy:
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
include:
|
include:
|
||||||
- os: ubuntu-latest
|
- os: ubuntu-latest
|
||||||
version: latest
|
version: linked
|
||||||
- os: macos-latest
|
- os: macos-latest
|
||||||
version: latest
|
version: linked
|
||||||
- os: ubuntu-latest
|
- os: ubuntu-latest
|
||||||
version: default
|
version: default
|
||||||
- os: macos-latest
|
- os: macos-latest
|
||||||
version: default
|
version: default
|
||||||
- os: ubuntu-latest
|
- os: ubuntu-latest
|
||||||
version: nightly-latest
|
version: nightly-latest
|
||||||
- os: macos-latest
|
- os: macos-latest
|
||||||
version: nightly-latest
|
version: nightly-latest
|
||||||
name: Ruby analysis
|
name: Ruby analysis
|
||||||
permissions:
|
permissions:
|
||||||
contents: read
|
contents: read
|
||||||
@@ -44,47 +46,40 @@ jobs:
|
|||||||
timeout-minutes: 45
|
timeout-minutes: 45
|
||||||
runs-on: ${{ matrix.os }}
|
runs-on: ${{ matrix.os }}
|
||||||
steps:
|
steps:
|
||||||
- name: Setup Python on MacOS
|
- name: Setup Python on MacOS
|
||||||
uses: actions/setup-python@v5
|
uses: actions/setup-python@v5
|
||||||
if: >-
|
if: >-
|
||||||
matrix.os == 'macos-latest' && (
|
runner.os == 'macOS' && (
|
||||||
|
|
||||||
matrix.version == 'stable-20221211' ||
|
matrix.version == 'stable-v2.13.5' ||
|
||||||
|
|
||||||
matrix.version == 'stable-20230418' ||
|
matrix.version == 'stable-v2.14.6')
|
||||||
|
with:
|
||||||
matrix.version == 'stable-v2.13.5' ||
|
python-version: '3.11'
|
||||||
|
- name: Check out repository
|
||||||
matrix.version == 'stable-v2.14.6')
|
uses: actions/checkout@v4
|
||||||
with:
|
- name: Prepare test
|
||||||
python-version: '3.11'
|
id: prepare-test
|
||||||
- name: Check out repository
|
uses: ./.github/actions/prepare-test
|
||||||
uses: actions/checkout@v4
|
with:
|
||||||
- name: Prepare test
|
version: ${{ matrix.version }}
|
||||||
id: prepare-test
|
use-all-platform-bundle: 'false'
|
||||||
uses: ./.github/actions/prepare-test
|
setup-kotlin: 'true'
|
||||||
with:
|
- uses: ./../action/init
|
||||||
version: ${{ matrix.version }}
|
with:
|
||||||
use-all-platform-bundle: 'false'
|
languages: ruby
|
||||||
- name: Set environment variable for Swift enablement
|
tools: ${{ steps.prepare-test.outputs.tools-url }}
|
||||||
if: runner.os != 'Windows' && matrix.version == '20221211'
|
- uses: ./../action/analyze
|
||||||
shell: bash
|
id: analysis
|
||||||
run: echo "CODEQL_ENABLE_EXPERIMENTAL_FEATURES_SWIFT=true" >> $GITHUB_ENV
|
with:
|
||||||
- uses: ./../action/init
|
upload-database: false
|
||||||
with:
|
- name: Check database
|
||||||
languages: ruby
|
shell: bash
|
||||||
tools: ${{ steps.prepare-test.outputs.tools-url }}
|
run: |
|
||||||
- uses: ./../action/analyze
|
RUBY_DB="${{ fromJson(steps.analysis.outputs.db-locations).ruby }}"
|
||||||
id: analysis
|
if [[ ! -d "$RUBY_DB" ]]; then
|
||||||
with:
|
echo "Did not create a database for Ruby."
|
||||||
upload-database: false
|
exit 1
|
||||||
- name: Check database
|
fi
|
||||||
shell: bash
|
|
||||||
run: |
|
|
||||||
RUBY_DB="${{ fromJson(steps.analysis.outputs.db-locations).ruby }}"
|
|
||||||
if [[ ! -d "$RUBY_DB" ]]; then
|
|
||||||
echo "Did not create a database for Ruby."
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
env:
|
env:
|
||||||
CODEQL_ACTION_TEST_MODE: true
|
CODEQL_ACTION_TEST_MODE: true
|
||||||
|
|||||||
109
.github/workflows/__scaling-reserved-ram.yml
generated
vendored
109
.github/workflows/__scaling-reserved-ram.yml
generated
vendored
@@ -1,109 +0,0 @@
|
|||||||
# Warning: This file is generated automatically, and should not be modified.
|
|
||||||
# Instead, please modify the template in the pr-checks directory and run:
|
|
||||||
# (cd pr-checks; pip install ruamel.yaml@0.17.31 && python3 sync.py)
|
|
||||||
# to regenerate this file.
|
|
||||||
|
|
||||||
name: PR Check - Scaling reserved RAM
|
|
||||||
env:
|
|
||||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
||||||
GO111MODULE: auto
|
|
||||||
CODEQL_EXTRACTOR_JAVA_AGENT_DISABLE_KOTLIN: 'true'
|
|
||||||
on:
|
|
||||||
push:
|
|
||||||
branches:
|
|
||||||
- main
|
|
||||||
- releases/v*
|
|
||||||
pull_request:
|
|
||||||
types:
|
|
||||||
- opened
|
|
||||||
- synchronize
|
|
||||||
- reopened
|
|
||||||
- ready_for_review
|
|
||||||
workflow_dispatch: {}
|
|
||||||
jobs:
|
|
||||||
scaling-reserved-ram:
|
|
||||||
strategy:
|
|
||||||
matrix:
|
|
||||||
include:
|
|
||||||
- os: ubuntu-latest
|
|
||||||
version: stable-20221211
|
|
||||||
- os: macos-latest
|
|
||||||
version: stable-20221211
|
|
||||||
- os: ubuntu-latest
|
|
||||||
version: stable-20230418
|
|
||||||
- os: macos-latest
|
|
||||||
version: stable-20230418
|
|
||||||
- os: ubuntu-latest
|
|
||||||
version: stable-v2.13.5
|
|
||||||
- os: macos-latest
|
|
||||||
version: stable-v2.13.5
|
|
||||||
- os: ubuntu-latest
|
|
||||||
version: stable-v2.14.6
|
|
||||||
- os: macos-latest
|
|
||||||
version: stable-v2.14.6
|
|
||||||
- os: ubuntu-latest
|
|
||||||
version: default
|
|
||||||
- os: macos-latest
|
|
||||||
version: default
|
|
||||||
- os: ubuntu-latest
|
|
||||||
version: latest
|
|
||||||
- os: macos-latest
|
|
||||||
version: latest
|
|
||||||
- os: ubuntu-latest
|
|
||||||
version: nightly-latest
|
|
||||||
- os: macos-latest
|
|
||||||
version: nightly-latest
|
|
||||||
name: Scaling reserved RAM
|
|
||||||
permissions:
|
|
||||||
contents: read
|
|
||||||
security-events: write
|
|
||||||
timeout-minutes: 45
|
|
||||||
runs-on: ${{ matrix.os }}
|
|
||||||
steps:
|
|
||||||
- name: Setup Python on MacOS
|
|
||||||
uses: actions/setup-python@v5
|
|
||||||
if: >-
|
|
||||||
matrix.os == 'macos-latest' && (
|
|
||||||
|
|
||||||
matrix.version == 'stable-20221211' ||
|
|
||||||
|
|
||||||
matrix.version == 'stable-20230418' ||
|
|
||||||
|
|
||||||
matrix.version == 'stable-v2.13.5' ||
|
|
||||||
|
|
||||||
matrix.version == 'stable-v2.14.6')
|
|
||||||
with:
|
|
||||||
python-version: '3.11'
|
|
||||||
- name: Check out repository
|
|
||||||
uses: actions/checkout@v4
|
|
||||||
- name: Prepare test
|
|
||||||
id: prepare-test
|
|
||||||
uses: ./.github/actions/prepare-test
|
|
||||||
with:
|
|
||||||
version: ${{ matrix.version }}
|
|
||||||
use-all-platform-bundle: 'false'
|
|
||||||
- name: Set environment variable for Swift enablement
|
|
||||||
if: runner.os != 'Windows' && matrix.version == '20221211'
|
|
||||||
shell: bash
|
|
||||||
run: echo "CODEQL_ENABLE_EXPERIMENTAL_FEATURES_SWIFT=true" >> $GITHUB_ENV
|
|
||||||
- uses: ./../action/init
|
|
||||||
id: init
|
|
||||||
with:
|
|
||||||
db-location: ${{ runner.temp }}/customDbLocation
|
|
||||||
tools: ${{ steps.prepare-test.outputs.tools-url }}
|
|
||||||
|
|
||||||
- uses: ./../action/.github/actions/setup-swift
|
|
||||||
with:
|
|
||||||
codeql-path: ${{ steps.init.outputs.codeql-path }}
|
|
||||||
|
|
||||||
- name: Build code
|
|
||||||
shell: bash
|
|
||||||
run: ./build.sh
|
|
||||||
|
|
||||||
- uses: ./../action/analyze
|
|
||||||
id: analysis
|
|
||||||
with:
|
|
||||||
upload-database: false
|
|
||||||
env:
|
|
||||||
CODEQL_ACTION_SCALING_RESERVED_RAM: true
|
|
||||||
CODEQL_ACTION_TEST_MODE: true
|
|
||||||
157
.github/workflows/__split-workflow.yml
generated
vendored
157
.github/workflows/__split-workflow.yml
generated
vendored
@@ -7,36 +7,38 @@ name: PR Check - Split workflow
|
|||||||
env:
|
env:
|
||||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
GO111MODULE: auto
|
GO111MODULE: auto
|
||||||
CODEQL_EXTRACTOR_JAVA_AGENT_DISABLE_KOTLIN: 'true'
|
|
||||||
on:
|
on:
|
||||||
push:
|
push:
|
||||||
branches:
|
branches:
|
||||||
- main
|
- main
|
||||||
- releases/v*
|
- releases/v*
|
||||||
pull_request:
|
pull_request:
|
||||||
types:
|
types:
|
||||||
- opened
|
- opened
|
||||||
- synchronize
|
- synchronize
|
||||||
- reopened
|
- reopened
|
||||||
- ready_for_review
|
- ready_for_review
|
||||||
|
schedule:
|
||||||
|
- cron: '0 5 * * *'
|
||||||
workflow_dispatch: {}
|
workflow_dispatch: {}
|
||||||
jobs:
|
jobs:
|
||||||
split-workflow:
|
split-workflow:
|
||||||
strategy:
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
include:
|
include:
|
||||||
- os: ubuntu-latest
|
- os: ubuntu-latest
|
||||||
version: latest
|
version: linked
|
||||||
- os: macos-latest
|
- os: macos-latest
|
||||||
version: latest
|
version: linked
|
||||||
- os: ubuntu-latest
|
- os: ubuntu-latest
|
||||||
version: default
|
version: default
|
||||||
- os: macos-latest
|
- os: macos-latest
|
||||||
version: default
|
version: default
|
||||||
- os: ubuntu-latest
|
- os: ubuntu-latest
|
||||||
version: nightly-latest
|
version: nightly-latest
|
||||||
- os: macos-latest
|
- os: macos-latest
|
||||||
version: nightly-latest
|
version: nightly-latest
|
||||||
name: Split workflow
|
name: Split workflow
|
||||||
permissions:
|
permissions:
|
||||||
contents: read
|
contents: read
|
||||||
@@ -44,71 +46,64 @@ jobs:
|
|||||||
timeout-minutes: 45
|
timeout-minutes: 45
|
||||||
runs-on: ${{ matrix.os }}
|
runs-on: ${{ matrix.os }}
|
||||||
steps:
|
steps:
|
||||||
- name: Setup Python on MacOS
|
- name: Setup Python on MacOS
|
||||||
uses: actions/setup-python@v5
|
uses: actions/setup-python@v5
|
||||||
if: >-
|
if: >-
|
||||||
matrix.os == 'macos-latest' && (
|
runner.os == 'macOS' && (
|
||||||
|
|
||||||
matrix.version == 'stable-20221211' ||
|
matrix.version == 'stable-v2.13.5' ||
|
||||||
|
|
||||||
matrix.version == 'stable-20230418' ||
|
matrix.version == 'stable-v2.14.6')
|
||||||
|
with:
|
||||||
|
python-version: '3.11'
|
||||||
|
- name: Check out repository
|
||||||
|
uses: actions/checkout@v4
|
||||||
|
- name: Prepare test
|
||||||
|
id: prepare-test
|
||||||
|
uses: ./.github/actions/prepare-test
|
||||||
|
with:
|
||||||
|
version: ${{ matrix.version }}
|
||||||
|
use-all-platform-bundle: 'false'
|
||||||
|
setup-kotlin: 'true'
|
||||||
|
- uses: ./../action/init
|
||||||
|
with:
|
||||||
|
config-file: .github/codeql/codeql-config-packaging3.yml
|
||||||
|
packs: +codeql-testing/codeql-pack1@1.0.0
|
||||||
|
languages: javascript
|
||||||
|
tools: ${{ steps.prepare-test.outputs.tools-url }}
|
||||||
|
- name: Build code
|
||||||
|
shell: bash
|
||||||
|
run: ./build.sh
|
||||||
|
- uses: ./../action/analyze
|
||||||
|
with:
|
||||||
|
skip-queries: true
|
||||||
|
output: ${{ runner.temp }}/results
|
||||||
|
upload-database: false
|
||||||
|
|
||||||
matrix.version == 'stable-v2.13.5' ||
|
- name: Assert No Results
|
||||||
|
shell: bash
|
||||||
|
run: |
|
||||||
|
if [ "$(ls -A $RUNNER_TEMP/results)" ]; then
|
||||||
|
echo "Expected results directory to be empty after skipping query execution!"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
- uses: ./../action/analyze
|
||||||
|
with:
|
||||||
|
output: ${{ runner.temp }}/results
|
||||||
|
upload-database: false
|
||||||
|
- name: Assert Results
|
||||||
|
shell: bash
|
||||||
|
run: |
|
||||||
|
cd "$RUNNER_TEMP/results"
|
||||||
|
# We should have 4 hits from these rules
|
||||||
|
EXPECTED_RULES="javascript/example/empty-or-one-block javascript/example/empty-or-one-block javascript/example/other-query-block javascript/example/two-block"
|
||||||
|
|
||||||
matrix.version == 'stable-v2.14.6')
|
# use tr to replace newlines with spaces and xargs to trim leading and trailing whitespace
|
||||||
with:
|
RULES="$(cat javascript.sarif | jq -r '.runs[0].results[].ruleId' | sort | tr "\n\r" " " | xargs)"
|
||||||
python-version: '3.11'
|
echo "Found matching rules '$RULES'"
|
||||||
- name: Check out repository
|
if [ "$RULES" != "$EXPECTED_RULES" ]; then
|
||||||
uses: actions/checkout@v4
|
echo "Did not match expected rules '$EXPECTED_RULES'."
|
||||||
- name: Prepare test
|
exit 1
|
||||||
id: prepare-test
|
fi
|
||||||
uses: ./.github/actions/prepare-test
|
|
||||||
with:
|
|
||||||
version: ${{ matrix.version }}
|
|
||||||
use-all-platform-bundle: 'false'
|
|
||||||
- name: Set environment variable for Swift enablement
|
|
||||||
if: runner.os != 'Windows' && matrix.version == '20221211'
|
|
||||||
shell: bash
|
|
||||||
run: echo "CODEQL_ENABLE_EXPERIMENTAL_FEATURES_SWIFT=true" >> $GITHUB_ENV
|
|
||||||
- uses: ./../action/init
|
|
||||||
with:
|
|
||||||
config-file: .github/codeql/codeql-config-packaging3.yml
|
|
||||||
packs: +codeql-testing/codeql-pack1@1.0.0
|
|
||||||
languages: javascript
|
|
||||||
tools: ${{ steps.prepare-test.outputs.tools-url }}
|
|
||||||
- name: Build code
|
|
||||||
shell: bash
|
|
||||||
run: ./build.sh
|
|
||||||
- uses: ./../action/analyze
|
|
||||||
with:
|
|
||||||
skip-queries: true
|
|
||||||
output: ${{ runner.temp }}/results
|
|
||||||
upload-database: false
|
|
||||||
|
|
||||||
- name: Assert No Results
|
|
||||||
shell: bash
|
|
||||||
run: |
|
|
||||||
if [ "$(ls -A $RUNNER_TEMP/results)" ]; then
|
|
||||||
echo "Expected results directory to be empty after skipping query execution!"
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
- uses: ./../action/analyze
|
|
||||||
with:
|
|
||||||
output: ${{ runner.temp }}/results
|
|
||||||
upload-database: false
|
|
||||||
- name: Assert Results
|
|
||||||
shell: bash
|
|
||||||
run: |
|
|
||||||
cd "$RUNNER_TEMP/results"
|
|
||||||
# We should have 4 hits from these rules
|
|
||||||
EXPECTED_RULES="javascript/example/empty-or-one-block javascript/example/empty-or-one-block javascript/example/other-query-block javascript/example/two-block"
|
|
||||||
|
|
||||||
# use tr to replace newlines with spaces and xargs to trim leading and trailing whitespace
|
|
||||||
RULES="$(cat javascript.sarif | jq -r '.runs[0].results[].ruleId' | sort | tr "\n\r" " " | xargs)"
|
|
||||||
echo "Found matching rules '$RULES'"
|
|
||||||
if [ "$RULES" != "$EXPECTED_RULES" ]; then
|
|
||||||
echo "Did not match expected rules '$EXPECTED_RULES'."
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
env:
|
env:
|
||||||
CODEQL_ACTION_TEST_MODE: true
|
CODEQL_ACTION_TEST_MODE: true
|
||||||
|
|||||||
91
.github/workflows/__submit-sarif-failure.yml
generated
vendored
91
.github/workflows/__submit-sarif-failure.yml
generated
vendored
@@ -7,30 +7,32 @@ name: PR Check - Submit SARIF after failure
|
|||||||
env:
|
env:
|
||||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
GO111MODULE: auto
|
GO111MODULE: auto
|
||||||
CODEQL_EXTRACTOR_JAVA_AGENT_DISABLE_KOTLIN: 'true'
|
|
||||||
on:
|
on:
|
||||||
push:
|
push:
|
||||||
branches:
|
branches:
|
||||||
- main
|
- main
|
||||||
- releases/v*
|
- releases/v*
|
||||||
pull_request:
|
pull_request:
|
||||||
types:
|
types:
|
||||||
- opened
|
- opened
|
||||||
- synchronize
|
- synchronize
|
||||||
- reopened
|
- reopened
|
||||||
- ready_for_review
|
- ready_for_review
|
||||||
|
schedule:
|
||||||
|
- cron: '0 5 * * *'
|
||||||
workflow_dispatch: {}
|
workflow_dispatch: {}
|
||||||
jobs:
|
jobs:
|
||||||
submit-sarif-failure:
|
submit-sarif-failure:
|
||||||
strategy:
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
include:
|
include:
|
||||||
- os: ubuntu-latest
|
- os: ubuntu-latest
|
||||||
version: latest
|
version: linked
|
||||||
- os: ubuntu-latest
|
- os: ubuntu-latest
|
||||||
version: default
|
version: default
|
||||||
- os: ubuntu-latest
|
- os: ubuntu-latest
|
||||||
version: nightly-latest
|
version: nightly-latest
|
||||||
name: Submit SARIF after failure
|
name: Submit SARIF after failure
|
||||||
permissions:
|
permissions:
|
||||||
contents: read
|
contents: read
|
||||||
@@ -38,49 +40,42 @@ jobs:
|
|||||||
timeout-minutes: 45
|
timeout-minutes: 45
|
||||||
runs-on: ${{ matrix.os }}
|
runs-on: ${{ matrix.os }}
|
||||||
steps:
|
steps:
|
||||||
- name: Setup Python on MacOS
|
- name: Setup Python on MacOS
|
||||||
uses: actions/setup-python@v5
|
uses: actions/setup-python@v5
|
||||||
if: >-
|
if: >-
|
||||||
matrix.os == 'macos-latest' && (
|
runner.os == 'macOS' && (
|
||||||
|
|
||||||
matrix.version == 'stable-20221211' ||
|
matrix.version == 'stable-v2.13.5' ||
|
||||||
|
|
||||||
matrix.version == 'stable-20230418' ||
|
matrix.version == 'stable-v2.14.6')
|
||||||
|
with:
|
||||||
matrix.version == 'stable-v2.13.5' ||
|
python-version: '3.11'
|
||||||
|
- name: Check out repository
|
||||||
matrix.version == 'stable-v2.14.6')
|
uses: actions/checkout@v4
|
||||||
with:
|
- name: Prepare test
|
||||||
python-version: '3.11'
|
id: prepare-test
|
||||||
- name: Check out repository
|
uses: ./.github/actions/prepare-test
|
||||||
uses: actions/checkout@v4
|
with:
|
||||||
- name: Prepare test
|
version: ${{ matrix.version }}
|
||||||
id: prepare-test
|
use-all-platform-bundle: 'false'
|
||||||
uses: ./.github/actions/prepare-test
|
setup-kotlin: 'true'
|
||||||
with:
|
- uses: actions/checkout@v4
|
||||||
version: ${{ matrix.version }}
|
- uses: ./init
|
||||||
use-all-platform-bundle: 'false'
|
with:
|
||||||
- name: Set environment variable for Swift enablement
|
languages: javascript
|
||||||
if: runner.os != 'Windows' && matrix.version == '20221211'
|
- name: Fail
|
||||||
shell: bash
|
|
||||||
run: echo "CODEQL_ENABLE_EXPERIMENTAL_FEATURES_SWIFT=true" >> $GITHUB_ENV
|
|
||||||
- uses: actions/checkout@v4
|
|
||||||
- uses: ./init
|
|
||||||
with:
|
|
||||||
languages: javascript
|
|
||||||
- name: Fail
|
|
||||||
# We want this job to pass if the Action correctly uploads the SARIF file for
|
# We want this job to pass if the Action correctly uploads the SARIF file for
|
||||||
# the failed run.
|
# the failed run.
|
||||||
# Setting this step to continue on error means that it is marked as completing
|
# Setting this step to continue on error means that it is marked as completing
|
||||||
# successfully, so will not fail the job.
|
# successfully, so will not fail the job.
|
||||||
continue-on-error: true
|
continue-on-error: true
|
||||||
run: exit 1
|
run: exit 1
|
||||||
- uses: ./analyze
|
- uses: ./analyze
|
||||||
# In a real workflow, this step wouldn't run. Since we used `continue-on-error`
|
# In a real workflow, this step wouldn't run. Since we used `continue-on-error`
|
||||||
# above, we manually disable it with an `if` condition.
|
# above, we manually disable it with an `if` condition.
|
||||||
if: false
|
if: false
|
||||||
with:
|
with:
|
||||||
category: /test-codeql-version:${{ matrix.version }}
|
category: /test-codeql-version:${{ matrix.version }}
|
||||||
env:
|
env:
|
||||||
# Internal-only environment variable used to indicate that the post-init Action
|
# Internal-only environment variable used to indicate that the post-init Action
|
||||||
# should expect to upload a SARIF file for the failed run.
|
# should expect to upload a SARIF file for the failed run.
|
||||||
|
|||||||
85
.github/workflows/__swift-autobuild.yml
generated
vendored
Normal file
85
.github/workflows/__swift-autobuild.yml
generated
vendored
Normal file
@@ -0,0 +1,85 @@
|
|||||||
|
# Warning: This file is generated automatically, and should not be modified.
|
||||||
|
# Instead, please modify the template in the pr-checks directory and run:
|
||||||
|
# (cd pr-checks; pip install ruamel.yaml@0.17.31 && python3 sync.py)
|
||||||
|
# to regenerate this file.
|
||||||
|
|
||||||
|
name: PR Check - Swift analysis using autobuild
|
||||||
|
env:
|
||||||
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
GO111MODULE: auto
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
branches:
|
||||||
|
- main
|
||||||
|
- releases/v*
|
||||||
|
pull_request:
|
||||||
|
types:
|
||||||
|
- opened
|
||||||
|
- synchronize
|
||||||
|
- reopened
|
||||||
|
- ready_for_review
|
||||||
|
schedule:
|
||||||
|
- cron: '0 5 * * *'
|
||||||
|
workflow_dispatch: {}
|
||||||
|
jobs:
|
||||||
|
swift-autobuild:
|
||||||
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
|
matrix:
|
||||||
|
include:
|
||||||
|
- os: macos-latest
|
||||||
|
version: nightly-latest
|
||||||
|
name: Swift analysis using autobuild
|
||||||
|
permissions:
|
||||||
|
contents: read
|
||||||
|
security-events: write
|
||||||
|
timeout-minutes: 45
|
||||||
|
runs-on: ${{ matrix.os }}
|
||||||
|
steps:
|
||||||
|
- name: Setup Python on MacOS
|
||||||
|
uses: actions/setup-python@v5
|
||||||
|
if: >-
|
||||||
|
runner.os == 'macOS' && (
|
||||||
|
|
||||||
|
matrix.version == 'stable-v2.13.5' ||
|
||||||
|
|
||||||
|
matrix.version == 'stable-v2.14.6')
|
||||||
|
with:
|
||||||
|
python-version: '3.11'
|
||||||
|
- name: Check out repository
|
||||||
|
uses: actions/checkout@v4
|
||||||
|
- name: Prepare test
|
||||||
|
id: prepare-test
|
||||||
|
uses: ./.github/actions/prepare-test
|
||||||
|
with:
|
||||||
|
version: ${{ matrix.version }}
|
||||||
|
use-all-platform-bundle: 'false'
|
||||||
|
setup-kotlin: 'true'
|
||||||
|
- uses: ./../action/init
|
||||||
|
id: init
|
||||||
|
with:
|
||||||
|
languages: swift
|
||||||
|
build-mode: autobuild
|
||||||
|
tools: ${{ steps.prepare-test.outputs.tools-url }}
|
||||||
|
- uses: ./../action/.github/actions/setup-swift
|
||||||
|
with:
|
||||||
|
codeql-path: ${{steps.init.outputs.codeql-path}}
|
||||||
|
- name: Check working directory
|
||||||
|
shell: bash
|
||||||
|
run: pwd
|
||||||
|
- uses: ./../action/autobuild
|
||||||
|
timeout-minutes: 30
|
||||||
|
- uses: ./../action/analyze
|
||||||
|
id: analysis
|
||||||
|
with:
|
||||||
|
upload-database: false
|
||||||
|
- name: Check database
|
||||||
|
shell: bash
|
||||||
|
run: |
|
||||||
|
SWIFT_DB="${{ fromJson(steps.analysis.outputs.db-locations).swift }}"
|
||||||
|
if [[ ! -d "$SWIFT_DB" ]]; then
|
||||||
|
echo "Did not create a database for Swift."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
env:
|
||||||
|
CODEQL_ACTION_TEST_MODE: true
|
||||||
127
.github/workflows/__swift-custom-build.yml
generated
vendored
127
.github/workflows/__swift-custom-build.yml
generated
vendored
@@ -7,36 +7,32 @@ name: PR Check - Swift analysis using a custom build command
|
|||||||
env:
|
env:
|
||||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
GO111MODULE: auto
|
GO111MODULE: auto
|
||||||
CODEQL_EXTRACTOR_JAVA_AGENT_DISABLE_KOTLIN: 'true'
|
|
||||||
on:
|
on:
|
||||||
push:
|
push:
|
||||||
branches:
|
branches:
|
||||||
- main
|
- main
|
||||||
- releases/v*
|
- releases/v*
|
||||||
pull_request:
|
pull_request:
|
||||||
types:
|
types:
|
||||||
- opened
|
- opened
|
||||||
- synchronize
|
- synchronize
|
||||||
- reopened
|
- reopened
|
||||||
- ready_for_review
|
- ready_for_review
|
||||||
|
schedule:
|
||||||
|
- cron: '0 5 * * *'
|
||||||
workflow_dispatch: {}
|
workflow_dispatch: {}
|
||||||
jobs:
|
jobs:
|
||||||
swift-custom-build:
|
swift-custom-build:
|
||||||
strategy:
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
include:
|
include:
|
||||||
- os: ubuntu-latest
|
- os: macos-latest
|
||||||
version: latest
|
version: linked
|
||||||
- os: macos-latest
|
- os: macos-latest
|
||||||
version: latest
|
version: default
|
||||||
- os: ubuntu-latest
|
- os: macos-latest
|
||||||
version: default
|
version: nightly-latest
|
||||||
- os: macos-latest
|
|
||||||
version: default
|
|
||||||
- os: ubuntu-latest
|
|
||||||
version: nightly-latest
|
|
||||||
- os: macos-latest
|
|
||||||
version: nightly-latest
|
|
||||||
name: Swift analysis using a custom build command
|
name: Swift analysis using a custom build command
|
||||||
permissions:
|
permissions:
|
||||||
contents: read
|
contents: read
|
||||||
@@ -44,58 +40,51 @@ jobs:
|
|||||||
timeout-minutes: 45
|
timeout-minutes: 45
|
||||||
runs-on: ${{ matrix.os }}
|
runs-on: ${{ matrix.os }}
|
||||||
steps:
|
steps:
|
||||||
- name: Setup Python on MacOS
|
- name: Setup Python on MacOS
|
||||||
uses: actions/setup-python@v5
|
uses: actions/setup-python@v5
|
||||||
if: >-
|
if: >-
|
||||||
matrix.os == 'macos-latest' && (
|
runner.os == 'macOS' && (
|
||||||
|
|
||||||
matrix.version == 'stable-20221211' ||
|
matrix.version == 'stable-v2.13.5' ||
|
||||||
|
|
||||||
matrix.version == 'stable-20230418' ||
|
matrix.version == 'stable-v2.14.6')
|
||||||
|
with:
|
||||||
matrix.version == 'stable-v2.13.5' ||
|
python-version: '3.11'
|
||||||
|
- name: Check out repository
|
||||||
matrix.version == 'stable-v2.14.6')
|
uses: actions/checkout@v4
|
||||||
with:
|
- name: Prepare test
|
||||||
python-version: '3.11'
|
id: prepare-test
|
||||||
- name: Check out repository
|
uses: ./.github/actions/prepare-test
|
||||||
uses: actions/checkout@v4
|
with:
|
||||||
- name: Prepare test
|
version: ${{ matrix.version }}
|
||||||
id: prepare-test
|
use-all-platform-bundle: 'false'
|
||||||
uses: ./.github/actions/prepare-test
|
setup-kotlin: 'true'
|
||||||
with:
|
- uses: ./../action/init
|
||||||
version: ${{ matrix.version }}
|
id: init
|
||||||
use-all-platform-bundle: 'false'
|
with:
|
||||||
- name: Set environment variable for Swift enablement
|
languages: swift
|
||||||
if: runner.os != 'Windows' && matrix.version == '20221211'
|
tools: ${{ steps.prepare-test.outputs.tools-url }}
|
||||||
shell: bash
|
- uses: ./../action/.github/actions/setup-swift
|
||||||
run: echo "CODEQL_ENABLE_EXPERIMENTAL_FEATURES_SWIFT=true" >> $GITHUB_ENV
|
with:
|
||||||
- uses: ./../action/init
|
codeql-path: ${{steps.init.outputs.codeql-path}}
|
||||||
id: init
|
- name: Check working directory
|
||||||
with:
|
shell: bash
|
||||||
languages: swift
|
run: pwd
|
||||||
tools: ${{ steps.prepare-test.outputs.tools-url }}
|
- name: Build code
|
||||||
- uses: ./../action/.github/actions/setup-swift
|
shell: bash
|
||||||
with:
|
run: ./build.sh
|
||||||
codeql-path: ${{steps.init.outputs.codeql-path}}
|
- uses: ./../action/analyze
|
||||||
- name: Check working directory
|
id: analysis
|
||||||
shell: bash
|
with:
|
||||||
run: pwd
|
upload-database: false
|
||||||
- name: Build code
|
- name: Check database
|
||||||
shell: bash
|
shell: bash
|
||||||
run: ./build.sh
|
run: |
|
||||||
- uses: ./../action/analyze
|
SWIFT_DB="${{ fromJson(steps.analysis.outputs.db-locations).swift }}"
|
||||||
id: analysis
|
if [[ ! -d "$SWIFT_DB" ]]; then
|
||||||
with:
|
echo "Did not create a database for Swift."
|
||||||
upload-database: false
|
exit 1
|
||||||
- name: Check database
|
fi
|
||||||
shell: bash
|
|
||||||
run: |
|
|
||||||
SWIFT_DB="${{ fromJson(steps.analysis.outputs.db-locations).swift }}"
|
|
||||||
if [[ ! -d "$SWIFT_DB" ]]; then
|
|
||||||
echo "Did not create a database for Swift."
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
env:
|
env:
|
||||||
DOTNET_GENERATE_ASPNET_CERTIFICATE: 'false'
|
DOTNET_GENERATE_ASPNET_CERTIFICATE: 'false'
|
||||||
CODEQL_ACTION_TEST_MODE: true
|
CODEQL_ACTION_TEST_MODE: true
|
||||||
|
|||||||
109
.github/workflows/__test-autobuild-working-dir.yml
generated
vendored
109
.github/workflows/__test-autobuild-working-dir.yml
generated
vendored
@@ -7,26 +7,28 @@ name: PR Check - Autobuild working directory
|
|||||||
env:
|
env:
|
||||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
GO111MODULE: auto
|
GO111MODULE: auto
|
||||||
CODEQL_EXTRACTOR_JAVA_AGENT_DISABLE_KOTLIN: 'true'
|
|
||||||
on:
|
on:
|
||||||
push:
|
push:
|
||||||
branches:
|
branches:
|
||||||
- main
|
- main
|
||||||
- releases/v*
|
- releases/v*
|
||||||
pull_request:
|
pull_request:
|
||||||
types:
|
types:
|
||||||
- opened
|
- opened
|
||||||
- synchronize
|
- synchronize
|
||||||
- reopened
|
- reopened
|
||||||
- ready_for_review
|
- ready_for_review
|
||||||
|
schedule:
|
||||||
|
- cron: '0 5 * * *'
|
||||||
workflow_dispatch: {}
|
workflow_dispatch: {}
|
||||||
jobs:
|
jobs:
|
||||||
test-autobuild-working-dir:
|
test-autobuild-working-dir:
|
||||||
strategy:
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
include:
|
include:
|
||||||
- os: ubuntu-latest
|
- os: ubuntu-latest
|
||||||
version: latest
|
version: linked
|
||||||
name: Autobuild working directory
|
name: Autobuild working directory
|
||||||
permissions:
|
permissions:
|
||||||
contents: read
|
contents: read
|
||||||
@@ -34,56 +36,47 @@ jobs:
|
|||||||
timeout-minutes: 45
|
timeout-minutes: 45
|
||||||
runs-on: ${{ matrix.os }}
|
runs-on: ${{ matrix.os }}
|
||||||
steps:
|
steps:
|
||||||
- name: Setup Python on MacOS
|
- name: Setup Python on MacOS
|
||||||
uses: actions/setup-python@v5
|
uses: actions/setup-python@v5
|
||||||
if: >-
|
if: >-
|
||||||
matrix.os == 'macos-latest' && (
|
runner.os == 'macOS' && (
|
||||||
|
|
||||||
matrix.version == 'stable-20221211' ||
|
matrix.version == 'stable-v2.13.5' ||
|
||||||
|
|
||||||
matrix.version == 'stable-20230418' ||
|
matrix.version == 'stable-v2.14.6')
|
||||||
|
with:
|
||||||
matrix.version == 'stable-v2.13.5' ||
|
python-version: '3.11'
|
||||||
|
- name: Check out repository
|
||||||
matrix.version == 'stable-v2.14.6')
|
uses: actions/checkout@v4
|
||||||
with:
|
- name: Prepare test
|
||||||
python-version: '3.11'
|
id: prepare-test
|
||||||
- name: Check out repository
|
uses: ./.github/actions/prepare-test
|
||||||
uses: actions/checkout@v4
|
with:
|
||||||
- name: Prepare test
|
version: ${{ matrix.version }}
|
||||||
id: prepare-test
|
use-all-platform-bundle: 'false'
|
||||||
uses: ./.github/actions/prepare-test
|
setup-kotlin: 'true'
|
||||||
with:
|
- name: Test setup
|
||||||
version: ${{ matrix.version }}
|
shell: bash
|
||||||
use-all-platform-bundle: 'false'
|
run: |
|
||||||
- name: Set environment variable for Swift enablement
|
# Make sure that Gradle build succeeds in autobuild-dir ...
|
||||||
if: runner.os != 'Windows' && matrix.version == '20221211'
|
cp -a ../action/tests/java-repo autobuild-dir
|
||||||
shell: bash
|
# ... and fails if attempted in the current directory
|
||||||
run: echo "CODEQL_ENABLE_EXPERIMENTAL_FEATURES_SWIFT=true" >> $GITHUB_ENV
|
echo > build.gradle
|
||||||
- name: Test setup
|
- uses: ./../action/init
|
||||||
shell: bash
|
with:
|
||||||
run: |
|
languages: java
|
||||||
# Make sure that Gradle build succeeds in autobuild-dir ...
|
tools: ${{ steps.prepare-test.outputs.tools-url }}
|
||||||
cp -a ../action/tests/java-repo autobuild-dir
|
- uses: ./../action/autobuild
|
||||||
# ... and fails if attempted in the current directory
|
with:
|
||||||
echo > build.gradle
|
working-directory: autobuild-dir
|
||||||
- uses: ./../action/init
|
- uses: ./../action/analyze
|
||||||
with:
|
- name: Check database
|
||||||
languages: java
|
shell: bash
|
||||||
tools: ${{ steps.prepare-test.outputs.tools-url }}
|
run: |
|
||||||
- uses: ./../action/autobuild
|
cd "$RUNNER_TEMP/codeql_databases"
|
||||||
with:
|
if [[ ! -d java ]]; then
|
||||||
working-directory: autobuild-dir
|
echo "Did not find a Java database"
|
||||||
- uses: ./../action/analyze
|
exit 1
|
||||||
with:
|
fi
|
||||||
upload-database: false
|
|
||||||
- name: Check database
|
|
||||||
shell: bash
|
|
||||||
run: |
|
|
||||||
cd "$RUNNER_TEMP/codeql_databases"
|
|
||||||
if [[ ! -d java ]]; then
|
|
||||||
echo "Did not find a Java database"
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
env:
|
env:
|
||||||
CODEQL_ACTION_TEST_MODE: true
|
CODEQL_ACTION_TEST_MODE: true
|
||||||
|
|||||||
96
.github/workflows/__test-local-codeql.yml
generated
vendored
96
.github/workflows/__test-local-codeql.yml
generated
vendored
@@ -7,26 +7,28 @@ name: PR Check - Local CodeQL bundle
|
|||||||
env:
|
env:
|
||||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
GO111MODULE: auto
|
GO111MODULE: auto
|
||||||
CODEQL_EXTRACTOR_JAVA_AGENT_DISABLE_KOTLIN: 'true'
|
|
||||||
on:
|
on:
|
||||||
push:
|
push:
|
||||||
branches:
|
branches:
|
||||||
- main
|
- main
|
||||||
- releases/v*
|
- releases/v*
|
||||||
pull_request:
|
pull_request:
|
||||||
types:
|
types:
|
||||||
- opened
|
- opened
|
||||||
- synchronize
|
- synchronize
|
||||||
- reopened
|
- reopened
|
||||||
- ready_for_review
|
- ready_for_review
|
||||||
|
schedule:
|
||||||
|
- cron: '0 5 * * *'
|
||||||
workflow_dispatch: {}
|
workflow_dispatch: {}
|
||||||
jobs:
|
jobs:
|
||||||
test-local-codeql:
|
test-local-codeql:
|
||||||
strategy:
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
include:
|
include:
|
||||||
- os: ubuntu-latest
|
- os: ubuntu-latest
|
||||||
version: nightly-latest
|
version: nightly-latest
|
||||||
name: Local CodeQL bundle
|
name: Local CodeQL bundle
|
||||||
permissions:
|
permissions:
|
||||||
contents: read
|
contents: read
|
||||||
@@ -34,50 +36,40 @@ jobs:
|
|||||||
timeout-minutes: 45
|
timeout-minutes: 45
|
||||||
runs-on: ${{ matrix.os }}
|
runs-on: ${{ matrix.os }}
|
||||||
steps:
|
steps:
|
||||||
- name: Setup Python on MacOS
|
- name: Setup Python on MacOS
|
||||||
uses: actions/setup-python@v5
|
uses: actions/setup-python@v5
|
||||||
if: >-
|
if: >-
|
||||||
matrix.os == 'macos-latest' && (
|
runner.os == 'macOS' && (
|
||||||
|
|
||||||
matrix.version == 'stable-20221211' ||
|
matrix.version == 'stable-v2.13.5' ||
|
||||||
|
|
||||||
matrix.version == 'stable-20230418' ||
|
matrix.version == 'stable-v2.14.6')
|
||||||
|
with:
|
||||||
matrix.version == 'stable-v2.13.5' ||
|
python-version: '3.11'
|
||||||
|
- name: Check out repository
|
||||||
matrix.version == 'stable-v2.14.6')
|
uses: actions/checkout@v4
|
||||||
with:
|
- name: Prepare test
|
||||||
python-version: '3.11'
|
id: prepare-test
|
||||||
- name: Check out repository
|
uses: ./.github/actions/prepare-test
|
||||||
uses: actions/checkout@v4
|
with:
|
||||||
- name: Prepare test
|
version: ${{ matrix.version }}
|
||||||
id: prepare-test
|
use-all-platform-bundle: 'false'
|
||||||
uses: ./.github/actions/prepare-test
|
setup-kotlin: 'true'
|
||||||
with:
|
- name: Fetch a CodeQL bundle
|
||||||
version: ${{ matrix.version }}
|
shell: bash
|
||||||
use-all-platform-bundle: 'false'
|
env:
|
||||||
- name: Set environment variable for Swift enablement
|
CODEQL_URL: ${{ steps.prepare-test.outputs.tools-url }}
|
||||||
if: runner.os != 'Windows' && matrix.version == '20221211'
|
run: |
|
||||||
shell: bash
|
wget "$CODEQL_URL"
|
||||||
run: echo "CODEQL_ENABLE_EXPERIMENTAL_FEATURES_SWIFT=true" >> $GITHUB_ENV
|
- id: init
|
||||||
- name: Fetch a CodeQL bundle
|
uses: ./../action/init
|
||||||
shell: bash
|
with:
|
||||||
env:
|
# Swift is not supported on Ubuntu so we manually exclude it from the list here
|
||||||
CODEQL_URL: ${{ steps.prepare-test.outputs.tools-url }}
|
languages: cpp,csharp,go,java,javascript,python,ruby
|
||||||
run: |
|
tools: ./codeql-bundle-linux64.tar.gz
|
||||||
wget "$CODEQL_URL"
|
- name: Build code
|
||||||
- id: init
|
shell: bash
|
||||||
uses: ./../action/init
|
run: ./build.sh
|
||||||
with:
|
- uses: ./../action/analyze
|
||||||
tools: ./codeql-bundle-linux64.tar.gz
|
|
||||||
- uses: ./../action/.github/actions/setup-swift
|
|
||||||
with:
|
|
||||||
codeql-path: ${{ steps.init.outputs.codeql-path }}
|
|
||||||
- name: Build code
|
|
||||||
shell: bash
|
|
||||||
run: ./build.sh
|
|
||||||
- uses: ./../action/analyze
|
|
||||||
with:
|
|
||||||
upload-database: false
|
|
||||||
env:
|
env:
|
||||||
CODEQL_ACTION_TEST_MODE: true
|
CODEQL_ACTION_TEST_MODE: true
|
||||||
|
|||||||
75
.github/workflows/__test-proxy.yml
generated
vendored
75
.github/workflows/__test-proxy.yml
generated
vendored
@@ -7,26 +7,28 @@ name: PR Check - Proxy test
|
|||||||
env:
|
env:
|
||||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
GO111MODULE: auto
|
GO111MODULE: auto
|
||||||
CODEQL_EXTRACTOR_JAVA_AGENT_DISABLE_KOTLIN: 'true'
|
|
||||||
on:
|
on:
|
||||||
push:
|
push:
|
||||||
branches:
|
branches:
|
||||||
- main
|
- main
|
||||||
- releases/v*
|
- releases/v*
|
||||||
pull_request:
|
pull_request:
|
||||||
types:
|
types:
|
||||||
- opened
|
- opened
|
||||||
- synchronize
|
- synchronize
|
||||||
- reopened
|
- reopened
|
||||||
- ready_for_review
|
- ready_for_review
|
||||||
|
schedule:
|
||||||
|
- cron: '0 5 * * *'
|
||||||
workflow_dispatch: {}
|
workflow_dispatch: {}
|
||||||
jobs:
|
jobs:
|
||||||
test-proxy:
|
test-proxy:
|
||||||
strategy:
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
include:
|
include:
|
||||||
- os: ubuntu-latest
|
- os: ubuntu-latest
|
||||||
version: latest
|
version: linked
|
||||||
name: Proxy test
|
name: Proxy test
|
||||||
permissions:
|
permissions:
|
||||||
contents: read
|
contents: read
|
||||||
@@ -34,39 +36,30 @@ jobs:
|
|||||||
timeout-minutes: 45
|
timeout-minutes: 45
|
||||||
runs-on: ${{ matrix.os }}
|
runs-on: ${{ matrix.os }}
|
||||||
steps:
|
steps:
|
||||||
- name: Setup Python on MacOS
|
- name: Setup Python on MacOS
|
||||||
uses: actions/setup-python@v5
|
uses: actions/setup-python@v5
|
||||||
if: >-
|
if: >-
|
||||||
matrix.os == 'macos-latest' && (
|
runner.os == 'macOS' && (
|
||||||
|
|
||||||
matrix.version == 'stable-20221211' ||
|
matrix.version == 'stable-v2.13.5' ||
|
||||||
|
|
||||||
matrix.version == 'stable-20230418' ||
|
matrix.version == 'stable-v2.14.6')
|
||||||
|
with:
|
||||||
matrix.version == 'stable-v2.13.5' ||
|
python-version: '3.11'
|
||||||
|
- name: Check out repository
|
||||||
matrix.version == 'stable-v2.14.6')
|
uses: actions/checkout@v4
|
||||||
with:
|
- name: Prepare test
|
||||||
python-version: '3.11'
|
id: prepare-test
|
||||||
- name: Check out repository
|
uses: ./.github/actions/prepare-test
|
||||||
uses: actions/checkout@v4
|
with:
|
||||||
- name: Prepare test
|
version: ${{ matrix.version }}
|
||||||
id: prepare-test
|
use-all-platform-bundle: 'false'
|
||||||
uses: ./.github/actions/prepare-test
|
setup-kotlin: 'false'
|
||||||
with:
|
- uses: ./../action/init
|
||||||
version: ${{ matrix.version }}
|
with:
|
||||||
use-all-platform-bundle: 'false'
|
languages: javascript
|
||||||
- name: Set environment variable for Swift enablement
|
tools: ${{ steps.prepare-test.outputs.tools-url }}
|
||||||
if: runner.os != 'Windows' && matrix.version == '20221211'
|
- uses: ./../action/analyze
|
||||||
shell: bash
|
|
||||||
run: echo "CODEQL_ENABLE_EXPERIMENTAL_FEATURES_SWIFT=true" >> $GITHUB_ENV
|
|
||||||
- uses: ./../action/init
|
|
||||||
with:
|
|
||||||
languages: javascript
|
|
||||||
tools: ${{ steps.prepare-test.outputs.tools-url }}
|
|
||||||
- uses: ./../action/analyze
|
|
||||||
with:
|
|
||||||
upload-database: false
|
|
||||||
env:
|
env:
|
||||||
https_proxy: http://squid-proxy:3128
|
https_proxy: http://squid-proxy:3128
|
||||||
CODEQL_ACTION_TEST_MODE: true
|
CODEQL_ACTION_TEST_MODE: true
|
||||||
@@ -77,4 +70,4 @@ jobs:
|
|||||||
squid-proxy:
|
squid-proxy:
|
||||||
image: ubuntu/squid:latest
|
image: ubuntu/squid:latest
|
||||||
ports:
|
ports:
|
||||||
- 3128:3128
|
- 3128:3128
|
||||||
|
|||||||
198
.github/workflows/__unset-environment.yml
generated
vendored
198
.github/workflows/__unset-environment.yml
generated
vendored
@@ -7,38 +7,42 @@ name: PR Check - Test unsetting environment variables
|
|||||||
env:
|
env:
|
||||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
GO111MODULE: auto
|
GO111MODULE: auto
|
||||||
CODEQL_EXTRACTOR_JAVA_AGENT_DISABLE_KOTLIN: 'true'
|
|
||||||
on:
|
on:
|
||||||
push:
|
push:
|
||||||
branches:
|
branches:
|
||||||
- main
|
- main
|
||||||
- releases/v*
|
- releases/v*
|
||||||
pull_request:
|
pull_request:
|
||||||
types:
|
types:
|
||||||
- opened
|
- opened
|
||||||
- synchronize
|
- synchronize
|
||||||
- reopened
|
- reopened
|
||||||
- ready_for_review
|
- ready_for_review
|
||||||
|
schedule:
|
||||||
|
- cron: '0 5 * * *'
|
||||||
workflow_dispatch: {}
|
workflow_dispatch: {}
|
||||||
jobs:
|
jobs:
|
||||||
unset-environment:
|
unset-environment:
|
||||||
strategy:
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
include:
|
include:
|
||||||
- os: ubuntu-latest
|
- os: ubuntu-latest
|
||||||
version: stable-20221211
|
version: stable-v2.13.5
|
||||||
- os: ubuntu-latest
|
- os: ubuntu-latest
|
||||||
version: stable-20230418
|
version: stable-v2.14.6
|
||||||
- os: ubuntu-latest
|
- os: ubuntu-latest
|
||||||
version: stable-v2.13.5
|
version: stable-v2.15.5
|
||||||
- os: ubuntu-latest
|
- os: ubuntu-latest
|
||||||
version: stable-v2.14.6
|
version: stable-v2.16.6
|
||||||
- os: ubuntu-latest
|
- os: ubuntu-latest
|
||||||
version: default
|
version: stable-v2.17.6
|
||||||
- os: ubuntu-latest
|
- os: ubuntu-latest
|
||||||
version: latest
|
version: default
|
||||||
- os: ubuntu-latest
|
- os: ubuntu-latest
|
||||||
version: nightly-latest
|
version: linked
|
||||||
|
- os: ubuntu-latest
|
||||||
|
version: nightly-latest
|
||||||
name: Test unsetting environment variables
|
name: Test unsetting environment variables
|
||||||
permissions:
|
permissions:
|
||||||
contents: read
|
contents: read
|
||||||
@@ -46,87 +50,79 @@ jobs:
|
|||||||
timeout-minutes: 45
|
timeout-minutes: 45
|
||||||
runs-on: ${{ matrix.os }}
|
runs-on: ${{ matrix.os }}
|
||||||
steps:
|
steps:
|
||||||
- name: Setup Python on MacOS
|
- name: Setup Python on MacOS
|
||||||
uses: actions/setup-python@v5
|
uses: actions/setup-python@v5
|
||||||
if: >-
|
if: >-
|
||||||
matrix.os == 'macos-latest' && (
|
runner.os == 'macOS' && (
|
||||||
|
|
||||||
matrix.version == 'stable-20221211' ||
|
matrix.version == 'stable-v2.13.5' ||
|
||||||
|
|
||||||
matrix.version == 'stable-20230418' ||
|
matrix.version == 'stable-v2.14.6')
|
||||||
|
with:
|
||||||
matrix.version == 'stable-v2.13.5' ||
|
python-version: '3.11'
|
||||||
|
- name: Check out repository
|
||||||
matrix.version == 'stable-v2.14.6')
|
uses: actions/checkout@v4
|
||||||
with:
|
- name: Prepare test
|
||||||
python-version: '3.11'
|
id: prepare-test
|
||||||
- name: Check out repository
|
uses: ./.github/actions/prepare-test
|
||||||
uses: actions/checkout@v4
|
with:
|
||||||
- name: Prepare test
|
version: ${{ matrix.version }}
|
||||||
id: prepare-test
|
use-all-platform-bundle: 'false'
|
||||||
uses: ./.github/actions/prepare-test
|
setup-kotlin: 'true'
|
||||||
with:
|
- uses: ./../action/init
|
||||||
version: ${{ matrix.version }}
|
id: init
|
||||||
use-all-platform-bundle: 'false'
|
with:
|
||||||
- name: Set environment variable for Swift enablement
|
db-location: ${{ runner.temp }}/customDbLocation
|
||||||
if: runner.os != 'Windows' && matrix.version == '20221211'
|
# Swift is not supported on Ubuntu so we manually exclude it from the list here
|
||||||
shell: bash
|
languages: cpp,csharp,go,java,javascript,python,ruby
|
||||||
run: echo "CODEQL_ENABLE_EXPERIMENTAL_FEATURES_SWIFT=true" >> $GITHUB_ENV
|
tools: ${{ steps.prepare-test.outputs.tools-url }}
|
||||||
- uses: ./../action/init
|
- uses: actions/setup-go@v5
|
||||||
id: init
|
with:
|
||||||
with:
|
go-version: '>=1.21.0'
|
||||||
db-location: ${{ runner.temp }}/customDbLocation
|
- name: Build code
|
||||||
tools: ${{ steps.prepare-test.outputs.tools-url }}
|
shell: bash
|
||||||
- uses: ./../action/.github/actions/setup-swift
|
run: env -i PATH="$PATH" HOME="$HOME" ./build.sh
|
||||||
with:
|
- uses: ./../action/analyze
|
||||||
codeql-path: ${{ steps.init.outputs.codeql-path }}
|
id: analysis
|
||||||
- name: Build code
|
with:
|
||||||
shell: bash
|
upload-database: false
|
||||||
# Disable Kotlin analysis while it's incompatible with Kotlin 1.8, until we find a
|
- shell: bash
|
||||||
# workaround for our PR checks.
|
run: |
|
||||||
run: env -i CODEQL_EXTRACTOR_JAVA_AGENT_DISABLE_KOTLIN=true PATH="$PATH" HOME="$HOME"
|
CPP_DB="${{ fromJson(steps.analysis.outputs.db-locations).cpp }}"
|
||||||
./build.sh
|
if [[ ! -d "$CPP_DB" ]] || [[ ! "$CPP_DB" == "${RUNNER_TEMP}/customDbLocation/cpp" ]]; then
|
||||||
- uses: ./../action/analyze
|
echo "::error::Did not create a database for CPP, or created it in the wrong location." \
|
||||||
id: analysis
|
"Expected location was '${RUNNER_TEMP}/customDbLocation/cpp' but actual was '${CPP_DB}'"
|
||||||
with:
|
exit 1
|
||||||
upload-database: false
|
fi
|
||||||
- shell: bash
|
CSHARP_DB="${{ fromJson(steps.analysis.outputs.db-locations).csharp }}"
|
||||||
run: |
|
if [[ ! -d "$CSHARP_DB" ]] || [[ ! "$CSHARP_DB" == "${RUNNER_TEMP}/customDbLocation/csharp" ]]; then
|
||||||
CPP_DB="${{ fromJson(steps.analysis.outputs.db-locations).cpp }}"
|
echo "::error::Did not create a database for C Sharp, or created it in the wrong location." \
|
||||||
if [[ ! -d "$CPP_DB" ]] || [[ ! "$CPP_DB" == "${RUNNER_TEMP}/customDbLocation/cpp" ]]; then
|
"Expected location was '${RUNNER_TEMP}/customDbLocation/csharp' but actual was '${CSHARP_DB}'"
|
||||||
echo "::error::Did not create a database for CPP, or created it in the wrong location." \
|
exit 1
|
||||||
"Expected location was '${RUNNER_TEMP}/customDbLocation/cpp' but actual was '${CPP_DB}'"
|
fi
|
||||||
exit 1
|
GO_DB="${{ fromJson(steps.analysis.outputs.db-locations).go }}"
|
||||||
fi
|
if [[ ! -d "$GO_DB" ]] || [[ ! "$GO_DB" == "${RUNNER_TEMP}/customDbLocation/go" ]]; then
|
||||||
CSHARP_DB="${{ fromJson(steps.analysis.outputs.db-locations).csharp }}"
|
echo "::error::Did not create a database for Go, or created it in the wrong location." \
|
||||||
if [[ ! -d "$CSHARP_DB" ]] || [[ ! "$CSHARP_DB" == "${RUNNER_TEMP}/customDbLocation/csharp" ]]; then
|
"Expected location was '${RUNNER_TEMP}/customDbLocation/go' but actual was '${GO_DB}'"
|
||||||
echo "::error::Did not create a database for C Sharp, or created it in the wrong location." \
|
exit 1
|
||||||
"Expected location was '${RUNNER_TEMP}/customDbLocation/csharp' but actual was '${CSHARP_DB}'"
|
fi
|
||||||
exit 1
|
JAVA_DB="${{ fromJson(steps.analysis.outputs.db-locations).java }}"
|
||||||
fi
|
if [[ ! -d "$JAVA_DB" ]] || [[ ! "$JAVA_DB" == "${RUNNER_TEMP}/customDbLocation/java" ]]; then
|
||||||
GO_DB="${{ fromJson(steps.analysis.outputs.db-locations).go }}"
|
echo "::error::Did not create a database for Java, or created it in the wrong location." \
|
||||||
if [[ ! -d "$GO_DB" ]] || [[ ! "$GO_DB" == "${RUNNER_TEMP}/customDbLocation/go" ]]; then
|
"Expected location was '${RUNNER_TEMP}/customDbLocation/java' but actual was '${JAVA_DB}'"
|
||||||
echo "::error::Did not create a database for Go, or created it in the wrong location." \
|
exit 1
|
||||||
"Expected location was '${RUNNER_TEMP}/customDbLocation/go' but actual was '${GO_DB}'"
|
fi
|
||||||
exit 1
|
JAVASCRIPT_DB="${{ fromJson(steps.analysis.outputs.db-locations).javascript }}"
|
||||||
fi
|
if [[ ! -d "$JAVASCRIPT_DB" ]] || [[ ! "$JAVASCRIPT_DB" == "${RUNNER_TEMP}/customDbLocation/javascript" ]]; then
|
||||||
JAVA_DB="${{ fromJson(steps.analysis.outputs.db-locations).java }}"
|
echo "::error::Did not create a database for Javascript, or created it in the wrong location." \
|
||||||
if [[ ! -d "$JAVA_DB" ]] || [[ ! "$JAVA_DB" == "${RUNNER_TEMP}/customDbLocation/java" ]]; then
|
"Expected location was '${RUNNER_TEMP}/customDbLocation/javascript' but actual was '${JAVASCRIPT_DB}'"
|
||||||
echo "::error::Did not create a database for Java, or created it in the wrong location." \
|
exit 1
|
||||||
"Expected location was '${RUNNER_TEMP}/customDbLocation/java' but actual was '${JAVA_DB}'"
|
fi
|
||||||
exit 1
|
PYTHON_DB="${{ fromJson(steps.analysis.outputs.db-locations).python }}"
|
||||||
fi
|
if [[ ! -d "$PYTHON_DB" ]] || [[ ! "$PYTHON_DB" == "${RUNNER_TEMP}/customDbLocation/python" ]]; then
|
||||||
JAVASCRIPT_DB="${{ fromJson(steps.analysis.outputs.db-locations).javascript }}"
|
echo "::error::Did not create a database for Python, or created it in the wrong location." \
|
||||||
if [[ ! -d "$JAVASCRIPT_DB" ]] || [[ ! "$JAVASCRIPT_DB" == "${RUNNER_TEMP}/customDbLocation/javascript" ]]; then
|
"Expected location was '${RUNNER_TEMP}/customDbLocation/python' but actual was '${PYTHON_DB}'"
|
||||||
echo "::error::Did not create a database for Javascript, or created it in the wrong location." \
|
exit 1
|
||||||
"Expected location was '${RUNNER_TEMP}/customDbLocation/javascript' but actual was '${JAVASCRIPT_DB}'"
|
fi
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
PYTHON_DB="${{ fromJson(steps.analysis.outputs.db-locations).python }}"
|
|
||||||
if [[ ! -d "$PYTHON_DB" ]] || [[ ! "$PYTHON_DB" == "${RUNNER_TEMP}/customDbLocation/python" ]]; then
|
|
||||||
echo "::error::Did not create a database for Python, or created it in the wrong location." \
|
|
||||||
"Expected location was '${RUNNER_TEMP}/customDbLocation/python' but actual was '${PYTHON_DB}'"
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
env:
|
env:
|
||||||
CODEQL_ACTION_TEST_MODE: true
|
CODEQL_ACTION_TEST_MODE: true
|
||||||
|
|||||||
107
.github/workflows/__upload-ref-sha-input.yml
generated
vendored
107
.github/workflows/__upload-ref-sha-input.yml
generated
vendored
@@ -7,30 +7,32 @@ name: "PR Check - Upload-sarif: 'ref' and 'sha' from inputs"
|
|||||||
env:
|
env:
|
||||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
GO111MODULE: auto
|
GO111MODULE: auto
|
||||||
CODEQL_EXTRACTOR_JAVA_AGENT_DISABLE_KOTLIN: 'true'
|
|
||||||
on:
|
on:
|
||||||
push:
|
push:
|
||||||
branches:
|
branches:
|
||||||
- main
|
- main
|
||||||
- releases/v*
|
- releases/v*
|
||||||
pull_request:
|
pull_request:
|
||||||
types:
|
types:
|
||||||
- opened
|
- opened
|
||||||
- synchronize
|
- synchronize
|
||||||
- reopened
|
- reopened
|
||||||
- ready_for_review
|
- ready_for_review
|
||||||
|
schedule:
|
||||||
|
- cron: '0 5 * * *'
|
||||||
workflow_dispatch: {}
|
workflow_dispatch: {}
|
||||||
jobs:
|
jobs:
|
||||||
upload-ref-sha-input:
|
upload-ref-sha-input:
|
||||||
strategy:
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
include:
|
include:
|
||||||
- os: ubuntu-latest
|
- os: ubuntu-latest
|
||||||
version: default
|
version: default
|
||||||
- os: macos-latest
|
- os: macos-latest
|
||||||
version: default
|
version: default
|
||||||
- os: windows-latest
|
- os: windows-latest
|
||||||
version: default
|
version: default
|
||||||
name: "Upload-sarif: 'ref' and 'sha' from inputs"
|
name: "Upload-sarif: 'ref' and 'sha' from inputs"
|
||||||
permissions:
|
permissions:
|
||||||
contents: read
|
contents: read
|
||||||
@@ -38,50 +40,43 @@ jobs:
|
|||||||
timeout-minutes: 45
|
timeout-minutes: 45
|
||||||
runs-on: ${{ matrix.os }}
|
runs-on: ${{ matrix.os }}
|
||||||
steps:
|
steps:
|
||||||
- name: Setup Python on MacOS
|
- name: Setup Python on MacOS
|
||||||
uses: actions/setup-python@v5
|
uses: actions/setup-python@v5
|
||||||
if: >-
|
if: >-
|
||||||
matrix.os == 'macos-latest' && (
|
runner.os == 'macOS' && (
|
||||||
|
|
||||||
matrix.version == 'stable-20221211' ||
|
matrix.version == 'stable-v2.13.5' ||
|
||||||
|
|
||||||
matrix.version == 'stable-20230418' ||
|
matrix.version == 'stable-v2.14.6')
|
||||||
|
with:
|
||||||
matrix.version == 'stable-v2.13.5' ||
|
python-version: '3.11'
|
||||||
|
- name: Check out repository
|
||||||
matrix.version == 'stable-v2.14.6')
|
uses: actions/checkout@v4
|
||||||
with:
|
- name: Prepare test
|
||||||
python-version: '3.11'
|
id: prepare-test
|
||||||
- name: Check out repository
|
uses: ./.github/actions/prepare-test
|
||||||
uses: actions/checkout@v4
|
with:
|
||||||
- name: Prepare test
|
version: ${{ matrix.version }}
|
||||||
id: prepare-test
|
use-all-platform-bundle: 'false'
|
||||||
uses: ./.github/actions/prepare-test
|
setup-kotlin: 'true'
|
||||||
with:
|
- uses: ./../action/init
|
||||||
version: ${{ matrix.version }}
|
with:
|
||||||
use-all-platform-bundle: 'false'
|
tools: ${{ steps.prepare-test.outputs.tools-url }}
|
||||||
- name: Set environment variable for Swift enablement
|
languages: cpp,csharp,java,javascript,python
|
||||||
if: runner.os != 'Windows' && matrix.version == '20221211'
|
config-file: ${{ github.repository }}/tests/multi-language-repo/.github/codeql/custom-queries.yml@${{
|
||||||
shell: bash
|
github.sha }}
|
||||||
run: echo "CODEQL_ENABLE_EXPERIMENTAL_FEATURES_SWIFT=true" >> $GITHUB_ENV
|
- name: Build code
|
||||||
- uses: ./../action/init
|
shell: bash
|
||||||
with:
|
run: ./build.sh
|
||||||
tools: ${{ steps.prepare-test.outputs.tools-url }}
|
# Generate some SARIF we can upload with the upload-sarif step
|
||||||
languages: cpp,csharp,java,javascript,python
|
- uses: ./../action/analyze
|
||||||
config-file: ${{ github.repository }}/tests/multi-language-repo/.github/codeql/custom-queries.yml@${{
|
with:
|
||||||
github.sha }}
|
ref: refs/heads/main
|
||||||
- name: Build code
|
sha: 5e235361806c361d4d3f8859e3c897658025a9a2
|
||||||
shell: bash
|
upload: never
|
||||||
run: ./build.sh
|
- uses: ./../action/upload-sarif
|
||||||
- uses: ./../action/analyze
|
with:
|
||||||
with:
|
ref: refs/heads/main
|
||||||
upload-database: false
|
sha: 5e235361806c361d4d3f8859e3c897658025a9a2
|
||||||
ref: refs/heads/main
|
|
||||||
sha: 5e235361806c361d4d3f8859e3c897658025a9a2
|
|
||||||
upload: never
|
|
||||||
- uses: ./../action/upload-sarif
|
|
||||||
with:
|
|
||||||
ref: refs/heads/main
|
|
||||||
sha: 5e235361806c361d4d3f8859e3c897658025a9a2
|
|
||||||
env:
|
env:
|
||||||
CODEQL_ACTION_TEST_MODE: true
|
CODEQL_ACTION_TEST_MODE: true
|
||||||
|
|||||||
177
.github/workflows/__with-checkout-path.yml
generated
vendored
177
.github/workflows/__with-checkout-path.yml
generated
vendored
@@ -7,30 +7,32 @@ name: PR Check - Use a custom `checkout_path`
|
|||||||
env:
|
env:
|
||||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
GO111MODULE: auto
|
GO111MODULE: auto
|
||||||
CODEQL_EXTRACTOR_JAVA_AGENT_DISABLE_KOTLIN: 'true'
|
|
||||||
on:
|
on:
|
||||||
push:
|
push:
|
||||||
branches:
|
branches:
|
||||||
- main
|
- main
|
||||||
- releases/v*
|
- releases/v*
|
||||||
pull_request:
|
pull_request:
|
||||||
types:
|
types:
|
||||||
- opened
|
- opened
|
||||||
- synchronize
|
- synchronize
|
||||||
- reopened
|
- reopened
|
||||||
- ready_for_review
|
- ready_for_review
|
||||||
|
schedule:
|
||||||
|
- cron: '0 5 * * *'
|
||||||
workflow_dispatch: {}
|
workflow_dispatch: {}
|
||||||
jobs:
|
jobs:
|
||||||
with-checkout-path:
|
with-checkout-path:
|
||||||
strategy:
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
include:
|
include:
|
||||||
- os: ubuntu-latest
|
- os: ubuntu-latest
|
||||||
version: latest
|
version: linked
|
||||||
- os: macos-latest
|
- os: macos-latest
|
||||||
version: latest
|
version: linked
|
||||||
- os: windows-latest
|
- os: windows-latest
|
||||||
version: latest
|
version: linked
|
||||||
name: Use a custom `checkout_path`
|
name: Use a custom `checkout_path`
|
||||||
permissions:
|
permissions:
|
||||||
contents: read
|
contents: read
|
||||||
@@ -38,100 +40,85 @@ jobs:
|
|||||||
timeout-minutes: 45
|
timeout-minutes: 45
|
||||||
runs-on: ${{ matrix.os }}
|
runs-on: ${{ matrix.os }}
|
||||||
steps:
|
steps:
|
||||||
- name: Setup Python on MacOS
|
- name: Setup Python on MacOS
|
||||||
uses: actions/setup-python@v5
|
uses: actions/setup-python@v5
|
||||||
if: >-
|
if: >-
|
||||||
matrix.os == 'macos-latest' && (
|
runner.os == 'macOS' && (
|
||||||
|
|
||||||
matrix.version == 'stable-20221211' ||
|
matrix.version == 'stable-v2.13.5' ||
|
||||||
|
|
||||||
matrix.version == 'stable-20230418' ||
|
matrix.version == 'stable-v2.14.6')
|
||||||
|
with:
|
||||||
matrix.version == 'stable-v2.13.5' ||
|
python-version: '3.11'
|
||||||
|
- name: Check out repository
|
||||||
matrix.version == 'stable-v2.14.6')
|
uses: actions/checkout@v4
|
||||||
with:
|
- name: Prepare test
|
||||||
python-version: '3.11'
|
id: prepare-test
|
||||||
- name: Check out repository
|
uses: ./.github/actions/prepare-test
|
||||||
uses: actions/checkout@v4
|
with:
|
||||||
- name: Prepare test
|
version: ${{ matrix.version }}
|
||||||
id: prepare-test
|
use-all-platform-bundle: 'false'
|
||||||
uses: ./.github/actions/prepare-test
|
setup-kotlin: 'true'
|
||||||
with:
|
- name: Delete original checkout
|
||||||
version: ${{ matrix.version }}
|
shell: bash
|
||||||
use-all-platform-bundle: 'false'
|
run: |
|
||||||
- name: Set environment variable for Swift enablement
|
# delete the original checkout so we don't accidentally use it.
|
||||||
if: runner.os != 'Windows' && matrix.version == '20221211'
|
# Actions does not support deleting the current working directory, so we
|
||||||
shell: bash
|
# delete the contents of the directory instead.
|
||||||
run: echo "CODEQL_ENABLE_EXPERIMENTAL_FEATURES_SWIFT=true" >> $GITHUB_ENV
|
rm -rf ./* .github .git
|
||||||
- name: Delete original checkout
|
|
||||||
shell: bash
|
|
||||||
run: |
|
|
||||||
# delete the original checkout so we don't accidentally use it.
|
|
||||||
# Actions does not support deleting the current working directory, so we
|
|
||||||
# delete the contents of the directory instead.
|
|
||||||
rm -rf ./* .github .git
|
|
||||||
# Check out the actions repo again, but at a different location.
|
# Check out the actions repo again, but at a different location.
|
||||||
# choose an arbitrary SHA so that we can later test that the commit_oid is not from main
|
# choose an arbitrary SHA so that we can later test that the commit_oid is not from main
|
||||||
- uses: actions/checkout@v4
|
- uses: actions/checkout@v4
|
||||||
with:
|
with:
|
||||||
ref: 474bbf07f9247ffe1856c6a0f94aeeb10e7afee6
|
ref: 474bbf07f9247ffe1856c6a0f94aeeb10e7afee6
|
||||||
path: x/y/z/some-path
|
path: x/y/z/some-path
|
||||||
|
|
||||||
- uses: ./../action/init
|
- uses: ./../action/init
|
||||||
with:
|
with:
|
||||||
tools: ${{ steps.prepare-test.outputs.tools-url }}
|
tools: ${{ steps.prepare-test.outputs.tools-url }}
|
||||||
# it's enough to test one compiled language and one interpreted language
|
# it's enough to test one compiled language and one interpreted language
|
||||||
languages: csharp,javascript
|
languages: csharp,javascript
|
||||||
source-root: x/y/z/some-path/tests/multi-language-repo
|
source-root: x/y/z/some-path/tests/multi-language-repo
|
||||||
|
|
||||||
- name: Build code
|
- name: Build code
|
||||||
shell: bash
|
shell: bash
|
||||||
working-directory: x/y/z/some-path/tests/multi-language-repo
|
working-directory: x/y/z/some-path/tests/multi-language-repo
|
||||||
run: |
|
run: |
|
||||||
./build.sh
|
./build.sh
|
||||||
|
|
||||||
- uses: ./../action/analyze
|
- uses: ./../action/analyze
|
||||||
with:
|
with:
|
||||||
checkout_path: x/y/z/some-path/tests/multi-language-repo
|
checkout_path: x/y/z/some-path/tests/multi-language-repo
|
||||||
ref: v1.1.0
|
ref: v1.1.0
|
||||||
sha: 474bbf07f9247ffe1856c6a0f94aeeb10e7afee6
|
sha: 474bbf07f9247ffe1856c6a0f94aeeb10e7afee6
|
||||||
upload: never
|
|
||||||
upload-database: false
|
|
||||||
|
|
||||||
- uses: ./../action/upload-sarif
|
- name: Verify SARIF after upload
|
||||||
with:
|
shell: bash
|
||||||
ref: v1.1.0
|
run: |
|
||||||
sha: 474bbf07f9247ffe1856c6a0f94aeeb10e7afee6
|
EXPECTED_COMMIT_OID="474bbf07f9247ffe1856c6a0f94aeeb10e7afee6"
|
||||||
checkout_path: x/y/z/some-path/tests/multi-language-repo
|
EXPECTED_REF="v1.1.0"
|
||||||
|
EXPECTED_CHECKOUT_URI_SUFFIX="/x/y/z/some-path/tests/multi-language-repo"
|
||||||
|
|
||||||
- name: Verify SARIF after upload
|
ACTUAL_COMMIT_OID="$(cat "$RUNNER_TEMP/payload.json" | jq -r .commit_oid)"
|
||||||
shell: bash
|
ACTUAL_REF="$(cat "$RUNNER_TEMP/payload.json" | jq -r .ref)"
|
||||||
run: |
|
ACTUAL_CHECKOUT_URI="$(cat "$RUNNER_TEMP/payload.json" | jq -r .checkout_uri)"
|
||||||
EXPECTED_COMMIT_OID="474bbf07f9247ffe1856c6a0f94aeeb10e7afee6"
|
|
||||||
EXPECTED_REF="v1.1.0"
|
|
||||||
EXPECTED_CHECKOUT_URI_SUFFIX="/x/y/z/some-path/tests/multi-language-repo"
|
|
||||||
|
|
||||||
ACTUAL_COMMIT_OID="$(cat "$RUNNER_TEMP/payload.json" | jq -r .commit_oid)"
|
if [[ "$EXPECTED_COMMIT_OID" != "$ACTUAL_COMMIT_OID" ]]; then
|
||||||
ACTUAL_REF="$(cat "$RUNNER_TEMP/payload.json" | jq -r .ref)"
|
echo "::error Invalid commit oid. Expected: $EXPECTED_COMMIT_OID Actual: $ACTUAL_COMMIT_OID"
|
||||||
ACTUAL_CHECKOUT_URI="$(cat "$RUNNER_TEMP/payload.json" | jq -r .checkout_uri)"
|
echo "$RUNNER_TEMP/payload.json"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
if [[ "$EXPECTED_COMMIT_OID" != "$ACTUAL_COMMIT_OID" ]]; then
|
if [[ "$EXPECTED_REF" != "$ACTUAL_REF" ]]; then
|
||||||
echo "::error Invalid commit oid. Expected: $EXPECTED_COMMIT_OID Actual: $ACTUAL_COMMIT_OID"
|
echo "::error Invalid ref. Expected: '$EXPECTED_REF' Actual: '$ACTUAL_REF'"
|
||||||
echo "$RUNNER_TEMP/payload.json"
|
echo "$RUNNER_TEMP/payload.json"
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [[ "$EXPECTED_REF" != "$ACTUAL_REF" ]]; then
|
if [[ "$ACTUAL_CHECKOUT_URI" != *$EXPECTED_CHECKOUT_URI_SUFFIX ]]; then
|
||||||
echo "::error Invalid ref. Expected: '$EXPECTED_REF' Actual: '$ACTUAL_REF'"
|
echo "::error Invalid checkout URI suffix. Expected suffix: $EXPECTED_CHECKOUT_URI_SUFFIX Actual uri: $ACTUAL_CHECKOUT_URI"
|
||||||
echo "$RUNNER_TEMP/payload.json"
|
echo "$RUNNER_TEMP/payload.json"
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [[ "$ACTUAL_CHECKOUT_URI" != *$EXPECTED_CHECKOUT_URI_SUFFIX ]]; then
|
|
||||||
echo "::error Invalid checkout URI suffix. Expected suffix: $EXPECTED_CHECKOUT_URI_SUFFIX Actual uri: $ACTUAL_CHECKOUT_URI"
|
|
||||||
echo "$RUNNER_TEMP/payload.json"
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
env:
|
env:
|
||||||
CODEQL_ACTION_TEST_MODE: true
|
CODEQL_ACTION_TEST_MODE: true
|
||||||
|
|||||||
13
.github/workflows/codeql.yml
vendored
13
.github/workflows/codeql.yml
vendored
@@ -41,7 +41,7 @@ jobs:
|
|||||||
id: init-latest
|
id: init-latest
|
||||||
uses: ./init
|
uses: ./init
|
||||||
with:
|
with:
|
||||||
tools: latest
|
tools: linked
|
||||||
languages: javascript
|
languages: javascript
|
||||||
- name: Compare default and latest CodeQL bundle versions
|
- name: Compare default and latest CodeQL bundle versions
|
||||||
id: compare
|
id: compare
|
||||||
@@ -54,16 +54,16 @@ jobs:
|
|||||||
echo "Default CodeQL bundle version is $CODEQL_VERSION_DEFAULT"
|
echo "Default CodeQL bundle version is $CODEQL_VERSION_DEFAULT"
|
||||||
echo "Latest CodeQL bundle version is $CODEQL_VERSION_LATEST"
|
echo "Latest CodeQL bundle version is $CODEQL_VERSION_LATEST"
|
||||||
|
|
||||||
# If we're running on a pull request, run with both bundles, even if `tools: latest` would
|
# If we're running on a pull request, run with both bundles, even if `tools: linked` would
|
||||||
# be the same as `tools: null`. This allows us to make the job for each of the bundles a
|
# be the same as `tools: null`. This allows us to make the job for each of the bundles a
|
||||||
# required status check.
|
# required status check.
|
||||||
#
|
#
|
||||||
# If we're running on push or schedule, then we can skip running with `tools: latest` when it would be
|
# If we're running on push or schedule, then we can skip running with `tools: linked` when it would be
|
||||||
# the same as running with `tools: null`.
|
# the same as running with `tools: null`.
|
||||||
if [[ "$GITHUB_EVENT_NAME" != "pull_request" && "$CODEQL_VERSION_DEFAULT" == "$CODEQL_VERSION_LATEST" ]]; then
|
if [[ "$GITHUB_EVENT_NAME" != "pull_request" && "$CODEQL_VERSION_DEFAULT" == "$CODEQL_VERSION_LATEST" ]]; then
|
||||||
VERSIONS_JSON='[null]'
|
VERSIONS_JSON='[null]'
|
||||||
else
|
else
|
||||||
VERSIONS_JSON='[null, "latest"]'
|
VERSIONS_JSON='[null, "linked"]'
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Output a JSON-encoded list with the distinct versions to test against.
|
# Output a JSON-encoded list with the distinct versions to test against.
|
||||||
@@ -73,8 +73,9 @@ jobs:
|
|||||||
build:
|
build:
|
||||||
needs: [check-codeql-versions]
|
needs: [check-codeql-versions]
|
||||||
strategy:
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
os: [ubuntu-20.04,ubuntu-22.04,windows-2019,windows-2022,macos-11,macos-12,macos-13]
|
os: [ubuntu-20.04,ubuntu-22.04,windows-2019,windows-2022,macos-12,macos-13,macos-14]
|
||||||
tools: ${{ fromJson(needs.check-codeql-versions.outputs.versions) }}
|
tools: ${{ fromJson(needs.check-codeql-versions.outputs.versions) }}
|
||||||
runs-on: ${{ matrix.os }}
|
runs-on: ${{ matrix.os }}
|
||||||
|
|
||||||
@@ -96,3 +97,5 @@ jobs:
|
|||||||
run: ${{steps.init.outputs.codeql-path}} version --format=json
|
run: ${{steps.init.outputs.codeql-path}} version --format=json
|
||||||
- name: Perform CodeQL Analysis
|
- name: Perform CodeQL Analysis
|
||||||
uses: ./analyze
|
uses: ./analyze
|
||||||
|
with:
|
||||||
|
category: "/language:javascript"
|
||||||
|
|||||||
@@ -15,6 +15,8 @@ on:
|
|||||||
- synchronize
|
- synchronize
|
||||||
- reopened
|
- reopened
|
||||||
- ready_for_review
|
- ready_for_review
|
||||||
|
schedule:
|
||||||
|
- cron: '0 5 * * *'
|
||||||
workflow_dispatch: {}
|
workflow_dispatch: {}
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
@@ -22,12 +24,13 @@ jobs:
|
|||||||
continue-on-error: true
|
continue-on-error: true
|
||||||
|
|
||||||
strategy:
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
include:
|
include:
|
||||||
- os: ubuntu-latest
|
- os: ubuntu-latest
|
||||||
version: latest
|
version: linked
|
||||||
- os: macos-latest
|
- os: macos-latest
|
||||||
version: latest
|
version: linked
|
||||||
- os: ubuntu-latest
|
- os: ubuntu-latest
|
||||||
version: default
|
version: default
|
||||||
- os: macos-latest
|
- os: macos-latest
|
||||||
|
|||||||
@@ -2,9 +2,6 @@
|
|||||||
# when the analyze step fails.
|
# when the analyze step fails.
|
||||||
name: PR Check - Debug artifacts after failure
|
name: PR Check - Debug artifacts after failure
|
||||||
env:
|
env:
|
||||||
# Disable Kotlin analysis while it's incompatible with Kotlin 1.8, until we find a
|
|
||||||
# workaround for our PR checks.
|
|
||||||
CODEQL_EXTRACTOR_JAVA_AGENT_DISABLE_KOTLIN: true
|
|
||||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
on:
|
on:
|
||||||
push:
|
push:
|
||||||
@@ -17,6 +14,8 @@ on:
|
|||||||
- synchronize
|
- synchronize
|
||||||
- reopened
|
- reopened
|
||||||
- ready_for_review
|
- ready_for_review
|
||||||
|
schedule:
|
||||||
|
- cron: '0 5 * * *'
|
||||||
workflow_dispatch: {}
|
workflow_dispatch: {}
|
||||||
jobs:
|
jobs:
|
||||||
upload-artifacts:
|
upload-artifacts:
|
||||||
@@ -35,7 +34,7 @@ jobs:
|
|||||||
id: prepare-test
|
id: prepare-test
|
||||||
uses: ./.github/actions/prepare-test
|
uses: ./.github/actions/prepare-test
|
||||||
with:
|
with:
|
||||||
version: latest
|
version: linked
|
||||||
- uses: actions/setup-go@v5
|
- uses: actions/setup-go@v5
|
||||||
with:
|
with:
|
||||||
go-version: ^1.13.1
|
go-version: ^1.13.1
|
||||||
|
|||||||
20
.github/workflows/debug-artifacts.yml
vendored
20
.github/workflows/debug-artifacts.yml
vendored
@@ -1,9 +1,6 @@
|
|||||||
# Checks logs, SARIF, and database bundle debug artifacts exist.
|
# Checks logs, SARIF, and database bundle debug artifacts exist.
|
||||||
name: PR Check - Debug artifact upload
|
name: PR Check - Debug artifact upload
|
||||||
env:
|
env:
|
||||||
# Disable Kotlin analysis while it's incompatible with Kotlin 1.8, until we find a
|
|
||||||
# workaround for our PR checks.
|
|
||||||
CODEQL_EXTRACTOR_JAVA_AGENT_DISABLE_KOTLIN: true
|
|
||||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
on:
|
on:
|
||||||
push:
|
push:
|
||||||
@@ -16,18 +13,22 @@ on:
|
|||||||
- synchronize
|
- synchronize
|
||||||
- reopened
|
- reopened
|
||||||
- ready_for_review
|
- ready_for_review
|
||||||
|
schedule:
|
||||||
|
- cron: '0 5 * * *'
|
||||||
workflow_dispatch: {}
|
workflow_dispatch: {}
|
||||||
jobs:
|
jobs:
|
||||||
upload-artifacts:
|
upload-artifacts:
|
||||||
strategy:
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
version:
|
version:
|
||||||
- stable-20221211
|
|
||||||
- stable-20230418
|
|
||||||
- stable-v2.13.5
|
- stable-v2.13.5
|
||||||
- stable-v2.14.6
|
- stable-v2.14.6
|
||||||
|
- stable-v2.15.5
|
||||||
|
- stable-v2.16.6
|
||||||
|
- stable-v2.17.6
|
||||||
- default
|
- default
|
||||||
- latest
|
- linked
|
||||||
- nightly-latest
|
- nightly-latest
|
||||||
name: Upload debug artifacts
|
name: Upload debug artifacts
|
||||||
env:
|
env:
|
||||||
@@ -52,9 +53,8 @@ jobs:
|
|||||||
debug: true
|
debug: true
|
||||||
debug-artifact-name: my-debug-artifacts
|
debug-artifact-name: my-debug-artifacts
|
||||||
debug-database-name: my-db
|
debug-database-name: my-db
|
||||||
- uses: ./../action/.github/actions/setup-swift
|
# We manually exclude Swift from the languages list here, as it is not supported on Ubuntu
|
||||||
with:
|
languages: cpp,csharp,go,java,javascript,python,ruby
|
||||||
codeql-path: ${{ steps.init.outputs.codeql-path }}
|
|
||||||
- name: Build code
|
- name: Build code
|
||||||
shell: bash
|
shell: bash
|
||||||
run: ./build.sh
|
run: ./build.sh
|
||||||
@@ -71,7 +71,7 @@ jobs:
|
|||||||
- name: Check expected artifacts exist
|
- name: Check expected artifacts exist
|
||||||
shell: bash
|
shell: bash
|
||||||
run: |
|
run: |
|
||||||
VERSIONS="stable-20221211 stable-20230418 stable-v2.13.5 stable-v2.14.6 default latest nightly-latest"
|
VERSIONS="stable-v2.13.5 stable-v2.14.6 stable-v2.15.5 stable-v2.16.6 stable-v2.17.6 default linked nightly-latest"
|
||||||
LANGUAGES="cpp csharp go java javascript python"
|
LANGUAGES="cpp csharp go java javascript python"
|
||||||
for version in $VERSIONS; do
|
for version in $VERSIONS; do
|
||||||
pushd "./my-debug-artifacts-${version//./}"
|
pushd "./my-debug-artifacts-${version//./}"
|
||||||
|
|||||||
6
.github/workflows/expected-queries-runs.yml
vendored
6
.github/workflows/expected-queries-runs.yml
vendored
@@ -11,6 +11,8 @@ on:
|
|||||||
- synchronize
|
- synchronize
|
||||||
- reopened
|
- reopened
|
||||||
- ready_for_review
|
- ready_for_review
|
||||||
|
schedule:
|
||||||
|
- cron: '0 5 * * *'
|
||||||
workflow_dispatch: {}
|
workflow_dispatch: {}
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
@@ -27,7 +29,7 @@ jobs:
|
|||||||
id: prepare-test
|
id: prepare-test
|
||||||
uses: ./.github/actions/prepare-test
|
uses: ./.github/actions/prepare-test
|
||||||
with:
|
with:
|
||||||
version: latest
|
version: linked
|
||||||
- uses: ./../action/init
|
- uses: ./../action/init
|
||||||
with:
|
with:
|
||||||
languages: javascript
|
languages: javascript
|
||||||
@@ -35,8 +37,6 @@ jobs:
|
|||||||
- uses: ./../action/analyze
|
- uses: ./../action/analyze
|
||||||
with:
|
with:
|
||||||
output: ${{ runner.temp }}/results
|
output: ${{ runner.temp }}/results
|
||||||
upload-database: false
|
|
||||||
upload: never
|
|
||||||
|
|
||||||
- name: Check Sarif
|
- name: Check Sarif
|
||||||
uses: ./../action/.github/actions/check-sarif
|
uses: ./../action/.github/actions/check-sarif
|
||||||
|
|||||||
8
.github/workflows/pr-checks.yml
vendored
8
.github/workflows/pr-checks.yml
vendored
@@ -2,7 +2,6 @@ name: PR Checks
|
|||||||
|
|
||||||
on:
|
on:
|
||||||
push:
|
push:
|
||||||
branches: [main, releases/v*]
|
|
||||||
pull_request:
|
pull_request:
|
||||||
# Run checks on reopened draft PRs to support triggering PR checks on draft PRs that were opened
|
# Run checks on reopened draft PRs to support triggering PR checks on draft PRs that were opened
|
||||||
# by other workflows.
|
# by other workflows.
|
||||||
@@ -16,6 +15,7 @@ jobs:
|
|||||||
timeout-minutes: 45
|
timeout-minutes: 45
|
||||||
|
|
||||||
strategy:
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
node-types-version: [16.11, current] # run tests on 16.11 while CodeQL Action v2 is still supported
|
node-types-version: [16.11, current] # run tests on 16.11 while CodeQL Action v2 is still supported
|
||||||
|
|
||||||
@@ -52,6 +52,7 @@ jobs:
|
|||||||
run: .github/workflows/script/check-js.sh
|
run: .github/workflows/script/check-js.sh
|
||||||
|
|
||||||
check-node-modules:
|
check-node-modules:
|
||||||
|
if: github.event_name != 'push' || github.ref == 'refs/heads/main' || startsWith(github.ref, 'refs/heads/releases/v')
|
||||||
name: Check modules up to date
|
name: Check modules up to date
|
||||||
runs-on: macos-latest
|
runs-on: macos-latest
|
||||||
timeout-minutes: 45
|
timeout-minutes: 45
|
||||||
@@ -62,6 +63,7 @@ jobs:
|
|||||||
run: .github/workflows/script/check-node-modules.sh
|
run: .github/workflows/script/check-node-modules.sh
|
||||||
|
|
||||||
check-file-contents:
|
check-file-contents:
|
||||||
|
if: github.event_name != 'push' || github.ref == 'refs/heads/main' || startsWith(github.ref, 'refs/heads/releases/v')
|
||||||
name: Check file contents
|
name: Check file contents
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
timeout-minutes: 45
|
timeout-minutes: 45
|
||||||
@@ -86,9 +88,11 @@ jobs:
|
|||||||
run: .github/workflows/script/verify-pr-checks.sh
|
run: .github/workflows/script/verify-pr-checks.sh
|
||||||
|
|
||||||
npm-test:
|
npm-test:
|
||||||
|
if: github.event_name != 'push' || github.ref == 'refs/heads/main' || startsWith(github.ref, 'refs/heads/releases/v')
|
||||||
name: Unit Test
|
name: Unit Test
|
||||||
needs: [check-js, check-node-modules]
|
needs: [check-js, check-node-modules]
|
||||||
strategy:
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
os: [ubuntu-latest, macos-latest, windows-latest]
|
os: [ubuntu-latest, macos-latest, windows-latest]
|
||||||
runs-on: ${{ matrix.os }}
|
runs-on: ${{ matrix.os }}
|
||||||
@@ -104,7 +108,7 @@ jobs:
|
|||||||
npm test
|
npm test
|
||||||
|
|
||||||
check-node-version:
|
check-node-version:
|
||||||
if: ${{ github.event.pull_request }}
|
if: github.event.pull_request
|
||||||
name: Check Action Node versions
|
name: Check Action Node versions
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
timeout-minutes: 45
|
timeout-minutes: 45
|
||||||
|
|||||||
174
.github/workflows/python-deps.yml
vendored
174
.github/workflows/python-deps.yml
vendored
@@ -1,174 +0,0 @@
|
|||||||
name: Test Python Package Installation
|
|
||||||
|
|
||||||
on:
|
|
||||||
push:
|
|
||||||
branches: [main, releases/v*]
|
|
||||||
pull_request:
|
|
||||||
# Run checks on reopened draft PRs to support triggering PR checks on draft PRs that were opened
|
|
||||||
# by other workflows.
|
|
||||||
types: [opened, synchronize, reopened, ready_for_review]
|
|
||||||
paths:
|
|
||||||
# Changes to this workflow.
|
|
||||||
- '.github/workflows/python-deps.yml'
|
|
||||||
# Changes to the Python package installation scripts and their tests.
|
|
||||||
- 'python-setup/**'
|
|
||||||
# Changes to the default CodeQL bundle version.
|
|
||||||
- '**/defaults.json'
|
|
||||||
schedule:
|
|
||||||
# Weekly on Monday.
|
|
||||||
- cron: '0 0 * * 1'
|
|
||||||
workflow_dispatch:
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
test-setup-python-scripts:
|
|
||||||
timeout-minutes: 45
|
|
||||||
runs-on: ${{ matrix.os }}
|
|
||||||
strategy:
|
|
||||||
fail-fast: false
|
|
||||||
matrix:
|
|
||||||
os: [ubuntu-20.04, ubuntu-22.04, macos-latest]
|
|
||||||
python_deps_type: [pipenv, poetry, requirements, setup_py]
|
|
||||||
python_version: [3]
|
|
||||||
|
|
||||||
|
|
||||||
env:
|
|
||||||
PYTHON_DEPS_TYPE: ${{ matrix.python_deps_type }}
|
|
||||||
PYTHON_VERSION: ${{ matrix.python_version }}
|
|
||||||
|
|
||||||
steps:
|
|
||||||
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
|
|
||||||
- uses: actions/checkout@v4
|
|
||||||
|
|
||||||
- name: Initialize CodeQL
|
|
||||||
uses: ./init
|
|
||||||
id: init
|
|
||||||
with:
|
|
||||||
tools: latest
|
|
||||||
languages: python
|
|
||||||
setup-python-dependencies: false
|
|
||||||
|
|
||||||
- name: Test Auto Package Installation
|
|
||||||
run: |
|
|
||||||
set -x
|
|
||||||
$GITHUB_WORKSPACE/python-setup/install_tools.sh
|
|
||||||
|
|
||||||
cd $GITHUB_WORKSPACE/python-setup/tests/${PYTHON_DEPS_TYPE}/requests-${PYTHON_VERSION}
|
|
||||||
|
|
||||||
case ${{ matrix.os }} in
|
|
||||||
ubuntu-20.04*) basePath="/opt";;
|
|
||||||
ubuntu-22.04*) basePath="/opt";;
|
|
||||||
macos-latest*) basePath="/Users/runner";;
|
|
||||||
esac
|
|
||||||
echo ${basePath}
|
|
||||||
|
|
||||||
$GITHUB_WORKSPACE/python-setup/auto_install_packages.py "$(dirname ${{steps.init.outputs.codeql-path}})"
|
|
||||||
- name: Setup for extractor
|
|
||||||
run: |
|
|
||||||
echo $CODEQL_PYTHON
|
|
||||||
# only run if $CODEQL_PYTHON is set
|
|
||||||
if [ ! -z $CODEQL_PYTHON ]; then
|
|
||||||
$GITHUB_WORKSPACE/python-setup/tests/from_python_exe.py $CODEQL_PYTHON;
|
|
||||||
fi
|
|
||||||
|
|
||||||
- name: Verify packages installed
|
|
||||||
run: |
|
|
||||||
$GITHUB_WORKSPACE/python-setup/tests/check_requests.sh ${PYTHON_VERSION} 2.31.0
|
|
||||||
|
|
||||||
# This one shouldn't fail, but also won't install packages
|
|
||||||
test-setup-python-scripts-non-standard-location:
|
|
||||||
runs-on: ${{ matrix.os }}
|
|
||||||
strategy:
|
|
||||||
fail-fast: false
|
|
||||||
matrix:
|
|
||||||
os: [ubuntu-20.04, ubuntu-22.04, macos-latest]
|
|
||||||
|
|
||||||
steps:
|
|
||||||
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
|
|
||||||
- uses: actions/checkout@v4
|
|
||||||
|
|
||||||
- name: Initialize CodeQL
|
|
||||||
uses: ./init
|
|
||||||
id: init
|
|
||||||
with:
|
|
||||||
tools: latest
|
|
||||||
languages: python
|
|
||||||
setup-python-dependencies: false
|
|
||||||
|
|
||||||
- name: Test Auto Package Installation
|
|
||||||
run: |
|
|
||||||
set -x
|
|
||||||
$GITHUB_WORKSPACE/python-setup/install_tools.sh
|
|
||||||
|
|
||||||
cd $GITHUB_WORKSPACE/python-setup/tests/requirements/non-standard-location
|
|
||||||
|
|
||||||
case ${{ matrix.os }} in
|
|
||||||
ubuntu-20.04*) basePath="/opt";;
|
|
||||||
ubuntu-22.04*) basePath="/opt";;
|
|
||||||
macos-latest*) basePath="/Users/runner";;
|
|
||||||
esac
|
|
||||||
echo ${basePath}
|
|
||||||
|
|
||||||
$GITHUB_WORKSPACE/python-setup/auto_install_packages.py "$(dirname ${{steps.init.outputs.codeql-path}})"
|
|
||||||
|
|
||||||
- name: Setup for extractor
|
|
||||||
run: |
|
|
||||||
echo $CODEQL_PYTHON
|
|
||||||
# only run if $CODEQL_PYTHON is set
|
|
||||||
if [ ! -z $CODEQL_PYTHON ]; then
|
|
||||||
$GITHUB_WORKSPACE/python-setup/tests/from_python_exe.py $CODEQL_PYTHON;
|
|
||||||
fi
|
|
||||||
|
|
||||||
- name: Verify packages installed
|
|
||||||
run: |
|
|
||||||
test -z $LGTM_INDEX_IMPORT_PATH
|
|
||||||
|
|
||||||
test-setup-python-scripts-windows:
|
|
||||||
runs-on: windows-latest
|
|
||||||
strategy:
|
|
||||||
fail-fast: false
|
|
||||||
matrix:
|
|
||||||
python_deps_type: [pipenv, poetry, requirements, setup_py]
|
|
||||||
python_version: [3]
|
|
||||||
|
|
||||||
env:
|
|
||||||
CODEQL_ACTION_TEST_MODE: true
|
|
||||||
PYTHON_DEPS_TYPE: ${{ matrix.python_deps_type }}
|
|
||||||
PYTHON_VERSION: ${{ matrix.python_version }}
|
|
||||||
|
|
||||||
steps:
|
|
||||||
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
|
|
||||||
- uses: actions/checkout@v4
|
|
||||||
|
|
||||||
- uses: actions/setup-python@v5
|
|
||||||
with:
|
|
||||||
python-version: ${{ matrix.python_version }}
|
|
||||||
|
|
||||||
- name: Initialize CodeQL
|
|
||||||
id: init
|
|
||||||
uses: ./init
|
|
||||||
with:
|
|
||||||
tools: latest
|
|
||||||
languages: python
|
|
||||||
setup-python-dependencies: false
|
|
||||||
|
|
||||||
- name: Test Auto Package Installation
|
|
||||||
env:
|
|
||||||
CODEQL_PATH: ${{ steps.init.outputs.codeql-path }}
|
|
||||||
run: |
|
|
||||||
$cmd = $Env:GITHUB_WORKSPACE + "\\python-setup\\install_tools.ps1"
|
|
||||||
powershell -File $cmd
|
|
||||||
|
|
||||||
cd $Env:GITHUB_WORKSPACE\\python-setup/tests/$Env:PYTHON_DEPS_TYPE/requests-$Env:PYTHON_VERSION
|
|
||||||
$codeql_dist = (get-item $Env:CODEQL_PATH).Directory.FullName
|
|
||||||
py -3 $Env:GITHUB_WORKSPACE\\python-setup\\auto_install_packages.py $codeql_dist
|
|
||||||
|
|
||||||
- name: Setup for extractor
|
|
||||||
run: |
|
|
||||||
echo $Env:CODEQL_PYTHON
|
|
||||||
|
|
||||||
py -3 $Env:GITHUB_WORKSPACE\\python-setup\\tests\\from_python_exe.py $Env:CODEQL_PYTHON
|
|
||||||
|
|
||||||
- name: Verify packages installed
|
|
||||||
run: |
|
|
||||||
$cmd = $Env:GITHUB_WORKSPACE + "\\python-setup\\tests\\check_requests.ps1"
|
|
||||||
powershell -File $cmd $Env:PYTHON_VERSION 2.31.0
|
|
||||||
7
.github/workflows/python312-windows.yml
vendored
7
.github/workflows/python312-windows.yml
vendored
@@ -14,6 +14,8 @@ on:
|
|||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
test-setup-python-scripts:
|
test-setup-python-scripts:
|
||||||
|
env:
|
||||||
|
CODEQL_ACTION_TEST_MODE: true
|
||||||
timeout-minutes: 45
|
timeout-minutes: 45
|
||||||
runs-on: windows-latest
|
runs-on: windows-latest
|
||||||
|
|
||||||
@@ -32,11 +34,8 @@ jobs:
|
|||||||
- name: Initialize CodeQL
|
- name: Initialize CodeQL
|
||||||
uses: ./../action/init
|
uses: ./../action/init
|
||||||
with:
|
with:
|
||||||
tools: latest
|
tools: linked
|
||||||
languages: python
|
languages: python
|
||||||
|
|
||||||
- name: Analyze
|
- name: Analyze
|
||||||
uses: ./../action/analyze
|
uses: ./../action/analyze
|
||||||
with:
|
|
||||||
upload: false
|
|
||||||
upload-database: false
|
|
||||||
|
|||||||
4
.github/workflows/query-filters.yml
vendored
4
.github/workflows/query-filters.yml
vendored
@@ -11,6 +11,8 @@ on:
|
|||||||
- synchronize
|
- synchronize
|
||||||
- reopened
|
- reopened
|
||||||
- ready_for_review
|
- ready_for_review
|
||||||
|
schedule:
|
||||||
|
- cron: '0 5 * * *'
|
||||||
workflow_dispatch: {}
|
workflow_dispatch: {}
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
@@ -25,7 +27,7 @@ jobs:
|
|||||||
id: prepare-test
|
id: prepare-test
|
||||||
uses: ./.github/actions/prepare-test
|
uses: ./.github/actions/prepare-test
|
||||||
with:
|
with:
|
||||||
version: latest
|
version: linked
|
||||||
|
|
||||||
- name: Check SARIF for default queries with Single include, Single exclude
|
- name: Check SARIF for default queries with Single include, Single exclude
|
||||||
uses: ./../action/.github/actions/query-filter-test
|
uses: ./../action/.github/actions/query-filter-test
|
||||||
|
|||||||
@@ -1,9 +1,12 @@
|
|||||||
if [ "$1" != "update" && "$1" != "check-only" ]; then
|
#!/bin/bash
|
||||||
|
set -eu
|
||||||
|
|
||||||
|
if [ "$1" != "update" ] && [ "$1" != "check-only" ]; then
|
||||||
>&2 echo "Failed: Invalid argument. Must be 'update' or 'check-only'"
|
>&2 echo "Failed: Invalid argument. Must be 'update' or 'check-only'"
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
sudo npm install --force -g npm@9.2.0
|
npm install --force -g npm@9.2.0
|
||||||
|
|
||||||
# clean the npm cache to ensure we don't have any files owned by root
|
# clean the npm cache to ensure we don't have any files owned by root
|
||||||
sudo npm cache clean --force
|
sudo npm cache clean --force
|
||||||
|
|||||||
@@ -28,7 +28,8 @@ fi
|
|||||||
echo "Getting checks for $GITHUB_SHA"
|
echo "Getting checks for $GITHUB_SHA"
|
||||||
|
|
||||||
# Ignore any checks with "https://", CodeQL, LGTM, and Update checks.
|
# Ignore any checks with "https://", CodeQL, LGTM, and Update checks.
|
||||||
CHECKS="$(gh api repos/github/codeql-action/commits/"${GITHUB_SHA}"/check-runs --paginate | jq --slurp --compact-output --raw-output '[.[].check_runs | .[].name | select(contains("https://") or . == "CodeQL" or . == "Dependabot" or . == "check-expected-release-files" or contains("Update") or contains("update") or contains("test-setup-python-scripts") | not)] | unique | sort')"
|
# Also ignore the non-matrixed "Unit Tests" job that only runs on pushes to protected branches.
|
||||||
|
CHECKS="$(gh api repos/github/codeql-action/commits/"${GITHUB_SHA}"/check-runs --paginate | jq --slurp --compact-output --raw-output '[.[].check_runs | .[].name | select(contains("https://") or . == "CodeQL" or . == "Dependabot" or . == "check-expected-release-files" or . == "Unit Tests" or contains("Update") or contains("update") or contains("test-setup-python-scripts") | not)] | unique | sort')"
|
||||||
|
|
||||||
echo "$CHECKS" | jq
|
echo "$CHECKS" | jq
|
||||||
|
|
||||||
|
|||||||
13
.github/workflows/test-codeql-bundle-all.yml
vendored
13
.github/workflows/test-codeql-bundle-all.yml
vendored
@@ -2,9 +2,6 @@ name: 'PR Check - CodeQL Bundle All'
|
|||||||
env:
|
env:
|
||||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
GO111MODULE: auto
|
GO111MODULE: auto
|
||||||
# Disable Kotlin analysis while it's incompatible with Kotlin 1.8, until we find a
|
|
||||||
# workaround for our PR checks.
|
|
||||||
CODEQL_EXTRACTOR_JAVA_AGENT_DISABLE_KOTLIN: 'true'
|
|
||||||
on:
|
on:
|
||||||
push:
|
push:
|
||||||
branches:
|
branches:
|
||||||
@@ -16,10 +13,13 @@ on:
|
|||||||
- synchronize
|
- synchronize
|
||||||
- reopened
|
- reopened
|
||||||
- ready_for_review
|
- ready_for_review
|
||||||
|
schedule:
|
||||||
|
- cron: '0 5 * * *'
|
||||||
workflow_dispatch: {}
|
workflow_dispatch: {}
|
||||||
jobs:
|
jobs:
|
||||||
test-codeql-bundle-all:
|
test-codeql-bundle-all:
|
||||||
strategy:
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
include:
|
include:
|
||||||
- os: ubuntu-latest
|
- os: ubuntu-latest
|
||||||
@@ -42,15 +42,12 @@ jobs:
|
|||||||
- id: init
|
- id: init
|
||||||
uses: ./../action/init
|
uses: ./../action/init
|
||||||
with:
|
with:
|
||||||
|
# We manually exclude Swift from the languages list here, as it is not supported on Ubuntu
|
||||||
|
languages: cpp,csharp,go,java,javascript,python,ruby
|
||||||
tools: ${{ steps.prepare-test.outputs.tools-url }}
|
tools: ${{ steps.prepare-test.outputs.tools-url }}
|
||||||
- uses: ./../action/.github/actions/setup-swift
|
|
||||||
with:
|
|
||||||
codeql-path: ${{ steps.init.outputs.codeql-path }}
|
|
||||||
- name: Build code
|
- name: Build code
|
||||||
shell: bash
|
shell: bash
|
||||||
run: ./build.sh
|
run: ./build.sh
|
||||||
- uses: ./../action/analyze
|
- uses: ./../action/analyze
|
||||||
with:
|
|
||||||
upload-database: false
|
|
||||||
env:
|
env:
|
||||||
CODEQL_ACTION_TEST_MODE: true
|
CODEQL_ACTION_TEST_MODE: true
|
||||||
|
|||||||
2
.github/workflows/update-bundle.yml
vendored
2
.github/workflows/update-bundle.yml
vendored
@@ -54,7 +54,7 @@ jobs:
|
|||||||
cli_version=$(jq -r '.cliVersion' src/defaults.json)
|
cli_version=$(jq -r '.cliVersion' src/defaults.json)
|
||||||
pr_url=$(gh pr create \
|
pr_url=$(gh pr create \
|
||||||
--title "Update default bundle to $cli_version" \
|
--title "Update default bundle to $cli_version" \
|
||||||
--body "This pull request updates the default CodeQL bundle, as used with \`tools: latest\` and on GHES, to $cli_version." \
|
--body "This pull request updates the default CodeQL bundle, as used with \`tools: linked\` and on GHES, to $cli_version." \
|
||||||
--assignee "$GITHUB_ACTOR" \
|
--assignee "$GITHUB_ACTOR" \
|
||||||
--draft \
|
--draft \
|
||||||
)
|
)
|
||||||
|
|||||||
94
CHANGELOG.md
94
CHANGELOG.md
@@ -4,10 +4,102 @@ See the [releases page](https://github.com/github/codeql-action/releases) for th
|
|||||||
|
|
||||||
Note that the only difference between `v2` and `v3` of the CodeQL Action is the node version they support, with `v3` running on node 20 while we continue to release `v2` to support running on node 16. For example `3.22.11` was the first `v3` release and is functionally identical to `2.22.11`. This approach ensures an easy way to track exactly which features are included in different versions, indicated by the minor and patch version numbers.
|
Note that the only difference between `v2` and `v3` of the CodeQL Action is the node version they support, with `v3` running on node 20 while we continue to release `v2` to support running on node 16. For example `3.22.11` was the first `v3` release and is functionally identical to `2.22.11`. This approach ensures an easy way to track exactly which features are included in different versions, indicated by the minor and patch version numbers.
|
||||||
|
|
||||||
## [UNRELEASED]
|
## 3.26.0 - 06 Aug 2024
|
||||||
|
|
||||||
|
- _Deprecation:_ Swift analysis on Ubuntu runner images is no longer supported. Please migrate to a macOS runner if this affects you. [#2403](https://github.com/github/codeql-action/pull/2403)
|
||||||
|
- Bump the minimum CodeQL bundle version to 2.13.5. [#2408](https://github.com/github/codeql-action/pull/2408)
|
||||||
|
|
||||||
|
## 3.25.15 - 26 Jul 2024
|
||||||
|
|
||||||
|
- Update default CodeQL bundle version to 2.18.1. [#2385](https://github.com/github/codeql-action/pull/2385)
|
||||||
|
|
||||||
|
## 3.25.14 - 25 Jul 2024
|
||||||
|
|
||||||
|
- Experimental: add a new `start-proxy` action which starts the same HTTP proxy as used by [`github/dependabot-action`](https://github.com/github/dependabot-action). Do not use this in production as it is part of an internal experiment and subject to change at any time. [#2376](https://github.com/github/codeql-action/pull/2376)
|
||||||
|
|
||||||
|
## 3.25.13 - 19 Jul 2024
|
||||||
|
|
||||||
|
- Add `codeql-version` to outputs. [#2368](https://github.com/github/codeql-action/pull/2368)
|
||||||
|
- Add a deprecation warning for customers using CodeQL version 2.13.4 and earlier. These versions of CodeQL were discontinued on 9 July 2024 alongside GitHub Enterprise Server 3.9, and will be unsupported by CodeQL Action versions 3.26.0 and later and versions 2.26.0 and later. [#2375](https://github.com/github/codeql-action/pull/2375)
|
||||||
|
- If you are using one of these versions, please update to CodeQL CLI version 2.13.5 or later. For instance, if you have specified a custom version of the CLI using the 'tools' input to the 'init' Action, you can remove this input to use the default version.
|
||||||
|
- Alternatively, if you want to continue using a version of the CodeQL CLI between 2.12.6 and 2.13.4, you can replace `github/codeql-action/*@v3` by `github/codeql-action/*@v3.25.13` and `github/codeql-action/*@v2` by `github/codeql-action/*@v2.25.13` in your code scanning workflow to ensure you continue using this version of the CodeQL Action.
|
||||||
|
|
||||||
|
## 3.25.12 - 12 Jul 2024
|
||||||
|
|
||||||
|
- Improve the reliability and performance of analyzing code when analyzing a compiled language with the `autobuild` [build mode](https://docs.github.com/en/code-security/code-scanning/creating-an-advanced-setup-for-code-scanning/codeql-code-scanning-for-compiled-languages#codeql-build-modes) on GitHub Enterprise Server. This feature is already available to GitHub.com users. [#2353](https://github.com/github/codeql-action/pull/2353)
|
||||||
|
- Update default CodeQL bundle version to 2.18.0. [#2364](https://github.com/github/codeql-action/pull/2364)
|
||||||
|
|
||||||
|
## 3.25.11 - 28 Jun 2024
|
||||||
|
|
||||||
|
- Avoid failing the workflow run if there is an error while uploading debug artifacts. [#2349](https://github.com/github/codeql-action/pull/2349)
|
||||||
|
- Update default CodeQL bundle version to 2.17.6. [#2352](https://github.com/github/codeql-action/pull/2352)
|
||||||
|
|
||||||
|
## 3.25.10 - 13 Jun 2024
|
||||||
|
|
||||||
|
- Update default CodeQL bundle version to 2.17.5. [#2327](https://github.com/github/codeql-action/pull/2327)
|
||||||
|
|
||||||
|
## 3.25.9 - 12 Jun 2024
|
||||||
|
|
||||||
|
- Avoid failing database creation if the database folder already exists and contains some unexpected files. Requires CodeQL 2.18.0 or higher. [#2330](https://github.com/github/codeql-action/pull/2330)
|
||||||
|
- The init Action will attempt to clean up the database cluster directory before creating a new database and at the end of the job. This will help to avoid issues where the database cluster directory is left in an inconsistent state. [#2332](https://github.com/github/codeql-action/pull/2332)
|
||||||
|
|
||||||
|
## 3.25.8 - 04 Jun 2024
|
||||||
|
|
||||||
|
- Update default CodeQL bundle version to 2.17.4. [#2321](https://github.com/github/codeql-action/pull/2321)
|
||||||
|
|
||||||
|
## 3.25.7 - 31 May 2024
|
||||||
|
|
||||||
|
- We are rolling out a feature in May/June 2024 that will reduce the Actions cache usage of the Action by keeping only the newest TRAP cache for each language. [#2306](https://github.com/github/codeql-action/pull/2306)
|
||||||
|
|
||||||
|
## 3.25.6 - 20 May 2024
|
||||||
|
|
||||||
|
- Update default CodeQL bundle version to 2.17.3. [#2295](https://github.com/github/codeql-action/pull/2295)
|
||||||
|
|
||||||
|
## 3.25.5 - 13 May 2024
|
||||||
|
|
||||||
|
- Add a compatibility matrix of supported CodeQL Action, CodeQL CLI, and GitHub Enterprise Server versions to the [README.md](README.md). [#2273](https://github.com/github/codeql-action/pull/2273)
|
||||||
|
- Avoid printing out a warning for a missing `on.push` trigger when the CodeQL Action is triggered via a `workflow_call` event. [#2274](https://github.com/github/codeql-action/pull/2274)
|
||||||
|
- The `tools: latest` input to the `init` Action has been renamed to `tools: linked`. This option specifies that the Action should use the tools shipped at the same time as the Action. The old name will continue to work for backwards compatibility, but we recommend that new workflows use the new name. [#2281](https://github.com/github/codeql-action/pull/2281)
|
||||||
|
|
||||||
|
## 3.25.4 - 08 May 2024
|
||||||
|
|
||||||
|
- Update default CodeQL bundle version to 2.17.2. [#2270](https://github.com/github/codeql-action/pull/2270)
|
||||||
|
|
||||||
|
## 3.25.3 - 25 Apr 2024
|
||||||
|
|
||||||
|
- Update default CodeQL bundle version to 2.17.1. [#2247](https://github.com/github/codeql-action/pull/2247)
|
||||||
|
- Workflows running on `macos-latest` using CodeQL CLI versions before v2.15.1 will need to either upgrade their CLI version to v2.15.1 or newer, or change the platform to an Intel MacOS runner, such as `macos-12`. ARM machines with SIP disabled, including the newest `macos-latest` image, are unsupported for CLI versions before 2.15.1. [#2261](https://github.com/github/codeql-action/pull/2261)
|
||||||
|
|
||||||
|
## 3.25.2 - 22 Apr 2024
|
||||||
|
|
||||||
No user facing changes.
|
No user facing changes.
|
||||||
|
|
||||||
|
## 3.25.1 - 17 Apr 2024
|
||||||
|
|
||||||
|
- We are rolling out a feature in April/May 2024 that improves the reliability and performance of analyzing code when analyzing a compiled language with the `autobuild` [build mode](https://docs.github.com/en/code-security/code-scanning/creating-an-advanced-setup-for-code-scanning/codeql-code-scanning-for-compiled-languages#codeql-build-modes). [#2235](https://github.com/github/codeql-action/pull/2235)
|
||||||
|
- Fix a bug where the `init` Action would fail if `--overwrite` was specified in `CODEQL_ACTION_EXTRA_OPTIONS`. [#2245](https://github.com/github/codeql-action/pull/2245)
|
||||||
|
|
||||||
|
## 3.25.0 - 15 Apr 2024
|
||||||
|
|
||||||
|
- The deprecated feature for extracting dependencies for a Python analysis has been removed. [#2224](https://github.com/github/codeql-action/pull/2224)
|
||||||
|
|
||||||
|
As a result, the following inputs and environment variables are now ignored:
|
||||||
|
|
||||||
|
- The `setup-python-dependencies` input to the `init` Action
|
||||||
|
- The `CODEQL_ACTION_DISABLE_PYTHON_DEPENDENCY_INSTALLATION` environment variable
|
||||||
|
|
||||||
|
We recommend removing any references to these from your workflows. For more information, see the release notes for CodeQL Action v3.23.0 and v2.23.0.
|
||||||
|
- Automatically overwrite an existing database if found on the filesystem. [#2229](https://github.com/github/codeql-action/pull/2229)
|
||||||
|
- Bump the minimum CodeQL bundle version to 2.12.6. [#2232](https://github.com/github/codeql-action/pull/2232)
|
||||||
|
- A more relevant log message and a diagnostic are now emitted when the `file` program is not installed on a Linux runner, but is required for Go tracing to succeed. [#2234](https://github.com/github/codeql-action/pull/2234)
|
||||||
|
|
||||||
|
## 3.24.10 - 05 Apr 2024
|
||||||
|
|
||||||
|
- Update default CodeQL bundle version to 2.17.0. [#2219](https://github.com/github/codeql-action/pull/2219)
|
||||||
|
- Add a deprecation warning for customers using CodeQL version 2.12.5 and earlier. These versions of CodeQL were discontinued on 26 March 2024 alongside GitHub Enterprise Server 3.8, and will be unsupported by CodeQL Action versions 3.25.0 and later and versions 2.25.0 and later. [#2220](https://github.com/github/codeql-action/pull/2220)
|
||||||
|
- If you are using one of these versions, please update to CodeQL CLI version 2.12.6 or later. For instance, if you have specified a custom version of the CLI using the 'tools' input to the 'init' Action, you can remove this input to use the default version.
|
||||||
|
- Alternatively, if you want to continue using a version of the CodeQL CLI between 2.11.6 and 2.12.5, you can replace `github/codeql-action/*@v3` by `github/codeql-action/*@v3.24.10` and `github/codeql-action/*@v2` by `github/codeql-action/*@v2.24.10` in your code scanning workflow to ensure you continue using this version of the CodeQL Action.
|
||||||
|
|
||||||
## 3.24.9 - 22 Mar 2024
|
## 3.24.9 - 22 Mar 2024
|
||||||
|
|
||||||
- Update default CodeQL bundle version to 2.16.5. [#2203](https://github.com/github/codeql-action/pull/2203)
|
- Update default CodeQL bundle version to 2.16.5. [#2203](https://github.com/github/codeql-action/pull/2203)
|
||||||
|
|||||||
@@ -1,3 +1 @@
|
|||||||
**/* @github/codeql-action-reviewers
|
**/* @github/codeql-action-reviewers
|
||||||
|
|
||||||
/python-setup/ @github/codeql-python @github/codeql-action-reviewers
|
|
||||||
|
|||||||
@@ -3,6 +3,7 @@
|
|||||||
[fork]: https://github.com/github/codeql-action/fork
|
[fork]: https://github.com/github/codeql-action/fork
|
||||||
[pr]: https://github.com/github/codeql-action/compare
|
[pr]: https://github.com/github/codeql-action/compare
|
||||||
[code-of-conduct]: CODE_OF_CONDUCT.md
|
[code-of-conduct]: CODE_OF_CONDUCT.md
|
||||||
|
[readme]: README.md#supported-versions-of-the-codeql-cli-and-github-enterprise-server
|
||||||
|
|
||||||
Hi there! We're thrilled that you'd like to contribute to this project. Your help is essential for keeping it great.
|
Hi there! We're thrilled that you'd like to contribute to this project. Your help is essential for keeping it great.
|
||||||
|
|
||||||
@@ -84,6 +85,7 @@ We typically deprecate a version of CodeQL when the GitHub Enterprise Server (GH
|
|||||||
1. Notify users using the old version of CodeQL about the deprecation.
|
1. Notify users using the old version of CodeQL about the deprecation.
|
||||||
- Update `CODEQL_NEXT_MINIMUM_VERSION`, `GHES_VERSION_MOST_RECENTLY_DEPRECATED`, and `GHES_MOST_RECENT_DEPRECATION_DATE` in `src/codeql.ts` to reflect the new minimum version of CodeQL and the GHES version that has just been deprecated.
|
- Update `CODEQL_NEXT_MINIMUM_VERSION`, `GHES_VERSION_MOST_RECENTLY_DEPRECATED`, and `GHES_MOST_RECENT_DEPRECATION_DATE` in `src/codeql.ts` to reflect the new minimum version of CodeQL and the GHES version that has just been deprecated.
|
||||||
- Add a changelog note announcing the deprecation.
|
- Add a changelog note announcing the deprecation.
|
||||||
|
- Update the CLI version referenced in the [readme] by adding a new row to the compatibility table.
|
||||||
- Example PR: https://github.com/github/codeql-action/pull/1884
|
- Example PR: https://github.com/github/codeql-action/pull/1884
|
||||||
1. Release the Action, or wait for the next scheduled release of the Action, then wait at least a week so users have time to see and act on the deprecation warning.
|
1. Release the Action, or wait for the next scheduled release of the Action, then wait at least a week so users have time to see and act on the deprecation warning.
|
||||||
1. Remove support for the old version of CodeQL.
|
1. Remove support for the old version of CodeQL.
|
||||||
|
|||||||
16
README.md
16
README.md
@@ -33,6 +33,22 @@ To provide the best experience to customers using older versions of GitHub Enter
|
|||||||
|
|
||||||
For more information, see "[Code scanning: deprecation of CodeQL Action v2](https://github.blog/changelog/2024-01-12-code-scanning-deprecation-of-codeql-action-v2/)."
|
For more information, see "[Code scanning: deprecation of CodeQL Action v2](https://github.blog/changelog/2024-01-12-code-scanning-deprecation-of-codeql-action-v2/)."
|
||||||
|
|
||||||
|
## Supported versions of the CodeQL CLI and GitHub Enterprise Server
|
||||||
|
|
||||||
|
We typically release new minor versions of the CodeQL Action and CLI when a new minor version of GitHub Enterprise Server (GHES) is released. When a version of GHES is deprecated, the CodeQL Action and CLI releases that shipped with it are deprecated as well.
|
||||||
|
|
||||||
|
| Recommended CodeQL Action | Recommended CodeQL CLI Version | GitHub Environment |
|
||||||
|
|---------|----------|--------------|
|
||||||
|
| `v3` | default (do not pass a `tools` input) | GitHub.com |
|
||||||
|
| `v3.24.11` | `v2.16.6` | Enterprise Server 3.13 |
|
||||||
|
| `3.22.12` | `2.15.5` | Enterprise Server 3.12 |
|
||||||
|
| `2.22.1` | `2.14.6` | Enterprise Server 3.11 |
|
||||||
|
| `2.20.3` | `2.13.5` | Enterprise Server 3.10 |
|
||||||
|
|
||||||
|
CodeQL Action `v2` will stop receiving updates when GHES 3.11 is deprecated.
|
||||||
|
|
||||||
|
See the full list of GHES release and deprecation dates at [GitHub Enterprise Server releases](https://docs.github.com/en/enterprise-server/admin/all-releases#releases-of-github-enterprise-server).
|
||||||
|
|
||||||
## Troubleshooting
|
## Troubleshooting
|
||||||
|
|
||||||
Read about [troubleshooting code scanning](https://docs.github.com/en/code-security/code-scanning/troubleshooting-code-scanning).
|
Read about [troubleshooting code scanning](https://docs.github.com/en/code-security/code-scanning/troubleshooting-code-scanning).
|
||||||
|
|||||||
149
eslint.config.mjs
Normal file
149
eslint.config.mjs
Normal file
@@ -0,0 +1,149 @@
|
|||||||
|
// Automatically generated by running npx @eslint/migrate-config .eslintrc.json
|
||||||
|
|
||||||
|
import path from "node:path";
|
||||||
|
import { fileURLToPath } from "node:url";
|
||||||
|
|
||||||
|
import { fixupConfigRules, fixupPluginRules } from "@eslint/compat";
|
||||||
|
import { FlatCompat } from "@eslint/eslintrc";
|
||||||
|
import js from "@eslint/js";
|
||||||
|
import typescriptEslint from "@typescript-eslint/eslint-plugin";
|
||||||
|
import tsParser from "@typescript-eslint/parser";
|
||||||
|
import filenames from "eslint-plugin-filenames";
|
||||||
|
import github from "eslint-plugin-github";
|
||||||
|
import _import from "eslint-plugin-import";
|
||||||
|
import noAsyncForeach from "eslint-plugin-no-async-foreach";
|
||||||
|
import globals from "globals";
|
||||||
|
|
||||||
|
const __filename = fileURLToPath(import.meta.url);
|
||||||
|
const __dirname = path.dirname(__filename);
|
||||||
|
const compat = new FlatCompat({
|
||||||
|
baseDirectory: __dirname,
|
||||||
|
recommendedConfig: js.configs.recommended,
|
||||||
|
allConfig: js.configs.all,
|
||||||
|
});
|
||||||
|
|
||||||
|
export default [
|
||||||
|
{
|
||||||
|
ignores: [
|
||||||
|
"**/webpack.config.js",
|
||||||
|
"lib/**/*",
|
||||||
|
"src/testdata/**/*",
|
||||||
|
"tests/**/*",
|
||||||
|
"eslint.config.mjs",
|
||||||
|
".github/**/*",
|
||||||
|
],
|
||||||
|
},
|
||||||
|
...fixupConfigRules(
|
||||||
|
compat.extends(
|
||||||
|
"eslint:recommended",
|
||||||
|
"plugin:@typescript-eslint/recommended",
|
||||||
|
"plugin:@typescript-eslint/recommended-requiring-type-checking",
|
||||||
|
"plugin:github/recommended",
|
||||||
|
"plugin:github/typescript",
|
||||||
|
"plugin:import/typescript",
|
||||||
|
),
|
||||||
|
),
|
||||||
|
{
|
||||||
|
plugins: {
|
||||||
|
"@typescript-eslint": fixupPluginRules(typescriptEslint),
|
||||||
|
filenames: fixupPluginRules(filenames),
|
||||||
|
github: fixupPluginRules(github),
|
||||||
|
import: fixupPluginRules(_import),
|
||||||
|
"no-async-foreach": noAsyncForeach,
|
||||||
|
},
|
||||||
|
|
||||||
|
languageOptions: {
|
||||||
|
parser: tsParser,
|
||||||
|
ecmaVersion: 5,
|
||||||
|
sourceType: "module",
|
||||||
|
|
||||||
|
globals: {
|
||||||
|
...globals.node,
|
||||||
|
},
|
||||||
|
|
||||||
|
parserOptions: {
|
||||||
|
project: "./tsconfig.json",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
|
||||||
|
settings: {
|
||||||
|
"import/resolver": {
|
||||||
|
node: {
|
||||||
|
moduleDirectory: ["node_modules", "src"],
|
||||||
|
},
|
||||||
|
|
||||||
|
typescript: {},
|
||||||
|
},
|
||||||
|
"import/ignore": ["sinon", "uuid", "@octokit/plugin-retry"],
|
||||||
|
},
|
||||||
|
|
||||||
|
rules: {
|
||||||
|
"filenames/match-regex": ["error", "^[a-z0-9-]+(\\.test)?$"],
|
||||||
|
"i18n-text/no-en": "off",
|
||||||
|
|
||||||
|
"import/extensions": [
|
||||||
|
"error",
|
||||||
|
{
|
||||||
|
json: {},
|
||||||
|
},
|
||||||
|
],
|
||||||
|
|
||||||
|
"import/no-amd": "error",
|
||||||
|
"import/no-commonjs": "error",
|
||||||
|
"import/no-cycle": "error",
|
||||||
|
"import/no-dynamic-require": "error",
|
||||||
|
|
||||||
|
"import/no-extraneous-dependencies": [
|
||||||
|
"error",
|
||||||
|
{
|
||||||
|
devDependencies: true,
|
||||||
|
},
|
||||||
|
],
|
||||||
|
|
||||||
|
"import/no-namespace": "off",
|
||||||
|
"import/no-unresolved": "error",
|
||||||
|
"import/no-webpack-loader-syntax": "error",
|
||||||
|
|
||||||
|
"import/order": [
|
||||||
|
"error",
|
||||||
|
{
|
||||||
|
alphabetize: {
|
||||||
|
order: "asc",
|
||||||
|
},
|
||||||
|
|
||||||
|
"newlines-between": "always",
|
||||||
|
},
|
||||||
|
],
|
||||||
|
|
||||||
|
"max-len": [
|
||||||
|
"error",
|
||||||
|
{
|
||||||
|
code: 120,
|
||||||
|
ignoreUrls: true,
|
||||||
|
ignoreStrings: true,
|
||||||
|
ignoreTemplateLiterals: true,
|
||||||
|
},
|
||||||
|
],
|
||||||
|
|
||||||
|
"no-async-foreach/no-async-foreach": "error",
|
||||||
|
"no-sequences": "error",
|
||||||
|
"no-shadow": "off",
|
||||||
|
"@typescript-eslint/no-shadow": "error",
|
||||||
|
"one-var": ["error", "never"],
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
files: ["**/*.ts", "**/*.js"],
|
||||||
|
|
||||||
|
rules: {
|
||||||
|
"@typescript-eslint/no-explicit-any": "off",
|
||||||
|
"@typescript-eslint/no-unsafe-assignment": "off",
|
||||||
|
"@typescript-eslint/no-unsafe-member-access": "off",
|
||||||
|
"@typescript-eslint/no-var-requires": "off",
|
||||||
|
"@typescript-eslint/prefer-regexp-exec": "off",
|
||||||
|
"@typescript-eslint/require-await": "off",
|
||||||
|
"@typescript-eslint/restrict-template-expressions": "off",
|
||||||
|
"func-style": "off",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
];
|
||||||
@@ -3,9 +3,19 @@ description: 'Set up CodeQL'
|
|||||||
author: 'GitHub'
|
author: 'GitHub'
|
||||||
inputs:
|
inputs:
|
||||||
tools:
|
tools:
|
||||||
description: URL of CodeQL tools
|
description: >-
|
||||||
|
By default, the Action will use the recommended version of the CodeQL
|
||||||
|
Bundle to analyze your project. You can override this choice using this
|
||||||
|
input. One of:
|
||||||
|
|
||||||
|
- A local path to a CodeQL Bundle tarball, or
|
||||||
|
- The URL of a CodeQL Bundle tarball GitHub release asset, or
|
||||||
|
- A special value `linked` which uses the version of the CodeQL tools
|
||||||
|
that the Action has been bundled with.
|
||||||
|
|
||||||
|
If not specified, the Action will check in several places until it finds
|
||||||
|
the CodeQL tools.
|
||||||
required: false
|
required: false
|
||||||
# If not specified the Action will check in several places until it finds the CodeQL tools.
|
|
||||||
languages:
|
languages:
|
||||||
description: >-
|
description: >-
|
||||||
A comma-separated list of CodeQL languages to analyze.
|
A comma-separated list of CodeQL languages to analyze.
|
||||||
@@ -21,15 +31,12 @@ inputs:
|
|||||||
The build mode that will be used to analyze the language. This input is only available when
|
The build mode that will be used to analyze the language. This input is only available when
|
||||||
analyzing a single CodeQL language per job, for example using a matrix.
|
analyzing a single CodeQL language per job, for example using a matrix.
|
||||||
|
|
||||||
Available build modes will differ based on the language being analyzed. One of:
|
Available build modes will differ based on the language being analyzed. One of:
|
||||||
|
|
||||||
- `none`: The database will be created without building the source code.
|
- `none`: The database will be created without building the source code.
|
||||||
Available for all interpreted languages and some compiled languages.
|
Available for all interpreted languages and some compiled languages.
|
||||||
- `autobuild`: The database will be created by attempting to automatically build the source
|
- `autobuild`: The database will be created by attempting to automatically build the source
|
||||||
code.
|
code. Available for all compiled languages.
|
||||||
To use this build mode, ensure that your workflow calls the `autobuild` action
|
|
||||||
between the `init` and `analyze` steps.
|
|
||||||
Available for all compiled languages.
|
|
||||||
- `manual`: The database will be created by building the source code using a manually
|
- `manual`: The database will be created by building the source code using a manually
|
||||||
specified build command. To use this build mode, specify manual build steps in
|
specified build command. To use this build mode, specify manual build steps in
|
||||||
your workflow between the `init` and `analyze` steps. Available for all
|
your workflow between the `init` and `analyze` steps. Available for all
|
||||||
@@ -89,9 +96,8 @@ inputs:
|
|||||||
description: A token for fetching external config files and queries if they reside in a private repository in the same GitHub instance that is running this action.
|
description: A token for fetching external config files and queries if they reside in a private repository in the same GitHub instance that is running this action.
|
||||||
required: false
|
required: false
|
||||||
setup-python-dependencies:
|
setup-python-dependencies:
|
||||||
description: Try to auto-install your python dependencies
|
description: DEPRECATED. This option is ignored since CodeQL Action no longer installs Python dependencies as of versions 3.25.0 and 2.25.0.
|
||||||
required: true
|
required: false
|
||||||
default: 'true'
|
|
||||||
source-root:
|
source-root:
|
||||||
description: Path of the root source code directory, relative to $GITHUB_WORKSPACE.
|
description: Path of the root source code directory, relative to $GITHUB_WORKSPACE.
|
||||||
required: false
|
required: false
|
||||||
@@ -133,6 +139,8 @@ inputs:
|
|||||||
outputs:
|
outputs:
|
||||||
codeql-path:
|
codeql-path:
|
||||||
description: The path of the CodeQL binary used for analysis
|
description: The path of the CodeQL binary used for analysis
|
||||||
|
codeql-version:
|
||||||
|
description: The version of the CodeQL binary used for analysis
|
||||||
runs:
|
runs:
|
||||||
using: node20
|
using: node20
|
||||||
main: '../lib/init-action.js'
|
main: '../lib/init-action.js'
|
||||||
|
|||||||
51
lib/actions-util.js
generated
51
lib/actions-util.js
generated
@@ -23,14 +23,27 @@ var __importStar = (this && this.__importStar) || function (mod) {
|
|||||||
return result;
|
return result;
|
||||||
};
|
};
|
||||||
Object.defineProperty(exports, "__esModule", { value: true });
|
Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
exports.getFileType = exports.getWorkflowRunAttempt = exports.getWorkflowRunID = exports.getUploadValue = exports.printDebugLogs = exports.isAnalyzingDefaultBranch = exports.getRelativeScriptPath = exports.isRunningLocalAction = exports.getWorkflowEventName = exports.getActionVersion = exports.getRef = exports.determineMergeBaseCommitOid = exports.getCommitOid = exports.getTemporaryDirectory = exports.getOptionalInput = exports.getRequiredInput = void 0;
|
exports.getFileType = exports.FileCmdNotFoundError = exports.determineMergeBaseCommitOid = exports.getCommitOid = exports.getOptionalInput = exports.getRequiredInput = void 0;
|
||||||
|
exports.getTemporaryDirectory = getTemporaryDirectory;
|
||||||
|
exports.getRef = getRef;
|
||||||
|
exports.getActionVersion = getActionVersion;
|
||||||
|
exports.getWorkflowEventName = getWorkflowEventName;
|
||||||
|
exports.isRunningLocalAction = isRunningLocalAction;
|
||||||
|
exports.getRelativeScriptPath = getRelativeScriptPath;
|
||||||
|
exports.getWorkflowEvent = getWorkflowEvent;
|
||||||
|
exports.isAnalyzingDefaultBranch = isAnalyzingDefaultBranch;
|
||||||
|
exports.printDebugLogs = printDebugLogs;
|
||||||
|
exports.getUploadValue = getUploadValue;
|
||||||
|
exports.getWorkflowRunID = getWorkflowRunID;
|
||||||
|
exports.getWorkflowRunAttempt = getWorkflowRunAttempt;
|
||||||
|
exports.isSelfHostedRunner = isSelfHostedRunner;
|
||||||
const fs = __importStar(require("fs"));
|
const fs = __importStar(require("fs"));
|
||||||
const path = __importStar(require("path"));
|
const path = __importStar(require("path"));
|
||||||
const core = __importStar(require("@actions/core"));
|
const core = __importStar(require("@actions/core"));
|
||||||
const toolrunner = __importStar(require("@actions/exec/lib/toolrunner"));
|
const toolrunner = __importStar(require("@actions/exec/lib/toolrunner"));
|
||||||
const safeWhich = __importStar(require("@chrisgavin/safe-which"));
|
const safeWhich = __importStar(require("@chrisgavin/safe-which"));
|
||||||
const util_1 = require("./util");
|
const util_1 = require("./util");
|
||||||
// eslint-disable-next-line import/no-commonjs
|
// eslint-disable-next-line import/no-commonjs, @typescript-eslint/no-require-imports
|
||||||
const pkg = require("../package.json");
|
const pkg = require("../package.json");
|
||||||
/**
|
/**
|
||||||
* Wrapper around core.getInput for inputs that always have a value.
|
* Wrapper around core.getInput for inputs that always have a value.
|
||||||
@@ -63,7 +76,6 @@ function getTemporaryDirectory() {
|
|||||||
? value
|
? value
|
||||||
: (0, util_1.getRequiredEnvParam)("RUNNER_TEMP");
|
: (0, util_1.getRequiredEnvParam)("RUNNER_TEMP");
|
||||||
}
|
}
|
||||||
exports.getTemporaryDirectory = getTemporaryDirectory;
|
|
||||||
/**
|
/**
|
||||||
* Gets the SHA of the commit that is currently checked out.
|
* Gets the SHA of the commit that is currently checked out.
|
||||||
*/
|
*/
|
||||||
@@ -92,7 +104,7 @@ const getCommitOid = async function (checkoutPath, ref = "HEAD") {
|
|||||||
}).exec();
|
}).exec();
|
||||||
return commitOid.trim();
|
return commitOid.trim();
|
||||||
}
|
}
|
||||||
catch (e) {
|
catch {
|
||||||
if (stderr.includes("not a git repository")) {
|
if (stderr.includes("not a git repository")) {
|
||||||
core.info("Could not determine current commit SHA using git. Continuing with data from user input or environment. " +
|
core.info("Could not determine current commit SHA using git. Continuing with data from user input or environment. " +
|
||||||
"The checkout path provided to the action does not appear to be a git repository.");
|
"The checkout path provided to the action does not appear to be a git repository.");
|
||||||
@@ -149,7 +161,7 @@ const determineMergeBaseCommitOid = async function (checkoutPathOverride) {
|
|||||||
}
|
}
|
||||||
return undefined;
|
return undefined;
|
||||||
}
|
}
|
||||||
catch (e) {
|
catch {
|
||||||
if (stderr.includes("not a git repository")) {
|
if (stderr.includes("not a git repository")) {
|
||||||
core.info("The checkout path provided to the action does not appear to be a git repository. " +
|
core.info("The checkout path provided to the action does not appear to be a git repository. " +
|
||||||
"Will calculate the merge base on the server.");
|
"Will calculate the merge base on the server.");
|
||||||
@@ -211,7 +223,6 @@ async function getRef() {
|
|||||||
return ref;
|
return ref;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
exports.getRef = getRef;
|
|
||||||
function getRefFromEnv() {
|
function getRefFromEnv() {
|
||||||
// To workaround a limitation of Actions dynamic workflows not setting
|
// To workaround a limitation of Actions dynamic workflows not setting
|
||||||
// the GITHUB_REF in some cases, we accept also the ref within the
|
// the GITHUB_REF in some cases, we accept also the ref within the
|
||||||
@@ -235,7 +246,6 @@ function getRefFromEnv() {
|
|||||||
function getActionVersion() {
|
function getActionVersion() {
|
||||||
return pkg.version;
|
return pkg.version;
|
||||||
}
|
}
|
||||||
exports.getActionVersion = getActionVersion;
|
|
||||||
/**
|
/**
|
||||||
* Returns the name of the event that triggered this workflow.
|
* Returns the name of the event that triggered this workflow.
|
||||||
*
|
*
|
||||||
@@ -244,7 +254,6 @@ exports.getActionVersion = getActionVersion;
|
|||||||
function getWorkflowEventName() {
|
function getWorkflowEventName() {
|
||||||
return (0, util_1.getRequiredEnvParam)("GITHUB_EVENT_NAME");
|
return (0, util_1.getRequiredEnvParam)("GITHUB_EVENT_NAME");
|
||||||
}
|
}
|
||||||
exports.getWorkflowEventName = getWorkflowEventName;
|
|
||||||
/**
|
/**
|
||||||
* Returns whether the current workflow is executing a local copy of the Action, e.g. we're running
|
* Returns whether the current workflow is executing a local copy of the Action, e.g. we're running
|
||||||
* a workflow on the codeql-action repo itself.
|
* a workflow on the codeql-action repo itself.
|
||||||
@@ -253,7 +262,6 @@ function isRunningLocalAction() {
|
|||||||
const relativeScriptPath = getRelativeScriptPath();
|
const relativeScriptPath = getRelativeScriptPath();
|
||||||
return (relativeScriptPath.startsWith("..") || path.isAbsolute(relativeScriptPath));
|
return (relativeScriptPath.startsWith("..") || path.isAbsolute(relativeScriptPath));
|
||||||
}
|
}
|
||||||
exports.isRunningLocalAction = isRunningLocalAction;
|
|
||||||
/**
|
/**
|
||||||
* Get the location where the Action is running from.
|
* Get the location where the Action is running from.
|
||||||
*
|
*
|
||||||
@@ -264,7 +272,6 @@ function getRelativeScriptPath() {
|
|||||||
const actionsDirectory = path.join(path.dirname(runnerTemp), "_actions");
|
const actionsDirectory = path.join(path.dirname(runnerTemp), "_actions");
|
||||||
return path.relative(actionsDirectory, __filename);
|
return path.relative(actionsDirectory, __filename);
|
||||||
}
|
}
|
||||||
exports.getRelativeScriptPath = getRelativeScriptPath;
|
|
||||||
/** Returns the contents of `GITHUB_EVENT_PATH` as a JSON object. */
|
/** Returns the contents of `GITHUB_EVENT_PATH` as a JSON object. */
|
||||||
function getWorkflowEvent() {
|
function getWorkflowEvent() {
|
||||||
const eventJsonFile = (0, util_1.getRequiredEnvParam)("GITHUB_EVENT_PATH");
|
const eventJsonFile = (0, util_1.getRequiredEnvParam)("GITHUB_EVENT_PATH");
|
||||||
@@ -299,7 +306,6 @@ async function isAnalyzingDefaultBranch() {
|
|||||||
}
|
}
|
||||||
return currentRef === defaultBranch;
|
return currentRef === defaultBranch;
|
||||||
}
|
}
|
||||||
exports.isAnalyzingDefaultBranch = isAnalyzingDefaultBranch;
|
|
||||||
async function printDebugLogs(config) {
|
async function printDebugLogs(config) {
|
||||||
for (const language of config.languages) {
|
for (const language of config.languages) {
|
||||||
const databaseDirectory = (0, util_1.getCodeQLDatabasePath)(config, language);
|
const databaseDirectory = (0, util_1.getCodeQLDatabasePath)(config, language);
|
||||||
@@ -328,7 +334,6 @@ async function printDebugLogs(config) {
|
|||||||
walkLogFiles(logsDirectory);
|
walkLogFiles(logsDirectory);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
exports.printDebugLogs = printDebugLogs;
|
|
||||||
/**
|
/**
|
||||||
* Parses the `upload` input into an `UploadKind`, converting unspecified and deprecated upload
|
* Parses the `upload` input into an `UploadKind`, converting unspecified and deprecated upload
|
||||||
* inputs appropriately.
|
* inputs appropriately.
|
||||||
@@ -349,7 +354,6 @@ function getUploadValue(input) {
|
|||||||
return "always";
|
return "always";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
exports.getUploadValue = getUploadValue;
|
|
||||||
/**
|
/**
|
||||||
* Get the workflow run ID.
|
* Get the workflow run ID.
|
||||||
*/
|
*/
|
||||||
@@ -364,7 +368,6 @@ function getWorkflowRunID() {
|
|||||||
}
|
}
|
||||||
return workflowRunID;
|
return workflowRunID;
|
||||||
}
|
}
|
||||||
exports.getWorkflowRunID = getWorkflowRunID;
|
|
||||||
/**
|
/**
|
||||||
* Get the workflow run attempt number.
|
* Get the workflow run attempt number.
|
||||||
*/
|
*/
|
||||||
@@ -379,7 +382,13 @@ function getWorkflowRunAttempt() {
|
|||||||
}
|
}
|
||||||
return workflowRunAttempt;
|
return workflowRunAttempt;
|
||||||
}
|
}
|
||||||
exports.getWorkflowRunAttempt = getWorkflowRunAttempt;
|
class FileCmdNotFoundError extends Error {
|
||||||
|
constructor(msg) {
|
||||||
|
super(msg);
|
||||||
|
this.name = "FileCmdNotFoundError";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
exports.FileCmdNotFoundError = FileCmdNotFoundError;
|
||||||
/**
|
/**
|
||||||
* Tries to obtain the output of the `file` command for the file at the specified path.
|
* Tries to obtain the output of the `file` command for the file at the specified path.
|
||||||
* The output will vary depending on the type of `file`, which operating system we are running on, etc.
|
* The output will vary depending on the type of `file`, which operating system we are running on, etc.
|
||||||
@@ -387,11 +396,18 @@ exports.getWorkflowRunAttempt = getWorkflowRunAttempt;
|
|||||||
const getFileType = async (filePath) => {
|
const getFileType = async (filePath) => {
|
||||||
let stderr = "";
|
let stderr = "";
|
||||||
let stdout = "";
|
let stdout = "";
|
||||||
|
let fileCmdPath;
|
||||||
|
try {
|
||||||
|
fileCmdPath = await safeWhich.safeWhich("file");
|
||||||
|
}
|
||||||
|
catch (e) {
|
||||||
|
throw new FileCmdNotFoundError(`The \`file\` program is required, but does not appear to be installed. Please install it: ${e}`);
|
||||||
|
}
|
||||||
try {
|
try {
|
||||||
// The `file` command will output information about the type of file pointed at by `filePath`.
|
// The `file` command will output information about the type of file pointed at by `filePath`.
|
||||||
// For binary files, this may include e.g. whether they are static of dynamic binaries.
|
// For binary files, this may include e.g. whether they are static of dynamic binaries.
|
||||||
// The `-L` switch instructs the command to follow symbolic links.
|
// The `-L` switch instructs the command to follow symbolic links.
|
||||||
await new toolrunner.ToolRunner(await safeWhich.safeWhich("file"), ["-L", filePath], {
|
await new toolrunner.ToolRunner(fileCmdPath, ["-L", filePath], {
|
||||||
silent: true,
|
silent: true,
|
||||||
listeners: {
|
listeners: {
|
||||||
stdout: (data) => {
|
stdout: (data) => {
|
||||||
@@ -410,4 +426,7 @@ const getFileType = async (filePath) => {
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
exports.getFileType = getFileType;
|
exports.getFileType = getFileType;
|
||||||
|
function isSelfHostedRunner() {
|
||||||
|
return process.env.RUNNER_ENVIRONMENT === "self-hosted";
|
||||||
|
}
|
||||||
//# sourceMappingURL=actions-util.js.map
|
//# sourceMappingURL=actions-util.js.map
|
||||||
File diff suppressed because one or more lines are too long
4
lib/actions-util.test.js
generated
4
lib/actions-util.test.js
generated
@@ -227,7 +227,9 @@ const util_1 = require("./util");
|
|||||||
const infoStub = sinon.stub(core, "info");
|
const infoStub = sinon.stub(core, "info");
|
||||||
process.env["GITHUB_EVENT_NAME"] = "pull_request";
|
process.env["GITHUB_EVENT_NAME"] = "pull_request";
|
||||||
process.env["GITHUB_SHA"] = "100912429fab4cb230e66ffb11e738ac5194e73a";
|
process.env["GITHUB_SHA"] = "100912429fab4cb230e66ffb11e738ac5194e73a";
|
||||||
await actionsUtil.determineMergeBaseCommitOid(path.join(__dirname, "../.."));
|
await (0, util_1.withTmpDir)(async (tmpDir) => {
|
||||||
|
await actionsUtil.determineMergeBaseCommitOid(tmpDir);
|
||||||
|
});
|
||||||
t.deepEqual(1, infoStub.callCount);
|
t.deepEqual(1, infoStub.callCount);
|
||||||
t.assert(infoStub.firstCall.args[0].startsWith("The checkout path provided to the action does not appear to be a git repository."));
|
t.assert(infoStub.firstCall.args[0].startsWith("The checkout path provided to the action does not appear to be a git repository."));
|
||||||
infoStub.restore();
|
infoStub.restore();
|
||||||
|
|||||||
File diff suppressed because one or more lines are too long
1
lib/analyze-action-env.test.js
generated
1
lib/analyze-action-env.test.js
generated
@@ -77,6 +77,7 @@ const util = __importStar(require("./util"));
|
|||||||
process.env["CODEQL_RAM"] = "4992";
|
process.env["CODEQL_RAM"] = "4992";
|
||||||
const runFinalizeStub = sinon.stub(analyze, "runFinalize");
|
const runFinalizeStub = sinon.stub(analyze, "runFinalize");
|
||||||
const runQueriesStub = sinon.stub(analyze, "runQueries");
|
const runQueriesStub = sinon.stub(analyze, "runQueries");
|
||||||
|
// eslint-disable-next-line @typescript-eslint/no-require-imports
|
||||||
const analyzeAction = require("./analyze-action");
|
const analyzeAction = require("./analyze-action");
|
||||||
// When analyze-action.ts loads, it runs an async function from the top
|
// When analyze-action.ts loads, it runs an async function from the top
|
||||||
// level but does not wait for it to finish. To ensure that calls to
|
// level but does not wait for it to finish. To ensure that calls to
|
||||||
|
|||||||
@@ -1 +1 @@
|
|||||||
{"version":3,"file":"analyze-action-env.test.js","sourceRoot":"","sources":["../src/analyze-action-env.test.ts"],"names":[],"mappings":"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"}
|
{"version":3,"file":"analyze-action-env.test.js","sourceRoot":"","sources":["../src/analyze-action-env.test.ts"],"names":[],"mappings":"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"}
|
||||||
1
lib/analyze-action-input.test.js
generated
1
lib/analyze-action-input.test.js
generated
@@ -77,6 +77,7 @@ const util = __importStar(require("./util"));
|
|||||||
optionalInputStub.withArgs("ram").returns("3012");
|
optionalInputStub.withArgs("ram").returns("3012");
|
||||||
const runFinalizeStub = sinon.stub(analyze, "runFinalize");
|
const runFinalizeStub = sinon.stub(analyze, "runFinalize");
|
||||||
const runQueriesStub = sinon.stub(analyze, "runQueries");
|
const runQueriesStub = sinon.stub(analyze, "runQueries");
|
||||||
|
// eslint-disable-next-line @typescript-eslint/no-require-imports
|
||||||
const analyzeAction = require("./analyze-action");
|
const analyzeAction = require("./analyze-action");
|
||||||
// When analyze-action.ts loads, it runs an async function from the top
|
// When analyze-action.ts loads, it runs an async function from the top
|
||||||
// level but does not wait for it to finish. To ensure that calls to
|
// level but does not wait for it to finish. To ensure that calls to
|
||||||
|
|||||||
@@ -1 +1 @@
|
|||||||
{"version":3,"file":"analyze-action-input.test.js","sourceRoot":"","sources":["../src/analyze-action-input.test.ts"],"names":[],"mappings":"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"}
|
{"version":3,"file":"analyze-action-input.test.js","sourceRoot":"","sources":["../src/analyze-action-input.test.ts"],"names":[],"mappings":"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"}
|
||||||
3
lib/analyze-action-post-helper.js
generated
3
lib/analyze-action-post-helper.js
generated
@@ -23,7 +23,7 @@ var __importStar = (this && this.__importStar) || function (mod) {
|
|||||||
return result;
|
return result;
|
||||||
};
|
};
|
||||||
Object.defineProperty(exports, "__esModule", { value: true });
|
Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
exports.run = void 0;
|
exports.run = run;
|
||||||
const core = __importStar(require("@actions/core"));
|
const core = __importStar(require("@actions/core"));
|
||||||
const actionsUtil = __importStar(require("./actions-util"));
|
const actionsUtil = __importStar(require("./actions-util"));
|
||||||
const config_utils_1 = require("./config-utils");
|
const config_utils_1 = require("./config-utils");
|
||||||
@@ -41,5 +41,4 @@ async function run(uploadSarifDebugArtifact) {
|
|||||||
await uploadSarifDebugArtifact(config, outputDir);
|
await uploadSarifDebugArtifact(config, outputDir);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
exports.run = run;
|
|
||||||
//# sourceMappingURL=analyze-action-post-helper.js.map
|
//# sourceMappingURL=analyze-action-post-helper.js.map
|
||||||
@@ -1 +1 @@
|
|||||||
{"version":3,"file":"analyze-action-post-helper.js","sourceRoot":"","sources":["../src/analyze-action-post-helper.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,oDAAsC;AAEtC,4DAA8C;AAC9C,iDAA2C;AAC3C,uCAA6C;AAEtC,KAAK,UAAU,GAAG,CAAC,wBAAkC;IAC1D,MAAM,MAAM,GAAG,IAAA,0BAAgB,GAAE,CAAC;IAElC,MAAM,MAAM,GAAG,MAAM,IAAA,wBAAS,EAAC,WAAW,CAAC,qBAAqB,EAAE,EAAE,MAAM,CAAC,CAAC;IAC5E,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QACzB,MAAM,IAAI,KAAK,CACb,2FAA2F,CAC5F,CAAC;IACJ,CAAC;IAED,+CAA+C;IAC/C,IAAI,MAAM,EAAE,SAAS,EAAE,CAAC;QACtB,IAAI,CAAC,IAAI,CACP,oFAAoF,CACrF,CAAC;QACF,MAAM,SAAS,GAAG,WAAW,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC;QACzD,MAAM,wBAAwB,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IACpD,CAAC;AACH,CAAC;AAlBD,kBAkBC"}
|
{"version":3,"file":"analyze-action-post-helper.js","sourceRoot":"","sources":["../src/analyze-action-post-helper.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAMA,kBAuBC;AA7BD,oDAAsC;AAEtC,4DAA8C;AAC9C,iDAAmD;AACnD,uCAA6C;AAEtC,KAAK,UAAU,GAAG,CACvB,wBAGkB;IAElB,MAAM,MAAM,GAAG,IAAA,0BAAgB,GAAE,CAAC;IAElC,MAAM,MAAM,GAAG,MAAM,IAAA,wBAAS,EAAC,WAAW,CAAC,qBAAqB,EAAE,EAAE,MAAM,CAAC,CAAC;IAC5E,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QACzB,MAAM,IAAI,KAAK,CACb,2FAA2F,CAC5F,CAAC;IACJ,CAAC;IAED,+CAA+C;IAC/C,IAAI,MAAM,EAAE,SAAS,EAAE,CAAC;QACtB,IAAI,CAAC,IAAI,CACP,oFAAoF,CACrF,CAAC;QACF,MAAM,SAAS,GAAG,WAAW,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC;QACzD,MAAM,wBAAwB,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IACpD,CAAC;AACH,CAAC"}
|
||||||
4
lib/analyze-action-post.js
generated
4
lib/analyze-action-post.js
generated
@@ -31,10 +31,14 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|||||||
const core = __importStar(require("@actions/core"));
|
const core = __importStar(require("@actions/core"));
|
||||||
const analyzeActionPostHelper = __importStar(require("./analyze-action-post-helper"));
|
const analyzeActionPostHelper = __importStar(require("./analyze-action-post-helper"));
|
||||||
const debugArtifacts = __importStar(require("./debug-artifacts"));
|
const debugArtifacts = __importStar(require("./debug-artifacts"));
|
||||||
|
const uploadSarifActionPostHelper = __importStar(require("./upload-sarif-action-post-helper"));
|
||||||
const util_1 = require("./util");
|
const util_1 = require("./util");
|
||||||
async function runWrapper() {
|
async function runWrapper() {
|
||||||
try {
|
try {
|
||||||
await analyzeActionPostHelper.run(debugArtifacts.uploadSarifDebugArtifact);
|
await analyzeActionPostHelper.run(debugArtifacts.uploadSarifDebugArtifact);
|
||||||
|
// Also run the upload-sarif post action since we're potentially running
|
||||||
|
// the same steps in the analyze action.
|
||||||
|
await uploadSarifActionPostHelper.uploadArtifacts(debugArtifacts.uploadDebugArtifacts);
|
||||||
}
|
}
|
||||||
catch (error) {
|
catch (error) {
|
||||||
core.setFailed(`analyze post-action step failed: ${(0, util_1.wrapError)(error).message}`);
|
core.setFailed(`analyze post-action step failed: ${(0, util_1.wrapError)(error).message}`);
|
||||||
|
|||||||
@@ -1 +1 @@
|
|||||||
{"version":3,"file":"analyze-action-post.js","sourceRoot":"","sources":["../src/analyze-action-post.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;;;GAIG;AACH,oDAAsC;AAEtC,sFAAwE;AACxE,kEAAoD;AACpD,iCAAmC;AAEnC,KAAK,UAAU,UAAU;IACvB,IAAI,CAAC;QACH,MAAM,uBAAuB,CAAC,GAAG,CAAC,cAAc,CAAC,wBAAwB,CAAC,CAAC;IAC7E,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,CAAC,SAAS,CACZ,oCAAoC,IAAA,gBAAS,EAAC,KAAK,CAAC,CAAC,OAAO,EAAE,CAC/D,CAAC;IACJ,CAAC;AACH,CAAC;AAED,KAAK,UAAU,EAAE,CAAC"}
|
{"version":3,"file":"analyze-action-post.js","sourceRoot":"","sources":["../src/analyze-action-post.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;;;GAIG;AACH,oDAAsC;AAEtC,sFAAwE;AACxE,kEAAoD;AACpD,+FAAiF;AACjF,iCAAmC;AAEnC,KAAK,UAAU,UAAU;IACvB,IAAI,CAAC;QACH,MAAM,uBAAuB,CAAC,GAAG,CAAC,cAAc,CAAC,wBAAwB,CAAC,CAAC;QAE3E,wEAAwE;QACxE,wCAAwC;QACxC,MAAM,2BAA2B,CAAC,eAAe,CAC/C,cAAc,CAAC,oBAAoB,CACpC,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,CAAC,SAAS,CACZ,oCAAoC,IAAA,gBAAS,EAAC,KAAK,CAAC,CAAC,OAAO,EAAE,CAC/D,CAAC;IACJ,CAAC;AACH,CAAC;AAED,KAAK,UAAU,EAAE,CAAC"}
|
||||||
65
lib/analyze-action.js
generated
65
lib/analyze-action.js
generated
@@ -48,24 +48,27 @@ const status_report_1 = require("./status-report");
|
|||||||
const trap_caching_1 = require("./trap-caching");
|
const trap_caching_1 = require("./trap-caching");
|
||||||
const uploadLib = __importStar(require("./upload-lib"));
|
const uploadLib = __importStar(require("./upload-lib"));
|
||||||
const util = __importStar(require("./util"));
|
const util = __importStar(require("./util"));
|
||||||
async function sendStatusReport(startedAt, config, stats, error, trapCacheUploadTime, dbCreationTimings, didUploadTrapCaches, logger) {
|
async function sendStatusReport(startedAt, config, stats, error, trapCacheUploadTime, dbCreationTimings, didUploadTrapCaches, trapCacheCleanup, logger) {
|
||||||
const status = (0, status_report_1.getActionsStatus)(error, stats?.analyze_failure_language);
|
const status = (0, status_report_1.getActionsStatus)(error, stats?.analyze_failure_language);
|
||||||
const statusReportBase = await (0, status_report_1.createStatusReportBase)(status_report_1.ActionName.Analyze, status, startedAt, config, await util.checkDiskUsage(), logger, error?.message, error?.stack);
|
const statusReportBase = await (0, status_report_1.createStatusReportBase)(status_report_1.ActionName.Analyze, status, startedAt, config, await util.checkDiskUsage(), logger, error?.message, error?.stack);
|
||||||
const report = {
|
if (statusReportBase !== undefined) {
|
||||||
...statusReportBase,
|
const report = {
|
||||||
...(stats || {}),
|
...statusReportBase,
|
||||||
...(dbCreationTimings || {}),
|
...(stats || {}),
|
||||||
};
|
...(dbCreationTimings || {}),
|
||||||
if (config && didUploadTrapCaches) {
|
...(trapCacheCleanup || {}),
|
||||||
const trapCacheUploadStatusReport = {
|
|
||||||
...report,
|
|
||||||
trap_cache_upload_duration_ms: Math.round(trapCacheUploadTime || 0),
|
|
||||||
trap_cache_upload_size_bytes: Math.round(await (0, trap_caching_1.getTotalCacheSize)(config.trapCaches, logger)),
|
|
||||||
};
|
};
|
||||||
await statusReport.sendStatusReport(trapCacheUploadStatusReport);
|
if (config && didUploadTrapCaches) {
|
||||||
}
|
const trapCacheUploadStatusReport = {
|
||||||
else {
|
...report,
|
||||||
await statusReport.sendStatusReport(report);
|
trap_cache_upload_duration_ms: Math.round(trapCacheUploadTime || 0),
|
||||||
|
trap_cache_upload_size_bytes: Math.round(await (0, trap_caching_1.getTotalCacheSize)(config.trapCaches, logger)),
|
||||||
|
};
|
||||||
|
await statusReport.sendStatusReport(trapCacheUploadStatusReport);
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
await statusReport.sendStatusReport(report);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// `expect-error` should only be set to a non-false value by the CodeQL Action PR checks.
|
// `expect-error` should only be set to a non-false value by the CodeQL Action PR checks.
|
||||||
@@ -132,24 +135,29 @@ async function runAutobuildIfLegacyGoWorkflow(config, logger) {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
logger.debug("Running Go autobuild because extraction output (TRAP files) for Go code has not been found.");
|
logger.debug("Running Go autobuild because extraction output (TRAP files) for Go code has not been found.");
|
||||||
await (0, autobuild_1.runAutobuild)(languages_1.Language.go, config, logger);
|
await (0, autobuild_1.runAutobuild)(config, languages_1.Language.go, logger);
|
||||||
}
|
}
|
||||||
async function run() {
|
async function run() {
|
||||||
const startedAt = new Date();
|
const startedAt = new Date();
|
||||||
let uploadResult = undefined;
|
let uploadResult = undefined;
|
||||||
let runStats = undefined;
|
let runStats = undefined;
|
||||||
let config = undefined;
|
let config = undefined;
|
||||||
|
let trapCacheCleanupTelemetry = undefined;
|
||||||
let trapCacheUploadTime = undefined;
|
let trapCacheUploadTime = undefined;
|
||||||
let dbCreationTimings = undefined;
|
let dbCreationTimings = undefined;
|
||||||
let didUploadTrapCaches = false;
|
let didUploadTrapCaches = false;
|
||||||
util.initializeEnvironment(actionsUtil.getActionVersion());
|
util.initializeEnvironment(actionsUtil.getActionVersion());
|
||||||
const logger = (0, logging_1.getActionsLogger)();
|
const logger = (0, logging_1.getActionsLogger)();
|
||||||
try {
|
try {
|
||||||
await statusReport.sendStatusReport(await (0, status_report_1.createStatusReportBase)(status_report_1.ActionName.Analyze, "starting", startedAt, config, await util.checkDiskUsage(logger), logger));
|
const statusReportBase = await (0, status_report_1.createStatusReportBase)(status_report_1.ActionName.Analyze, "starting", startedAt, config, await util.checkDiskUsage(logger), logger);
|
||||||
|
if (statusReportBase !== undefined) {
|
||||||
|
await statusReport.sendStatusReport(statusReportBase);
|
||||||
|
}
|
||||||
config = await (0, config_utils_1.getConfig)(actionsUtil.getTemporaryDirectory(), logger);
|
config = await (0, config_utils_1.getConfig)(actionsUtil.getTemporaryDirectory(), logger);
|
||||||
if (config === undefined) {
|
if (config === undefined) {
|
||||||
throw new Error("Config file could not be found at expected location. Has the 'init' action been called?");
|
throw new Error("Config file could not be found at expected location. Has the 'init' action been called?");
|
||||||
}
|
}
|
||||||
|
const codeql = await (0, codeql_1.getCodeQL)(config.codeQLCmd);
|
||||||
if (hasBadExpectErrorInput()) {
|
if (hasBadExpectErrorInput()) {
|
||||||
throw new util.ConfigurationError("`expect-error` input parameter is for internal use only. It should only be set by codeql-action or a fork.");
|
throw new util.ConfigurationError("`expect-error` input parameter is for internal use only. It should only be set by codeql-action or a fork.");
|
||||||
}
|
}
|
||||||
@@ -163,7 +171,7 @@ async function run() {
|
|||||||
const memory = util.getMemoryFlag(actionsUtil.getOptionalInput("ram") || process.env["CODEQL_RAM"], logger);
|
const memory = util.getMemoryFlag(actionsUtil.getOptionalInput("ram") || process.env["CODEQL_RAM"], logger);
|
||||||
await (0, analyze_1.warnIfGoInstalledAfterInit)(config, logger);
|
await (0, analyze_1.warnIfGoInstalledAfterInit)(config, logger);
|
||||||
await runAutobuildIfLegacyGoWorkflow(config, logger);
|
await runAutobuildIfLegacyGoWorkflow(config, logger);
|
||||||
dbCreationTimings = await (0, analyze_1.runFinalize)(outputDir, threads, memory, config, logger, features);
|
dbCreationTimings = await (0, analyze_1.runFinalize)(outputDir, threads, memory, codeql, config, logger);
|
||||||
if (actionsUtil.getRequiredInput("skip-queries") !== "true") {
|
if (actionsUtil.getRequiredInput("skip-queries") !== "true") {
|
||||||
runStats = await (0, analyze_1.runQueries)(outputDir, memory, util.getAddSnippetsFlag(actionsUtil.getRequiredInput("add-snippets")), threads, actionsUtil.getOptionalInput("category"), config, logger, features);
|
runStats = await (0, analyze_1.runQueries)(outputDir, memory, util.getAddSnippetsFlag(actionsUtil.getRequiredInput("add-snippets")), threads, actionsUtil.getOptionalInput("category"), config, logger, features);
|
||||||
}
|
}
|
||||||
@@ -178,7 +186,7 @@ async function run() {
|
|||||||
core.setOutput("sarif-output", path_1.default.resolve(outputDir));
|
core.setOutput("sarif-output", path_1.default.resolve(outputDir));
|
||||||
const uploadInput = actionsUtil.getOptionalInput("upload");
|
const uploadInput = actionsUtil.getOptionalInput("upload");
|
||||||
if (runStats && actionsUtil.getUploadValue(uploadInput) === "always") {
|
if (runStats && actionsUtil.getUploadValue(uploadInput) === "always") {
|
||||||
uploadResult = await uploadLib.uploadFromActions(outputDir, actionsUtil.getRequiredInput("checkout_path"), actionsUtil.getOptionalInput("category"), logger);
|
uploadResult = await uploadLib.uploadFiles(outputDir, actionsUtil.getRequiredInput("checkout_path"), actionsUtil.getOptionalInput("category"), features, logger);
|
||||||
core.setOutput("sarif-id", uploadResult.sarifID);
|
core.setOutput("sarif-id", uploadResult.sarifID);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
@@ -188,9 +196,10 @@ async function run() {
|
|||||||
await (0, database_upload_1.uploadDatabases)(repositoryNwo, config, apiDetails, logger);
|
await (0, database_upload_1.uploadDatabases)(repositoryNwo, config, apiDetails, logger);
|
||||||
// Possibly upload the TRAP caches for later re-use
|
// Possibly upload the TRAP caches for later re-use
|
||||||
const trapCacheUploadStartTime = perf_hooks_1.performance.now();
|
const trapCacheUploadStartTime = perf_hooks_1.performance.now();
|
||||||
const codeql = await (0, codeql_1.getCodeQL)(config.codeQLCmd);
|
|
||||||
didUploadTrapCaches = await (0, trap_caching_1.uploadTrapCaches)(codeql, config, logger);
|
didUploadTrapCaches = await (0, trap_caching_1.uploadTrapCaches)(codeql, config, logger);
|
||||||
trapCacheUploadTime = perf_hooks_1.performance.now() - trapCacheUploadStartTime;
|
trapCacheUploadTime = perf_hooks_1.performance.now() - trapCacheUploadStartTime;
|
||||||
|
// Clean up TRAP caches
|
||||||
|
trapCacheCleanupTelemetry = await (0, trap_caching_1.cleanupTrapCaches)(config, features, logger);
|
||||||
// We don't upload results in test mode, so don't wait for processing
|
// We don't upload results in test mode, so don't wait for processing
|
||||||
if (util.isInTestMode()) {
|
if (util.isInTestMode()) {
|
||||||
logger.debug("In test mode. Waiting for processing is disabled.");
|
logger.debug("In test mode. Waiting for processing is disabled.");
|
||||||
@@ -211,26 +220,22 @@ async function run() {
|
|||||||
hasBadExpectErrorInput()) {
|
hasBadExpectErrorInput()) {
|
||||||
core.setFailed(error.message);
|
core.setFailed(error.message);
|
||||||
}
|
}
|
||||||
if (error instanceof analyze_1.CodeQLAnalysisError) {
|
await sendStatusReport(startedAt, config, error instanceof analyze_1.CodeQLAnalysisError
|
||||||
const stats = { ...error.queriesStatusReport };
|
? error.queriesStatusReport
|
||||||
await sendStatusReport(startedAt, config, stats, error, trapCacheUploadTime, dbCreationTimings, didUploadTrapCaches, logger);
|
: undefined, error instanceof analyze_1.CodeQLAnalysisError ? error.error : error, trapCacheUploadTime, dbCreationTimings, didUploadTrapCaches, trapCacheCleanupTelemetry, logger);
|
||||||
}
|
|
||||||
else {
|
|
||||||
await sendStatusReport(startedAt, config, undefined, error, trapCacheUploadTime, dbCreationTimings, didUploadTrapCaches, logger);
|
|
||||||
}
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (runStats && uploadResult) {
|
if (runStats && uploadResult) {
|
||||||
await sendStatusReport(startedAt, config, {
|
await sendStatusReport(startedAt, config, {
|
||||||
...runStats,
|
...runStats,
|
||||||
...uploadResult.statusReport,
|
...uploadResult.statusReport,
|
||||||
}, undefined, trapCacheUploadTime, dbCreationTimings, didUploadTrapCaches, logger);
|
}, undefined, trapCacheUploadTime, dbCreationTimings, didUploadTrapCaches, trapCacheCleanupTelemetry, logger);
|
||||||
}
|
}
|
||||||
else if (runStats) {
|
else if (runStats) {
|
||||||
await sendStatusReport(startedAt, config, { ...runStats }, undefined, trapCacheUploadTime, dbCreationTimings, didUploadTrapCaches, logger);
|
await sendStatusReport(startedAt, config, { ...runStats }, undefined, trapCacheUploadTime, dbCreationTimings, didUploadTrapCaches, trapCacheCleanupTelemetry, logger);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
await sendStatusReport(startedAt, config, undefined, undefined, trapCacheUploadTime, dbCreationTimings, didUploadTrapCaches, logger);
|
await sendStatusReport(startedAt, config, undefined, undefined, trapCacheUploadTime, dbCreationTimings, didUploadTrapCaches, trapCacheCleanupTelemetry, logger);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
exports.runPromise = run();
|
exports.runPromise = run();
|
||||||
|
|||||||
File diff suppressed because one or more lines are too long
106
lib/analyze.js
generated
106
lib/analyze.js
generated
@@ -26,17 +26,21 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|||||||
return (mod && mod.__esModule) ? mod : { "default": mod };
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
||||||
};
|
};
|
||||||
Object.defineProperty(exports, "__esModule", { value: true });
|
Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
exports.runCleanup = exports.warnIfGoInstalledAfterInit = exports.runFinalize = exports.runQueries = exports.dbIsFinalized = exports.runExtraction = exports.CodeQLAnalysisError = void 0;
|
exports.CodeQLAnalysisError = void 0;
|
||||||
|
exports.runExtraction = runExtraction;
|
||||||
|
exports.dbIsFinalized = dbIsFinalized;
|
||||||
|
exports.runQueries = runQueries;
|
||||||
|
exports.runFinalize = runFinalize;
|
||||||
|
exports.warnIfGoInstalledAfterInit = warnIfGoInstalledAfterInit;
|
||||||
|
exports.runCleanup = runCleanup;
|
||||||
const fs = __importStar(require("fs"));
|
const fs = __importStar(require("fs"));
|
||||||
const path = __importStar(require("path"));
|
const path = __importStar(require("path"));
|
||||||
const perf_hooks_1 = require("perf_hooks");
|
const perf_hooks_1 = require("perf_hooks");
|
||||||
const toolrunner = __importStar(require("@actions/exec/lib/toolrunner"));
|
|
||||||
const safe_which_1 = require("@chrisgavin/safe-which");
|
const safe_which_1 = require("@chrisgavin/safe-which");
|
||||||
const del_1 = __importDefault(require("del"));
|
const del_1 = __importDefault(require("del"));
|
||||||
const yaml = __importStar(require("js-yaml"));
|
const yaml = __importStar(require("js-yaml"));
|
||||||
const autobuild_1 = require("./autobuild");
|
const autobuild_1 = require("./autobuild");
|
||||||
const codeql_1 = require("./codeql");
|
const codeql_1 = require("./codeql");
|
||||||
const config_utils_1 = require("./config-utils");
|
|
||||||
const diagnostics_1 = require("./diagnostics");
|
const diagnostics_1 = require("./diagnostics");
|
||||||
const environment_1 = require("./environment");
|
const environment_1 = require("./environment");
|
||||||
const feature_flags_1 = require("./feature-flags");
|
const feature_flags_1 = require("./feature-flags");
|
||||||
@@ -45,43 +49,28 @@ const tools_features_1 = require("./tools-features");
|
|||||||
const tracer_config_1 = require("./tracer-config");
|
const tracer_config_1 = require("./tracer-config");
|
||||||
const upload_lib_1 = require("./upload-lib");
|
const upload_lib_1 = require("./upload-lib");
|
||||||
const util = __importStar(require("./util"));
|
const util = __importStar(require("./util"));
|
||||||
|
const util_1 = require("./util");
|
||||||
class CodeQLAnalysisError extends Error {
|
class CodeQLAnalysisError extends Error {
|
||||||
constructor(queriesStatusReport, message) {
|
constructor(queriesStatusReport, message, error) {
|
||||||
super(message);
|
super(message);
|
||||||
this.name = "CodeQLAnalysisError";
|
|
||||||
this.queriesStatusReport = queriesStatusReport;
|
this.queriesStatusReport = queriesStatusReport;
|
||||||
|
this.message = message;
|
||||||
|
this.error = error;
|
||||||
|
this.name = "CodeQLAnalysisError";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
exports.CodeQLAnalysisError = CodeQLAnalysisError;
|
exports.CodeQLAnalysisError = CodeQLAnalysisError;
|
||||||
async function setupPythonExtractor(logger, features, codeql) {
|
async function setupPythonExtractor(logger) {
|
||||||
const codeqlPython = process.env["CODEQL_PYTHON"];
|
const codeqlPython = process.env["CODEQL_PYTHON"];
|
||||||
if (codeqlPython === undefined || codeqlPython.length === 0) {
|
if (codeqlPython === undefined || codeqlPython.length === 0) {
|
||||||
// If CODEQL_PYTHON is not set, no dependencies were installed, so we don't need to do anything
|
// If CODEQL_PYTHON is not set, no dependencies were installed, so we don't need to do anything
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (await (0, feature_flags_1.isPythonDependencyInstallationDisabled)(codeql, features)) {
|
logger.warning("The CODEQL_PYTHON environment variable is no longer supported. Please remove it from your workflow. This environment variable was originally used to specify a Python executable that included the dependencies of your Python code, however Python analysis no longer uses these dependencies." +
|
||||||
logger.warning("We recommend that you remove the CODEQL_PYTHON environment variable from your workflow. This environment variable was originally used to specify a Python executable that included the dependencies of your Python code, however Python analysis no longer uses these dependencies." +
|
"\nIf you used CODEQL_PYTHON to force the version of Python to analyze as, please use CODEQL_EXTRACTOR_PYTHON_ANALYSIS_VERSION instead, such as 'CODEQL_EXTRACTOR_PYTHON_ANALYSIS_VERSION=2.7' or 'CODEQL_EXTRACTOR_PYTHON_ANALYSIS_VERSION=3.11'.");
|
||||||
"\nIf you used CODEQL_PYTHON to force the version of Python to analyze as, please use CODEQL_EXTRACTOR_PYTHON_ANALYSIS_VERSION instead, such as 'CODEQL_EXTRACTOR_PYTHON_ANALYSIS_VERSION=2.7' or 'CODEQL_EXTRACTOR_PYTHON_ANALYSIS_VERSION=3.11'.");
|
return;
|
||||||
return;
|
|
||||||
}
|
|
||||||
const scriptsFolder = path.resolve(__dirname, "../python-setup");
|
|
||||||
let output = "";
|
|
||||||
const options = {
|
|
||||||
listeners: {
|
|
||||||
stdout: (data) => {
|
|
||||||
output += data.toString();
|
|
||||||
},
|
|
||||||
},
|
|
||||||
};
|
|
||||||
await new toolrunner.ToolRunner(codeqlPython, [path.join(scriptsFolder, "find_site_packages.py")], options).exec();
|
|
||||||
logger.info(`Setting LGTM_INDEX_IMPORT_PATH=${output}`);
|
|
||||||
process.env["LGTM_INDEX_IMPORT_PATH"] = output;
|
|
||||||
output = "";
|
|
||||||
await new toolrunner.ToolRunner(codeqlPython, ["-c", "import sys; print(sys.version_info[0])"], options).exec();
|
|
||||||
logger.info(`Setting LGTM_PYTHON_SETUP_VERSION=${output}`);
|
|
||||||
process.env["LGTM_PYTHON_SETUP_VERSION"] = output;
|
|
||||||
}
|
}
|
||||||
async function runExtraction(codeql, config, logger, features) {
|
async function runExtraction(codeql, config, logger) {
|
||||||
for (const language of config.languages) {
|
for (const language of config.languages) {
|
||||||
if (dbIsFinalized(config, language, logger)) {
|
if (dbIsFinalized(config, language, logger)) {
|
||||||
logger.debug(`Database for ${language} has already been finalized, skipping extraction.`);
|
logger.debug(`Database for ${language} has already been finalized, skipping extraction.`);
|
||||||
@@ -90,32 +79,15 @@ async function runExtraction(codeql, config, logger, features) {
|
|||||||
if (shouldExtractLanguage(config, language)) {
|
if (shouldExtractLanguage(config, language)) {
|
||||||
logger.startGroup(`Extracting ${language}`);
|
logger.startGroup(`Extracting ${language}`);
|
||||||
if (language === languages_1.Language.python) {
|
if (language === languages_1.Language.python) {
|
||||||
await setupPythonExtractor(logger, features, codeql);
|
await setupPythonExtractor(logger);
|
||||||
}
|
}
|
||||||
if (config.buildMode &&
|
if (config.buildMode &&
|
||||||
(await codeql.supportsFeature(tools_features_1.ToolsFeature.TraceCommandUseBuildMode))) {
|
(await codeql.supportsFeature(tools_features_1.ToolsFeature.TraceCommandUseBuildMode))) {
|
||||||
if (language === languages_1.Language.cpp &&
|
if (language === languages_1.Language.cpp &&
|
||||||
config.buildMode === config_utils_1.BuildMode.Autobuild) {
|
config.buildMode === util_1.BuildMode.Autobuild) {
|
||||||
await (0, autobuild_1.setupCppAutobuild)(codeql, logger);
|
await (0, autobuild_1.setupCppAutobuild)(codeql, logger);
|
||||||
}
|
}
|
||||||
try {
|
await codeql.extractUsingBuildMode(config, language);
|
||||||
await codeql.extractUsingBuildMode(config, language);
|
|
||||||
}
|
|
||||||
catch (e) {
|
|
||||||
if (config.buildMode === config_utils_1.BuildMode.Autobuild) {
|
|
||||||
const prefix = "We were unable to automatically build your code. " +
|
|
||||||
"Please change the build mode for this language to manual and specify build steps " +
|
|
||||||
"for your project. For more information, see " +
|
|
||||||
"https://docs.github.com/en/code-security/code-scanning/troubleshooting-code-scanning/automatic-build-failed.";
|
|
||||||
const ErrorConstructor = e instanceof util.ConfigurationError
|
|
||||||
? util.ConfigurationError
|
|
||||||
: Error;
|
|
||||||
throw new ErrorConstructor(`${prefix} ${util.wrapError(e).message}`);
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
throw e;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
await codeql.extractScannedLanguage(config, language);
|
await codeql.extractScannedLanguage(config, language);
|
||||||
@@ -124,10 +96,9 @@ async function runExtraction(codeql, config, logger, features) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
exports.runExtraction = runExtraction;
|
|
||||||
function shouldExtractLanguage(config, language) {
|
function shouldExtractLanguage(config, language) {
|
||||||
return (config.buildMode === config_utils_1.BuildMode.None ||
|
return (config.buildMode === util_1.BuildMode.None ||
|
||||||
(config.buildMode === config_utils_1.BuildMode.Autobuild &&
|
(config.buildMode === util_1.BuildMode.Autobuild &&
|
||||||
process.env[environment_1.EnvVar.AUTOBUILD_DID_COMPLETE_SUCCESSFULLY] !== "true") ||
|
process.env[environment_1.EnvVar.AUTOBUILD_DID_COMPLETE_SUCCESSFULLY] !== "true") ||
|
||||||
(!config.buildMode && (0, languages_1.isScannedLanguage)(language)));
|
(!config.buildMode && (0, languages_1.isScannedLanguage)(language)));
|
||||||
}
|
}
|
||||||
@@ -137,16 +108,14 @@ function dbIsFinalized(config, language, logger) {
|
|||||||
const dbInfo = yaml.load(fs.readFileSync(path.resolve(dbPath, "codeql-database.yml"), "utf8"));
|
const dbInfo = yaml.load(fs.readFileSync(path.resolve(dbPath, "codeql-database.yml"), "utf8"));
|
||||||
return !("inProgress" in dbInfo);
|
return !("inProgress" in dbInfo);
|
||||||
}
|
}
|
||||||
catch (e) {
|
catch {
|
||||||
logger.warning(`Could not check whether database for ${language} was finalized. Assuming it is not.`);
|
logger.warning(`Could not check whether database for ${language} was finalized. Assuming it is not.`);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
exports.dbIsFinalized = dbIsFinalized;
|
async function finalizeDatabaseCreation(codeql, config, threadsFlag, memoryFlag, logger) {
|
||||||
async function finalizeDatabaseCreation(config, threadsFlag, memoryFlag, logger, features) {
|
|
||||||
const codeql = await (0, codeql_1.getCodeQL)(config.codeQLCmd);
|
|
||||||
const extractionStart = perf_hooks_1.performance.now();
|
const extractionStart = perf_hooks_1.performance.now();
|
||||||
await runExtraction(codeql, config, logger, features);
|
await runExtraction(codeql, config, logger);
|
||||||
const extractionTime = perf_hooks_1.performance.now() - extractionStart;
|
const extractionTime = perf_hooks_1.performance.now() - extractionStart;
|
||||||
const trapImportStart = perf_hooks_1.performance.now();
|
const trapImportStart = perf_hooks_1.performance.now();
|
||||||
for (const language of config.languages) {
|
for (const language of config.languages) {
|
||||||
@@ -211,19 +180,19 @@ async function runQueries(sarifFolder, memoryFlag, addSnippetsFlag, threadsFlag,
|
|||||||
}
|
}
|
||||||
statusReport["event_reports"].push(perQueryAlertCountEventReport);
|
statusReport["event_reports"].push(perQueryAlertCountEventReport);
|
||||||
}
|
}
|
||||||
if (!(await util.codeQlVersionAbove(codeql, codeql_1.CODEQL_VERSION_ANALYSIS_SUMMARY_V2))) {
|
if (!(await util.codeQlVersionAtLeast(codeql, codeql_1.CODEQL_VERSION_ANALYSIS_SUMMARY_V2))) {
|
||||||
await runPrintLinesOfCode(language);
|
await runPrintLinesOfCode(language);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
catch (e) {
|
catch (e) {
|
||||||
statusReport.analyze_failure_language = language;
|
statusReport.analyze_failure_language = language;
|
||||||
throw new CodeQLAnalysisError(statusReport, `Error running analysis for ${language}: ${util.wrapError(e).message}`);
|
throw new CodeQLAnalysisError(statusReport, `Error running analysis for ${language}: ${util.wrapError(e).message}`, util.wrapError(e));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return statusReport;
|
return statusReport;
|
||||||
async function runInterpretResults(language, queries, sarifFile, enableDebugLogging) {
|
async function runInterpretResults(language, queries, sarifFile, enableDebugLogging) {
|
||||||
const databasePath = util.getCodeQLDatabasePath(config, language);
|
const databasePath = util.getCodeQLDatabasePath(config, language);
|
||||||
return await codeql.databaseInterpretResults(databasePath, queries, sarifFile, addSnippetsFlag, threadsFlag, enableDebugLogging ? "-vv" : "-v", automationDetailsId, config, features, logger);
|
return await codeql.databaseInterpretResults(databasePath, queries, sarifFile, addSnippetsFlag, threadsFlag, enableDebugLogging ? "-vv" : "-v", automationDetailsId, config, features);
|
||||||
}
|
}
|
||||||
/** Get an object with all queries and their counts parsed from a SARIF file path. */
|
/** Get an object with all queries and their counts parsed from a SARIF file path. */
|
||||||
function getPerQueryAlertCounts(sarifPath, log) {
|
function getPerQueryAlertCounts(sarifPath, log) {
|
||||||
@@ -250,8 +219,7 @@ async function runQueries(sarifFolder, memoryFlag, addSnippetsFlag, threadsFlag,
|
|||||||
return await codeql.databasePrintBaseline(databasePath);
|
return await codeql.databasePrintBaseline(databasePath);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
exports.runQueries = runQueries;
|
async function runFinalize(outputDir, threadsFlag, memoryFlag, codeql, config, logger) {
|
||||||
async function runFinalize(outputDir, threadsFlag, memoryFlag, config, logger, features) {
|
|
||||||
try {
|
try {
|
||||||
await (0, del_1.default)(outputDir, { force: true });
|
await (0, del_1.default)(outputDir, { force: true });
|
||||||
}
|
}
|
||||||
@@ -261,17 +229,13 @@ async function runFinalize(outputDir, threadsFlag, memoryFlag, config, logger, f
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
await fs.promises.mkdir(outputDir, { recursive: true });
|
await fs.promises.mkdir(outputDir, { recursive: true });
|
||||||
const timings = await finalizeDatabaseCreation(config, threadsFlag, memoryFlag, logger, features);
|
const timings = await finalizeDatabaseCreation(codeql, config, threadsFlag, memoryFlag, logger);
|
||||||
// WARNING: This does not _really_ end tracing, as the tracer will restore its
|
// If we didn't already end tracing in the autobuild Action, end it now.
|
||||||
// critical environment variables and it'll still be active for all processes
|
if (process.env[environment_1.EnvVar.AUTOBUILD_DID_COMPLETE_SUCCESSFULLY] !== "true") {
|
||||||
// launched from this build step.
|
await (0, tracer_config_1.endTracingForCluster)(codeql, config, logger);
|
||||||
// However, it will stop tracing for all steps past the codeql-action/analyze
|
}
|
||||||
// step.
|
|
||||||
// Delete variables as specified by the end-tracing script
|
|
||||||
await (0, tracer_config_1.endTracingForCluster)(config);
|
|
||||||
return timings;
|
return timings;
|
||||||
}
|
}
|
||||||
exports.runFinalize = runFinalize;
|
|
||||||
async function warnIfGoInstalledAfterInit(config, logger) {
|
async function warnIfGoInstalledAfterInit(config, logger) {
|
||||||
// Check that `which go` still points at the same path it did when the `init` Action ran to ensure that no steps
|
// Check that `which go` still points at the same path it did when the `init` Action ran to ensure that no steps
|
||||||
// in-between performed any setup. We encourage users to perform all setup tasks before initializing CodeQL so that
|
// in-between performed any setup. We encourage users to perform all setup tasks before initializing CodeQL so that
|
||||||
@@ -297,7 +261,6 @@ async function warnIfGoInstalledAfterInit(config, logger) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
exports.warnIfGoInstalledAfterInit = warnIfGoInstalledAfterInit;
|
|
||||||
async function runCleanup(config, cleanupLevel, logger) {
|
async function runCleanup(config, cleanupLevel, logger) {
|
||||||
logger.startGroup("Cleaning up databases");
|
logger.startGroup("Cleaning up databases");
|
||||||
for (const language of config.languages) {
|
for (const language of config.languages) {
|
||||||
@@ -307,5 +270,4 @@ async function runCleanup(config, cleanupLevel, logger) {
|
|||||||
}
|
}
|
||||||
logger.endGroup();
|
logger.endGroup();
|
||||||
}
|
}
|
||||||
exports.runCleanup = runCleanup;
|
|
||||||
//# sourceMappingURL=analyze.js.map
|
//# sourceMappingURL=analyze.js.map
|
||||||
File diff suppressed because one or more lines are too long
61
lib/api-client.js
generated
61
lib/api-client.js
generated
@@ -26,12 +26,25 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|||||||
return (mod && mod.__esModule) ? mod : { "default": mod };
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
||||||
};
|
};
|
||||||
Object.defineProperty(exports, "__esModule", { value: true });
|
Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
exports.computeAutomationID = exports.getAutomationID = exports.getAnalysisKey = exports.getWorkflowRelativePath = exports.getGitHubVersion = exports.getGitHubVersionFromApi = exports.getApiClientWithExternalAuth = exports.getApiClient = exports.getApiDetails = exports.DisallowedAPIVersionReason = void 0;
|
exports.DisallowedAPIVersionReason = void 0;
|
||||||
|
exports.getApiDetails = getApiDetails;
|
||||||
|
exports.getApiClient = getApiClient;
|
||||||
|
exports.getApiClientWithExternalAuth = getApiClientWithExternalAuth;
|
||||||
|
exports.getGitHubVersionFromApi = getGitHubVersionFromApi;
|
||||||
|
exports.getGitHubVersion = getGitHubVersion;
|
||||||
|
exports.getWorkflowRelativePath = getWorkflowRelativePath;
|
||||||
|
exports.getAnalysisKey = getAnalysisKey;
|
||||||
|
exports.getAutomationID = getAutomationID;
|
||||||
|
exports.computeAutomationID = computeAutomationID;
|
||||||
|
exports.listActionsCaches = listActionsCaches;
|
||||||
|
exports.deleteActionsCache = deleteActionsCache;
|
||||||
|
exports.wrapApiConfigurationError = wrapApiConfigurationError;
|
||||||
const core = __importStar(require("@actions/core"));
|
const core = __importStar(require("@actions/core"));
|
||||||
const githubUtils = __importStar(require("@actions/github/lib/utils"));
|
const githubUtils = __importStar(require("@actions/github/lib/utils"));
|
||||||
const retry = __importStar(require("@octokit/plugin-retry"));
|
const retry = __importStar(require("@octokit/plugin-retry"));
|
||||||
const console_log_level_1 = __importDefault(require("console-log-level"));
|
const console_log_level_1 = __importDefault(require("console-log-level"));
|
||||||
const actions_util_1 = require("./actions-util");
|
const actions_util_1 = require("./actions-util");
|
||||||
|
const repository_1 = require("./repository");
|
||||||
const util_1 = require("./util");
|
const util_1 = require("./util");
|
||||||
const GITHUB_ENTERPRISE_VERSION_HEADER = "x-github-enterprise-version";
|
const GITHUB_ENTERPRISE_VERSION_HEADER = "x-github-enterprise-version";
|
||||||
var DisallowedAPIVersionReason;
|
var DisallowedAPIVersionReason;
|
||||||
@@ -55,15 +68,12 @@ function getApiDetails() {
|
|||||||
apiURL: (0, util_1.getRequiredEnvParam)("GITHUB_API_URL"),
|
apiURL: (0, util_1.getRequiredEnvParam)("GITHUB_API_URL"),
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
exports.getApiDetails = getApiDetails;
|
|
||||||
function getApiClient() {
|
function getApiClient() {
|
||||||
return createApiClientWithDetails(getApiDetails());
|
return createApiClientWithDetails(getApiDetails());
|
||||||
}
|
}
|
||||||
exports.getApiClient = getApiClient;
|
|
||||||
function getApiClientWithExternalAuth(apiDetails) {
|
function getApiClientWithExternalAuth(apiDetails) {
|
||||||
return createApiClientWithDetails(apiDetails, { allowExternal: true });
|
return createApiClientWithDetails(apiDetails, { allowExternal: true });
|
||||||
}
|
}
|
||||||
exports.getApiClientWithExternalAuth = getApiClientWithExternalAuth;
|
|
||||||
let cachedGitHubVersion = undefined;
|
let cachedGitHubVersion = undefined;
|
||||||
async function getGitHubVersionFromApi(apiClient, apiDetails) {
|
async function getGitHubVersionFromApi(apiClient, apiDetails) {
|
||||||
// We can avoid making an API request in the standard dotcom case
|
// We can avoid making an API request in the standard dotcom case
|
||||||
@@ -72,6 +82,7 @@ async function getGitHubVersionFromApi(apiClient, apiDetails) {
|
|||||||
}
|
}
|
||||||
// Doesn't strictly have to be the meta endpoint as we're only
|
// Doesn't strictly have to be the meta endpoint as we're only
|
||||||
// using the response headers which are available on every request.
|
// using the response headers which are available on every request.
|
||||||
|
// eslint-disable-next-line @typescript-eslint/no-unsafe-call
|
||||||
const response = await apiClient.rest.meta.get();
|
const response = await apiClient.rest.meta.get();
|
||||||
// This happens on dotcom, although we expect to have already returned in that
|
// This happens on dotcom, although we expect to have already returned in that
|
||||||
// case. This can also serve as a fallback in cases we haven't foreseen.
|
// case. This can also serve as a fallback in cases we haven't foreseen.
|
||||||
@@ -84,7 +95,6 @@ async function getGitHubVersionFromApi(apiClient, apiDetails) {
|
|||||||
const version = response.headers[GITHUB_ENTERPRISE_VERSION_HEADER];
|
const version = response.headers[GITHUB_ENTERPRISE_VERSION_HEADER];
|
||||||
return { type: util_1.GitHubVariant.GHES, version };
|
return { type: util_1.GitHubVariant.GHES, version };
|
||||||
}
|
}
|
||||||
exports.getGitHubVersionFromApi = getGitHubVersionFromApi;
|
|
||||||
/**
|
/**
|
||||||
* Report the GitHub server version. This is a wrapper around
|
* Report the GitHub server version. This is a wrapper around
|
||||||
* util.getGitHubVersion() that automatically supplies GitHub API details using
|
* util.getGitHubVersion() that automatically supplies GitHub API details using
|
||||||
@@ -98,7 +108,6 @@ async function getGitHubVersion() {
|
|||||||
}
|
}
|
||||||
return cachedGitHubVersion;
|
return cachedGitHubVersion;
|
||||||
}
|
}
|
||||||
exports.getGitHubVersion = getGitHubVersion;
|
|
||||||
/**
|
/**
|
||||||
* Get the path of the currently executing workflow relative to the repository root.
|
* Get the path of the currently executing workflow relative to the repository root.
|
||||||
*/
|
*/
|
||||||
@@ -114,10 +123,16 @@ async function getWorkflowRelativePath() {
|
|||||||
run_id,
|
run_id,
|
||||||
});
|
});
|
||||||
const workflowUrl = runsResponse.data.workflow_url;
|
const workflowUrl = runsResponse.data.workflow_url;
|
||||||
|
const requiredWorkflowRegex = /\/repos\/[^/]+\/[^/]+\/actions\/required_workflows\/[^/]+/;
|
||||||
|
if (!workflowUrl || requiredWorkflowRegex.test(workflowUrl)) {
|
||||||
|
// For required workflows, the workflowUrl is invalid so we cannot fetch more informations
|
||||||
|
// about the workflow.
|
||||||
|
// However, the path is available in the original response.
|
||||||
|
return runsResponse.data.path;
|
||||||
|
}
|
||||||
const workflowResponse = await apiClient.request(`GET ${workflowUrl}`);
|
const workflowResponse = await apiClient.request(`GET ${workflowUrl}`);
|
||||||
return workflowResponse.data.path;
|
return workflowResponse.data.path;
|
||||||
}
|
}
|
||||||
exports.getWorkflowRelativePath = getWorkflowRelativePath;
|
|
||||||
/**
|
/**
|
||||||
* Get the analysis key parameter for the current job.
|
* Get the analysis key parameter for the current job.
|
||||||
*
|
*
|
||||||
@@ -137,13 +152,11 @@ async function getAnalysisKey() {
|
|||||||
core.exportVariable(analysisKeyEnvVar, analysisKey);
|
core.exportVariable(analysisKeyEnvVar, analysisKey);
|
||||||
return analysisKey;
|
return analysisKey;
|
||||||
}
|
}
|
||||||
exports.getAnalysisKey = getAnalysisKey;
|
|
||||||
async function getAutomationID() {
|
async function getAutomationID() {
|
||||||
const analysis_key = await getAnalysisKey();
|
const analysis_key = await getAnalysisKey();
|
||||||
const environment = (0, actions_util_1.getRequiredInput)("matrix");
|
const environment = (0, actions_util_1.getRequiredInput)("matrix");
|
||||||
return computeAutomationID(analysis_key, environment);
|
return computeAutomationID(analysis_key, environment);
|
||||||
}
|
}
|
||||||
exports.getAutomationID = getAutomationID;
|
|
||||||
function computeAutomationID(analysis_key, environment) {
|
function computeAutomationID(analysis_key, environment) {
|
||||||
let automationID = `${analysis_key}/`;
|
let automationID = `${analysis_key}/`;
|
||||||
const matrix = (0, util_1.parseMatrixInput)(environment);
|
const matrix = (0, util_1.parseMatrixInput)(environment);
|
||||||
@@ -162,5 +175,33 @@ function computeAutomationID(analysis_key, environment) {
|
|||||||
}
|
}
|
||||||
return automationID;
|
return automationID;
|
||||||
}
|
}
|
||||||
exports.computeAutomationID = computeAutomationID;
|
/** List all Actions cache entries matching the provided key and ref. */
|
||||||
|
async function listActionsCaches(key, ref) {
|
||||||
|
const repositoryNwo = (0, repository_1.parseRepositoryNwo)((0, util_1.getRequiredEnvParam)("GITHUB_REPOSITORY"));
|
||||||
|
return await getApiClient().paginate("GET /repos/{owner}/{repo}/actions/caches", {
|
||||||
|
owner: repositoryNwo.owner,
|
||||||
|
repo: repositoryNwo.repo,
|
||||||
|
key,
|
||||||
|
ref,
|
||||||
|
});
|
||||||
|
}
|
||||||
|
/** Delete an Actions cache item by its ID. */
|
||||||
|
async function deleteActionsCache(id) {
|
||||||
|
const repositoryNwo = (0, repository_1.parseRepositoryNwo)((0, util_1.getRequiredEnvParam)("GITHUB_REPOSITORY"));
|
||||||
|
await getApiClient().rest.actions.deleteActionsCacheById({
|
||||||
|
owner: repositoryNwo.owner,
|
||||||
|
repo: repositoryNwo.repo,
|
||||||
|
cache_id: id,
|
||||||
|
});
|
||||||
|
}
|
||||||
|
function wrapApiConfigurationError(e) {
|
||||||
|
if ((0, util_1.isHTTPError)(e)) {
|
||||||
|
if (e.message.includes("API rate limit exceeded for site ID installation") ||
|
||||||
|
e.message.includes("commit not found") ||
|
||||||
|
/^ref .* not found in this repository$/.test(e.message)) {
|
||||||
|
return new util_1.ConfigurationError(e.message);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return e;
|
||||||
|
}
|
||||||
//# sourceMappingURL=api-client.js.map
|
//# sourceMappingURL=api-client.js.map
|
||||||
File diff suppressed because one or more lines are too long
@@ -1 +1 @@
|
|||||||
{ "maximumVersion": "3.13", "minimumVersion": "3.8" }
|
{ "maximumVersion": "3.14", "minimumVersion": "3.10" }
|
||||||
|
|||||||
25
lib/autobuild-action.js
generated
25
lib/autobuild-action.js
generated
@@ -32,17 +32,20 @@ const config_utils_1 = require("./config-utils");
|
|||||||
const environment_1 = require("./environment");
|
const environment_1 = require("./environment");
|
||||||
const logging_1 = require("./logging");
|
const logging_1 = require("./logging");
|
||||||
const status_report_1 = require("./status-report");
|
const status_report_1 = require("./status-report");
|
||||||
|
const tracer_config_1 = require("./tracer-config");
|
||||||
const util_1 = require("./util");
|
const util_1 = require("./util");
|
||||||
async function sendCompletedStatusReport(config, logger, startedAt, allLanguages, failingLanguage, cause) {
|
async function sendCompletedStatusReport(config, logger, startedAt, allLanguages, failingLanguage, cause) {
|
||||||
(0, util_1.initializeEnvironment)((0, actions_util_1.getActionVersion)());
|
(0, util_1.initializeEnvironment)((0, actions_util_1.getActionVersion)());
|
||||||
const status = (0, status_report_1.getActionsStatus)(cause, failingLanguage);
|
const status = (0, status_report_1.getActionsStatus)(cause, failingLanguage);
|
||||||
const statusReportBase = await (0, status_report_1.createStatusReportBase)(status_report_1.ActionName.Autobuild, status, startedAt, config, await (0, util_1.checkDiskUsage)(logger), logger, cause?.message, cause?.stack);
|
const statusReportBase = await (0, status_report_1.createStatusReportBase)(status_report_1.ActionName.Autobuild, status, startedAt, config, await (0, util_1.checkDiskUsage)(logger), logger, cause?.message, cause?.stack);
|
||||||
const statusReport = {
|
if (statusReportBase !== undefined) {
|
||||||
...statusReportBase,
|
const statusReport = {
|
||||||
autobuild_languages: allLanguages.join(","),
|
...statusReportBase,
|
||||||
autobuild_failure: failingLanguage,
|
autobuild_languages: allLanguages.join(","),
|
||||||
};
|
autobuild_failure: failingLanguage,
|
||||||
await (0, status_report_1.sendStatusReport)(statusReport);
|
};
|
||||||
|
await (0, status_report_1.sendStatusReport)(statusReport);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
async function run() {
|
async function run() {
|
||||||
const startedAt = new Date();
|
const startedAt = new Date();
|
||||||
@@ -51,7 +54,10 @@ async function run() {
|
|||||||
let currentLanguage;
|
let currentLanguage;
|
||||||
let languages;
|
let languages;
|
||||||
try {
|
try {
|
||||||
await (0, status_report_1.sendStatusReport)(await (0, status_report_1.createStatusReportBase)(status_report_1.ActionName.Autobuild, "starting", startedAt, config, await (0, util_1.checkDiskUsage)(logger), logger));
|
const statusReportBase = await (0, status_report_1.createStatusReportBase)(status_report_1.ActionName.Autobuild, "starting", startedAt, config, await (0, util_1.checkDiskUsage)(logger), logger);
|
||||||
|
if (statusReportBase !== undefined) {
|
||||||
|
await (0, status_report_1.sendStatusReport)(statusReportBase);
|
||||||
|
}
|
||||||
const gitHubVersion = await (0, api_client_1.getGitHubVersion)();
|
const gitHubVersion = await (0, api_client_1.getGitHubVersion)();
|
||||||
(0, util_1.checkGitHubVersionInRange)(gitHubVersion, logger);
|
(0, util_1.checkGitHubVersionInRange)(gitHubVersion, logger);
|
||||||
(0, util_1.checkActionVersion)((0, actions_util_1.getActionVersion)(), gitHubVersion);
|
(0, util_1.checkActionVersion)((0, actions_util_1.getActionVersion)(), gitHubVersion);
|
||||||
@@ -69,9 +75,12 @@ async function run() {
|
|||||||
}
|
}
|
||||||
for (const language of languages) {
|
for (const language of languages) {
|
||||||
currentLanguage = language;
|
currentLanguage = language;
|
||||||
await (0, autobuild_1.runAutobuild)(language, config, logger);
|
await (0, autobuild_1.runAutobuild)(config, language, logger);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
// End tracing early to avoid tracing analyze. This improves the performance and reliability of
|
||||||
|
// the analyze step.
|
||||||
|
await (0, tracer_config_1.endTracingForCluster)(codeql, config, logger);
|
||||||
}
|
}
|
||||||
catch (unwrappedError) {
|
catch (unwrappedError) {
|
||||||
const error = (0, util_1.wrapError)(unwrappedError);
|
const error = (0, util_1.wrapError)(unwrappedError);
|
||||||
|
|||||||
@@ -1 +1 @@
|
|||||||
{"version":3,"file":"autobuild-action.js","sourceRoot":"","sources":["../src/autobuild-action.ts"],"names":[],"mappings":"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"}
|
{"version":3,"file":"autobuild-action.js","sourceRoot":"","sources":["../src/autobuild-action.ts"],"names":[],"mappings":"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"}
|
||||||
31
lib/autobuild.js
generated
31
lib/autobuild.js
generated
@@ -23,12 +23,14 @@ var __importStar = (this && this.__importStar) || function (mod) {
|
|||||||
return result;
|
return result;
|
||||||
};
|
};
|
||||||
Object.defineProperty(exports, "__esModule", { value: true });
|
Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
exports.runAutobuild = exports.setupCppAutobuild = exports.determineAutobuildLanguages = void 0;
|
exports.determineAutobuildLanguages = determineAutobuildLanguages;
|
||||||
|
exports.setupCppAutobuild = setupCppAutobuild;
|
||||||
|
exports.runAutobuild = runAutobuild;
|
||||||
const core = __importStar(require("@actions/core"));
|
const core = __importStar(require("@actions/core"));
|
||||||
const actions_util_1 = require("./actions-util");
|
const actions_util_1 = require("./actions-util");
|
||||||
const api_client_1 = require("./api-client");
|
const api_client_1 = require("./api-client");
|
||||||
const codeql_1 = require("./codeql");
|
const codeql_1 = require("./codeql");
|
||||||
const config_utils_1 = require("./config-utils");
|
const doc_url_1 = require("./doc-url");
|
||||||
const environment_1 = require("./environment");
|
const environment_1 = require("./environment");
|
||||||
const feature_flags_1 = require("./feature-flags");
|
const feature_flags_1 = require("./feature-flags");
|
||||||
const languages_1 = require("./languages");
|
const languages_1 = require("./languages");
|
||||||
@@ -36,9 +38,9 @@ const repository_1 = require("./repository");
|
|||||||
const tools_features_1 = require("./tools-features");
|
const tools_features_1 = require("./tools-features");
|
||||||
const util_1 = require("./util");
|
const util_1 = require("./util");
|
||||||
async function determineAutobuildLanguages(codeql, config, logger) {
|
async function determineAutobuildLanguages(codeql, config, logger) {
|
||||||
if ((config.buildMode === config_utils_1.BuildMode.None &&
|
if ((config.buildMode === util_1.BuildMode.None &&
|
||||||
(await codeql.supportsFeature(tools_features_1.ToolsFeature.TraceCommandUseBuildMode))) ||
|
(await codeql.supportsFeature(tools_features_1.ToolsFeature.TraceCommandUseBuildMode))) ||
|
||||||
config.buildMode === config_utils_1.BuildMode.Manual) {
|
config.buildMode === util_1.BuildMode.Manual) {
|
||||||
logger.info(`Using ${config.buildMode} build mode, nothing to autobuild.`);
|
logger.info(`Using ${config.buildMode} build mode, nothing to autobuild.`);
|
||||||
return undefined;
|
return undefined;
|
||||||
}
|
}
|
||||||
@@ -102,16 +104,13 @@ async function determineAutobuildLanguages(codeql, config, logger) {
|
|||||||
logger.warning(`We will only automatically build ${languages.join(" and ")} code. If you wish to scan ${autobuildLanguagesWithoutGo
|
logger.warning(`We will only automatically build ${languages.join(" and ")} code. If you wish to scan ${autobuildLanguagesWithoutGo
|
||||||
.slice(1)
|
.slice(1)
|
||||||
.join(" and ")}, you must replace the autobuild step of your workflow with custom build steps. ` +
|
.join(" and ")}, you must replace the autobuild step of your workflow with custom build steps. ` +
|
||||||
"For more information, see " +
|
`See ${doc_url_1.DocUrl.SPECIFY_BUILD_STEPS_MANUALLY} for more information.`);
|
||||||
"https://docs.github.com/en/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/configuring-the-codeql-workflow-for-compiled-languages#adding-build-steps-for-a-compiled-language");
|
|
||||||
}
|
}
|
||||||
return languages;
|
return languages;
|
||||||
}
|
}
|
||||||
exports.determineAutobuildLanguages = determineAutobuildLanguages;
|
|
||||||
async function setupCppAutobuild(codeql, logger) {
|
async function setupCppAutobuild(codeql, logger) {
|
||||||
const envVar = feature_flags_1.featureConfig[feature_flags_1.Feature.CppDependencyInstallation].envVar;
|
const envVar = feature_flags_1.featureConfig[feature_flags_1.Feature.CppDependencyInstallation].envVar;
|
||||||
const featureName = "C++ automatic installation of dependencies";
|
const featureName = "C++ automatic installation of dependencies";
|
||||||
const envDoc = "https://docs.github.com/en/actions/learn-github-actions/variables#defining-environment-variables-for-a-single-workflow";
|
|
||||||
const gitHubVersion = await (0, api_client_1.getGitHubVersion)();
|
const gitHubVersion = await (0, api_client_1.getGitHubVersion)();
|
||||||
const repositoryNwo = (0, repository_1.parseRepositoryNwo)((0, util_1.getRequiredEnvParam)("GITHUB_REPOSITORY"));
|
const repositoryNwo = (0, repository_1.parseRepositoryNwo)((0, util_1.getRequiredEnvParam)("GITHUB_REPOSITORY"));
|
||||||
const features = new feature_flags_1.Features(gitHubVersion, repositoryNwo, (0, actions_util_1.getTemporaryDirectory)(), logger);
|
const features = new feature_flags_1.Features(gitHubVersion, repositoryNwo, (0, actions_util_1.getTemporaryDirectory)(), logger);
|
||||||
@@ -120,12 +119,12 @@ async function setupCppAutobuild(codeql, logger) {
|
|||||||
if (process.env["RUNNER_ENVIRONMENT"] === "self-hosted" &&
|
if (process.env["RUNNER_ENVIRONMENT"] === "self-hosted" &&
|
||||||
process.env[envVar] !== "true") {
|
process.env[envVar] !== "true") {
|
||||||
logger.info(`Disabling ${featureName} as we are on a self-hosted runner.${(0, actions_util_1.getWorkflowEventName)() !== "dynamic"
|
logger.info(`Disabling ${featureName} as we are on a self-hosted runner.${(0, actions_util_1.getWorkflowEventName)() !== "dynamic"
|
||||||
? ` To override this, set the ${envVar} environment variable to 'true' in your workflow (see ${envDoc}).`
|
? ` To override this, set the ${envVar} environment variable to 'true' in your workflow. See ${doc_url_1.DocUrl.DEFINE_ENV_VARIABLES} for more information.`
|
||||||
: ""}`);
|
: ""}`);
|
||||||
core.exportVariable(envVar, "false");
|
core.exportVariable(envVar, "false");
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
logger.info(`Enabling ${featureName}. This can be disabled by setting the ${envVar} environment variable to 'false' (see ${envDoc}).`);
|
logger.info(`Enabling ${featureName}. This can be disabled by setting the ${envVar} environment variable to 'false'. See ${doc_url_1.DocUrl.DEFINE_ENV_VARIABLES} for more information.`);
|
||||||
core.exportVariable(envVar, "true");
|
core.exportVariable(envVar, "true");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -134,18 +133,22 @@ async function setupCppAutobuild(codeql, logger) {
|
|||||||
core.exportVariable(envVar, "false");
|
core.exportVariable(envVar, "false");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
exports.setupCppAutobuild = setupCppAutobuild;
|
async function runAutobuild(config, language, logger) {
|
||||||
async function runAutobuild(language, config, logger) {
|
|
||||||
logger.startGroup(`Attempting to automatically build ${language} code`);
|
logger.startGroup(`Attempting to automatically build ${language} code`);
|
||||||
const codeQL = await (0, codeql_1.getCodeQL)(config.codeQLCmd);
|
const codeQL = await (0, codeql_1.getCodeQL)(config.codeQLCmd);
|
||||||
if (language === languages_1.Language.cpp) {
|
if (language === languages_1.Language.cpp) {
|
||||||
await setupCppAutobuild(codeQL, logger);
|
await setupCppAutobuild(codeQL, logger);
|
||||||
}
|
}
|
||||||
await codeQL.runAutobuild(language, config.debugMode);
|
if (config.buildMode &&
|
||||||
|
(await codeQL.supportsFeature(tools_features_1.ToolsFeature.TraceCommandUseBuildMode))) {
|
||||||
|
await codeQL.extractUsingBuildMode(config, language);
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
await codeQL.runAutobuild(config, language);
|
||||||
|
}
|
||||||
if (language === languages_1.Language.go) {
|
if (language === languages_1.Language.go) {
|
||||||
core.exportVariable(environment_1.EnvVar.DID_AUTOBUILD_GOLANG, "true");
|
core.exportVariable(environment_1.EnvVar.DID_AUTOBUILD_GOLANG, "true");
|
||||||
}
|
}
|
||||||
logger.endGroup();
|
logger.endGroup();
|
||||||
}
|
}
|
||||||
exports.runAutobuild = runAutobuild;
|
|
||||||
//# sourceMappingURL=autobuild.js.map
|
//# sourceMappingURL=autobuild.js.map
|
||||||
@@ -1 +1 @@
|
|||||||
{"version":3,"file":"autobuild.js","sourceRoot":"","sources":["../src/autobuild.ts"],"names":[],"mappings":"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"}
|
{"version":3,"file":"autobuild.js","sourceRoot":"","sources":["../src/autobuild.ts"],"names":[],"mappings":"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"}
|
||||||
92
lib/cli-errors.js
generated
92
lib/cli-errors.js
generated
@@ -1,8 +1,10 @@
|
|||||||
"use strict";
|
"use strict";
|
||||||
Object.defineProperty(exports, "__esModule", { value: true });
|
Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
exports.wrapCliConfigurationError = exports.getCliConfigCategoryIfExists = exports.cliErrorsConfig = exports.CliConfigErrorCategory = exports.CommandInvocationError = void 0;
|
exports.cliErrorsConfig = exports.CliConfigErrorCategory = exports.CommandInvocationError = void 0;
|
||||||
|
exports.getCliConfigCategoryIfExists = getCliConfigCategoryIfExists;
|
||||||
|
exports.wrapCliConfigurationError = wrapCliConfigurationError;
|
||||||
|
const doc_url_1 = require("./doc-url");
|
||||||
const util_1 = require("./util");
|
const util_1 = require("./util");
|
||||||
const NO_SOURCE_CODE_SEEN_DOCS_LINK = "https://gh.io/troubleshooting-code-scanning/no-source-code-seen-during-build";
|
|
||||||
/**
|
/**
|
||||||
* A class of Error that we can classify as an error stemming from a CLI
|
* A class of Error that we can classify as an error stemming from a CLI
|
||||||
* invocation, with associated exit code, stderr,etc.
|
* invocation, with associated exit code, stderr,etc.
|
||||||
@@ -18,20 +20,16 @@ class CommandInvocationError extends Error {
|
|||||||
if (fatalErrors) {
|
if (fatalErrors) {
|
||||||
message =
|
message =
|
||||||
`Encountered a fatal error while running "${prettyCommand}". ` +
|
`Encountered a fatal error while running "${prettyCommand}". ` +
|
||||||
`Exit code was ${exitCode} and error was: ${fatalErrors.trim()} See the logs for more details.`;
|
`Exit code was ${exitCode} and error was: ${ensureEndsInPeriod(fatalErrors.trim())} See the logs for more details.`;
|
||||||
}
|
}
|
||||||
else if (autobuildErrors) {
|
else if (autobuildErrors) {
|
||||||
const autobuildHelpLink = "https://docs.github.com/en/code-security/code-scanning/troubleshooting-code-scanning/automatic-build-failed";
|
|
||||||
message =
|
message =
|
||||||
"We were unable to automatically build your code. Please provide manual build steps. " +
|
"We were unable to automatically build your code. Please provide manual build steps. " +
|
||||||
`For more information, see ${autobuildHelpLink}. ` +
|
`See ${doc_url_1.DocUrl.AUTOMATIC_BUILD_FAILED} for more information. ` +
|
||||||
`Encountered the following error: ${autobuildErrors}`;
|
`Encountered the following error: ${autobuildErrors}`;
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
let lastLine = stderr.trim().split("\n").pop()?.trim() || "";
|
const lastLine = ensureEndsInPeriod(stderr.trim().split("\n").pop()?.trim() || "n/a");
|
||||||
if (lastLine[lastLine.length - 1] !== ".") {
|
|
||||||
lastLine += ".";
|
|
||||||
}
|
|
||||||
message =
|
message =
|
||||||
`Encountered a fatal error while running "${prettyCommand}". ` +
|
`Encountered a fatal error while running "${prettyCommand}". ` +
|
||||||
`Exit code was ${exitCode} and last log line was: ${lastLine} See the logs for more details.`;
|
`Exit code was ${exitCode} and last log line was: ${lastLine} See the logs for more details.`;
|
||||||
@@ -73,7 +71,7 @@ exports.CommandInvocationError = CommandInvocationError;
|
|||||||
* the Actions UI.
|
* the Actions UI.
|
||||||
*/
|
*/
|
||||||
function extractFatalErrors(error) {
|
function extractFatalErrors(error) {
|
||||||
const fatalErrorRegex = /.*fatal error occurred:/gi;
|
const fatalErrorRegex = /.*fatal (internal )?error occurr?ed(. Details)?:/gi;
|
||||||
let fatalErrors = [];
|
let fatalErrors = [];
|
||||||
let lastFatalErrorIndex;
|
let lastFatalErrorIndex;
|
||||||
let match;
|
let match;
|
||||||
@@ -117,9 +115,12 @@ function ensureEndsInPeriod(text) {
|
|||||||
/** Error messages from the CLI that we consider configuration errors and handle specially. */
|
/** Error messages from the CLI that we consider configuration errors and handle specially. */
|
||||||
var CliConfigErrorCategory;
|
var CliConfigErrorCategory;
|
||||||
(function (CliConfigErrorCategory) {
|
(function (CliConfigErrorCategory) {
|
||||||
|
CliConfigErrorCategory["AutobuildError"] = "AutobuildError";
|
||||||
|
CliConfigErrorCategory["ExternalRepositoryCloneFailed"] = "ExternalRepositoryCloneFailed";
|
||||||
CliConfigErrorCategory["GradleBuildFailed"] = "GradleBuildFailed";
|
CliConfigErrorCategory["GradleBuildFailed"] = "GradleBuildFailed";
|
||||||
CliConfigErrorCategory["IncompatibleWithActionVersion"] = "IncompatibleWithActionVersion";
|
CliConfigErrorCategory["IncompatibleWithActionVersion"] = "IncompatibleWithActionVersion";
|
||||||
CliConfigErrorCategory["InitCalledTwice"] = "InitCalledTwice";
|
CliConfigErrorCategory["InitCalledTwice"] = "InitCalledTwice";
|
||||||
|
CliConfigErrorCategory["InvalidConfigFile"] = "InvalidConfigFile";
|
||||||
CliConfigErrorCategory["InvalidSourceRoot"] = "InvalidSourceRoot";
|
CliConfigErrorCategory["InvalidSourceRoot"] = "InvalidSourceRoot";
|
||||||
CliConfigErrorCategory["MavenBuildFailed"] = "MavenBuildFailed";
|
CliConfigErrorCategory["MavenBuildFailed"] = "MavenBuildFailed";
|
||||||
CliConfigErrorCategory["NoBuildCommandAutodetected"] = "NoBuildCommandAutodetected";
|
CliConfigErrorCategory["NoBuildCommandAutodetected"] = "NoBuildCommandAutodetected";
|
||||||
@@ -127,13 +128,27 @@ var CliConfigErrorCategory;
|
|||||||
CliConfigErrorCategory["NoSourceCodeSeen"] = "NoSourceCodeSeen";
|
CliConfigErrorCategory["NoSourceCodeSeen"] = "NoSourceCodeSeen";
|
||||||
CliConfigErrorCategory["NoSupportedBuildCommandSucceeded"] = "NoSupportedBuildCommandSucceeded";
|
CliConfigErrorCategory["NoSupportedBuildCommandSucceeded"] = "NoSupportedBuildCommandSucceeded";
|
||||||
CliConfigErrorCategory["NoSupportedBuildSystemDetected"] = "NoSupportedBuildSystemDetected";
|
CliConfigErrorCategory["NoSupportedBuildSystemDetected"] = "NoSupportedBuildSystemDetected";
|
||||||
|
CliConfigErrorCategory["OutOfMemoryOrDisk"] = "OutOfMemoryOrDisk";
|
||||||
|
CliConfigErrorCategory["PackCannotBeFound"] = "PackCannotBeFound";
|
||||||
|
CliConfigErrorCategory["PackMissingAuth"] = "PackMissingAuth";
|
||||||
CliConfigErrorCategory["SwiftBuildFailed"] = "SwiftBuildFailed";
|
CliConfigErrorCategory["SwiftBuildFailed"] = "SwiftBuildFailed";
|
||||||
|
CliConfigErrorCategory["UnsupportedBuildMode"] = "UnsupportedBuildMode";
|
||||||
})(CliConfigErrorCategory || (exports.CliConfigErrorCategory = CliConfigErrorCategory = {}));
|
})(CliConfigErrorCategory || (exports.CliConfigErrorCategory = CliConfigErrorCategory = {}));
|
||||||
/**
|
/**
|
||||||
* All of our caught CLI error messages that we handle specially: ie. if we
|
* All of our caught CLI error messages that we handle specially: ie. if we
|
||||||
* would like to categorize an error as a configuration error or not.
|
* would like to categorize an error as a configuration error or not.
|
||||||
*/
|
*/
|
||||||
exports.cliErrorsConfig = {
|
exports.cliErrorsConfig = {
|
||||||
|
[CliConfigErrorCategory.AutobuildError]: {
|
||||||
|
cliErrorMessageCandidates: [
|
||||||
|
new RegExp("We were unable to automatically build your code"),
|
||||||
|
],
|
||||||
|
},
|
||||||
|
[CliConfigErrorCategory.ExternalRepositoryCloneFailed]: {
|
||||||
|
cliErrorMessageCandidates: [
|
||||||
|
new RegExp("Failed to clone external Git repository"),
|
||||||
|
],
|
||||||
|
},
|
||||||
[CliConfigErrorCategory.GradleBuildFailed]: {
|
[CliConfigErrorCategory.GradleBuildFailed]: {
|
||||||
cliErrorMessageCandidates: [
|
cliErrorMessageCandidates: [
|
||||||
new RegExp("[autobuild] FAILURE: Build failed with an exception."),
|
new RegExp("[autobuild] FAILURE: Build failed with an exception."),
|
||||||
@@ -151,6 +166,12 @@ exports.cliErrorsConfig = {
|
|||||||
],
|
],
|
||||||
additionalErrorMessageToAppend: `Is the "init" action called twice in the same job?`,
|
additionalErrorMessageToAppend: `Is the "init" action called twice in the same job?`,
|
||||||
},
|
},
|
||||||
|
[CliConfigErrorCategory.InvalidConfigFile]: {
|
||||||
|
cliErrorMessageCandidates: [
|
||||||
|
new RegExp("Config file .* is not valid"),
|
||||||
|
new RegExp("The supplied config file is empty"),
|
||||||
|
],
|
||||||
|
},
|
||||||
// Expected source location for database creation does not exist
|
// Expected source location for database creation does not exist
|
||||||
[CliConfigErrorCategory.InvalidSourceRoot]: {
|
[CliConfigErrorCategory.InvalidSourceRoot]: {
|
||||||
cliErrorMessageCandidates: [new RegExp("Invalid source root")],
|
cliErrorMessageCandidates: [new RegExp("Invalid source root")],
|
||||||
@@ -177,15 +198,6 @@ exports.cliErrorsConfig = {
|
|||||||
cliErrorMessageCandidates: [
|
cliErrorMessageCandidates: [
|
||||||
new RegExp("CodeQL detected code written in .* but could not process any of it"),
|
new RegExp("CodeQL detected code written in .* but could not process any of it"),
|
||||||
new RegExp("CodeQL did not detect any code written in languages supported by CodeQL"),
|
new RegExp("CodeQL did not detect any code written in languages supported by CodeQL"),
|
||||||
/**
|
|
||||||
* Earlier versions of the JavaScript extractor (pre-CodeQL 2.12.0) extract externs even if no
|
|
||||||
* source code was found. This means that we don't get the no code found error from
|
|
||||||
* `codeql database finalize`. To ensure users get a good error message, we detect this manually
|
|
||||||
* here, and upon detection override the error message.
|
|
||||||
*
|
|
||||||
* This can be removed once support for CodeQL 2.11.6 is removed.
|
|
||||||
*/
|
|
||||||
new RegExp("No JavaScript or TypeScript code found"),
|
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
[CliConfigErrorCategory.NoSupportedBuildCommandSucceeded]: {
|
[CliConfigErrorCategory.NoSupportedBuildCommandSucceeded]: {
|
||||||
@@ -198,11 +210,35 @@ exports.cliErrorsConfig = {
|
|||||||
new RegExp("No supported build system detected"),
|
new RegExp("No supported build system detected"),
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
|
[CliConfigErrorCategory.OutOfMemoryOrDisk]: {
|
||||||
|
cliErrorMessageCandidates: [
|
||||||
|
new RegExp("CodeQL is out of memory."),
|
||||||
|
new RegExp("out of disk"),
|
||||||
|
new RegExp("No space left on device"),
|
||||||
|
],
|
||||||
|
additionalErrorMessageToAppend: "For more information, see https://gh.io/troubleshooting-code-scanning/out-of-disk-or-memory",
|
||||||
|
},
|
||||||
|
[CliConfigErrorCategory.PackCannotBeFound]: {
|
||||||
|
cliErrorMessageCandidates: [
|
||||||
|
new RegExp("Query pack .* cannot be found\\. Check the spelling of the pack\\."),
|
||||||
|
],
|
||||||
|
},
|
||||||
|
[CliConfigErrorCategory.PackMissingAuth]: {
|
||||||
|
cliErrorMessageCandidates: [
|
||||||
|
new RegExp("GitHub Container registry .* 403 Forbidden"),
|
||||||
|
new RegExp("Do you need to specify a token to authenticate to the registry?"),
|
||||||
|
],
|
||||||
|
},
|
||||||
[CliConfigErrorCategory.SwiftBuildFailed]: {
|
[CliConfigErrorCategory.SwiftBuildFailed]: {
|
||||||
cliErrorMessageCandidates: [
|
cliErrorMessageCandidates: [
|
||||||
new RegExp("\\[autobuilder/build\\] \\[build-command-failed\\] `autobuild` failed to run the build command"),
|
new RegExp("\\[autobuilder/build\\] \\[build-command-failed\\] `autobuild` failed to run the build command"),
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
|
[CliConfigErrorCategory.UnsupportedBuildMode]: {
|
||||||
|
cliErrorMessageCandidates: [
|
||||||
|
new RegExp("does not support the .* build mode. Please try using one of the following build modes instead"),
|
||||||
|
],
|
||||||
|
},
|
||||||
};
|
};
|
||||||
/**
|
/**
|
||||||
* Check if the given CLI error or exit code, if applicable, apply to any known
|
* Check if the given CLI error or exit code, if applicable, apply to any known
|
||||||
@@ -225,18 +261,6 @@ function getCliConfigCategoryIfExists(cliError) {
|
|||||||
}
|
}
|
||||||
return undefined;
|
return undefined;
|
||||||
}
|
}
|
||||||
exports.getCliConfigCategoryIfExists = getCliConfigCategoryIfExists;
|
|
||||||
/**
|
|
||||||
* Prepend a clearer error message with the docs link if the error message does not already
|
|
||||||
* include it. Can be removed once support for CodeQL 2.11.6 is removed; at that point, all runs
|
|
||||||
* should already include the doc link.
|
|
||||||
*/
|
|
||||||
function prependDocsLinkIfApplicable(cliErrorMessage) {
|
|
||||||
if (!cliErrorMessage.includes(NO_SOURCE_CODE_SEEN_DOCS_LINK)) {
|
|
||||||
return `No code found during the build. Please see: ${NO_SOURCE_CODE_SEEN_DOCS_LINK}. Detailed error: ${cliErrorMessage}`;
|
|
||||||
}
|
|
||||||
return cliErrorMessage;
|
|
||||||
}
|
|
||||||
/**
|
/**
|
||||||
* Changes an error received from the CLI to a ConfigurationError with optionally an extra
|
* Changes an error received from the CLI to a ConfigurationError with optionally an extra
|
||||||
* error message appended, if it exists in a known set of configuration errors. Otherwise,
|
* error message appended, if it exists in a known set of configuration errors. Otherwise,
|
||||||
@@ -251,16 +275,10 @@ function wrapCliConfigurationError(cliError) {
|
|||||||
return cliError;
|
return cliError;
|
||||||
}
|
}
|
||||||
let errorMessageBuilder = cliError.message;
|
let errorMessageBuilder = cliError.message;
|
||||||
// Can be removed once support for CodeQL 2.11.6 is removed; at that point, all runs should
|
|
||||||
// already include the doc link.
|
|
||||||
if (cliConfigErrorCategory === CliConfigErrorCategory.NoSourceCodeSeen) {
|
|
||||||
errorMessageBuilder = prependDocsLinkIfApplicable(errorMessageBuilder);
|
|
||||||
}
|
|
||||||
const additionalErrorMessageToAppend = exports.cliErrorsConfig[cliConfigErrorCategory].additionalErrorMessageToAppend;
|
const additionalErrorMessageToAppend = exports.cliErrorsConfig[cliConfigErrorCategory].additionalErrorMessageToAppend;
|
||||||
if (additionalErrorMessageToAppend !== undefined) {
|
if (additionalErrorMessageToAppend !== undefined) {
|
||||||
errorMessageBuilder = `${errorMessageBuilder} ${additionalErrorMessageToAppend}`;
|
errorMessageBuilder = `${errorMessageBuilder} ${additionalErrorMessageToAppend}`;
|
||||||
}
|
}
|
||||||
return new util_1.ConfigurationError(errorMessageBuilder);
|
return new util_1.ConfigurationError(errorMessageBuilder);
|
||||||
}
|
}
|
||||||
exports.wrapCliConfigurationError = wrapCliConfigurationError;
|
|
||||||
//# sourceMappingURL=cli-errors.js.map
|
//# sourceMappingURL=cli-errors.js.map
|
||||||
File diff suppressed because one or more lines are too long
254
lib/codeql.js
generated
254
lib/codeql.js
generated
@@ -23,7 +23,17 @@ var __importStar = (this && this.__importStar) || function (mod) {
|
|||||||
return result;
|
return result;
|
||||||
};
|
};
|
||||||
Object.defineProperty(exports, "__esModule", { value: true });
|
Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
exports.getGeneratedCodeScanningConfigPath = exports.getTrapCachingExtractorConfigArgsForLang = exports.getTrapCachingExtractorConfigArgs = exports.getExtraOptions = exports.getCodeQLForCmd = exports.getCodeQLForTesting = exports.getCachedCodeQL = exports.setCodeQL = exports.getCodeQL = exports.setupCodeQL = exports.CODEQL_VERSION_SUBLANGUAGE_FILE_COVERAGE = exports.CODEQL_VERSION_ANALYSIS_SUMMARY_V2 = exports.CODEQL_VERSION_LANGUAGE_ALIASING = exports.CODEQL_VERSION_LANGUAGE_BASELINE_CONFIG = exports.CODEQL_VERSION_RESOLVE_ENVIRONMENT = exports.CODEQL_VERSION_DIAGNOSTICS_EXPORT_FIXED = exports.CODEQL_VERSION_INIT_WITH_QLCONFIG = exports.CODEQL_VERSION_EXPORT_CODE_SCANNING_CONFIG = exports.CODEQL_VERSION_SECURITY_EXPERIMENTAL_SUITE = void 0;
|
exports.CODEQL_VERSION_SUBLANGUAGE_FILE_COVERAGE = exports.CODEQL_VERSION_ANALYSIS_SUMMARY_V2 = exports.CODEQL_VERSION_LANGUAGE_ALIASING = exports.CODEQL_VERSION_LANGUAGE_BASELINE_CONFIG = void 0;
|
||||||
|
exports.setupCodeQL = setupCodeQL;
|
||||||
|
exports.getCodeQL = getCodeQL;
|
||||||
|
exports.setCodeQL = setCodeQL;
|
||||||
|
exports.getCachedCodeQL = getCachedCodeQL;
|
||||||
|
exports.getCodeQLForTesting = getCodeQLForTesting;
|
||||||
|
exports.getCodeQLForCmd = getCodeQLForCmd;
|
||||||
|
exports.getExtraOptions = getExtraOptions;
|
||||||
|
exports.getTrapCachingExtractorConfigArgs = getTrapCachingExtractorConfigArgs;
|
||||||
|
exports.getTrapCachingExtractorConfigArgsForLang = getTrapCachingExtractorConfigArgsForLang;
|
||||||
|
exports.getGeneratedCodeScanningConfigPath = getGeneratedCodeScanningConfigPath;
|
||||||
const fs = __importStar(require("fs"));
|
const fs = __importStar(require("fs"));
|
||||||
const path = __importStar(require("path"));
|
const path = __importStar(require("path"));
|
||||||
const core = __importStar(require("@actions/core"));
|
const core = __importStar(require("@actions/core"));
|
||||||
@@ -32,11 +42,12 @@ const yaml = __importStar(require("js-yaml"));
|
|||||||
const semver = __importStar(require("semver"));
|
const semver = __importStar(require("semver"));
|
||||||
const actions_util_1 = require("./actions-util");
|
const actions_util_1 = require("./actions-util");
|
||||||
const cli_errors_1 = require("./cli-errors");
|
const cli_errors_1 = require("./cli-errors");
|
||||||
|
const doc_url_1 = require("./doc-url");
|
||||||
const environment_1 = require("./environment");
|
const environment_1 = require("./environment");
|
||||||
const feature_flags_1 = require("./feature-flags");
|
const feature_flags_1 = require("./feature-flags");
|
||||||
const languages_1 = require("./languages");
|
|
||||||
const setupCodeql = __importStar(require("./setup-codeql"));
|
const setupCodeql = __importStar(require("./setup-codeql"));
|
||||||
const tools_features_1 = require("./tools-features");
|
const tools_features_1 = require("./tools-features");
|
||||||
|
const tracer_config_1 = require("./tracer-config");
|
||||||
const util = __importStar(require("./util"));
|
const util = __importStar(require("./util"));
|
||||||
const util_1 = require("./util");
|
const util_1 = require("./util");
|
||||||
/**
|
/**
|
||||||
@@ -52,19 +63,19 @@ let cachedCodeQL = undefined;
|
|||||||
* The version flags below can be used to conditionally enable certain features
|
* The version flags below can be used to conditionally enable certain features
|
||||||
* on versions newer than this.
|
* on versions newer than this.
|
||||||
*/
|
*/
|
||||||
const CODEQL_MINIMUM_VERSION = "2.11.6";
|
const CODEQL_MINIMUM_VERSION = "2.13.5";
|
||||||
/**
|
/**
|
||||||
* This version will shortly become the oldest version of CodeQL that the Action will run with.
|
* This version will shortly become the oldest version of CodeQL that the Action will run with.
|
||||||
*/
|
*/
|
||||||
const CODEQL_NEXT_MINIMUM_VERSION = "2.11.6";
|
const CODEQL_NEXT_MINIMUM_VERSION = "2.13.5";
|
||||||
/**
|
/**
|
||||||
* This is the version of GHES that was most recently deprecated.
|
* This is the version of GHES that was most recently deprecated.
|
||||||
*/
|
*/
|
||||||
const GHES_VERSION_MOST_RECENTLY_DEPRECATED = "3.7";
|
const GHES_VERSION_MOST_RECENTLY_DEPRECATED = "3.9";
|
||||||
/**
|
/**
|
||||||
* This is the deprecation date for the version of GHES that was most recently deprecated.
|
* This is the deprecation date for the version of GHES that was most recently deprecated.
|
||||||
*/
|
*/
|
||||||
const GHES_MOST_RECENT_DEPRECATION_DATE = "2023-11-08";
|
const GHES_MOST_RECENT_DEPRECATION_DATE = "2024-07-09";
|
||||||
/** The CLI verbosity level to use for extraction in debug mode. */
|
/** The CLI verbosity level to use for extraction in debug mode. */
|
||||||
const EXTRACTION_DEBUG_MODE_VERBOSITY = "progress++";
|
const EXTRACTION_DEBUG_MODE_VERBOSITY = "progress++";
|
||||||
/*
|
/*
|
||||||
@@ -74,28 +85,6 @@ const EXTRACTION_DEBUG_MODE_VERBOSITY = "progress++";
|
|||||||
* For convenience, please keep these in descending order. Once a version
|
* For convenience, please keep these in descending order. Once a version
|
||||||
* flag is older than the oldest supported version above, it may be removed.
|
* flag is older than the oldest supported version above, it may be removed.
|
||||||
*/
|
*/
|
||||||
/**
|
|
||||||
* Versions 2.12.1+ of the CodeQL Bundle include a `security-experimental` built-in query suite for
|
|
||||||
* each language.
|
|
||||||
*/
|
|
||||||
exports.CODEQL_VERSION_SECURITY_EXPERIMENTAL_SUITE = "2.12.1";
|
|
||||||
/**
|
|
||||||
* Versions 2.12.3+ of the CodeQL CLI support exporting configuration information from a code
|
|
||||||
* scanning config file to SARIF.
|
|
||||||
*/
|
|
||||||
exports.CODEQL_VERSION_EXPORT_CODE_SCANNING_CONFIG = "2.12.3";
|
|
||||||
/**
|
|
||||||
* Versions 2.12.4+ of the CodeQL CLI support the `--qlconfig-file` flag in calls to `database init`.
|
|
||||||
*/
|
|
||||||
exports.CODEQL_VERSION_INIT_WITH_QLCONFIG = "2.12.4";
|
|
||||||
/**
|
|
||||||
* Versions 2.13.1+ of the CodeQL CLI fix a bug where diagnostics export could produce invalid SARIF.
|
|
||||||
*/
|
|
||||||
exports.CODEQL_VERSION_DIAGNOSTICS_EXPORT_FIXED = "2.13.1";
|
|
||||||
/**
|
|
||||||
* Versions 2.13.4+ of the CodeQL CLI support the `resolve build-environment` command.
|
|
||||||
*/
|
|
||||||
exports.CODEQL_VERSION_RESOLVE_ENVIRONMENT = "2.13.4";
|
|
||||||
/**
|
/**
|
||||||
* Versions 2.14.2+ of the CodeQL CLI support language-specific baseline configuration.
|
* Versions 2.14.2+ of the CodeQL CLI support language-specific baseline configuration.
|
||||||
*/
|
*/
|
||||||
@@ -151,7 +140,6 @@ async function setupCodeQL(toolsInput, apiDetails, tempDir, variant, defaultCliV
|
|||||||
throw new Error(`Unable to download and extract CodeQL CLI: ${(0, util_1.wrapError)(e).message}`);
|
throw new Error(`Unable to download and extract CodeQL CLI: ${(0, util_1.wrapError)(e).message}`);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
exports.setupCodeQL = setupCodeQL;
|
|
||||||
/**
|
/**
|
||||||
* Use the CodeQL executable located at the given path.
|
* Use the CodeQL executable located at the given path.
|
||||||
*/
|
*/
|
||||||
@@ -161,7 +149,6 @@ async function getCodeQL(cmd) {
|
|||||||
}
|
}
|
||||||
return cachedCodeQL;
|
return cachedCodeQL;
|
||||||
}
|
}
|
||||||
exports.getCodeQL = getCodeQL;
|
|
||||||
function resolveFunction(partialCodeql, methodName, defaultImplementation) {
|
function resolveFunction(partialCodeql, methodName, defaultImplementation) {
|
||||||
if (typeof partialCodeql[methodName] !== "function") {
|
if (typeof partialCodeql[methodName] !== "function") {
|
||||||
if (defaultImplementation !== undefined) {
|
if (defaultImplementation !== undefined) {
|
||||||
@@ -207,10 +194,10 @@ function setCodeQL(partialCodeql) {
|
|||||||
databaseExportDiagnostics: resolveFunction(partialCodeql, "databaseExportDiagnostics"),
|
databaseExportDiagnostics: resolveFunction(partialCodeql, "databaseExportDiagnostics"),
|
||||||
diagnosticsExport: resolveFunction(partialCodeql, "diagnosticsExport"),
|
diagnosticsExport: resolveFunction(partialCodeql, "diagnosticsExport"),
|
||||||
resolveExtractor: resolveFunction(partialCodeql, "resolveExtractor"),
|
resolveExtractor: resolveFunction(partialCodeql, "resolveExtractor"),
|
||||||
|
mergeResults: resolveFunction(partialCodeql, "mergeResults"),
|
||||||
};
|
};
|
||||||
return cachedCodeQL;
|
return cachedCodeQL;
|
||||||
}
|
}
|
||||||
exports.setCodeQL = setCodeQL;
|
|
||||||
/**
|
/**
|
||||||
* Get the cached CodeQL object. Should only be used from tests.
|
* Get the cached CodeQL object. Should only be used from tests.
|
||||||
*
|
*
|
||||||
@@ -224,7 +211,6 @@ function getCachedCodeQL() {
|
|||||||
}
|
}
|
||||||
return cachedCodeQL;
|
return cachedCodeQL;
|
||||||
}
|
}
|
||||||
exports.getCachedCodeQL = getCachedCodeQL;
|
|
||||||
/**
|
/**
|
||||||
* Get a real, newly created CodeQL instance for testing. The instance refers to
|
* Get a real, newly created CodeQL instance for testing. The instance refers to
|
||||||
* a non-existent placeholder codeql command, so tests that use this function
|
* a non-existent placeholder codeql command, so tests that use this function
|
||||||
@@ -233,7 +219,6 @@ exports.getCachedCodeQL = getCachedCodeQL;
|
|||||||
async function getCodeQLForTesting(cmd = "codeql-for-testing") {
|
async function getCodeQLForTesting(cmd = "codeql-for-testing") {
|
||||||
return getCodeQLForCmd(cmd, false);
|
return getCodeQLForCmd(cmd, false);
|
||||||
}
|
}
|
||||||
exports.getCodeQLForTesting = getCodeQLForTesting;
|
|
||||||
/**
|
/**
|
||||||
* Return a CodeQL object for CodeQL CLI access.
|
* Return a CodeQL object for CodeQL CLI access.
|
||||||
*
|
*
|
||||||
@@ -254,7 +239,7 @@ async function getCodeQLForCmd(cmd, checkVersion) {
|
|||||||
try {
|
try {
|
||||||
result = JSON.parse(output);
|
result = JSON.parse(output);
|
||||||
}
|
}
|
||||||
catch (err) {
|
catch {
|
||||||
throw Error(`Invalid JSON output from \`version --format=json\`: ${output}`);
|
throw Error(`Invalid JSON output from \`version --format=json\`: ${output}`);
|
||||||
}
|
}
|
||||||
util.cacheCodeQlVersion(result);
|
util.cacheCodeQlVersion(result);
|
||||||
@@ -269,7 +254,7 @@ async function getCodeQLForCmd(cmd, checkVersion) {
|
|||||||
},
|
},
|
||||||
async databaseInitCluster(config, sourceRoot, processName, qlconfigFile, logger) {
|
async databaseInitCluster(config, sourceRoot, processName, qlconfigFile, logger) {
|
||||||
const extraArgs = config.languages.map((language) => `--language=${language}`);
|
const extraArgs = config.languages.map((language) => `--language=${language}`);
|
||||||
if (config.languages.filter((l) => (0, languages_1.isTracedLanguage)(l)).length > 0) {
|
if (await (0, tracer_config_1.shouldEnableIndirectTracing)(codeql, config)) {
|
||||||
extraArgs.push("--begin-tracing");
|
extraArgs.push("--begin-tracing");
|
||||||
extraArgs.push(...(await getTrapCachingExtractorConfigArgs(config)));
|
extraArgs.push(...(await getTrapCachingExtractorConfigArgs(config)));
|
||||||
extraArgs.push(`--trace-process-name=${processName}`);
|
extraArgs.push(`--trace-process-name=${processName}`);
|
||||||
@@ -284,45 +269,40 @@ async function getCodeQLForCmd(cmd, checkVersion) {
|
|||||||
(await this.supportsFeature(tools_features_1.ToolsFeature.BuildModeOption))) {
|
(await this.supportsFeature(tools_features_1.ToolsFeature.BuildModeOption))) {
|
||||||
extraArgs.push(`--build-mode=${config.buildMode}`);
|
extraArgs.push(`--build-mode=${config.buildMode}`);
|
||||||
}
|
}
|
||||||
if (qlconfigFile !== undefined &&
|
if (qlconfigFile !== undefined) {
|
||||||
(await util.codeQlVersionAbove(this, exports.CODEQL_VERSION_INIT_WITH_QLCONFIG))) {
|
|
||||||
extraArgs.push(`--qlconfig-file=${qlconfigFile}`);
|
extraArgs.push(`--qlconfig-file=${qlconfigFile}`);
|
||||||
}
|
}
|
||||||
if (await util.codeQlVersionAbove(this, exports.CODEQL_VERSION_LANGUAGE_BASELINE_CONFIG)) {
|
if (await util.codeQlVersionAtLeast(this, exports.CODEQL_VERSION_LANGUAGE_BASELINE_CONFIG)) {
|
||||||
extraArgs.push("--calculate-language-specific-baseline");
|
extraArgs.push("--calculate-language-specific-baseline");
|
||||||
}
|
}
|
||||||
if (await isSublanguageFileCoverageEnabled(config, this)) {
|
if (await isSublanguageFileCoverageEnabled(config, this)) {
|
||||||
extraArgs.push("--sublanguage-file-coverage");
|
extraArgs.push("--sublanguage-file-coverage");
|
||||||
}
|
}
|
||||||
else if (await util.codeQlVersionAbove(this, exports.CODEQL_VERSION_SUBLANGUAGE_FILE_COVERAGE)) {
|
else if (await util.codeQlVersionAtLeast(this, exports.CODEQL_VERSION_SUBLANGUAGE_FILE_COVERAGE)) {
|
||||||
extraArgs.push("--no-sublanguage-file-coverage");
|
extraArgs.push("--no-sublanguage-file-coverage");
|
||||||
}
|
}
|
||||||
|
const overwriteFlag = (0, tools_features_1.isSupportedToolsFeature)(await this.getVersion(), tools_features_1.ToolsFeature.ForceOverwrite)
|
||||||
|
? "--force-overwrite"
|
||||||
|
: "--overwrite";
|
||||||
await runTool(cmd, [
|
await runTool(cmd, [
|
||||||
"database",
|
"database",
|
||||||
"init",
|
"init",
|
||||||
|
overwriteFlag,
|
||||||
"--db-cluster",
|
"--db-cluster",
|
||||||
config.dbLocation,
|
config.dbLocation,
|
||||||
`--source-root=${sourceRoot}`,
|
`--source-root=${sourceRoot}`,
|
||||||
...(await getLanguageAliasingArguments(this)),
|
...(await getLanguageAliasingArguments(this)),
|
||||||
...extraArgs,
|
...extraArgs,
|
||||||
...getExtraOptionsFromEnv(["database", "init"]),
|
...getExtraOptionsFromEnv(["database", "init"], {
|
||||||
|
ignoringOptions: ["--overwrite"],
|
||||||
|
}),
|
||||||
], { stdin: externalRepositoryToken });
|
], { stdin: externalRepositoryToken });
|
||||||
},
|
},
|
||||||
async runAutobuild(language, enableDebugLogging) {
|
async runAutobuild(config, language) {
|
||||||
|
applyAutobuildAzurePipelinesTimeoutFix();
|
||||||
const autobuildCmd = path.join(await this.resolveExtractor(language), "tools", process.platform === "win32" ? "autobuild.cmd" : "autobuild.sh");
|
const autobuildCmd = path.join(await this.resolveExtractor(language), "tools", process.platform === "win32" ? "autobuild.cmd" : "autobuild.sh");
|
||||||
// Update JAVA_TOOL_OPTIONS to contain '-Dhttp.keepAlive=false'
|
|
||||||
// This is because of an issue with Azure pipelines timing out connections after 4 minutes
|
|
||||||
// and Maven not properly handling closed connections
|
|
||||||
// Otherwise long build processes will timeout when pulling down Java packages
|
|
||||||
// https://developercommunity.visualstudio.com/content/problem/292284/maven-hosted-agent-connection-timeout.html
|
|
||||||
const javaToolOptions = process.env["JAVA_TOOL_OPTIONS"] || "";
|
|
||||||
process.env["JAVA_TOOL_OPTIONS"] = [
|
|
||||||
...javaToolOptions.split(/\s+/),
|
|
||||||
"-Dhttp.keepAlive=false",
|
|
||||||
"-Dmaven.wagon.http.pool=false",
|
|
||||||
].join(" ");
|
|
||||||
// Bump the verbosity of the autobuild command if we're in debug mode
|
// Bump the verbosity of the autobuild command if we're in debug mode
|
||||||
if (enableDebugLogging) {
|
if (config.debugMode) {
|
||||||
process.env[environment_1.EnvVar.CLI_VERBOSITY] =
|
process.env[environment_1.EnvVar.CLI_VERBOSITY] =
|
||||||
process.env[environment_1.EnvVar.CLI_VERBOSITY] || EXTRACTION_DEBUG_MODE_VERBOSITY;
|
process.env[environment_1.EnvVar.CLI_VERBOSITY] || EXTRACTION_DEBUG_MODE_VERBOSITY;
|
||||||
}
|
}
|
||||||
@@ -353,15 +333,36 @@ async function getCodeQLForCmd(cmd, checkVersion) {
|
|||||||
]);
|
]);
|
||||||
},
|
},
|
||||||
async extractUsingBuildMode(config, language) {
|
async extractUsingBuildMode(config, language) {
|
||||||
await runTool(cmd, [
|
if (config.buildMode === util_1.BuildMode.Autobuild) {
|
||||||
"database",
|
applyAutobuildAzurePipelinesTimeoutFix();
|
||||||
"trace-command",
|
}
|
||||||
"--use-build-mode",
|
try {
|
||||||
...(await getTrapCachingExtractorConfigArgsForLang(config, language)),
|
await runTool(cmd, [
|
||||||
...getExtractionVerbosityArguments(config.debugMode),
|
"database",
|
||||||
...getExtraOptionsFromEnv(["database", "trace-command"]),
|
"trace-command",
|
||||||
util.getCodeQLDatabasePath(config, language),
|
"--use-build-mode",
|
||||||
]);
|
"--working-dir",
|
||||||
|
process.cwd(),
|
||||||
|
...(await getTrapCachingExtractorConfigArgsForLang(config, language)),
|
||||||
|
...getExtractionVerbosityArguments(config.debugMode),
|
||||||
|
...getExtraOptionsFromEnv(["database", "trace-command"]),
|
||||||
|
util.getCodeQLDatabasePath(config, language),
|
||||||
|
]);
|
||||||
|
}
|
||||||
|
catch (e) {
|
||||||
|
if (config.buildMode === util_1.BuildMode.Autobuild) {
|
||||||
|
const prefix = "We were unable to automatically build your code. " +
|
||||||
|
"Please change the build mode for this language to manual and specify build steps " +
|
||||||
|
`for your project. See ${doc_url_1.DocUrl.AUTOMATIC_BUILD_FAILED} for more information.`;
|
||||||
|
const ErrorConstructor = e instanceof util.ConfigurationError
|
||||||
|
? util.ConfigurationError
|
||||||
|
: Error;
|
||||||
|
throw new ErrorConstructor(`${prefix} ${util.wrapError(e).message}`);
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
throw e;
|
||||||
|
}
|
||||||
|
}
|
||||||
},
|
},
|
||||||
async finalizeDatabase(databasePath, threadsFlag, memoryFlag, enableDebugLogging) {
|
async finalizeDatabase(databasePath, threadsFlag, memoryFlag, enableDebugLogging) {
|
||||||
const args = [
|
const args = [
|
||||||
@@ -452,37 +453,32 @@ async function getCodeQLForCmd(cmd, checkVersion) {
|
|||||||
"run-queries",
|
"run-queries",
|
||||||
...flags,
|
...flags,
|
||||||
databasePath,
|
databasePath,
|
||||||
|
"--expect-discarded-cache",
|
||||||
"--min-disk-free=1024", // Try to leave at least 1GB free
|
"--min-disk-free=1024", // Try to leave at least 1GB free
|
||||||
"-v",
|
"-v",
|
||||||
...getExtraOptionsFromEnv(["database", "run-queries"]),
|
...getExtraOptionsFromEnv(["database", "run-queries"], {
|
||||||
|
ignoringOptions: ["--expect-discarded-cache"],
|
||||||
|
}),
|
||||||
];
|
];
|
||||||
if (await util.supportExpectDiscardedCache(this)) {
|
if (await util.codeQlVersionAtLeast(this, feature_flags_1.CODEQL_VERSION_FINE_GRAINED_PARALLELISM)) {
|
||||||
codeqlArgs.push("--expect-discarded-cache");
|
|
||||||
}
|
|
||||||
if (await util.codeQlVersionAbove(this, feature_flags_1.CODEQL_VERSION_FINE_GRAINED_PARALLELISM)) {
|
|
||||||
codeqlArgs.push("--intra-layer-parallelism");
|
codeqlArgs.push("--intra-layer-parallelism");
|
||||||
}
|
}
|
||||||
await runTool(cmd, codeqlArgs);
|
await runTool(cmd, codeqlArgs);
|
||||||
},
|
},
|
||||||
async databaseInterpretResults(databasePath, querySuitePaths, sarifFile, addSnippetsFlag, threadsFlag, verbosityFlag, automationDetailsId, config, features, logger) {
|
async databaseInterpretResults(databasePath, querySuitePaths, sarifFile, addSnippetsFlag, threadsFlag, verbosityFlag, automationDetailsId, config, features) {
|
||||||
const shouldExportDiagnostics = await features.getValue(feature_flags_1.Feature.ExportDiagnosticsEnabled, this);
|
const shouldExportDiagnostics = await features.getValue(feature_flags_1.Feature.ExportDiagnosticsEnabled, this);
|
||||||
const shouldWorkaroundInvalidNotifications = shouldExportDiagnostics &&
|
|
||||||
!(await isDiagnosticsExportInvalidSarifFixed(this));
|
|
||||||
const codeqlOutputFile = shouldWorkaroundInvalidNotifications
|
|
||||||
? path.join(config.tempDir, "codeql-intermediate-results.sarif")
|
|
||||||
: sarifFile;
|
|
||||||
const codeqlArgs = [
|
const codeqlArgs = [
|
||||||
"database",
|
"database",
|
||||||
"interpret-results",
|
"interpret-results",
|
||||||
threadsFlag,
|
threadsFlag,
|
||||||
"--format=sarif-latest",
|
"--format=sarif-latest",
|
||||||
verbosityFlag,
|
verbosityFlag,
|
||||||
`--output=${codeqlOutputFile}`,
|
`--output=${sarifFile}`,
|
||||||
addSnippetsFlag,
|
addSnippetsFlag,
|
||||||
"--print-diagnostics-summary",
|
"--print-diagnostics-summary",
|
||||||
"--print-metrics-summary",
|
"--print-metrics-summary",
|
||||||
"--sarif-add-baseline-file-info",
|
"--sarif-add-baseline-file-info",
|
||||||
...(await getCodeScanningConfigExportArguments(config, this)),
|
`--sarif-codescanning-config=${getGeneratedCodeScanningConfigPath(config)}`,
|
||||||
"--sarif-group-rules-by-pack",
|
"--sarif-group-rules-by-pack",
|
||||||
...(await getCodeScanningQueryHelpArguments(this)),
|
...(await getCodeScanningQueryHelpArguments(this)),
|
||||||
...getExtraOptionsFromEnv(["database", "interpret-results"]),
|
...getExtraOptionsFromEnv(["database", "interpret-results"]),
|
||||||
@@ -493,39 +489,28 @@ async function getCodeQLForCmd(cmd, checkVersion) {
|
|||||||
if (await isSublanguageFileCoverageEnabled(config, this)) {
|
if (await isSublanguageFileCoverageEnabled(config, this)) {
|
||||||
codeqlArgs.push("--sublanguage-file-coverage");
|
codeqlArgs.push("--sublanguage-file-coverage");
|
||||||
}
|
}
|
||||||
else if (await util.codeQlVersionAbove(this, exports.CODEQL_VERSION_SUBLANGUAGE_FILE_COVERAGE)) {
|
else if (await util.codeQlVersionAtLeast(this, exports.CODEQL_VERSION_SUBLANGUAGE_FILE_COVERAGE)) {
|
||||||
codeqlArgs.push("--no-sublanguage-file-coverage");
|
codeqlArgs.push("--no-sublanguage-file-coverage");
|
||||||
}
|
}
|
||||||
if (shouldExportDiagnostics) {
|
if (shouldExportDiagnostics) {
|
||||||
codeqlArgs.push("--sarif-include-diagnostics");
|
codeqlArgs.push("--sarif-include-diagnostics");
|
||||||
}
|
}
|
||||||
else if (await util.codeQlVersionAbove(this, "2.12.4")) {
|
else {
|
||||||
codeqlArgs.push("--no-sarif-include-diagnostics");
|
codeqlArgs.push("--no-sarif-include-diagnostics");
|
||||||
}
|
}
|
||||||
if (
|
if ((await util.codeQlVersionAtLeast(this, exports.CODEQL_VERSION_ANALYSIS_SUMMARY_V2)) &&
|
||||||
// Analysis summary v2 links to the status page, so check the GHES version we're running on
|
!(0, tools_features_1.isSupportedToolsFeature)(await this.getVersion(), tools_features_1.ToolsFeature.AnalysisSummaryV2IsDefault)) {
|
||||||
// supports the status page.
|
|
||||||
(config.gitHubVersion.type !== util.GitHubVariant.GHES ||
|
|
||||||
semver.gte(config.gitHubVersion.version, "3.9.0")) &&
|
|
||||||
(await util.codeQlVersionAbove(this, exports.CODEQL_VERSION_ANALYSIS_SUMMARY_V2))) {
|
|
||||||
codeqlArgs.push("--new-analysis-summary");
|
codeqlArgs.push("--new-analysis-summary");
|
||||||
}
|
}
|
||||||
else if (await util.codeQlVersionAbove(this, exports.CODEQL_VERSION_ANALYSIS_SUMMARY_V2)) {
|
|
||||||
codeqlArgs.push("--no-new-analysis-summary");
|
|
||||||
}
|
|
||||||
codeqlArgs.push(databasePath);
|
codeqlArgs.push(databasePath);
|
||||||
if (querySuitePaths) {
|
if (querySuitePaths) {
|
||||||
codeqlArgs.push(...querySuitePaths);
|
codeqlArgs.push(...querySuitePaths);
|
||||||
}
|
}
|
||||||
// Capture the stdout, which contains the analysis summary. Don't stream it to the Actions
|
// Capture the stdout, which contains the analysis summary. Don't stream it to the Actions
|
||||||
// logs to avoid printing it twice.
|
// logs to avoid printing it twice.
|
||||||
const analysisSummary = await runTool(cmd, codeqlArgs, {
|
return await runTool(cmd, codeqlArgs, {
|
||||||
noStreamStdout: true,
|
noStreamStdout: true,
|
||||||
});
|
});
|
||||||
if (shouldWorkaroundInvalidNotifications) {
|
|
||||||
util.fixInvalidNotificationsInFile(codeqlOutputFile, sarifFile, logger);
|
|
||||||
}
|
|
||||||
return analysisSummary;
|
|
||||||
},
|
},
|
||||||
async databasePrintBaseline(databasePath) {
|
async databasePrintBaseline(databasePath) {
|
||||||
const codeqlArgs = [
|
const codeqlArgs = [
|
||||||
@@ -601,18 +586,14 @@ async function getCodeQLForCmd(cmd, checkVersion) {
|
|||||||
];
|
];
|
||||||
await new toolrunner.ToolRunner(cmd, args).exec();
|
await new toolrunner.ToolRunner(cmd, args).exec();
|
||||||
},
|
},
|
||||||
async databaseExportDiagnostics(databasePath, sarifFile, automationDetailsId, tempDir, logger) {
|
async databaseExportDiagnostics(databasePath, sarifFile, automationDetailsId) {
|
||||||
const shouldWorkaroundInvalidNotifications = !(await isDiagnosticsExportInvalidSarifFixed(this));
|
|
||||||
const codeqlOutputFile = shouldWorkaroundInvalidNotifications
|
|
||||||
? path.join(tempDir, "codeql-intermediate-results.sarif")
|
|
||||||
: sarifFile;
|
|
||||||
const args = [
|
const args = [
|
||||||
"database",
|
"database",
|
||||||
"export-diagnostics",
|
"export-diagnostics",
|
||||||
`${databasePath}`,
|
`${databasePath}`,
|
||||||
"--db-cluster", // Database is always a cluster for CodeQL versions that support diagnostics.
|
"--db-cluster", // Database is always a cluster for CodeQL versions that support diagnostics.
|
||||||
"--format=sarif-latest",
|
"--format=sarif-latest",
|
||||||
`--output=${codeqlOutputFile}`,
|
`--output=${sarifFile}`,
|
||||||
"--sarif-include-diagnostics", // ExportDiagnosticsEnabled is always true if this command is run.
|
"--sarif-include-diagnostics", // ExportDiagnosticsEnabled is always true if this command is run.
|
||||||
"-vvv",
|
"-vvv",
|
||||||
...getExtraOptionsFromEnv(["diagnostics", "export"]),
|
...getExtraOptionsFromEnv(["diagnostics", "export"]),
|
||||||
@@ -621,10 +602,6 @@ async function getCodeQLForCmd(cmd, checkVersion) {
|
|||||||
args.push("--sarif-category", automationDetailsId);
|
args.push("--sarif-category", automationDetailsId);
|
||||||
}
|
}
|
||||||
await new toolrunner.ToolRunner(cmd, args).exec();
|
await new toolrunner.ToolRunner(cmd, args).exec();
|
||||||
if (shouldWorkaroundInvalidNotifications) {
|
|
||||||
// Fix invalid notifications in the SARIF file output by CodeQL.
|
|
||||||
util.fixInvalidNotificationsInFile(codeqlOutputFile, sarifFile, logger);
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
async diagnosticsExport(sarifFile, automationDetailsId, config) {
|
async diagnosticsExport(sarifFile, automationDetailsId, config) {
|
||||||
const args = [
|
const args = [
|
||||||
@@ -632,7 +609,7 @@ async function getCodeQLForCmd(cmd, checkVersion) {
|
|||||||
"export",
|
"export",
|
||||||
"--format=sarif-latest",
|
"--format=sarif-latest",
|
||||||
`--output=${sarifFile}`,
|
`--output=${sarifFile}`,
|
||||||
...(await getCodeScanningConfigExportArguments(config, this)),
|
`--sarif-codescanning-config=${getGeneratedCodeScanningConfigPath(config)}`,
|
||||||
...getExtraOptionsFromEnv(["diagnostics", "export"]),
|
...getExtraOptionsFromEnv(["diagnostics", "export"]),
|
||||||
];
|
];
|
||||||
if (automationDetailsId !== undefined) {
|
if (automationDetailsId !== undefined) {
|
||||||
@@ -664,6 +641,22 @@ async function getCodeQLForCmd(cmd, checkVersion) {
|
|||||||
}).exec();
|
}).exec();
|
||||||
return JSON.parse(extractorPath);
|
return JSON.parse(extractorPath);
|
||||||
},
|
},
|
||||||
|
async mergeResults(sarifFiles, outputFile, { mergeRunsFromEqualCategory = false, }) {
|
||||||
|
const args = [
|
||||||
|
"github",
|
||||||
|
"merge-results",
|
||||||
|
"--output",
|
||||||
|
outputFile,
|
||||||
|
...getExtraOptionsFromEnv(["github", "merge-results"]),
|
||||||
|
];
|
||||||
|
for (const sarifFile of sarifFiles) {
|
||||||
|
args.push("--sarif", sarifFile);
|
||||||
|
}
|
||||||
|
if (mergeRunsFromEqualCategory) {
|
||||||
|
args.push("--sarif-merge-runs-from-equal-category");
|
||||||
|
}
|
||||||
|
await runTool(cmd, args);
|
||||||
|
},
|
||||||
};
|
};
|
||||||
// To ensure that status reports include the CodeQL CLI version wherever
|
// To ensure that status reports include the CodeQL CLI version wherever
|
||||||
// possible, we want to call getVersion(), which populates the version value
|
// possible, we want to call getVersion(), which populates the version value
|
||||||
@@ -674,12 +667,12 @@ async function getCodeQLForCmd(cmd, checkVersion) {
|
|||||||
// would call getVersion(), so the CLI version would be cached as soon as the
|
// would call getVersion(), so the CLI version would be cached as soon as the
|
||||||
// CodeQL object is created.
|
// CodeQL object is created.
|
||||||
if (checkVersion &&
|
if (checkVersion &&
|
||||||
!(await util.codeQlVersionAbove(codeql, CODEQL_MINIMUM_VERSION))) {
|
!(await util.codeQlVersionAtLeast(codeql, CODEQL_MINIMUM_VERSION))) {
|
||||||
throw new util.ConfigurationError(`Expected a CodeQL CLI with version at least ${CODEQL_MINIMUM_VERSION} but got version ${(await codeql.getVersion()).version}`);
|
throw new util.ConfigurationError(`Expected a CodeQL CLI with version at least ${CODEQL_MINIMUM_VERSION} but got version ${(await codeql.getVersion()).version}`);
|
||||||
}
|
}
|
||||||
else if (checkVersion &&
|
else if (checkVersion &&
|
||||||
process.env[environment_1.EnvVar.SUPPRESS_DEPRECATED_SOON_WARNING] !== "true" &&
|
process.env[environment_1.EnvVar.SUPPRESS_DEPRECATED_SOON_WARNING] !== "true" &&
|
||||||
!(await util.codeQlVersionAbove(codeql, CODEQL_NEXT_MINIMUM_VERSION))) {
|
!(await util.codeQlVersionAtLeast(codeql, CODEQL_NEXT_MINIMUM_VERSION))) {
|
||||||
const result = await codeql.getVersion();
|
const result = await codeql.getVersion();
|
||||||
core.warning(`CodeQL CLI version ${result.version} was discontinued on ` +
|
core.warning(`CodeQL CLI version ${result.version} was discontinued on ` +
|
||||||
`${GHES_MOST_RECENT_DEPRECATION_DATE} alongside GitHub Enterprise Server ` +
|
`${GHES_MOST_RECENT_DEPRECATION_DATE} alongside GitHub Enterprise Server ` +
|
||||||
@@ -689,20 +682,21 @@ async function getCodeQLForCmd(cmd, checkVersion) {
|
|||||||
"version of the CLI using the 'tools' input to the 'init' Action, you can remove this " +
|
"version of the CLI using the 'tools' input to the 'init' Action, you can remove this " +
|
||||||
"input to use the default version.\n\n" +
|
"input to use the default version.\n\n" +
|
||||||
"Alternatively, if you want to continue using CodeQL CLI version " +
|
"Alternatively, if you want to continue using CodeQL CLI version " +
|
||||||
`${result.version}, you can replace 'github/codeql-action/*@v3' by ` +
|
`${result.version}, you can replace 'github/codeql-action/*@v${(0, actions_util_1.getActionVersion)().split(".")[0]}' by 'github/codeql-action/*@v${(0, actions_util_1.getActionVersion)()}' in your code scanning workflow to ` +
|
||||||
`'github/codeql-action/*@v${(0, actions_util_1.getActionVersion)()}' in your code scanning workflow to ` +
|
|
||||||
"continue using this version of the CodeQL Action.");
|
"continue using this version of the CodeQL Action.");
|
||||||
core.exportVariable(environment_1.EnvVar.SUPPRESS_DEPRECATED_SOON_WARNING, "true");
|
core.exportVariable(environment_1.EnvVar.SUPPRESS_DEPRECATED_SOON_WARNING, "true");
|
||||||
}
|
}
|
||||||
return codeql;
|
return codeql;
|
||||||
}
|
}
|
||||||
exports.getCodeQLForCmd = getCodeQLForCmd;
|
|
||||||
/**
|
/**
|
||||||
* Gets the options for `path` of `options` as an array of extra option strings.
|
* Gets the options for `path` of `options` as an array of extra option strings.
|
||||||
|
*
|
||||||
|
* @param ignoringOptions Options that should be ignored, for example because they have already
|
||||||
|
* been passed and it is an error to pass them more than once.
|
||||||
*/
|
*/
|
||||||
function getExtraOptionsFromEnv(paths) {
|
function getExtraOptionsFromEnv(paths, { ignoringOptions } = {}) {
|
||||||
const options = util.getExtraOptionsEnvParam();
|
const options = util.getExtraOptionsEnvParam();
|
||||||
return getExtraOptions(options, paths, []);
|
return getExtraOptions(options, paths, []).filter((option) => !ignoringOptions?.includes(option));
|
||||||
}
|
}
|
||||||
/**
|
/**
|
||||||
* Gets `options` as an array of extra option strings.
|
* Gets `options` as an array of extra option strings.
|
||||||
@@ -741,7 +735,6 @@ function getExtraOptions(options, paths, pathInfo) {
|
|||||||
: getExtraOptions(options?.[paths[0]], paths?.slice(1), pathInfo.concat(paths[0]));
|
: getExtraOptions(options?.[paths[0]], paths?.slice(1), pathInfo.concat(paths[0]));
|
||||||
return all.concat(specific);
|
return all.concat(specific);
|
||||||
}
|
}
|
||||||
exports.getExtraOptions = getExtraOptions;
|
|
||||||
/*
|
/*
|
||||||
* A constant defining the maximum number of characters we will keep from
|
* A constant defining the maximum number of characters we will keep from
|
||||||
* the programs stderr for logging. This serves two purposes:
|
* the programs stderr for logging. This serves two purposes:
|
||||||
@@ -842,20 +835,6 @@ async function generateCodeScanningConfig(config, logger) {
|
|||||||
function cloneObject(obj) {
|
function cloneObject(obj) {
|
||||||
return JSON.parse(JSON.stringify(obj));
|
return JSON.parse(JSON.stringify(obj));
|
||||||
}
|
}
|
||||||
/**
|
|
||||||
* Gets arguments for passing the code scanning configuration file to interpretation commands like
|
|
||||||
* `codeql database interpret-results` and `codeql database export-diagnostics`.
|
|
||||||
*
|
|
||||||
* Returns an empty list if a code scanning configuration file was not generated by the CLI.
|
|
||||||
*/
|
|
||||||
async function getCodeScanningConfigExportArguments(config, codeql) {
|
|
||||||
const codeScanningConfigPath = getGeneratedCodeScanningConfigPath(config);
|
|
||||||
if (fs.existsSync(codeScanningConfigPath) &&
|
|
||||||
(await util.codeQlVersionAbove(codeql, exports.CODEQL_VERSION_EXPORT_CODE_SCANNING_CONFIG))) {
|
|
||||||
return ["--sarif-codescanning-config", codeScanningConfigPath];
|
|
||||||
}
|
|
||||||
return [];
|
|
||||||
}
|
|
||||||
// This constant sets the size of each TRAP cache in megabytes.
|
// This constant sets the size of each TRAP cache in megabytes.
|
||||||
const TRAP_CACHE_SIZE_MB = 1024;
|
const TRAP_CACHE_SIZE_MB = 1024;
|
||||||
async function getTrapCachingExtractorConfigArgs(config) {
|
async function getTrapCachingExtractorConfigArgs(config) {
|
||||||
@@ -864,7 +843,6 @@ async function getTrapCachingExtractorConfigArgs(config) {
|
|||||||
result.push(await getTrapCachingExtractorConfigArgsForLang(config, language));
|
result.push(await getTrapCachingExtractorConfigArgsForLang(config, language));
|
||||||
return result.flat();
|
return result.flat();
|
||||||
}
|
}
|
||||||
exports.getTrapCachingExtractorConfigArgs = getTrapCachingExtractorConfigArgs;
|
|
||||||
async function getTrapCachingExtractorConfigArgsForLang(config, language) {
|
async function getTrapCachingExtractorConfigArgsForLang(config, language) {
|
||||||
const cacheDir = config.trapCaches[language];
|
const cacheDir = config.trapCaches[language];
|
||||||
if (cacheDir === undefined)
|
if (cacheDir === undefined)
|
||||||
@@ -876,7 +854,6 @@ async function getTrapCachingExtractorConfigArgsForLang(config, language) {
|
|||||||
`-O=${language}.trap.cache.write=${write}`,
|
`-O=${language}.trap.cache.write=${write}`,
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
exports.getTrapCachingExtractorConfigArgsForLang = getTrapCachingExtractorConfigArgsForLang;
|
|
||||||
/**
|
/**
|
||||||
* Get the path to the code scanning configuration generated by the CLI.
|
* Get the path to the code scanning configuration generated by the CLI.
|
||||||
*
|
*
|
||||||
@@ -885,12 +862,8 @@ exports.getTrapCachingExtractorConfigArgsForLang = getTrapCachingExtractorConfig
|
|||||||
function getGeneratedCodeScanningConfigPath(config) {
|
function getGeneratedCodeScanningConfigPath(config) {
|
||||||
return path.resolve(config.tempDir, "user-config.yaml");
|
return path.resolve(config.tempDir, "user-config.yaml");
|
||||||
}
|
}
|
||||||
exports.getGeneratedCodeScanningConfigPath = getGeneratedCodeScanningConfigPath;
|
|
||||||
async function isDiagnosticsExportInvalidSarifFixed(codeql) {
|
|
||||||
return await util.codeQlVersionAbove(codeql, exports.CODEQL_VERSION_DIAGNOSTICS_EXPORT_FIXED);
|
|
||||||
}
|
|
||||||
async function getLanguageAliasingArguments(codeql) {
|
async function getLanguageAliasingArguments(codeql) {
|
||||||
if (await util.codeQlVersionAbove(codeql, exports.CODEQL_VERSION_LANGUAGE_ALIASING)) {
|
if (await util.codeQlVersionAtLeast(codeql, exports.CODEQL_VERSION_LANGUAGE_ALIASING)) {
|
||||||
return ["--extractor-include-aliases"];
|
return ["--extractor-include-aliases"];
|
||||||
}
|
}
|
||||||
return [];
|
return [];
|
||||||
@@ -900,10 +873,10 @@ async function isSublanguageFileCoverageEnabled(config, codeql) {
|
|||||||
// Sub-language file coverage is first supported in GHES 3.12.
|
// Sub-language file coverage is first supported in GHES 3.12.
|
||||||
(config.gitHubVersion.type !== util.GitHubVariant.GHES ||
|
(config.gitHubVersion.type !== util.GitHubVariant.GHES ||
|
||||||
semver.gte(config.gitHubVersion.version, "3.12.0")) &&
|
semver.gte(config.gitHubVersion.version, "3.12.0")) &&
|
||||||
(await util.codeQlVersionAbove(codeql, exports.CODEQL_VERSION_SUBLANGUAGE_FILE_COVERAGE)));
|
(await util.codeQlVersionAtLeast(codeql, exports.CODEQL_VERSION_SUBLANGUAGE_FILE_COVERAGE)));
|
||||||
}
|
}
|
||||||
async function getCodeScanningQueryHelpArguments(codeql) {
|
async function getCodeScanningQueryHelpArguments(codeql) {
|
||||||
if (await util.codeQlVersionAbove(codeql, CODEQL_VERSION_INCLUDE_QUERY_HELP)) {
|
if (await util.codeQlVersionAtLeast(codeql, CODEQL_VERSION_INCLUDE_QUERY_HELP)) {
|
||||||
return ["--sarif-include-query-help=always"];
|
return ["--sarif-include-query-help=always"];
|
||||||
}
|
}
|
||||||
return ["--sarif-add-query-help"];
|
return ["--sarif-add-query-help"];
|
||||||
@@ -913,4 +886,19 @@ function getExtractionVerbosityArguments(enableDebugLogging) {
|
|||||||
? [`--verbosity=${EXTRACTION_DEBUG_MODE_VERBOSITY}`]
|
? [`--verbosity=${EXTRACTION_DEBUG_MODE_VERBOSITY}`]
|
||||||
: [];
|
: [];
|
||||||
}
|
}
|
||||||
|
/**
|
||||||
|
* Updates the `JAVA_TOOL_OPTIONS` environment variable to resolve an issue with Azure Pipelines
|
||||||
|
* timing out connections after 4 minutes and Maven not properly handling closed connections.
|
||||||
|
*
|
||||||
|
* Without the fix, long build processes will timeout when pulling down Java packages
|
||||||
|
* https://developercommunity.visualstudio.com/content/problem/292284/maven-hosted-agent-connection-timeout.html
|
||||||
|
*/
|
||||||
|
function applyAutobuildAzurePipelinesTimeoutFix() {
|
||||||
|
const javaToolOptions = process.env["JAVA_TOOL_OPTIONS"] || "";
|
||||||
|
process.env["JAVA_TOOL_OPTIONS"] = [
|
||||||
|
...javaToolOptions.split(/\s+/),
|
||||||
|
"-Dhttp.keepAlive=false",
|
||||||
|
"-Dmaven.wagon.http.pool=false",
|
||||||
|
].join(" ");
|
||||||
|
}
|
||||||
//# sourceMappingURL=codeql.js.map
|
//# sourceMappingURL=codeql.js.map
|
||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user