mirror of
https://github.com/github/codeql-action.git
synced 2025-12-09 09:18:15 +08:00
Compare commits
1523 Commits
codeql-bun
...
aeisenberg
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
0f53828890 | ||
|
|
489addcaf9 | ||
|
|
0d9161ca1c | ||
|
|
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 | ||
|
|
d7c4cc360c | ||
|
|
048b508a9d | ||
|
|
84ba7fb56d | ||
|
|
016720d81f | ||
|
|
f835435c19 | ||
|
|
58194bf81a | ||
|
|
956f09c2ef | ||
|
|
a99c6230dc | ||
|
|
155888c08e | ||
|
|
82b82e58c0 | ||
|
|
3c4b8bc120 | ||
|
|
a0a63a2dd4 | ||
|
|
3bd271cec3 | ||
|
|
70aa50b057 | ||
|
|
6ac57535de | ||
|
|
e20c273295 | ||
|
|
2bbafcdd7f | ||
|
|
7e30c622b0 | ||
|
|
ccc609bf1a | ||
|
|
a12b868bbc | ||
|
|
3d817349a4 | ||
|
|
ca4079b3a2 | ||
|
|
7cdd97256b | ||
|
|
1b1aada464 | ||
|
|
6505708f95 | ||
|
|
09d4101d2b | ||
|
|
a3ab02e645 | ||
|
|
9cf4574790 | ||
|
|
964f5e7811 | ||
|
|
9c0c35b370 | ||
|
|
c84e4c8e7b | ||
|
|
4aca720110 | ||
|
|
7f375aeb76 | ||
|
|
294b6df61d | ||
|
|
1aae1e7090 | ||
|
|
ea1261a218 | ||
|
|
66736a1775 | ||
|
|
dfb0fd0039 | ||
|
|
423a04bb2c | ||
|
|
6a57a861ab | ||
|
|
4b2a78627b | ||
|
|
05963f47d8 | ||
|
|
2b9b521560 | ||
|
|
1ecc2779e9 | ||
|
|
e28ae3a84c | ||
|
|
bddfc7c6d5 | ||
|
|
3edd1bf725 | ||
|
|
88a0b7abb3 | ||
|
|
88b28eb70d | ||
|
|
f055b5e672 | ||
|
|
0d680ab61c | ||
|
|
3d82264f40 | ||
|
|
e402144d13 | ||
|
|
a009e4d1af | ||
|
|
3b6ebfb5f8 | ||
|
|
8da95d81a8 | ||
|
|
070b05147a | ||
|
|
649f3e87e1 | ||
|
|
362c407426 | ||
|
|
f195496548 | ||
|
|
a7b089b87e | ||
|
|
ef507e1748 | ||
|
|
3ab4101902 | ||
|
|
a006adfa77 | ||
|
|
5e882999f1 | ||
|
|
69e120d747 | ||
|
|
5ec06c71f0 | ||
|
|
caf377935a | ||
|
|
532ca5486e | ||
|
|
2fa207a8b7 | ||
|
|
24c3eda0e3 | ||
|
|
27a6cd0a11 | ||
|
|
1bac334738 | ||
|
|
83a02f7883 | ||
|
|
849379362c | ||
|
|
5fa9b09edf | ||
|
|
baf3361f31 | ||
|
|
40034859a7 | ||
|
|
8762383e8d | ||
|
|
8a470fddaf | ||
|
|
d59eafb69b | ||
|
|
158d0780dc | ||
|
|
2307ff547f | ||
|
|
ccd3f02545 | ||
|
|
c0917251d4 | ||
|
|
e12a8cc5eb | ||
|
|
888ab31e3e | ||
|
|
bd56a05133 | ||
|
|
7bde9061b4 | ||
|
|
9330c6877d | ||
|
|
db9620802e | ||
|
|
62712e9ff9 | ||
|
|
52f2347108 | ||
|
|
1a6bac42d0 | ||
|
|
cc3808ec2a | ||
|
|
d8595f5543 | ||
|
|
166b8a70b8 | ||
|
|
2c235f1a60 | ||
|
|
17c5ab2ca1 | ||
|
|
60465730fb | ||
|
|
e4a536270d | ||
|
|
28b564f8c6 | ||
|
|
25d334f188 | ||
|
|
66c3cec3e8 | ||
|
|
36f1104e11 | ||
|
|
905ae4af53 | ||
|
|
6dab9f2356 | ||
|
|
4d6d2bfeaa | ||
|
|
633baf86c3 | ||
|
|
ed2c332cfe | ||
|
|
a39d1d29ad | ||
|
|
47b3d888fe | ||
|
|
28c290059f | ||
|
|
eb991df649 | ||
|
|
a74dcdb056 | ||
|
|
aeb89ef79a | ||
|
|
2896599ec9 | ||
|
|
e3a86ed8b6 | ||
|
|
5d55901fc8 | ||
|
|
908a88334d | ||
|
|
9bce06dffb | ||
|
|
c9f3eed85d | ||
|
|
88189dc01e | ||
|
|
2a15560d6d | ||
|
|
9467b486f0 | ||
|
|
e2e140ad14 | ||
|
|
5b1ae298f9 | ||
|
|
982d9346ad | ||
|
|
ebda17e859 | ||
|
|
cca1ddefc0 | ||
|
|
f32f0bf8e4 | ||
|
|
bf8c75ee37 | ||
|
|
5a96876652 | ||
|
|
1c652cd4ee | ||
|
|
36c51ac2b5 | ||
|
|
a7dc229496 | ||
|
|
592977e6ae | ||
|
|
1737b12155 | ||
|
|
4a610e2380 | ||
|
|
b9d85b4c34 | ||
|
|
c709994d27 | ||
|
|
8cb81db135 | ||
|
|
0ce9708b98 | ||
|
|
2ddf87a698 | ||
|
|
ef0a773901 | ||
|
|
65b0987dbe | ||
|
|
29e98fd241 | ||
|
|
b7c408a8b7 | ||
|
|
379614612a | ||
|
|
01d302a04e | ||
|
|
3a7796d6ad | ||
|
|
56b93f29eb | ||
|
|
381e65f460 | ||
|
|
d88d538126 | ||
|
|
dc983b33c3 | ||
|
|
66a4732f1d | ||
|
|
e62fb8e891 | ||
|
|
ece8414c72 | ||
|
|
32f8d538f3 | ||
|
|
663c1506d4 | ||
|
|
1a41e5519a | ||
|
|
f00392ec30 | ||
|
|
95d258ab1c | ||
|
|
d57cf8e232 | ||
|
|
729def5a41 | ||
|
|
eb60ca25f8 | ||
|
|
c6cf6fda4d | ||
|
|
7b30fefa68 | ||
|
|
427cfbe9a2 | ||
|
|
bc64d12bb9 | ||
|
|
ecdd69dbae | ||
|
|
191f59f435 | ||
|
|
057a9cbd10 | ||
|
|
3935424551 | ||
|
|
cf10f87301 | ||
|
|
db663b280b | ||
|
|
e675ced7a7 | ||
|
|
41154da3e4 | ||
|
|
c79c360e02 | ||
|
|
65853b9b29 | ||
|
|
4e5f9c0873 | ||
|
|
77be28fbdb | ||
|
|
4075abfb06 | ||
|
|
5a6da1d85d | ||
|
|
43a8916cbe | ||
|
|
b0346e4adb | ||
|
|
3ab1d29793 | ||
|
|
9a734dafa1 | ||
|
|
8fae32eb18 | ||
|
|
1515e2bb20 | ||
|
|
fc9f9e5ef9 | ||
|
|
f3ced614cb | ||
|
|
932a7d5a59 | ||
|
|
9e39a05578 | ||
|
|
0ab8e2a32a | ||
|
|
8fb654e590 | ||
|
|
0fe34bd39a | ||
|
|
db6e5fff06 | ||
|
|
cf7e9f2349 | ||
|
|
39cc02b1d9 | ||
|
|
15b447d64b | ||
|
|
e1fa6ddb4a | ||
|
|
1d4866b058 | ||
|
|
da89f3f4cf | ||
|
|
921adb69c6 | ||
|
|
e8893c57a1 | ||
|
|
78d6c8e84d | ||
|
|
2db0327171 | ||
|
|
f9dea84e29 | ||
|
|
81eb6b2bf4 | ||
|
|
483bef1dab | ||
|
|
b58c2f67a6 | ||
|
|
f7d53249e3 | ||
|
|
254b53d999 | ||
|
|
e34513334c | ||
|
|
463930c71f | ||
|
|
d982a14465 | ||
|
|
55c1fd5777 | ||
|
|
0166a8a567 | ||
|
|
401f9d6286 | ||
|
|
d2e867f3be | ||
|
|
ec42edcaab | ||
|
|
8c22ec9e5d | ||
|
|
68d348377f | ||
|
|
e33271d071 | ||
|
|
eab49d76a3 | ||
|
|
202c383f78 | ||
|
|
cfefe3a7e8 | ||
|
|
25f779c0f2 | ||
|
|
738d232550 | ||
|
|
5c9716f453 | ||
|
|
a2c5130ffd | ||
|
|
b7bf0a3ed3 | ||
|
|
9a9b0e4a8f | ||
|
|
33e354b34b | ||
|
|
f4cfe8904c | ||
|
|
61bf02577c | ||
|
|
16150320c5 | ||
|
|
bd67d8d6b2 | ||
|
|
a2619f68c8 | ||
|
|
666e2f9edf | ||
|
|
d43ae36a63 | ||
|
|
75af1f5948 | ||
|
|
65c74964a9 | ||
|
|
2eaf0149ef | ||
|
|
f03430628f | ||
|
|
baaf7d5247 | ||
|
|
c6fd1aa12c | ||
|
|
d0c5ea08fd | ||
|
|
a246aaa40c | ||
|
|
f1915cce98 | ||
|
|
2949ab83fb | ||
|
|
b96e5e1158 | ||
|
|
545bf65803 | ||
|
|
42edda9026 | ||
|
|
bd00f23331 | ||
|
|
d0c848438b | ||
|
|
e86ee7f7b4 | ||
|
|
4f9fb97304 | ||
|
|
a854253aca | ||
|
|
f72cffc780 | ||
|
|
d13ca047ae | ||
|
|
475e2aff08 | ||
|
|
4d7889a2f1 | ||
|
|
0b21cf2492 | ||
|
|
ae616145ed | ||
|
|
f65ecd09c7 | ||
|
|
4d75a10efa | ||
|
|
e65c5d92f7 | ||
|
|
6b12e3d9d9 | ||
|
|
e292db6207 | ||
|
|
1fea7a57e7 | ||
|
|
96531062ba | ||
|
|
eb14aeb61d | ||
|
|
30597e33ea | ||
|
|
94e68911d7 | ||
|
|
cd94990cfe | ||
|
|
f5a82188bc | ||
|
|
3b54300140 | ||
|
|
6e496528ad | ||
|
|
ccdb046177 | ||
|
|
6d223f97ab | ||
|
|
0395410277 | ||
|
|
b8e349d982 | ||
|
|
3516b7f18a | ||
|
|
6693d13c0d | ||
|
|
8e8de28ef8 | ||
|
|
72e5036933 | ||
|
|
e6a47e2565 | ||
|
|
e26ddc04a8 | ||
|
|
bff178d0fa | ||
|
|
ab07ded31d | ||
|
|
415881f4cf | ||
|
|
e2d39049b6 | ||
|
|
bb812eb7c0 | ||
|
|
f674cff945 | ||
|
|
e5f05b81d5 | ||
|
|
48e7b8b751 | ||
|
|
fd55bb0b00 | ||
|
|
838a022982 | ||
|
|
8516954d60 | ||
|
|
a533ec62b3 | ||
|
|
08ae9bf4d0 | ||
|
|
58ff74adc3 | ||
|
|
9926570d4c | ||
|
|
2e27b3c56b | ||
|
|
afef25e1e7 | ||
|
|
f114e1d137 | ||
|
|
d7437a2202 | ||
|
|
67be7bc713 | ||
|
|
4feb32a7ef | ||
|
|
f65fc6a926 | ||
|
|
f934b28e51 | ||
|
|
b30262ccb4 | ||
|
|
d98234a500 | ||
|
|
aa95d4deab | ||
|
|
b683173003 | ||
|
|
f53698be43 | ||
|
|
fa98ec0c7a | ||
|
|
ce9d281924 | ||
|
|
216127f34a | ||
|
|
7963a60016 | ||
|
|
6ebbf452bb | ||
|
|
e345646da5 | ||
|
|
35b10b5ff7 | ||
|
|
ee9b8ab1f1 | ||
|
|
fb410e7156 | ||
|
|
fab3a43f69 | ||
|
|
01e47d0430 | ||
|
|
ecbf80ad80 | ||
|
|
596b173a4e | ||
|
|
e01299bd9c | ||
|
|
6f5223db54 | ||
|
|
710aa2dfc8 | ||
|
|
ad5035bbd9 | ||
|
|
012739e508 | ||
|
|
c1cf794881 | ||
|
|
40cb08c121 | ||
|
|
0be9290508 | ||
|
|
658e3c6619 | ||
|
|
49812ec6b6 | ||
|
|
9ed5fc7131 | ||
|
|
a42c9a2634 | ||
|
|
a110746c60 | ||
|
|
a99bd84dff | ||
|
|
fe1e55feb0 | ||
|
|
7e187e1c52 | ||
|
|
26036736ba | ||
|
|
8478e2a840 | ||
|
|
09783967a0 | ||
|
|
144b7d5b16 | ||
|
|
cda785ef94 | ||
|
|
8e086df084 | ||
|
|
0724061f76 | ||
|
|
fda1796670 | ||
|
|
ee53012610 | ||
|
|
e0c2b0a8a0 | ||
|
|
8e4a6c7a90 | ||
|
|
dd207935b5 | ||
|
|
77f4e07231 | ||
|
|
511f073971 | ||
|
|
ebf5a83713 | ||
|
|
7813bda958 | ||
|
|
2b2fb6b1dc | ||
|
|
b374143c11 | ||
|
|
95591babe8 | ||
|
|
e2b5cc75ce | ||
|
|
64e61baeac | ||
|
|
c757f9f6de | ||
|
|
7898bc2041 | ||
|
|
6b5b958063 | ||
|
|
ea1e72c669 | ||
|
|
1e69b89bc7 | ||
|
|
a13f4b8aed | ||
|
|
bc36e6cfae | ||
|
|
84a9fc4402 | ||
|
|
b974542e9f | ||
|
|
0d8f348775 | ||
|
|
dcf89a7576 | ||
|
|
1e69962471 | ||
|
|
2f93dd472e | ||
|
|
b995212303 | ||
|
|
3c1878d8f9 | ||
|
|
1bca5bfcf5 | ||
|
|
691226ecb5 | ||
|
|
305f654631 | ||
|
|
31e94d8cb1 | ||
|
|
1de8705f6b | ||
|
|
fe23b5a3e1 | ||
|
|
0bc194ee69 | ||
|
|
95be4b277c | ||
|
|
bf51594343 | ||
|
|
303dec0fbd | ||
|
|
3a9f6a89e0 | ||
|
|
cc4fead714 | ||
|
|
183559cea8 | ||
|
|
5b52b36d41 | ||
|
|
5b19bef41e | ||
|
|
f2d0c2e7ae | ||
|
|
d651fbc494 | ||
|
|
382a50a028 | ||
|
|
458b4226ad | ||
|
|
5e0f9dbc48 | ||
|
|
c0d1daa7f7 | ||
|
|
c6e24c94be | ||
|
|
e1d1fad1b8 | ||
|
|
0e9a210226 | ||
|
|
47e90f23ea | ||
|
|
ee748cf360 | ||
|
|
57932be6d4 | ||
|
|
a6ea3c5a45 | ||
|
|
3537bea580 | ||
|
|
3675be0110 | ||
|
|
784783de17 | ||
|
|
b6dc4ba94b | ||
|
|
1c3b8c867b | ||
|
|
65a2bb528e | ||
|
|
2dbffae187 | ||
|
|
bc50092bdb | ||
|
|
b7f289ef4d | ||
|
|
a16ac98583 | ||
|
|
cc940d75b2 | ||
|
|
b929cca357 | ||
|
|
1d367b0bec | ||
|
|
db40ac46b9 | ||
|
|
77605c75e4 | ||
|
|
773bd9bef6 | ||
|
|
4712487dc3 | ||
|
|
5dc8134adc | ||
|
|
0240eaf5cb | ||
|
|
fdea2a523d | ||
|
|
a36fc67ec3 | ||
|
|
649145214e | ||
|
|
d1166e6d60 | ||
|
|
c7f4ea5281 | ||
|
|
2da9ad5070 | ||
|
|
3b5bd49a74 | ||
|
|
8a1e474ed1 | ||
|
|
407ffafae6 | ||
|
|
4af462f4ba | ||
|
|
192ad9bd5f | ||
|
|
77c1abbd83 | ||
|
|
9f150ba795 | ||
|
|
e75de4cd73 | ||
|
|
80150c2141 | ||
|
|
4d999a4f27 | ||
|
|
83267d5070 | ||
|
|
4b6aa0b07d | ||
|
|
4618cbd952 | ||
|
|
bab3adbf38 | ||
|
|
66b90a5db1 | ||
|
|
bc9ddc2841 | ||
|
|
10f05151c5 | ||
|
|
6111b7c004 | ||
|
|
4e80a80354 | ||
|
|
df9b50ee5f | ||
|
|
0d0a53cb13 | ||
|
|
df6aced528 | ||
|
|
0cd63ca7a5 | ||
|
|
b9e85da0b5 | ||
|
|
779838b849 | ||
|
|
ab6dd28b80 | ||
|
|
9326971847 | ||
|
|
9968bdfba4 | ||
|
|
689fdc5193 | ||
|
|
33bfd1de92 | ||
|
|
8c8c7b4d80 | ||
|
|
64981bbb5a | ||
|
|
e280207df7 | ||
|
|
e46740a99e | ||
|
|
6abf8569a1 | ||
|
|
59252d9bfb | ||
|
|
dcf348a0d3 | ||
|
|
04451e072f | ||
|
|
82284f1b28 | ||
|
|
ed686ed4b3 | ||
|
|
137a1e070d | ||
|
|
6dd4605060 | ||
|
|
91733ada76 | ||
|
|
7c60ff7ad6 | ||
|
|
9ef69a2c7a | ||
|
|
bd4005aa6a | ||
|
|
da4c46015a | ||
|
|
45a6ff4660 | ||
|
|
793adb79ac | ||
|
|
c73d8a69e1 | ||
|
|
df32e39913 | ||
|
|
88d03c647b | ||
|
|
a3795eb30d | ||
|
|
3d77e8a7ee | ||
|
|
58157f1d4c | ||
|
|
74483a38d3 | ||
|
|
2ba6829f2b | ||
|
|
2d5ffa7773 | ||
|
|
14d0fa93b4 | ||
|
|
5744b13b66 | ||
|
|
f3b55862ea | ||
|
|
95c219819d | ||
|
|
e8e83c3a56 | ||
|
|
c7abe9ca5f | ||
|
|
3fc281e079 | ||
|
|
4888104fe9 | ||
|
|
06d8f4f7f8 | ||
|
|
06662f546c | ||
|
|
25a3829e6e | ||
|
|
dad0ebd6ca | ||
|
|
7f7aa09c9a | ||
|
|
5e3a6935e7 | ||
|
|
d2b37ba145 | ||
|
|
c8e99083da | ||
|
|
2cbabeaa72 | ||
|
|
edb8265ab8 | ||
|
|
dbe5586d6e | ||
|
|
f1b64d85e4 | ||
|
|
e3f5f833da | ||
|
|
838be48ce0 | ||
|
|
8779d91384 | ||
|
|
959337a156 | ||
|
|
9734ecd5b5 | ||
|
|
9c3b394d7f | ||
|
|
79817eb679 | ||
|
|
54e4af648d | ||
|
|
d53a59d051 | ||
|
|
a291b7c6a3 | ||
|
|
64f799d15e | ||
|
|
1e9b364483 | ||
|
|
49abf0ba24 | ||
|
|
907abca61b | ||
|
|
63470275e7 | ||
|
|
b98a636a6b | ||
|
|
4a368f64ad | ||
|
|
77bbb99abd | ||
|
|
a75a0d5716 | ||
|
|
aa55b87f87 | ||
|
|
b6b0833c3d | ||
|
|
0132448784 | ||
|
|
070e92e8fd | ||
|
|
bad341350a | ||
|
|
1d83e52e9a | ||
|
|
d859d17bdb | ||
|
|
7e7f0cc085 | ||
|
|
1d83a6387b | ||
|
|
8e460e9e00 | ||
|
|
0116bc2df5 | ||
|
|
f5a984b113 | ||
|
|
325a0b06e9 | ||
|
|
632d58cb60 | ||
|
|
82ba90b1d9 | ||
|
|
34f97d7a16 | ||
|
|
74442e0a95 | ||
|
|
bd32fab74f | ||
|
|
b584cf8321 | ||
|
|
761255a4a3 | ||
|
|
346d5c4b07 | ||
|
|
5950d13564 | ||
|
|
c1a0ad9a04 | ||
|
|
76a9f5c431 | ||
|
|
d90b8d79de | ||
|
|
175f696a4d | ||
|
|
8a2cbabd43 | ||
|
|
a5cf70c3f1 | ||
|
|
a67b110795 | ||
|
|
0eb279015c | ||
|
|
275f994944 | ||
|
|
d5d445b7af | ||
|
|
2a7218bdef | ||
|
|
78bfd29301 | ||
|
|
dfb913f660 | ||
|
|
e62d946796 | ||
|
|
026e833827 | ||
|
|
5d6442e87d | ||
|
|
4ab92370dd | ||
|
|
83d1db3366 | ||
|
|
2125352e3e | ||
|
|
d52a751f8f | ||
|
|
947b43a6b6 | ||
|
|
788783aba5 | ||
|
|
fdcae64e14 | ||
|
|
8554648f41 | ||
|
|
18e6c398ce | ||
|
|
5e34d08d9e | ||
|
|
faf91ca6bd | ||
|
|
8193a92e41 | ||
|
|
ffaea6c837 | ||
|
|
0a0988c4b2 | ||
|
|
0d5c2e0228 | ||
|
|
94b6970619 | ||
|
|
669c61022c | ||
|
|
028bacb8e9 | ||
|
|
d0916526cd | ||
|
|
102a12bba4 | ||
|
|
8295705640 | ||
|
|
4eccc6dac4 | ||
|
|
aed2e7f47f | ||
|
|
a2dc5ffaff | ||
|
|
b6ea09e3e4 | ||
|
|
fd3d78671c | ||
|
|
2cb752a87e | ||
|
|
e50f53baa1 | ||
|
|
0a65c007f6 | ||
|
|
3f7850a179 | ||
|
|
27235304e0 | ||
|
|
8f0e8b0890 | ||
|
|
f243294ab7 | ||
|
|
075eb6aaea | ||
|
|
1ea6a10947 | ||
|
|
e26ed57a22 | ||
|
|
0ac7669167 | ||
|
|
235bdca565 | ||
|
|
94f3e9b563 | ||
|
|
3b2fee487e | ||
|
|
a144bf5d7f | ||
|
|
4154eb799b | ||
|
|
7f4a9481a7 | ||
|
|
faf7528b44 | ||
|
|
2b193c5ab5 | ||
|
|
eb71a60380 | ||
|
|
36777d2236 | ||
|
|
1727de39fe | ||
|
|
c8dd2bc90f | ||
|
|
db9f2c5968 | ||
|
|
738030674f | ||
|
|
68d0b65ee5 | ||
|
|
517782a2a0 | ||
|
|
bb70bab648 | ||
|
|
41a13ec084 | ||
|
|
9a5a628613 | ||
|
|
8ac187720c | ||
|
|
f6d9b6bcfa | ||
|
|
7b0b42afec | ||
|
|
abb71f14cf | ||
|
|
604448043e | ||
|
|
4cee553ea6 | ||
|
|
df098abd11 | ||
|
|
4611ff9b23 | ||
|
|
2bd75f528c | ||
|
|
3c15d2383b | ||
|
|
c08086a26a | ||
|
|
d718153f0a | ||
|
|
3fb6719bea | ||
|
|
bcbb900532 | ||
|
|
49b94f1a2d | ||
|
|
bb67eddd77 | ||
|
|
e827ad5b71 | ||
|
|
a402be8739 | ||
|
|
74b46628c3 | ||
|
|
3dd4ad872b | ||
|
|
b686e07c2b | ||
|
|
7de46310d9 | ||
|
|
896a68d162 | ||
|
|
5f88bb1ffa | ||
|
|
90f8ed12cc | ||
|
|
ed2a90b161 | ||
|
|
7b16c0dad0 | ||
|
|
37a2d1fe3c | ||
|
|
5dac60ecef | ||
|
|
ebbadee09e | ||
|
|
a370ce344f | ||
|
|
66572c69b0 | ||
|
|
e0103eab17 | ||
|
|
e7a6fa9589 | ||
|
|
f59bf3c458 | ||
|
|
6e3f5b0184 | ||
|
|
1d70a98580 | ||
|
|
e4ef094279 | ||
|
|
2cc1651ead | ||
|
|
a6484fa0f6 | ||
|
|
9ef3267030 | ||
|
|
219066c343 | ||
|
|
a9a0f3b4c0 | ||
|
|
467bfa1cff | ||
|
|
1d5eed8d40 | ||
|
|
96fa24c6ba | ||
|
|
f1752b0b55 | ||
|
|
7efe1c9625 | ||
|
|
0dd2eafff0 | ||
|
|
ddccb87388 | ||
|
|
d8cb5a2a0f | ||
|
|
378bbcd274 | ||
|
|
27cb1e1de5 | ||
|
|
4818fdd8ec | ||
|
|
e548601be3 | ||
|
|
cc6542087a | ||
|
|
c95737bb43 | ||
|
|
41d2ffad87 | ||
|
|
650a85ef6d | ||
|
|
0de36d4594 | ||
|
|
0dfaf4ef65 | ||
|
|
d1a917f445 | ||
|
|
431174f620 | ||
|
|
3078f51bf0 | ||
|
|
d0c18ba23e | ||
|
|
724d64319a | ||
|
|
49aaa9a420 | ||
|
|
c21e1dd0da | ||
|
|
53bed11e0b | ||
|
|
ab8159054c | ||
|
|
765807bee7 | ||
|
|
bf2187592f | ||
|
|
c4c06786f2 | ||
|
|
59aaff8718 | ||
|
|
5897cf73c4 | ||
|
|
d467036438 | ||
|
|
8e0b1c74b1 | ||
|
|
01b8760f90 | ||
|
|
74e25cdac8 | ||
|
|
eac8f8cd93 | ||
|
|
6a28655e3d | ||
|
|
2ca983a793 | ||
|
|
dd1128f4f1 | ||
|
|
f3a128e0fe | ||
|
|
6846be007d | ||
|
|
0e74cd1660 | ||
|
|
379f89dc53 | ||
|
|
253d9cf358 | ||
|
|
4254f3a4c1 | ||
|
|
9bfb9ba527 | ||
|
|
d4c26876d3 | ||
|
|
d6f9faae0d | ||
|
|
c459726691 | ||
|
|
a087b01cdd | ||
|
|
f3051ed54e | ||
|
|
860e98cc4a | ||
|
|
3ffd6c071a | ||
|
|
2d646a3990 | ||
|
|
a9313c9016 | ||
|
|
5f18c9ab80 | ||
|
|
2c22b37a68 | ||
|
|
c07fd68e12 | ||
|
|
c33f0b4fc7 | ||
|
|
04daf014b5 | ||
|
|
bb3bc25861 | ||
|
|
ac4145f467 | ||
|
|
87a64c9c4c | ||
|
|
897ddf2662 | ||
|
|
74714a34ca | ||
|
|
e982de4fb4 | ||
|
|
19c02a4d16 | ||
|
|
71c7e82837 | ||
|
|
8b733e71a6 | ||
|
|
c6c77c8c2d | ||
|
|
8efd40b126 | ||
|
|
77a54b68d4 | ||
|
|
f664957aa4 | ||
|
|
70c4c0fc21 | ||
|
|
701f152f28 | ||
|
|
1b6299040a | ||
|
|
5462f69153 | ||
|
|
6a6a824702 | ||
|
|
88c7a5c4cc | ||
|
|
da65035498 | ||
|
|
43750fe4fc | ||
|
|
a7c12a5225 | ||
|
|
7218de5369 | ||
|
|
4764dce02f | ||
|
|
077672fa88 | ||
|
|
583a1019cc | ||
|
|
45d66afb31 | ||
|
|
f4683e88f3 | ||
|
|
798e74c57d | ||
|
|
37d8d03606 | ||
|
|
7bffcb42ec | ||
|
|
94293438d4 | ||
|
|
e6cb4feff9 | ||
|
|
85cd5ad8b4 | ||
|
|
d5d81f40c6 | ||
|
|
bec071acb9 | ||
|
|
5150b5c6ab | ||
|
|
270788d6fd | ||
|
|
10389f671b | ||
|
|
574dbbc517 | ||
|
|
466ed42568 | ||
|
|
321d3e057d | ||
|
|
3115e0f9c4 | ||
|
|
7aafc67ccf | ||
|
|
07d42ec34e | ||
|
|
c5acfe3b0d | ||
|
|
469786860d | ||
|
|
e603106d1a | ||
|
|
09940b4bb9 | ||
|
|
8ecc33d259 | ||
|
|
d721f69753 | ||
|
|
b88b5503aa | ||
|
|
f644ffe4b2 | ||
|
|
7cd044345e | ||
|
|
00e563ead9 | ||
|
|
7323c2ac6b | ||
|
|
100912429f | ||
|
|
a2d14d32b8 | ||
|
|
ff9cb435df | ||
|
|
2f913c1249 | ||
|
|
7dab60079b | ||
|
|
862b2cf102 | ||
|
|
070dd05edd | ||
|
|
ff95d147d6 | ||
|
|
30fe0c4907 | ||
|
|
e5813484cd | ||
|
|
9a53fd0577 | ||
|
|
dfb560cac1 | ||
|
|
5c8be669de | ||
|
|
14877a1345 | ||
|
|
bc08098689 | ||
|
|
02c45745e3 | ||
|
|
67f7ac2add | ||
|
|
fbb8195699 | ||
|
|
66572f0900 | ||
|
|
e755a052f0 | ||
|
|
37628e79a4 | ||
|
|
e4262713b5 | ||
|
|
ddf2bd2495 | ||
|
|
c34b59d32f | ||
|
|
b557ee7090 | ||
|
|
d5b5e18245 | ||
|
|
e683046da1 | ||
|
|
af18655ef9 | ||
|
|
314b271ce0 | ||
|
|
4db827f313 | ||
|
|
6a54608e14 | ||
|
|
3f55ff1327 | ||
|
|
3ecf990cd2 | ||
|
|
96f00f2adf | ||
|
|
2760c3e6c4 | ||
|
|
a09933a12a | ||
|
|
37116fb629 | ||
|
|
c613917766 | ||
|
|
492a68c323 | ||
|
|
ac49314877 | ||
|
|
ac35d7a02d | ||
|
|
d03c744ad6 | ||
|
|
a0407a8c60 | ||
|
|
8a7b2e9c9b | ||
|
|
9a510d9b07 | ||
|
|
2160dd3b55 | ||
|
|
1e14fd9e7a | ||
|
|
2ec74e3c0e | ||
|
|
25a42462f9 | ||
|
|
f5920c85ab | ||
|
|
6ed1ccdc9a | ||
|
|
ceb4b69c73 | ||
|
|
76584bd0a0 | ||
|
|
fba32955a0 | ||
|
|
f4eba74c80 | ||
|
|
9e4932e291 | ||
|
|
bd20e2b607 | ||
|
|
c93877b070 | ||
|
|
4e9f8a2be4 | ||
|
|
a07ea2da0c | ||
|
|
9a202d29ad | ||
|
|
5b6282e01c | ||
|
|
f0f7a35b85 | ||
|
|
dda4ed3db4 | ||
|
|
f9a7c6738f | ||
|
|
31b9dd18d4 | ||
|
|
7e2f56aae3 | ||
|
|
834f08becb | ||
|
|
878ae4a749 | ||
|
|
63602c0f72 | ||
|
|
66dc883276 | ||
|
|
97ce1b094a | ||
|
|
ba5812e64f | ||
|
|
2203178090 | ||
|
|
3b25789080 | ||
|
|
7dcb3e5276 | ||
|
|
09ce3dbf90 | ||
|
|
c6d284324b | ||
|
|
c55207f0a2 | ||
|
|
45e889b4b3 | ||
|
|
131cb1abb1 | ||
|
|
0ff6cfb53c | ||
|
|
f128379387 | ||
|
|
1f63aba653 | ||
|
|
a98b9bd46b | ||
|
|
49e0fc2ba1 | ||
|
|
2192e3432b | ||
|
|
1b6e91df31 | ||
|
|
c32aadf8fd | ||
|
|
7d646d3301 | ||
|
|
7b79062de0 | ||
|
|
61cdd2503b | ||
|
|
92c848eb82 | ||
|
|
f93fb8df6e | ||
|
|
ea47b2ae40 | ||
|
|
38adb40e7a | ||
|
|
e7e35baaf0 | ||
|
|
a6b0ced86b | ||
|
|
6a17359b95 | ||
|
|
245422d4c0 | ||
|
|
c7b7456c9e | ||
|
|
cf445f7cf3 | ||
|
|
2f8540dd31 | ||
|
|
bc068d74aa | ||
|
|
bcfe48982e | ||
|
|
79690d4663 | ||
|
|
5691205077 | ||
|
|
d9d3212c79 | ||
|
|
81ae676e79 | ||
|
|
c8b21b59d1 | ||
|
|
7c2bd355f3 | ||
|
|
868eec5e6d | ||
|
|
0ba4244466 | ||
|
|
eea148f0e6 | ||
|
|
34090feb56 | ||
|
|
a9a416c8f4 | ||
|
|
10c6bfee12 | ||
|
|
67e62e7b01 | ||
|
|
feea86eed3 | ||
|
|
2e6f8c08c1 | ||
|
|
8342844ea7 | ||
|
|
679aac1b20 | ||
|
|
de6681ceb7 | ||
|
|
f6fe5c5c70 | ||
|
|
976ada262f | ||
|
|
c946707707 | ||
|
|
4f6104c444 | ||
|
|
a27d3e9355 | ||
|
|
cae6b78afc | ||
|
|
097823f389 | ||
|
|
62762170e1 | ||
|
|
e4ccfbd189 | ||
|
|
eaa61762f4 | ||
|
|
6ca1aa8c19 | ||
|
|
84a55d4e11 | ||
|
|
055b396ea2 | ||
|
|
98d57a1337 | ||
|
|
1ba3eaa7d3 | ||
|
|
233b9834e6 | ||
|
|
9cbfcfde24 | ||
|
|
7a8ccc55bf | ||
|
|
ac0d76444a | ||
|
|
500b1fac79 | ||
|
|
d89d3764f8 | ||
|
|
654518ea06 | ||
|
|
1a480074ee | ||
|
|
8ab72a0f47 | ||
|
|
658a20c06e | ||
|
|
818b10d9bb | ||
|
|
126f9c6282 | ||
|
|
cfd7e3df84 | ||
|
|
c974f40fee | ||
|
|
d34eb386d4 | ||
|
|
c57b27e4b7 | ||
|
|
d1d5f4de97 | ||
|
|
badeebcb1a | ||
|
|
b16296be30 | ||
|
|
eff6331393 | ||
|
|
601c5ba56e | ||
|
|
57a11be8e4 | ||
|
|
7197f58bbf | ||
|
|
3007c1e340 | ||
|
|
4a2e8975cd | ||
|
|
7b6664fa89 | ||
|
|
fda93d8ef5 | ||
|
|
18ae9813bf | ||
|
|
47952bf4c2 | ||
|
|
5bbe7a2b8c | ||
|
|
9fc0c931c7 | ||
|
|
fdedc91de2 | ||
|
|
2eb34f2fb9 | ||
|
|
a3ef0b984b | ||
|
|
65a297b952 | ||
|
|
0f871fa80d | ||
|
|
c84418936e | ||
|
|
e94e15d8dd | ||
|
|
21c926745f | ||
|
|
76b2afaa4a | ||
|
|
ce84bed594 | ||
|
|
d0dd7d77b4 | ||
|
|
466dbc913e | ||
|
|
bac7c32ff7 | ||
|
|
5658fd1df2 | ||
|
|
2637069a45 | ||
|
|
0bc4788cf7 | ||
|
|
004f976bef | ||
|
|
d577d6f6b1 | ||
|
|
9922e17dbb | ||
|
|
bf162c4114 | ||
|
|
79ad6142b1 | ||
|
|
6484fb09f6 | ||
|
|
c1144b5fa0 | ||
|
|
1813ca74c3 | ||
|
|
6843540876 | ||
|
|
6ae46f7a92 | ||
|
|
0cae69e062 | ||
|
|
d2ed0a05b6 | ||
|
|
651d09131a | ||
|
|
e0f0892f83 | ||
|
|
27d3b2f857 | ||
|
|
da4e0a06c0 | ||
|
|
e266801e21 | ||
|
|
99c9f6a498 | ||
|
|
942acabcd0 | ||
|
|
e0806ce653 | ||
|
|
84e042b8a4 | ||
|
|
5719ca3eb6 | ||
|
|
d85a177b9b | ||
|
|
2e8581811e | ||
|
|
262017ad69 | ||
|
|
eb1ef12e40 | ||
|
|
2ff6d83d07 | ||
|
|
5246291397 | ||
|
|
013a1d0cb2 | ||
|
|
aedd8c2a63 | ||
|
|
9a97b34d8c | ||
|
|
489225d82a | ||
|
|
1b6383d6be | ||
|
|
a148c58075 | ||
|
|
50527c5dba | ||
|
|
814b2edab6 | ||
|
|
d2baed4b69 | ||
|
|
c5526174a5 | ||
|
|
c1f49580cf | ||
|
|
40a500c743 | ||
|
|
4fad06f438 | ||
|
|
07224254ab | ||
|
|
7d35788421 | ||
|
|
36928bf506 | ||
|
|
d1a140b28e | ||
|
|
12aa0a6e01 | ||
|
|
4b7eb74ef5 | ||
|
|
863a05b28b | ||
|
|
d6c8719550 | ||
|
|
859354c7e2 | ||
|
|
0fc0483240 | ||
|
|
e828ed68c6 | ||
|
|
6639a31758 | ||
|
|
95a5fda31a | ||
|
|
b3406fda8f | ||
|
|
916cfef293 | ||
|
|
fed45865ba | ||
|
|
6a07b2ad43 | ||
|
|
8f80d7761c | ||
|
|
49f147856e | ||
|
|
b8490d73e8 | ||
|
|
ab9aa50acb | ||
|
|
28e070c442 | ||
|
|
f232722edf | ||
|
|
85c77f1dfc | ||
|
|
dc0234b48c | ||
|
|
a41df3ae10 | ||
|
|
50f2cc19ee | ||
|
|
bec18d1625 | ||
|
|
395fdba990 | ||
|
|
5499d30c79 | ||
|
|
bc5c834c7b | ||
|
|
f6c51a38d7 | ||
|
|
e1913859f3 | ||
|
|
177a5796c9 | ||
|
|
6418c5d819 | ||
|
|
f60aebf286 | ||
|
|
05cb00cb77 | ||
|
|
84c057931e | ||
|
|
674e180d89 | ||
|
|
fb57c981cc | ||
|
|
0bc3d1ffcf | ||
|
|
9b345a50dd | ||
|
|
3a960869ac | ||
|
|
59c6251800 | ||
|
|
485b5809e8 | ||
|
|
e97b7675af | ||
|
|
46ed16ded9 | ||
|
|
d0206e8c49 | ||
|
|
a2d725ddd0 | ||
|
|
bbefc2b931 | ||
|
|
8c2e08da10 | ||
|
|
0c1d7efb0a | ||
|
|
56beae86dd | ||
|
|
a42c0ca9fe | ||
|
|
e960e482a4 | ||
|
|
bcb460dab8 | ||
|
|
9f236e9f54 | ||
|
|
56f71445bc | ||
|
|
004c5de30b | ||
|
|
cb0b0a398e | ||
|
|
7dfbc0e0db | ||
|
|
66431bf9fd | ||
|
|
1c88766d17 | ||
|
|
46a6823b81 | ||
|
|
cff3d9e3c9 | ||
|
|
75c683d9b5 | ||
|
|
f4eef0bfda | ||
|
|
f6e388ebf0 | ||
|
|
2874247228 | ||
|
|
4385ad5563 | ||
|
|
8ba77ef4d3 | ||
|
|
82dbde173c | ||
|
|
c6dff3470e | ||
|
|
3e0c87dc38 | ||
|
|
de74ca6211 | ||
|
|
d6201b58de | ||
|
|
0ac18158d1 | ||
|
|
d4006d9bc9 | ||
|
|
ee2b24e9fb | ||
|
|
7e5bafcdb5 | ||
|
|
eb9703ee74 | ||
|
|
7a9f099940 | ||
|
|
b843f9522e | ||
|
|
899b5a286f | ||
|
|
4d7934a07c | ||
|
|
f239f49a62 | ||
|
|
c8785050e2 | ||
|
|
ba64fee9b1 | ||
|
|
1c732358fa | ||
|
|
efe0e211bb | ||
|
|
6419f994ff | ||
|
|
16f3f1a951 | ||
|
|
8e75e1a14d | ||
|
|
ef4bf4ae03 | ||
|
|
0b8c8128cf | ||
|
|
64fa96a8b3 | ||
|
|
829bba8836 | ||
|
|
e08f131aab | ||
|
|
6f07b504a5 | ||
|
|
fce65da29a | ||
|
|
ddb13a1ac7 | ||
|
|
aef016d9b5 | ||
|
|
8216c3a1b1 | ||
|
|
59a9e3a311 | ||
|
|
527ea9408c | ||
|
|
4518431205 | ||
|
|
0930314935 | ||
|
|
ee80b30f46 | ||
|
|
4356c16c33 | ||
|
|
cc95e67380 | ||
|
|
360d2b76b5 | ||
|
|
4322324628 | ||
|
|
dce63d8676 | ||
|
|
b8f204c619 | ||
|
|
5fa98fa5b2 | ||
|
|
6bd6480037 | ||
|
|
e476d8b071 | ||
|
|
6c089f53dd | ||
|
|
484d2f8088 | ||
|
|
d5b7b38233 | ||
|
|
64d6bfc2d6 | ||
|
|
543e4689d0 | ||
|
|
c92053157f | ||
|
|
9f45792756 | ||
|
|
98884904a2 | ||
|
|
5be8bd1c16 | ||
|
|
eb5d323227 | ||
|
|
bce99ca79f | ||
|
|
e287d85c90 | ||
|
|
834c357222 | ||
|
|
7bd23b58b5 | ||
|
|
f1c4784a3f | ||
|
|
a590b4afa7 | ||
|
|
cd5b1ee5cf | ||
|
|
5dcc7c296d | ||
|
|
3437c495bd | ||
|
|
c94b9997cc | ||
|
|
921d191150 | ||
|
|
cdcdbb5797 | ||
|
|
8b0f2cf9da | ||
|
|
a35a881b65 | ||
|
|
d8667207b6 | ||
|
|
926a4898bc | ||
|
|
5c63cc5b1c | ||
|
|
30a3b9a904 | ||
|
|
83f0fe6c49 | ||
|
|
5c8f4be0e9 | ||
|
|
96f2840282 | ||
|
|
dfc31c9995 | ||
|
|
019a40b91a | ||
|
|
ae005db7f8 | ||
|
|
89c4c9e65c | ||
|
|
26f16a5e63 | ||
|
|
955f8596ae | ||
|
|
e7cff66ce1 | ||
|
|
bf419682de | ||
|
|
afdba76326 | ||
|
|
07e43a2208 | ||
|
|
9632771630 | ||
|
|
9d2dd7cfea | ||
|
|
d427c89ed7 | ||
|
|
125ff5530c | ||
|
|
86ead5e019 | ||
|
|
eb1c7a3887 | ||
|
|
6bd8101752 | ||
|
|
2408985f4e | ||
|
|
f8b1cb6997 | ||
|
|
2d031a36d6 | ||
|
|
1ba7713018 | ||
|
|
339e0d5afb | ||
|
|
0225834cc5 | ||
|
|
15f9b00614 | ||
|
|
ff82fd0736 | ||
|
|
d3314cca22 | ||
|
|
42add7b4d7 | ||
|
|
9c5706e1a2 | ||
|
|
3912995667 | ||
|
|
8d7f61b8f2 | ||
|
|
50bc388cfc | ||
|
|
4a409ace8f | ||
|
|
41499f5466 | ||
|
|
1023a086ae | ||
|
|
cc5f2fb439 | ||
|
|
789f65c9ee | ||
|
|
a5879b7b6e | ||
|
|
3da4cbfc79 | ||
|
|
5f061ca665 | ||
|
|
11ea309db5 | ||
|
|
1319d54f85 | ||
|
|
59d27da76b | ||
|
|
f0e3dfb303 | ||
|
|
dba4f66682 | ||
|
|
8f9b20ba50 | ||
|
|
0d65621757 | ||
|
|
c3ae9dcd15 | ||
|
|
570734c55c | ||
|
|
65920dd33a | ||
|
|
60f5c59630 | ||
|
|
0962265901 | ||
|
|
143b5fb429 | ||
|
|
8c923c00a3 | ||
|
|
34e8e09ae4 | ||
|
|
4f41ff7fc8 | ||
|
|
636b9eab1d | ||
|
|
153cab09da | ||
|
|
dddabd0d26 | ||
|
|
3100e1e354 | ||
|
|
6e92b190d0 | ||
|
|
292bb7c0b9 | ||
|
|
1245696032 | ||
|
|
317cd34a7a | ||
|
|
6cfb483131 | ||
|
|
a5f4123fb0 | ||
|
|
50931b43dd | ||
|
|
f54f0731d1 | ||
|
|
ca6b925548 | ||
|
|
d439786b65 | ||
|
|
f5159143cd | ||
|
|
a1be09ed8a | ||
|
|
2bf10dc4b9 | ||
|
|
e422b64793 | ||
|
|
eac5e24aee | ||
|
|
5489416722 | ||
|
|
dc0f6da426 | ||
|
|
e1cca2565c | ||
|
|
cf58ef4480 | ||
|
|
8065746a2a | ||
|
|
abb267d186 | ||
|
|
fce87bbc67 | ||
|
|
cc641561b7 | ||
|
|
c237da1a2f | ||
|
|
cbc79bf64b | ||
|
|
b8f39fe0f5 | ||
|
|
9953504776 | ||
|
|
130884e4e1 | ||
|
|
a0755a79b6 | ||
|
|
903cb278c5 | ||
|
|
e5fdcd4a8f | ||
|
|
eb8a70647a | ||
|
|
0ccdbf8cd5 | ||
|
|
c26fc558ba | ||
|
|
f8707c9939 | ||
|
|
699855c048 | ||
|
|
edb138ff88 | ||
|
|
95cfca769b | ||
|
|
9c51a58355 | ||
|
|
deb312c60b | ||
|
|
9824588133 | ||
|
|
11fba50273 | ||
|
|
684c4b5c77 | ||
|
|
1e1aca8165 | ||
|
|
898fba281b | ||
|
|
913b8b11ad | ||
|
|
29b1f65c5e | ||
|
|
140500d80a | ||
|
|
318bcc7f84 | ||
|
|
f72bf5dfb3 | ||
|
|
33461954a5 | ||
|
|
3df80238a3 | ||
|
|
ef88842204 | ||
|
|
ece3cbc8ec | ||
|
|
febbadf751 | ||
|
|
8ca5570701 | ||
|
|
b1b3d00b62 | ||
|
|
d2f6dfd52d | ||
|
|
cba5616040 | ||
|
|
40c95932fe | ||
|
|
234badad23 | ||
|
|
824d18c689 | ||
|
|
47cec7ab01 | ||
|
|
7b876ae4f4 | ||
|
|
f398a65921 | ||
|
|
fc374f5e9a | ||
|
|
b4e6f81a72 | ||
|
|
0b75f471b1 | ||
|
|
c9f360d9af | ||
|
|
d2950c11f0 | ||
|
|
a9fb7d923c | ||
|
|
696504dcab | ||
|
|
18f13455eb | ||
|
|
fe4a785361 | ||
|
|
34231cfd52 | ||
|
|
f1fb80a041 | ||
|
|
f81f52702f | ||
|
|
2f141340f0 | ||
|
|
94786b354b | ||
|
|
ee44252240 |
@@ -22,6 +22,7 @@
|
|||||||
}],
|
}],
|
||||||
"import/no-amd": "error",
|
"import/no-amd": "error",
|
||||||
"import/no-commonjs": "error",
|
"import/no-commonjs": "error",
|
||||||
|
"import/no-cycle": "error",
|
||||||
"import/no-dynamic-require": "error",
|
"import/no-dynamic-require": "error",
|
||||||
// Disable the rule that checks that devDependencies aren't imported since we use a single
|
// Disable the rule that checks that devDependencies aren't imported since we use a single
|
||||||
// linting configuration file for both source and test code.
|
// linting configuration file for both source and test code.
|
||||||
|
|||||||
3
.git-blame-ignore-revs
Normal file
3
.git-blame-ignore-revs
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
# .git-blame-ignore-revs
|
||||||
|
# Added trailing commas to adhere to new eslint rules
|
||||||
|
b16296be30e150034524d6dd0b0418fc6b184267
|
||||||
@@ -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
|
||||||
|
|||||||
2
.github/actions/check-sarif/action.yml
vendored
2
.github/actions/check-sarif/action.yml
vendored
@@ -16,5 +16,5 @@ inputs:
|
|||||||
Comma separated list of query ids that should NOT be included in this SARIF file.
|
Comma separated list of query ids that should NOT be included in this SARIF file.
|
||||||
|
|
||||||
runs:
|
runs:
|
||||||
using: node12
|
using: node20
|
||||||
main: index.js
|
main: index.js
|
||||||
|
|||||||
34
.github/actions/prepare-test/action.yml
vendored
34
.github/actions/prepare-test/action.yml
vendored
@@ -2,8 +2,12 @@ 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', 'cached', 'nightly-latest', 'nightly-YYYY-MM-DD', or 'stable-YYYY-MM-DD'."
|
description: "The version of the CodeQL CLI to use. Can be 'latest', 'default', 'nightly-latest', 'nightly-YYYY-MM-DD', or 'stable-YYYY-MM-DD'."
|
||||||
required: true
|
required: true
|
||||||
|
use-all-platform-bundle:
|
||||||
|
description: "If true, we output a tools URL with codeql-bundle.tar.gz file rather than platform-specific URL"
|
||||||
|
default: 'false'
|
||||||
|
required: false
|
||||||
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."
|
||||||
@@ -23,18 +27,32 @@ runs:
|
|||||||
shell: bash
|
shell: bash
|
||||||
run: |
|
run: |
|
||||||
set -e # Fail this Action if `gh release list` fails.
|
set -e # Fail this Action if `gh release list` fails.
|
||||||
|
|
||||||
|
if [[ ${{ inputs.use-all-platform-bundle }} == "true" ]]; then
|
||||||
|
artifact_name="codeql-bundle.tar.gz"
|
||||||
|
elif [[ "$RUNNER_OS" == "Linux" ]]; then
|
||||||
|
artifact_name="codeql-bundle-linux64.tar.gz"
|
||||||
|
elif [[ "$RUNNER_OS" == "macOS" ]]; then
|
||||||
|
artifact_name="codeql-bundle-osx64.tar.gz"
|
||||||
|
elif [[ "$RUNNER_OS" == "Windows" ]]; then
|
||||||
|
artifact_name="codeql-bundle-win64.tar.gz"
|
||||||
|
else
|
||||||
|
echo "::error::Unrecognized OS $RUNNER_OS"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
if [[ ${{ inputs.version }} == "nightly-latest" ]]; then
|
if [[ ${{ inputs.version }} == "nightly-latest" ]]; then
|
||||||
export LATEST=`gh release list --repo dsp-testing/codeql-cli-nightlies -L 1 | cut -f 3`
|
tag=`gh release list --repo dsp-testing/codeql-cli-nightlies -L 1 | cut -f 3`
|
||||||
echo "tools-url=https://github.com/dsp-testing/codeql-cli-nightlies/releases/download/$LATEST/codeql-bundle.tar.gz" >> $GITHUB_OUTPUT
|
echo "tools-url=https://github.com/dsp-testing/codeql-cli-nightlies/releases/download/$tag/$artifact_name" >> $GITHUB_OUTPUT
|
||||||
elif [[ ${{ inputs.version }} == *"nightly"* ]]; then
|
elif [[ ${{ inputs.version }} == *"nightly"* ]]; then
|
||||||
export VERSION=`echo ${{ inputs.version }} | sed -e 's/^.*\-//'`
|
version=`echo ${{ inputs.version }} | sed -e 's/^.*\-//'`
|
||||||
echo "tools-url=https://github.com/dsp-testing/codeql-cli-nightlies/releases/download/codeql-bundle-$VERSION-manual/codeql-bundle.tar.gz" >> $GITHUB_OUTPUT
|
echo "tools-url=https://github.com/dsp-testing/codeql-cli-nightlies/releases/download/codeql-bundle-$version-manual/$artifact_name" >> $GITHUB_OUTPUT
|
||||||
elif [[ ${{ inputs.version }} == *"stable"* ]]; then
|
elif [[ ${{ inputs.version }} == *"stable"* ]]; then
|
||||||
export 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/codeql-bundle.tar.gz" >> $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 }} == "latest" ]]; then
|
||||||
echo "tools-url=latest" >> $GITHUB_OUTPUT
|
echo "tools-url=latest" >> $GITHUB_OUTPUT
|
||||||
elif [[ ${{ inputs.version }} == "cached" ]]; 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!"
|
||||||
|
|||||||
11
.github/actions/query-filter-test/action.yml
vendored
11
.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
|
||||||
|
|||||||
25
.github/actions/release-branches/action.yml
vendored
Normal file
25
.github/actions/release-branches/action.yml
vendored
Normal file
@@ -0,0 +1,25 @@
|
|||||||
|
name: 'Release branches'
|
||||||
|
description: 'Determine branches for release & backport'
|
||||||
|
inputs:
|
||||||
|
major_version:
|
||||||
|
description: 'The version as extracted from the package.json file'
|
||||||
|
required: true
|
||||||
|
latest_tag:
|
||||||
|
description: 'The most recent tag published to the repository'
|
||||||
|
required: true
|
||||||
|
outputs:
|
||||||
|
backport_source_branch:
|
||||||
|
description: "The release branch for the given tag"
|
||||||
|
value: ${{ steps.branches.outputs.backport_source_branch }}
|
||||||
|
backport_target_branches:
|
||||||
|
description: "JSON encoded list of branches to target with backports"
|
||||||
|
value: ${{ steps.branches.outputs.backport_target_branches }}
|
||||||
|
runs:
|
||||||
|
using: "composite"
|
||||||
|
steps:
|
||||||
|
- id: branches
|
||||||
|
run: |
|
||||||
|
python ${{ github.action_path }}/release-branches.py \
|
||||||
|
--major-version ${{ inputs.major_version }} \
|
||||||
|
--latest-tag ${{ inputs.latest_tag }}
|
||||||
|
shell: bash
|
||||||
55
.github/actions/release-branches/release-branches.py
vendored
Normal file
55
.github/actions/release-branches/release-branches.py
vendored
Normal file
@@ -0,0 +1,55 @@
|
|||||||
|
import argparse
|
||||||
|
import json
|
||||||
|
import os
|
||||||
|
import configparser
|
||||||
|
|
||||||
|
# Name of the remote
|
||||||
|
ORIGIN = 'origin'
|
||||||
|
|
||||||
|
script_dir = os.path.dirname(os.path.realpath(__file__))
|
||||||
|
grandparent_dir = os.path.dirname(os.path.dirname(script_dir))
|
||||||
|
|
||||||
|
config = configparser.ConfigParser()
|
||||||
|
with open(os.path.join(grandparent_dir, 'releases.ini')) as stream:
|
||||||
|
config.read_string('[default]\n' + stream.read())
|
||||||
|
|
||||||
|
OLDEST_SUPPORTED_MAJOR_VERSION = int(config['default']['OLDEST_SUPPORTED_MAJOR_VERSION'])
|
||||||
|
|
||||||
|
def main():
|
||||||
|
|
||||||
|
parser = argparse.ArgumentParser()
|
||||||
|
parser.add_argument("--major-version", required=True, type=str, help="The major version of the release")
|
||||||
|
parser.add_argument("--latest-tag", required=True, type=str, help="The most recent tag published to the repository")
|
||||||
|
args = parser.parse_args()
|
||||||
|
|
||||||
|
major_version = args.major_version
|
||||||
|
latest_tag = args.latest_tag
|
||||||
|
|
||||||
|
print("major_version: " + major_version)
|
||||||
|
print("latest_tag: " + latest_tag)
|
||||||
|
|
||||||
|
# If this is a primary release, we backport to all supported branches,
|
||||||
|
# so we check whether the major_version taken from the package.json
|
||||||
|
# is greater than or equal to the latest tag pulled from the repo.
|
||||||
|
# For example...
|
||||||
|
# 'v1' >= 'v2' is False # we're operating from an older release branch and should not backport
|
||||||
|
# 'v2' >= 'v2' is True # the normal case where we're updating the current version
|
||||||
|
# 'v3' >= 'v2' is True # in this case we are making the first release of a new major version
|
||||||
|
consider_backports = ( major_version >= latest_tag.split(".")[0] )
|
||||||
|
|
||||||
|
with open(os.environ["GITHUB_OUTPUT"], "a") as f:
|
||||||
|
|
||||||
|
f.write(f"backport_source_branch=releases/{major_version}\n")
|
||||||
|
|
||||||
|
backport_target_branches = []
|
||||||
|
|
||||||
|
if consider_backports:
|
||||||
|
for i in range(int(major_version.strip("v"))-1, 0, -1):
|
||||||
|
branch_name = f"releases/v{i}"
|
||||||
|
if i >= OLDEST_SUPPORTED_MAJOR_VERSION:
|
||||||
|
backport_target_branches.append(branch_name)
|
||||||
|
|
||||||
|
f.write("backport_target_branches="+json.dumps(backport_target_branches)+"\n")
|
||||||
|
|
||||||
|
if __name__ == "__main__":
|
||||||
|
main()
|
||||||
33
.github/actions/release-initialise/action.yml
vendored
Normal file
33
.github/actions/release-initialise/action.yml
vendored
Normal file
@@ -0,0 +1,33 @@
|
|||||||
|
name: 'Prepare release job'
|
||||||
|
description: 'Prepare for updating a release branch'
|
||||||
|
|
||||||
|
runs:
|
||||||
|
using: "composite"
|
||||||
|
steps:
|
||||||
|
|
||||||
|
- name: Dump environment
|
||||||
|
run: env
|
||||||
|
shell: bash
|
||||||
|
|
||||||
|
- name: Dump GitHub context
|
||||||
|
env:
|
||||||
|
GITHUB_CONTEXT: '${{ toJson(github) }}'
|
||||||
|
run: echo "$GITHUB_CONTEXT"
|
||||||
|
shell: bash
|
||||||
|
|
||||||
|
- name: Set up Python
|
||||||
|
uses: actions/setup-python@v5
|
||||||
|
with:
|
||||||
|
python-version: 3.12
|
||||||
|
|
||||||
|
- name: Install dependencies
|
||||||
|
run: |
|
||||||
|
python -m pip install --upgrade pip
|
||||||
|
pip install PyGithub==2.3.0 requests
|
||||||
|
shell: bash
|
||||||
|
|
||||||
|
- name: Update git config
|
||||||
|
run: |
|
||||||
|
git config --global user.email "41898282+github-actions[bot]@users.noreply.github.com"
|
||||||
|
git config --global user.name "github-actions[bot]"
|
||||||
|
shell: bash
|
||||||
35
.github/actions/setup-swift/action.yml
vendored
35
.github/actions/setup-swift/action.yml
vendored
@@ -1,5 +1,5 @@
|
|||||||
name: "Set up Swift"
|
name: "Set up Swift on Linux"
|
||||||
description: Sets up an appropriate Swift version if Swift is enabled via CODEQL_ENABLE_EXPERIMENTAL_FEATURES_SWIFT.
|
description: Sets up an appropriate Swift version on Linux.
|
||||||
inputs:
|
inputs:
|
||||||
codeql-path:
|
codeql-path:
|
||||||
description: Path to the CodeQL CLI executable.
|
description: Path to the CodeQL CLI executable.
|
||||||
@@ -9,24 +9,31 @@ runs:
|
|||||||
steps:
|
steps:
|
||||||
- name: Get Swift version
|
- name: Get Swift version
|
||||||
id: get_swift_version
|
id: get_swift_version
|
||||||
if: env.CODEQL_ENABLE_EXPERIMENTAL_FEATURES_SWIFT == 'true'
|
if: runner.os == 'Linux'
|
||||||
shell: bash
|
shell: bash
|
||||||
env:
|
env:
|
||||||
CODEQL_PATH: ${{ inputs.codeql-path }}
|
CODEQL_PATH: ${{ inputs.codeql-path }}
|
||||||
run: |
|
run: |
|
||||||
if [ $RUNNER_OS = "macOS" ]; then
|
|
||||||
PLATFORM="osx64"
|
|
||||||
else # We do not run this step on Windows.
|
|
||||||
PLATFORM="linux64"
|
|
||||||
fi
|
|
||||||
SWIFT_EXTRACTOR_DIR="$("$CODEQL_PATH" resolve languages --format json | jq -r '.swift[0]')"
|
SWIFT_EXTRACTOR_DIR="$("$CODEQL_PATH" resolve languages --format json | jq -r '.swift[0]')"
|
||||||
VERSION="$("$SWIFT_EXTRACTOR_DIR/tools/$PLATFORM/extractor" --version | awk '/version/ { print $3 }')"
|
if [ $SWIFT_EXTRACTOR_DIR = "null" ]; then
|
||||||
# Specify 5.7.0, otherwise setup Action will default to latest minor version.
|
VERSION="null"
|
||||||
if [ $VERSION = "5.7" ]; then
|
else
|
||||||
VERSION="5.7.0"
|
VERSION="$("$SWIFT_EXTRACTOR_DIR/tools/linux64/extractor" --version | awk '/version/ { print $3 }')"
|
||||||
|
# Specify 5.x.0, otherwise setup Action will default to latest minor version.
|
||||||
|
if [ $VERSION = "5.7" ]; then
|
||||||
|
VERSION="5.7.0"
|
||||||
|
elif [ $VERSION = "5.8" ]; then
|
||||||
|
VERSION="5.8.0"
|
||||||
|
elif [ $VERSION = "5.9" ]; then
|
||||||
|
VERSION="5.9.0"
|
||||||
|
# setup-swift does not yet support v5.9.1 Remove this when it does.
|
||||||
|
elif [ $VERSION = "5.9.1" ]; then
|
||||||
|
VERSION="5.9.0"
|
||||||
|
fi
|
||||||
fi
|
fi
|
||||||
echo "version=$VERSION" | tee -a $GITHUB_OUTPUT
|
echo "version=$VERSION" | tee -a $GITHUB_OUTPUT
|
||||||
- uses: swift-actions/setup-swift@65540b95f51493d65f5e59e97dcef9629ddf11bf # Please update the corresponding SHA in the CLI's CodeQL Action Integration Test.
|
|
||||||
if: env.CODEQL_ENABLE_EXPERIMENTAL_FEATURES_SWIFT == 'true'
|
- 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'
|
||||||
with:
|
with:
|
||||||
swift-version: "${{ steps.get_swift_version.outputs.version }}"
|
swift-version: "${{ steps.get_swift_version.outputs.version }}"
|
||||||
|
|||||||
29
.github/dependabot.yml
vendored
29
.github/dependabot.yml
vendored
@@ -2,20 +2,41 @@ version: 2
|
|||||||
updates:
|
updates:
|
||||||
- package-ecosystem: npm
|
- package-ecosystem: npm
|
||||||
directory: "/"
|
directory: "/"
|
||||||
|
reviewers:
|
||||||
|
- "github/codeql-production-shield"
|
||||||
schedule:
|
schedule:
|
||||||
interval: weekly
|
interval: weekly
|
||||||
labels:
|
labels:
|
||||||
- Update dependencies
|
- Update dependencies
|
||||||
|
# Ignore incompatible dependency updates
|
||||||
ignore:
|
ignore:
|
||||||
- dependency-name: "*"
|
# There is a type incompatibility issue between v0.0.9 and our other dependencies.
|
||||||
update-types:
|
- dependency-name: "@octokit/plugin-retry"
|
||||||
- version-update:semver-minor
|
versions: ["~6.0.0"]
|
||||||
- version-update:semver-patch
|
# v7 requires ESM
|
||||||
|
- dependency-name: "del"
|
||||||
|
versions: ["^7.0.0"]
|
||||||
|
groups:
|
||||||
|
npm:
|
||||||
|
patterns:
|
||||||
|
- "*"
|
||||||
- package-ecosystem: github-actions
|
- package-ecosystem: github-actions
|
||||||
directory: "/"
|
directory: "/"
|
||||||
|
reviewers:
|
||||||
|
- "github/codeql-production-shield"
|
||||||
schedule:
|
schedule:
|
||||||
interval: weekly
|
interval: weekly
|
||||||
|
groups:
|
||||||
|
actions:
|
||||||
|
patterns:
|
||||||
|
- "*"
|
||||||
- package-ecosystem: github-actions
|
- package-ecosystem: github-actions
|
||||||
directory: "/.github/actions/setup-swift/" # All subdirectories outside of "/.github/workflows" must be explicitly included.
|
directory: "/.github/actions/setup-swift/" # All subdirectories outside of "/.github/workflows" must be explicitly included.
|
||||||
|
reviewers:
|
||||||
|
- "github/codeql-production-shield"
|
||||||
schedule:
|
schedule:
|
||||||
interval: weekly
|
interval: weekly
|
||||||
|
groups:
|
||||||
|
actions-setup-swift:
|
||||||
|
patterns:
|
||||||
|
- "*"
|
||||||
|
|||||||
1
.github/releases.ini
vendored
Normal file
1
.github/releases.ini
vendored
Normal file
@@ -0,0 +1 @@
|
|||||||
|
OLDEST_SUPPORTED_MAJOR_VERSION=2
|
||||||
240
.github/update-release-branch.py
vendored
240
.github/update-release-branch.py
vendored
@@ -1,5 +1,7 @@
|
|||||||
import argparse
|
import argparse
|
||||||
import datetime
|
import datetime
|
||||||
|
import fileinput
|
||||||
|
import re
|
||||||
from github import Github
|
from github import Github
|
||||||
import json
|
import json
|
||||||
import os
|
import os
|
||||||
@@ -13,8 +15,9 @@ No user facing changes.
|
|||||||
|
|
||||||
"""
|
"""
|
||||||
|
|
||||||
SOURCE_BRANCH = 'main'
|
# NB: This exact commit message is used to find commits for reverting during backports.
|
||||||
TARGET_BRANCH = 'releases/v2'
|
# Changing it requires a transition period where both old and new versions are supported.
|
||||||
|
BACKPORT_COMMIT_MESSAGE = 'Update version and changelog for v'
|
||||||
|
|
||||||
# Name of the remote
|
# Name of the remote
|
||||||
ORIGIN = 'origin'
|
ORIGIN = 'origin'
|
||||||
@@ -34,7 +37,9 @@ def branch_exists_on_remote(branch_name):
|
|||||||
return run_git('ls-remote', '--heads', ORIGIN, branch_name).strip() != ''
|
return run_git('ls-remote', '--heads', ORIGIN, branch_name).strip() != ''
|
||||||
|
|
||||||
# Opens a PR from the given branch to the target branch
|
# Opens a PR from the given branch to the target branch
|
||||||
def open_pr(repo, all_commits, source_branch_short_sha, new_branch_name, conductor):
|
def open_pr(
|
||||||
|
repo, all_commits, source_branch_short_sha, new_branch_name, source_branch, target_branch,
|
||||||
|
conductor, is_primary_release, conflicted_files):
|
||||||
# Sort the commits into the pull requests that introduced them,
|
# Sort the commits into the pull requests that introduced them,
|
||||||
# and any commits that don't have a pull request
|
# and any commits that don't have a pull request
|
||||||
pull_requests = []
|
pull_requests = []
|
||||||
@@ -56,7 +61,7 @@ def open_pr(repo, all_commits, source_branch_short_sha, new_branch_name, conduct
|
|||||||
|
|
||||||
# Start constructing the body text
|
# Start constructing the body text
|
||||||
body = []
|
body = []
|
||||||
body.append(f'Merging {source_branch_short_sha} into {TARGET_BRANCH}.')
|
body.append(f'Merging {source_branch_short_sha} into `{target_branch}`.')
|
||||||
|
|
||||||
body.append('')
|
body.append('')
|
||||||
body.append(f'Conductor for this PR is @{conductor}.')
|
body.append(f'Conductor for this PR is @{conductor}.')
|
||||||
@@ -79,20 +84,38 @@ def open_pr(repo, all_commits, source_branch_short_sha, new_branch_name, conduct
|
|||||||
|
|
||||||
body.append('')
|
body.append('')
|
||||||
body.append('Please do the following:')
|
body.append('Please do the following:')
|
||||||
|
if len(conflicted_files) > 0:
|
||||||
|
body.append(' - [ ] Ensure `package.json` file contains the correct version.')
|
||||||
|
body.append(' - [ ] Add commits to this branch to resolve the merge conflicts ' +
|
||||||
|
'in the following files:')
|
||||||
|
body.extend([f' - [ ] `{file}`' for file in conflicted_files])
|
||||||
|
body.append(' - [ ] Ensure another maintainer has reviewed the additional commits you added to this ' +
|
||||||
|
'branch to resolve the merge conflicts.')
|
||||||
body.append(' - [ ] Ensure the CHANGELOG displays the correct version and date.')
|
body.append(' - [ ] Ensure the CHANGELOG displays the correct version and date.')
|
||||||
body.append(' - [ ] Ensure the CHANGELOG includes all relevant, user-facing changes since the last release.')
|
body.append(' - [ ] Ensure the CHANGELOG includes all relevant, user-facing changes since the last release.')
|
||||||
body.append(f' - [ ] Check that there are not any unexpected commits being merged into the {TARGET_BRANCH} branch.')
|
body.append(f' - [ ] Check that there are not any unexpected commits being merged into the `{target_branch}` branch.')
|
||||||
body.append(' - [ ] Ensure the docs team is aware of any documentation changes that need to be released.')
|
body.append(' - [ ] Ensure the docs team is aware of any documentation changes that need to be released.')
|
||||||
body.append(' - [ ] Approve and merge this PR. Make sure `Create a merge commit` is selected rather than `Squash and merge` or `Rebase and merge`.')
|
|
||||||
body.append(' - [ ] Merge the mergeback PR that will automatically be created once this PR is merged.')
|
|
||||||
|
|
||||||
title = f'Merge {SOURCE_BRANCH} into {TARGET_BRANCH}'
|
if not is_primary_release:
|
||||||
|
body.append(' - [ ] Remove and re-add the "Update dependencies" label to the PR to trigger just this workflow.')
|
||||||
|
body.append(' - [ ] Wait for the "Update dependencies" workflow to push a commit updating the dependencies.')
|
||||||
|
|
||||||
|
body.append(' - [ ] Mark the PR as ready for review to trigger the full set of PR checks.')
|
||||||
|
body.append(' - [ ] Approve and merge this PR. Make sure `Create a merge commit` is selected rather than `Squash and merge` or `Rebase and merge`.')
|
||||||
|
|
||||||
|
if is_primary_release:
|
||||||
|
body.append(' - [ ] Merge the mergeback PR that will automatically be created once this PR is merged.')
|
||||||
|
body.append(' - [ ] Merge all backport PRs to older release branches, that will automatically be created once this PR is merged.')
|
||||||
|
|
||||||
|
title = f'Merge {source_branch} into {target_branch}'
|
||||||
|
labels = ['Update dependencies'] if not is_primary_release else []
|
||||||
|
|
||||||
# Create the pull request
|
# Create the pull request
|
||||||
# PR checks won't be triggered on PRs created by Actions. Therefore mark the PR as draft so that
|
# PR checks won't be triggered on PRs created by Actions. Therefore mark the PR as draft so that
|
||||||
# a maintainer can take the PR out of draft, thereby triggering the PR checks.
|
# a maintainer can take the PR out of draft, thereby triggering the PR checks.
|
||||||
pr = repo.create_pull(title=title, body='\n'.join(body), head=new_branch_name, base=TARGET_BRANCH, draft=True)
|
pr = repo.create_pull(title=title, body='\n'.join(body), head=new_branch_name, base=target_branch, draft=True)
|
||||||
print(f'Created PR #{pr.number}')
|
pr.add_to_labels(*labels)
|
||||||
|
print(f'Created PR #{str(pr.number)}')
|
||||||
|
|
||||||
# Assign the conductor
|
# Assign the conductor
|
||||||
pr.add_to_assignees(conductor)
|
pr.add_to_assignees(conductor)
|
||||||
@@ -102,10 +125,10 @@ def open_pr(repo, all_commits, source_branch_short_sha, new_branch_name, conduct
|
|||||||
# since the last release to the target branch.
|
# since the last release to the target branch.
|
||||||
# This will not include any commits that exist on the target branch
|
# This will not include any commits that exist on the target branch
|
||||||
# that aren't on the source branch.
|
# that aren't on the source branch.
|
||||||
def get_commit_difference(repo):
|
def get_commit_difference(repo, source_branch, target_branch):
|
||||||
# Passing split nothing means that the empty string splits to nothing: compare `''.split() == []`
|
# Passing split nothing means that the empty string splits to nothing: compare `''.split() == []`
|
||||||
# to `''.split('\n') == ['']`.
|
# to `''.split('\n') == ['']`.
|
||||||
commits = run_git('log', '--pretty=format:%H', f'{ORIGIN}/{TARGET_BRANCH}..{ORIGIN}/{SOURCE_BRANCH}').strip().split()
|
commits = run_git('log', '--pretty=format:%H', f'{ORIGIN}/{target_branch}..{ORIGIN}/{source_branch}').strip().split()
|
||||||
|
|
||||||
# Convert to full-fledged commit objects
|
# Convert to full-fledged commit objects
|
||||||
commits = [repo.get_commit(c) for c in commits]
|
commits = [repo.get_commit(c) for c in commits]
|
||||||
@@ -149,10 +172,78 @@ 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)
|
||||||
|
|
||||||
|
def process_changelog_for_backports(source_branch_major_version, target_branch_major_version):
|
||||||
|
|
||||||
|
# changelog entries can use the following format to indicate
|
||||||
|
# that they only apply to newer versions
|
||||||
|
some_versions_only_regex = re.compile(r'\[v(\d+)\+ only\]')
|
||||||
|
|
||||||
|
output = ''
|
||||||
|
|
||||||
|
with open('CHANGELOG.md', 'r') as f:
|
||||||
|
|
||||||
|
# until we find the first section, just duplicate all lines
|
||||||
|
found_first_section = False
|
||||||
|
while not found_first_section:
|
||||||
|
line = f.readline()
|
||||||
|
if not line:
|
||||||
|
raise Exception('Could not find any change sections in CHANGELOG.md') # EOF
|
||||||
|
|
||||||
|
if line.startswith('## '):
|
||||||
|
line = line.replace(f'## {source_branch_major_version}', f'## {target_branch_major_version}')
|
||||||
|
found_first_section = True
|
||||||
|
|
||||||
|
output += line
|
||||||
|
|
||||||
|
# found_content tracks whether we hit two headings in a row
|
||||||
|
found_content = False
|
||||||
|
output += '\n'
|
||||||
|
while True:
|
||||||
|
line = f.readline()
|
||||||
|
if not line:
|
||||||
|
break # EOF
|
||||||
|
line = line.rstrip('\n')
|
||||||
|
|
||||||
|
# filter out changenote entries that apply only to newer versions
|
||||||
|
match = some_versions_only_regex.search(line)
|
||||||
|
if match:
|
||||||
|
if int(target_branch_major_version) < int(match.group(1)):
|
||||||
|
continue
|
||||||
|
|
||||||
|
if line.startswith('## '):
|
||||||
|
line = line.replace(f'## {source_branch_major_version}', f'## {target_branch_major_version}')
|
||||||
|
if found_content == False:
|
||||||
|
# we have found two headings in a row, so we need to add the placeholder message.
|
||||||
|
output += 'No user facing changes.\n'
|
||||||
|
found_content = False
|
||||||
|
output += f'\n{line}\n\n'
|
||||||
|
else:
|
||||||
|
if line.strip() != '':
|
||||||
|
found_content = True
|
||||||
|
# we use the original line here, rather than the stripped version
|
||||||
|
# so that we preserve indentation
|
||||||
|
output += line + '\n'
|
||||||
|
|
||||||
|
with open('CHANGELOG.md', 'w') as f:
|
||||||
|
f.write(output)
|
||||||
|
|
||||||
def update_changelog(version):
|
def update_changelog(version):
|
||||||
if (os.path.exists('CHANGELOG.md')):
|
if (os.path.exists('CHANGELOG.md')):
|
||||||
content = ''
|
content = ''
|
||||||
@@ -182,6 +273,24 @@ def main():
|
|||||||
required=True,
|
required=True,
|
||||||
help='The nwo of the repository, for example github/codeql-action.'
|
help='The nwo of the repository, for example github/codeql-action.'
|
||||||
)
|
)
|
||||||
|
parser.add_argument(
|
||||||
|
'--source-branch',
|
||||||
|
type=str,
|
||||||
|
required=True,
|
||||||
|
help='Source branch for release branch update.'
|
||||||
|
)
|
||||||
|
parser.add_argument(
|
||||||
|
'--target-branch',
|
||||||
|
type=str,
|
||||||
|
required=True,
|
||||||
|
help='Target branch for release branch update.'
|
||||||
|
)
|
||||||
|
parser.add_argument(
|
||||||
|
'--is-primary-release',
|
||||||
|
action='store_true',
|
||||||
|
default=False,
|
||||||
|
help='Whether this update is the primary release for the current major version.'
|
||||||
|
)
|
||||||
parser.add_argument(
|
parser.add_argument(
|
||||||
'--conductor',
|
'--conductor',
|
||||||
type=str,
|
type=str,
|
||||||
@@ -191,24 +300,38 @@ def main():
|
|||||||
|
|
||||||
args = parser.parse_args()
|
args = parser.parse_args()
|
||||||
|
|
||||||
|
source_branch = args.source_branch
|
||||||
|
target_branch = args.target_branch
|
||||||
|
is_primary_release = args.is_primary_release
|
||||||
|
|
||||||
repo = Github(args.github_token).get_repo(args.repository_nwo)
|
repo = Github(args.github_token).get_repo(args.repository_nwo)
|
||||||
version = get_current_version()
|
|
||||||
|
# the target branch will be of the form releases/vN, where N is the major version number
|
||||||
|
target_branch_major_version = target_branch.strip('releases/v')
|
||||||
|
|
||||||
|
# split version into major, minor, patch
|
||||||
|
_, v_minor, v_patch = get_current_version().split('.')
|
||||||
|
|
||||||
|
version = f"{target_branch_major_version}.{v_minor}.{v_patch}"
|
||||||
|
|
||||||
# Print what we intend to go
|
# Print what we intend to go
|
||||||
print(f'Considering difference between {SOURCE_BRANCH} and {TARGET_BRANCH}...')
|
print(f'Considering difference between {source_branch} and {target_branch}...')
|
||||||
source_branch_short_sha = run_git('rev-parse', '--short', f'{ORIGIN}/{SOURCE_BRANCH}').strip()
|
source_branch_short_sha = run_git('rev-parse', '--short', f'{ORIGIN}/{source_branch}').strip()
|
||||||
print(f'Current head of {SOURCE_BRANCH} is {source_branch_short_sha}.')
|
print(f'Current head of {source_branch} is {source_branch_short_sha}.')
|
||||||
|
|
||||||
# See if there are any commits to merge in
|
# See if there are any commits to merge in
|
||||||
commits = get_commit_difference(repo=repo)
|
commits = get_commit_difference(repo=repo, source_branch=source_branch, target_branch=target_branch)
|
||||||
if len(commits) == 0:
|
if len(commits) == 0:
|
||||||
print(f'No commits to merge from {SOURCE_BRANCH} to {TARGET_BRANCH}.')
|
print(f'No commits to merge from {source_branch} to {target_branch}.')
|
||||||
return
|
return
|
||||||
|
|
||||||
|
# define distinct prefix in order to support specific pr checks on backports
|
||||||
|
branch_prefix = 'update' if is_primary_release else 'backport'
|
||||||
|
|
||||||
# The branch name is based off of the name of branch being merged into
|
# The branch name is based off of the name of branch being merged into
|
||||||
# and the SHA of the branch being merged from. Thus if the branch already
|
# and the SHA of the branch being merged from. Thus if the branch already
|
||||||
# exists we can assume we don't need to recreate it.
|
# exists we can assume we don't need to recreate it.
|
||||||
new_branch_name = f'update-v{version}-{source_branch_short_sha}'
|
new_branch_name = f'{branch_prefix}-v{version}-{source_branch_short_sha}'
|
||||||
print(f'Branch name is {new_branch_name}.')
|
print(f'Branch name is {new_branch_name}.')
|
||||||
|
|
||||||
# Check if the branch already exists. If so we can abort as this script
|
# Check if the branch already exists. If so we can abort as this script
|
||||||
@@ -220,17 +343,74 @@ def main():
|
|||||||
# Create the new branch and push it to the remote
|
# Create the new branch and push it to the remote
|
||||||
print(f'Creating branch {new_branch_name}.')
|
print(f'Creating branch {new_branch_name}.')
|
||||||
|
|
||||||
# If we're performing a standard release, there won't be any new commits on the target branch,
|
# The process of creating the v{Older} release can run into merge conflicts. We commit the unresolved
|
||||||
# as these will have already been merged back into the source branch. Therefore we can just
|
# conflicts so a maintainer can easily resolve them (vs erroring and requiring maintainers to
|
||||||
# start from the source branch.
|
# reconstruct the release manually)
|
||||||
run_git('checkout', '-b', new_branch_name, f'{ORIGIN}/{SOURCE_BRANCH}')
|
conflicted_files = []
|
||||||
|
|
||||||
print('Updating changelog')
|
if not is_primary_release:
|
||||||
update_changelog(version)
|
|
||||||
|
|
||||||
# Create a commit that updates the CHANGELOG
|
# the source branch will be of the form releases/vN, where N is the major version number
|
||||||
run_git('add', 'CHANGELOG.md')
|
source_branch_major_version = source_branch.strip('releases/v')
|
||||||
run_git('commit', '-m', f'Update changelog for v{version}')
|
|
||||||
|
# If we're performing a backport, start from the target branch
|
||||||
|
print(f'Creating {new_branch_name} from the {ORIGIN}/{target_branch} branch')
|
||||||
|
run_git('checkout', '-b', new_branch_name, f'{ORIGIN}/{target_branch}')
|
||||||
|
|
||||||
|
# Revert the commit that we made as part of the last release that updated the version number and
|
||||||
|
# changelog to refer to {older}.x.x variants. This avoids merge conflicts in the changelog and
|
||||||
|
# package.json files when we merge in the v{latest} branch.
|
||||||
|
# This commit will not exist the first time we release the v{N-1} branch from the v{N} branch, so we
|
||||||
|
# use `git log --grep` to conditionally revert the commit.
|
||||||
|
print('Reverting the version number and changelog updates from the last release to avoid conflicts')
|
||||||
|
vOlder_update_commits = run_git('log', '--grep', f'^{BACKPORT_COMMIT_MESSAGE}', '--format=%H').split()
|
||||||
|
|
||||||
|
if len(vOlder_update_commits) > 0:
|
||||||
|
print(f' Reverting {vOlder_update_commits[0]}')
|
||||||
|
# Only revert the newest commit as older ones will already have been reverted in previous
|
||||||
|
# releases.
|
||||||
|
run_git('revert', vOlder_update_commits[0], '--no-edit')
|
||||||
|
|
||||||
|
# Also revert the "Update checked-in dependencies" commit created by Actions.
|
||||||
|
update_dependencies_commit = run_git('log', '--grep', '^Update checked-in dependencies', '--format=%H').split()[0]
|
||||||
|
print(f' Reverting {update_dependencies_commit}')
|
||||||
|
run_git('revert', update_dependencies_commit, '--no-edit')
|
||||||
|
|
||||||
|
else:
|
||||||
|
print(' Nothing to revert.')
|
||||||
|
|
||||||
|
print(f'Merging {ORIGIN}/{source_branch} into the release prep branch')
|
||||||
|
# Commit any conflicts (see the comment for `conflicted_files`)
|
||||||
|
run_git('merge', f'{ORIGIN}/{source_branch}', allow_non_zero_exit_code=True)
|
||||||
|
conflicted_files = run_git('diff', '--name-only', '--diff-filter', 'U').splitlines()
|
||||||
|
if len(conflicted_files) > 0:
|
||||||
|
run_git('add', '.')
|
||||||
|
run_git('commit', '--no-edit')
|
||||||
|
|
||||||
|
# Migrate the package version number from a vLatest version number to a vOlder version number
|
||||||
|
print(f'Setting version number to {version} in package.json')
|
||||||
|
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')
|
||||||
|
|
||||||
|
# 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}')
|
||||||
|
process_changelog_for_backports(source_branch_major_version, target_branch_major_version)
|
||||||
|
|
||||||
|
# Amend the commit generated by `npm version` to update the CHANGELOG
|
||||||
|
run_git('add', 'CHANGELOG.md')
|
||||||
|
run_git('commit', '-m', f'{BACKPORT_COMMIT_MESSAGE}{version}')
|
||||||
|
else:
|
||||||
|
# If we're performing a standard release, there won't be any new commits on the target branch,
|
||||||
|
# as these will have already been merged back into the source branch. Therefore we can just
|
||||||
|
# start from the source branch.
|
||||||
|
run_git('checkout', '-b', new_branch_name, f'{ORIGIN}/{source_branch}')
|
||||||
|
|
||||||
|
print('Updating changelog')
|
||||||
|
update_changelog(version)
|
||||||
|
|
||||||
|
# Create a commit that updates the CHANGELOG
|
||||||
|
run_git('add', 'CHANGELOG.md')
|
||||||
|
run_git('commit', '-m', f'Update changelog for v{version}')
|
||||||
|
|
||||||
run_git('push', ORIGIN, new_branch_name)
|
run_git('push', ORIGIN, new_branch_name)
|
||||||
|
|
||||||
@@ -240,7 +420,11 @@ def main():
|
|||||||
commits,
|
commits,
|
||||||
source_branch_short_sha,
|
source_branch_short_sha,
|
||||||
new_branch_name,
|
new_branch_name,
|
||||||
|
source_branch=source_branch,
|
||||||
|
target_branch=target_branch,
|
||||||
conductor=args.conductor,
|
conductor=args.conductor,
|
||||||
|
is_primary_release=is_primary_release,
|
||||||
|
conflicted_files=conflicted_files
|
||||||
)
|
)
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
|
|||||||
74
.github/workflows/__all-platform-bundle.yml
generated
vendored
Normal file
74
.github/workflows/__all-platform-bundle.yml
generated
vendored
Normal file
@@ -0,0 +1,74 @@
|
|||||||
|
# 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 - All-platform bundle
|
||||||
|
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
|
||||||
|
schedule:
|
||||||
|
- cron: '0 5 * * *'
|
||||||
|
workflow_dispatch: {}
|
||||||
|
jobs:
|
||||||
|
all-platform-bundle:
|
||||||
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
|
matrix:
|
||||||
|
include:
|
||||||
|
- os: ubuntu-20.04
|
||||||
|
version: nightly-latest
|
||||||
|
name: All-platform bundle
|
||||||
|
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-20230403' ||
|
||||||
|
|
||||||
|
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: 'true'
|
||||||
|
- id: init
|
||||||
|
uses: ./../action/init
|
||||||
|
with:
|
||||||
|
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:
|
||||||
|
CODEQL_ACTION_TEST_MODE: true
|
||||||
134
.github/workflows/__analyze-ref-input.yml
generated
vendored
134
.github/workflows/__analyze-ref-input.yml
generated
vendored
@@ -1,6 +1,6 @@
|
|||||||
# Warning: This file is generated automatically, and should not be modified.
|
# Warning: This file is generated automatically, and should not be modified.
|
||||||
# Instead, please modify the template in the pr-checks directory and run:
|
# Instead, please modify the template in the pr-checks directory and run:
|
||||||
# pip install ruamel.yaml && python3 sync.py
|
# (cd pr-checks; pip install ruamel.yaml@0.17.31 && python3 sync.py)
|
||||||
# to regenerate this file.
|
# to regenerate this file.
|
||||||
|
|
||||||
name: "PR Check - Analyze: 'ref' and 'sha' from inputs"
|
name: "PR Check - Analyze: 'ref' and 'sha' from inputs"
|
||||||
@@ -11,97 +11,69 @@ env:
|
|||||||
on:
|
on:
|
||||||
push:
|
push:
|
||||||
branches:
|
branches:
|
||||||
- main
|
- main
|
||||||
- releases/v2
|
- 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-20.04
|
||||||
version: stable-20220401
|
version: default
|
||||||
- os: macos-latest
|
- os: macos-latest
|
||||||
version: stable-20220401
|
version: default
|
||||||
- os: windows-latest
|
- os: windows-latest
|
||||||
version: stable-20220401
|
version: default
|
||||||
- os: ubuntu-latest
|
|
||||||
version: stable-20220615
|
|
||||||
- os: macos-latest
|
|
||||||
version: stable-20220615
|
|
||||||
- os: windows-latest
|
|
||||||
version: stable-20220615
|
|
||||||
- os: ubuntu-latest
|
|
||||||
version: stable-20220908
|
|
||||||
- os: macos-latest
|
|
||||||
version: stable-20220908
|
|
||||||
- os: windows-latest
|
|
||||||
version: stable-20220908
|
|
||||||
- os: ubuntu-latest
|
|
||||||
version: stable-20221211
|
|
||||||
- os: macos-latest
|
|
||||||
version: stable-20221211
|
|
||||||
- os: windows-latest
|
|
||||||
version: stable-20221211
|
|
||||||
- os: ubuntu-latest
|
|
||||||
version: cached
|
|
||||||
- os: macos-latest
|
|
||||||
version: cached
|
|
||||||
- os: windows-latest
|
|
||||||
version: cached
|
|
||||||
- os: ubuntu-latest
|
|
||||||
version: latest
|
|
||||||
- os: macos-latest
|
|
||||||
version: latest
|
|
||||||
- os: windows-latest
|
|
||||||
version: latest
|
|
||||||
- os: ubuntu-latest
|
|
||||||
version: nightly-latest
|
|
||||||
- os: macos-latest
|
|
||||||
version: nightly-latest
|
|
||||||
- os: windows-latest
|
|
||||||
version: nightly-latest
|
|
||||||
name: "Analyze: 'ref' and 'sha' from inputs"
|
name: "Analyze: 'ref' and 'sha' from inputs"
|
||||||
|
permissions:
|
||||||
|
contents: read
|
||||||
|
security-events: write
|
||||||
timeout-minutes: 45
|
timeout-minutes: 45
|
||||||
runs-on: ${{ matrix.os }}
|
runs-on: ${{ matrix.os }}
|
||||||
steps:
|
steps:
|
||||||
- name: Check out repository
|
- name: Setup Python on MacOS
|
||||||
uses: actions/checkout@v3
|
uses: actions/setup-python@v5
|
||||||
- name: Prepare test
|
if: >-
|
||||||
id: prepare-test
|
runner.os == 'macOS' && (
|
||||||
uses: ./.github/actions/prepare-test
|
|
||||||
with:
|
matrix.version == 'stable-20230403' ||
|
||||||
version: ${{ matrix.version }}
|
|
||||||
- name: Set environment variable for Swift enablement
|
matrix.version == 'stable-v2.13.5' ||
|
||||||
if: >-
|
|
||||||
runner.os != 'Windows' && (
|
matrix.version == 'stable-v2.14.6')
|
||||||
matrix.version == '20220908' ||
|
with:
|
||||||
matrix.version == '20221211' ||
|
python-version: '3.11'
|
||||||
matrix.version == 'cached' ||
|
- name: Check out repository
|
||||||
matrix.version == 'latest' ||
|
uses: actions/checkout@v4
|
||||||
matrix.version == 'nightly-latest'
|
- name: Prepare test
|
||||||
)
|
id: prepare-test
|
||||||
shell: bash
|
uses: ./.github/actions/prepare-test
|
||||||
run: echo "CODEQL_ENABLE_EXPERIMENTAL_FEATURES_SWIFT=true" >> $GITHUB_ENV
|
with:
|
||||||
- uses: ./../action/init
|
version: ${{ matrix.version }}
|
||||||
with:
|
use-all-platform-bundle: 'false'
|
||||||
tools: ${{ steps.prepare-test.outputs.tools-url }}
|
- uses: ./../action/init
|
||||||
languages: cpp,csharp,java,javascript,python
|
with:
|
||||||
config-file: ${{ github.repository }}/tests/multi-language-repo/.github/codeql/custom-queries.yml@${{
|
tools: ${{ steps.prepare-test.outputs.tools-url }}
|
||||||
github.sha }}
|
languages: cpp,csharp,java,javascript,python
|
||||||
- name: Build code
|
config-file: ${{ github.repository }}/tests/multi-language-repo/.github/codeql/custom-queries.yml@${{
|
||||||
shell: bash
|
github.sha }}
|
||||||
run: ./build.sh
|
- name: Build code
|
||||||
- uses: ./../action/analyze
|
shell: bash
|
||||||
with:
|
run: ./build.sh
|
||||||
upload-database: false
|
- uses: ./../action/analyze
|
||||||
ref: refs/heads/main
|
with:
|
||||||
sha: 5e235361806c361d4d3f8859e3c897658025a9a2
|
upload-database: false
|
||||||
|
ref: refs/heads/main
|
||||||
|
sha: 5e235361806c361d4d3f8859e3c897658025a9a2
|
||||||
env:
|
env:
|
||||||
CODEQL_ACTION_TEST_MODE: true
|
CODEQL_ACTION_TEST_MODE: true
|
||||||
|
|||||||
116
.github/workflows/__autobuild-action.yml
generated
vendored
116
.github/workflows/__autobuild-action.yml
generated
vendored
@@ -1,6 +1,6 @@
|
|||||||
# Warning: This file is generated automatically, and should not be modified.
|
# Warning: This file is generated automatically, and should not be modified.
|
||||||
# Instead, please modify the template in the pr-checks directory and run:
|
# Instead, please modify the template in the pr-checks directory and run:
|
||||||
# pip install ruamel.yaml && python3 sync.py
|
# (cd pr-checks; pip install ruamel.yaml@0.17.31 && python3 sync.py)
|
||||||
# to regenerate this file.
|
# to regenerate this file.
|
||||||
|
|
||||||
name: PR Check - autobuild-action
|
name: PR Check - autobuild-action
|
||||||
@@ -11,71 +11,79 @@ env:
|
|||||||
on:
|
on:
|
||||||
push:
|
push:
|
||||||
branches:
|
branches:
|
||||||
- main
|
- main
|
||||||
- releases/v2
|
- 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-20.04
|
||||||
version: latest
|
version: latest
|
||||||
- os: macos-latest
|
- os: macos-latest
|
||||||
version: latest
|
version: latest
|
||||||
- os: windows-latest
|
- os: windows-latest
|
||||||
version: latest
|
version: latest
|
||||||
name: autobuild-action
|
name: autobuild-action
|
||||||
|
permissions:
|
||||||
|
contents: read
|
||||||
|
security-events: write
|
||||||
timeout-minutes: 45
|
timeout-minutes: 45
|
||||||
runs-on: ${{ matrix.os }}
|
runs-on: ${{ matrix.os }}
|
||||||
steps:
|
steps:
|
||||||
- name: Check out repository
|
- name: Setup Python on MacOS
|
||||||
uses: actions/checkout@v3
|
uses: actions/setup-python@v5
|
||||||
- name: Prepare test
|
if: >-
|
||||||
id: prepare-test
|
runner.os == 'macOS' && (
|
||||||
uses: ./.github/actions/prepare-test
|
|
||||||
with:
|
matrix.version == 'stable-20230403' ||
|
||||||
version: ${{ matrix.version }}
|
|
||||||
- name: Set environment variable for Swift enablement
|
matrix.version == 'stable-v2.13.5' ||
|
||||||
if: >-
|
|
||||||
runner.os != 'Windows' && (
|
matrix.version == 'stable-v2.14.6')
|
||||||
matrix.version == '20220908' ||
|
with:
|
||||||
matrix.version == '20221211' ||
|
python-version: '3.11'
|
||||||
matrix.version == 'cached' ||
|
- name: Check out repository
|
||||||
matrix.version == 'latest' ||
|
uses: actions/checkout@v4
|
||||||
matrix.version == 'nightly-latest'
|
- name: Prepare test
|
||||||
)
|
id: prepare-test
|
||||||
shell: bash
|
uses: ./.github/actions/prepare-test
|
||||||
run: echo "CODEQL_ENABLE_EXPERIMENTAL_FEATURES_SWIFT=true" >> $GITHUB_ENV
|
with:
|
||||||
- uses: ./../action/init
|
version: ${{ matrix.version }}
|
||||||
with:
|
use-all-platform-bundle: 'false'
|
||||||
languages: csharp
|
- uses: ./../action/init
|
||||||
tools: ${{ steps.prepare-test.outputs.tools-url }}
|
with:
|
||||||
- uses: ./../action/autobuild
|
languages: csharp
|
||||||
env:
|
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:
|
with:
|
||||||
upload-database: false
|
upload-database: false
|
||||||
- name: Check database
|
- name: Check database
|
||||||
shell: bash
|
shell: bash
|
||||||
run: |
|
run: |
|
||||||
cd "$RUNNER_TEMP/codeql_databases"
|
cd "$RUNNER_TEMP/codeql_databases"
|
||||||
if [[ ! -d csharp ]]; then
|
if [[ ! -d csharp ]]; then
|
||||||
echo "Did not find a C# database"
|
echo "Did not find a C# database"
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
env:
|
env:
|
||||||
CODEQL_ACTION_TEST_MODE: true
|
CODEQL_ACTION_TEST_MODE: true
|
||||||
|
|||||||
93
.github/workflows/__autobuild-direct-tracing.yml
generated
vendored
Normal file
93
.github/workflows/__autobuild-direct-tracing.yml
generated
vendored
Normal file
@@ -0,0 +1,93 @@
|
|||||||
|
# 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
|
||||||
|
CODEQL_EXTRACTOR_JAVA_AGENT_DISABLE_KOTLIN: 'true'
|
||||||
|
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-20.04
|
||||||
|
version: latest
|
||||||
|
- os: windows-latest
|
||||||
|
version: latest
|
||||||
|
- os: ubuntu-20.04
|
||||||
|
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-20230403' ||
|
||||||
|
|
||||||
|
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 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
|
||||||
85
.github/workflows/__build-mode-autobuild.yml
generated
vendored
Normal file
85
.github/workflows/__build-mode-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 - Build mode autobuild
|
||||||
|
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
|
||||||
|
schedule:
|
||||||
|
- cron: '0 5 * * *'
|
||||||
|
workflow_dispatch: {}
|
||||||
|
jobs:
|
||||||
|
build-mode-autobuild:
|
||||||
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
|
matrix:
|
||||||
|
include:
|
||||||
|
- os: ubuntu-20.04
|
||||||
|
version: nightly-latest
|
||||||
|
name: Build mode 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-20230403' ||
|
||||||
|
|
||||||
|
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 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
|
||||||
|
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:
|
||||||
|
CODEQL_ACTION_TEST_MODE: true
|
||||||
87
.github/workflows/__build-mode-manual.yml
generated
vendored
Normal file
87
.github/workflows/__build-mode-manual.yml
generated
vendored
Normal file
@@ -0,0 +1,87 @@
|
|||||||
|
# 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 - Build mode manual
|
||||||
|
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
|
||||||
|
schedule:
|
||||||
|
- cron: '0 5 * * *'
|
||||||
|
workflow_dispatch: {}
|
||||||
|
jobs:
|
||||||
|
build-mode-manual:
|
||||||
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
|
matrix:
|
||||||
|
include:
|
||||||
|
- os: ubuntu-20.04
|
||||||
|
version: nightly-latest
|
||||||
|
name: Build mode manual
|
||||||
|
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-20230403' ||
|
||||||
|
|
||||||
|
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'
|
||||||
|
- 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
|
||||||
|
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:
|
||||||
|
CODEQL_ACTION_TEST_MODE: true
|
||||||
85
.github/workflows/__build-mode-none.yml
generated
vendored
Normal file
85
.github/workflows/__build-mode-none.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 - Build mode none
|
||||||
|
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
|
||||||
|
schedule:
|
||||||
|
- cron: '0 5 * * *'
|
||||||
|
workflow_dispatch: {}
|
||||||
|
jobs:
|
||||||
|
build-mode-none:
|
||||||
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
|
matrix:
|
||||||
|
include:
|
||||||
|
- os: ubuntu-20.04
|
||||||
|
version: latest
|
||||||
|
- os: ubuntu-20.04
|
||||||
|
version: nightly-latest
|
||||||
|
name: Build mode none
|
||||||
|
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-20230403' ||
|
||||||
|
|
||||||
|
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'
|
||||||
|
- 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.
|
||||||
|
- uses: ./../action/autobuild
|
||||||
|
if: matrix.version != 'nightly-latest'
|
||||||
|
|
||||||
|
- uses: ./../action/analyze
|
||||||
|
env:
|
||||||
|
CODEQL_ACTION_TEST_MODE: true
|
||||||
86
.github/workflows/__build-mode-rollback.yml
generated
vendored
Normal file
86
.github/workflows/__build-mode-rollback.yml
generated
vendored
Normal file
@@ -0,0 +1,86 @@
|
|||||||
|
# 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 - Build mode rollback
|
||||||
|
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
|
||||||
|
schedule:
|
||||||
|
- cron: '0 5 * * *'
|
||||||
|
workflow_dispatch: {}
|
||||||
|
jobs:
|
||||||
|
build-mode-rollback:
|
||||||
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
|
matrix:
|
||||||
|
include:
|
||||||
|
- os: ubuntu-20.04
|
||||||
|
version: nightly-latest
|
||||||
|
name: Build mode rollback
|
||||||
|
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-20230403' ||
|
||||||
|
|
||||||
|
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 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
|
||||||
|
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:
|
||||||
|
CODEQL_ACTION_DISABLE_JAVA_BUILDLESS: true
|
||||||
|
CODEQL_ACTION_TEST_MODE: true
|
||||||
162
.github/workflows/__config-export.yml
generated
vendored
162
.github/workflows/__config-export.yml
generated
vendored
@@ -1,6 +1,6 @@
|
|||||||
# Warning: This file is generated automatically, and should not be modified.
|
# Warning: This file is generated automatically, and should not be modified.
|
||||||
# Instead, please modify the template in the pr-checks directory and run:
|
# Instead, please modify the template in the pr-checks directory and run:
|
||||||
# pip install ruamel.yaml && python3 sync.py
|
# (cd pr-checks; pip install ruamel.yaml@0.17.31 && python3 sync.py)
|
||||||
# to regenerate this file.
|
# to regenerate this file.
|
||||||
|
|
||||||
name: PR Check - Config export
|
name: PR Check - Config export
|
||||||
@@ -11,96 +11,102 @@ env:
|
|||||||
on:
|
on:
|
||||||
push:
|
push:
|
||||||
branches:
|
branches:
|
||||||
- main
|
- main
|
||||||
- releases/v2
|
- 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-20.04
|
||||||
version: latest
|
version: latest
|
||||||
- os: macos-latest
|
- os: macos-latest
|
||||||
version: latest
|
version: latest
|
||||||
- os: windows-latest
|
- os: windows-latest
|
||||||
version: latest
|
version: latest
|
||||||
- os: ubuntu-latest
|
- os: ubuntu-20.04
|
||||||
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:
|
||||||
|
contents: read
|
||||||
|
security-events: write
|
||||||
timeout-minutes: 45
|
timeout-minutes: 45
|
||||||
runs-on: ${{ matrix.os }}
|
runs-on: ${{ matrix.os }}
|
||||||
steps:
|
steps:
|
||||||
- name: Check out repository
|
- name: Setup Python on MacOS
|
||||||
uses: actions/checkout@v3
|
uses: actions/setup-python@v5
|
||||||
- name: Prepare test
|
if: >-
|
||||||
id: prepare-test
|
runner.os == 'macOS' && (
|
||||||
uses: ./.github/actions/prepare-test
|
|
||||||
with:
|
|
||||||
version: ${{ matrix.version }}
|
|
||||||
- name: Set environment variable for Swift enablement
|
|
||||||
if: >-
|
|
||||||
runner.os != 'Windows' && (
|
|
||||||
matrix.version == '20220908' ||
|
|
||||||
matrix.version == '20221211' ||
|
|
||||||
matrix.version == 'cached' ||
|
|
||||||
matrix.version == 'latest' ||
|
|
||||||
matrix.version == 'nightly-latest'
|
|
||||||
)
|
|
||||||
shell: bash
|
|
||||||
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@v6
|
|
||||||
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'));
|
matrix.version == 'stable-20230403' ||
|
||||||
const run = sarif.runs[0];
|
|
||||||
const configSummary = run.properties.codeqlConfigSummary;
|
|
||||||
|
|
||||||
if (configSummary === undefined) {
|
matrix.version == 'stable-v2.13.5' ||
|
||||||
core.setFailed('`codeqlConfigSummary` property not found in the SARIF run property bag.');
|
|
||||||
}
|
matrix.version == 'stable-v2.14.6')
|
||||||
if (configSummary.disableDefaultQueries !== false) {
|
with:
|
||||||
core.setFailed('`disableDefaultQueries` property incorrect: expected false, got ' +
|
python-version: '3.11'
|
||||||
`${JSON.stringify(configSummary.disableDefaultQueries)}.`);
|
- name: Check out repository
|
||||||
}
|
uses: actions/checkout@v4
|
||||||
const expectedQueries = [{ type: 'builtinSuite', uses: 'security-extended' }];
|
- name: Prepare test
|
||||||
// Use JSON.stringify to deep-equal the arrays.
|
id: prepare-test
|
||||||
if (JSON.stringify(configSummary.queries) !== JSON.stringify(expectedQueries)) {
|
uses: ./.github/actions/prepare-test
|
||||||
core.setFailed(`\`queries\` property incorrect: expected ${JSON.stringify(expectedQueries)}, got ` +
|
with:
|
||||||
`${JSON.stringify(configSummary.queries)}.`);
|
version: ${{ matrix.version }}
|
||||||
}
|
use-all-platform-bundle: 'false'
|
||||||
core.info('Finished config export tests.');
|
- 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_EXPORT_CODE_SCANNING_CONFIG: true
|
|
||||||
CODEQL_PASS_CONFIG_TO_CLI: true
|
|
||||||
CODEQL_ACTION_TEST_MODE: true
|
CODEQL_ACTION_TEST_MODE: true
|
||||||
|
|||||||
89
.github/workflows/__config-input.yml
generated
vendored
Normal file
89
.github/workflows/__config-input.yml
generated
vendored
Normal file
@@ -0,0 +1,89 @@
|
|||||||
|
# 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 - Config input
|
||||||
|
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
|
||||||
|
schedule:
|
||||||
|
- cron: '0 5 * * *'
|
||||||
|
workflow_dispatch: {}
|
||||||
|
jobs:
|
||||||
|
config-input:
|
||||||
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
|
matrix:
|
||||||
|
include:
|
||||||
|
- os: ubuntu-20.04
|
||||||
|
version: latest
|
||||||
|
name: Config input
|
||||||
|
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-20230403' ||
|
||||||
|
|
||||||
|
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: Copy queries into workspace
|
||||||
|
run: |
|
||||||
|
cp -a ../action/queries .
|
||||||
|
|
||||||
|
- 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
|
||||||
|
|
||||||
|
- 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:
|
||||||
|
CODEQL_ACTION_TEST_MODE: true
|
||||||
85
.github/workflows/__cpp-deptrace-disabled.yml
generated
vendored
Normal file
85
.github/workflows/__cpp-deptrace-disabled.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 - C/C++: disabling autoinstalling dependencies (Linux)'
|
||||||
|
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
|
||||||
|
schedule:
|
||||||
|
- cron: '0 5 * * *'
|
||||||
|
workflow_dispatch: {}
|
||||||
|
jobs:
|
||||||
|
cpp-deptrace-disabled:
|
||||||
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
|
matrix:
|
||||||
|
include:
|
||||||
|
- os: ubuntu-20.04
|
||||||
|
version: latest
|
||||||
|
- os: ubuntu-20.04
|
||||||
|
version: default
|
||||||
|
- os: ubuntu-20.04
|
||||||
|
version: nightly-latest
|
||||||
|
name: 'C/C++: disabling autoinstalling dependencies (Linux)'
|
||||||
|
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-20230403' ||
|
||||||
|
|
||||||
|
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: Test setup
|
||||||
|
shell: bash
|
||||||
|
run: |
|
||||||
|
cp -a ../action/tests/cpp-autobuild autobuild-dir
|
||||||
|
- uses: ./../action/init
|
||||||
|
with:
|
||||||
|
languages: cpp
|
||||||
|
tools: ${{ steps.prepare-test.outputs.tools-url }}
|
||||||
|
- uses: ./../action/autobuild
|
||||||
|
with:
|
||||||
|
working-directory: autobuild-dir
|
||||||
|
env:
|
||||||
|
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:
|
||||||
|
DOTNET_GENERATE_ASPNET_CERTIFICATE: 'false'
|
||||||
|
CODEQL_ACTION_TEST_MODE: true
|
||||||
83
.github/workflows/__cpp-deptrace-enabled-on-macos.yml
generated
vendored
Normal file
83
.github/workflows/__cpp-deptrace-enabled-on-macos.yml
generated
vendored
Normal file
@@ -0,0 +1,83 @@
|
|||||||
|
# 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 - C/C++: autoinstalling dependencies is skipped (macOS)'
|
||||||
|
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
|
||||||
|
schedule:
|
||||||
|
- cron: '0 5 * * *'
|
||||||
|
workflow_dispatch: {}
|
||||||
|
jobs:
|
||||||
|
cpp-deptrace-enabled-on-macos:
|
||||||
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
|
matrix:
|
||||||
|
include:
|
||||||
|
- os: macos-latest
|
||||||
|
version: nightly-latest
|
||||||
|
name: 'C/C++: autoinstalling dependencies is skipped (macOS)'
|
||||||
|
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-20230403' ||
|
||||||
|
|
||||||
|
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: Test setup
|
||||||
|
shell: bash
|
||||||
|
run: |
|
||||||
|
cp -a ../action/tests/cpp-autobuild autobuild-dir
|
||||||
|
- uses: ./../action/init
|
||||||
|
with:
|
||||||
|
languages: cpp
|
||||||
|
tools: ${{ steps.prepare-test.outputs.tools-url }}
|
||||||
|
- uses: ./../action/autobuild
|
||||||
|
with:
|
||||||
|
working-directory: autobuild-dir
|
||||||
|
env:
|
||||||
|
CODEQL_EXTRACTOR_CPP_AUTOINSTALL_DEPENDENCIES: true
|
||||||
|
- shell: bash
|
||||||
|
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:
|
||||||
|
DOTNET_GENERATE_ASPNET_CERTIFICATE: 'false'
|
||||||
|
CODEQL_ACTION_TEST_MODE: true
|
||||||
85
.github/workflows/__cpp-deptrace-enabled.yml
generated
vendored
Normal file
85
.github/workflows/__cpp-deptrace-enabled.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 - C/C++: autoinstalling dependencies (Linux)'
|
||||||
|
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
|
||||||
|
schedule:
|
||||||
|
- cron: '0 5 * * *'
|
||||||
|
workflow_dispatch: {}
|
||||||
|
jobs:
|
||||||
|
cpp-deptrace-enabled:
|
||||||
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
|
matrix:
|
||||||
|
include:
|
||||||
|
- os: ubuntu-20.04
|
||||||
|
version: latest
|
||||||
|
- os: ubuntu-20.04
|
||||||
|
version: default
|
||||||
|
- os: ubuntu-20.04
|
||||||
|
version: nightly-latest
|
||||||
|
name: 'C/C++: autoinstalling dependencies (Linux)'
|
||||||
|
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-20230403' ||
|
||||||
|
|
||||||
|
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: Test setup
|
||||||
|
shell: bash
|
||||||
|
run: |
|
||||||
|
cp -a ../action/tests/cpp-autobuild autobuild-dir
|
||||||
|
- uses: ./../action/init
|
||||||
|
with:
|
||||||
|
languages: cpp
|
||||||
|
tools: ${{ steps.prepare-test.outputs.tools-url }}
|
||||||
|
- uses: ./../action/autobuild
|
||||||
|
with:
|
||||||
|
working-directory: autobuild-dir
|
||||||
|
env:
|
||||||
|
CODEQL_EXTRACTOR_CPP_AUTOINSTALL_DEPENDENCIES: true
|
||||||
|
- shell: bash
|
||||||
|
run: |
|
||||||
|
if ! ls /usr/bin/errno; then
|
||||||
|
echo "Did not autoinstall errno"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
env:
|
||||||
|
DOTNET_GENERATE_ASPNET_CERTIFICATE: 'false'
|
||||||
|
CODEQL_ACTION_TEST_MODE: true
|
||||||
244
.github/workflows/__diagnostics-export.yml
generated
vendored
244
.github/workflows/__diagnostics-export.yml
generated
vendored
@@ -1,6 +1,6 @@
|
|||||||
# Warning: This file is generated automatically, and should not be modified.
|
# Warning: This file is generated automatically, and should not be modified.
|
||||||
# Instead, please modify the template in the pr-checks directory and run:
|
# Instead, please modify the template in the pr-checks directory and run:
|
||||||
# pip install ruamel.yaml && python3 sync.py
|
# (cd pr-checks; pip install ruamel.yaml@0.17.31 && python3 sync.py)
|
||||||
# to regenerate this file.
|
# to regenerate this file.
|
||||||
|
|
||||||
name: PR Check - Diagnostic export
|
name: PR Check - Diagnostic export
|
||||||
@@ -11,141 +11,149 @@ env:
|
|||||||
on:
|
on:
|
||||||
push:
|
push:
|
||||||
branches:
|
branches:
|
||||||
- main
|
- main
|
||||||
- releases/v2
|
- 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-20.04
|
||||||
version: stable-20230317
|
version: stable-20230403
|
||||||
- os: macos-latest
|
- os: macos-12
|
||||||
version: stable-20230317
|
version: stable-20230403
|
||||||
- os: windows-latest
|
- os: windows-latest
|
||||||
version: stable-20230317
|
version: stable-20230403
|
||||||
- os: ubuntu-latest
|
- os: ubuntu-20.04
|
||||||
version: latest
|
version: latest
|
||||||
- os: macos-latest
|
- os: macos-latest
|
||||||
version: latest
|
version: latest
|
||||||
- os: windows-latest
|
- os: windows-latest
|
||||||
version: latest
|
version: latest
|
||||||
- os: ubuntu-latest
|
- os: ubuntu-20.04
|
||||||
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: Diagnostic export
|
name: Diagnostic export
|
||||||
|
permissions:
|
||||||
|
contents: read
|
||||||
|
security-events: write
|
||||||
timeout-minutes: 45
|
timeout-minutes: 45
|
||||||
runs-on: ${{ matrix.os }}
|
runs-on: ${{ matrix.os }}
|
||||||
steps:
|
steps:
|
||||||
- name: Check out repository
|
- name: Setup Python on MacOS
|
||||||
uses: actions/checkout@v3
|
uses: actions/setup-python@v5
|
||||||
- name: Prepare test
|
if: >-
|
||||||
id: prepare-test
|
runner.os == 'macOS' && (
|
||||||
uses: ./.github/actions/prepare-test
|
|
||||||
with:
|
|
||||||
version: ${{ matrix.version }}
|
|
||||||
- name: Set environment variable for Swift enablement
|
|
||||||
if: >-
|
|
||||||
runner.os != 'Windows' && (
|
|
||||||
matrix.version == '20220908' ||
|
|
||||||
matrix.version == '20221211' ||
|
|
||||||
matrix.version == 'cached' ||
|
|
||||||
matrix.version == 'latest' ||
|
|
||||||
matrix.version == 'nightly-latest'
|
|
||||||
)
|
|
||||||
shell: bash
|
|
||||||
run: echo "CODEQL_ENABLE_EXPERIMENTAL_FEATURES_SWIFT=true" >> $GITHUB_ENV
|
|
||||||
- uses: ./../action/init
|
|
||||||
id: init
|
|
||||||
with:
|
|
||||||
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 \
|
|
||||||
"$RUNNER_TEMP/codeql_databases/javascript" \
|
|
||||||
--file-path /path/to/file \
|
|
||||||
--plaintext-message "Plaintext message $i" \
|
|
||||||
--source-id "lang/diagnostics/example" \
|
|
||||||
--source-name "Diagnostic name" \
|
|
||||||
--ready-for-status-page
|
|
||||||
done
|
|
||||||
- uses: ./../action/analyze
|
|
||||||
with:
|
|
||||||
output: ${{ runner.temp }}/results
|
|
||||||
upload-database: false
|
|
||||||
- name: Upload SARIF
|
|
||||||
uses: actions/upload-artifact@v3
|
|
||||||
with:
|
|
||||||
name: diagnostics-export-${{ matrix.os }}-${{ matrix.version }}.sarif.json
|
|
||||||
path: ${{ runner.temp }}/results/javascript.sarif
|
|
||||||
retention-days: 7
|
|
||||||
- name: Check diagnostics appear in SARIF
|
|
||||||
uses: actions/github-script@v6
|
|
||||||
env:
|
|
||||||
SARIF_PATH: ${{ runner.temp }}/results/javascript.sarif
|
|
||||||
with:
|
|
||||||
script: |
|
|
||||||
const fs = require('fs');
|
|
||||||
|
|
||||||
function checkStatusPageNotification(n) {
|
matrix.version == 'stable-20230403' ||
|
||||||
const expectedMessage = 'Plaintext message 1\n\nCodeQL also found 1 other diagnostic like this. See the workflow log for details.';
|
|
||||||
if (n.message.text !== expectedMessage) {
|
matrix.version == 'stable-v2.13.5' ||
|
||||||
core.setFailed(`Expected the status page diagnostic to have the message '${expectedMessage}', but found '${n.message.text}'.`);
|
|
||||||
|
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'
|
||||||
|
- uses: ./../action/init
|
||||||
|
id: init
|
||||||
|
with:
|
||||||
|
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.6 that
|
||||||
|
# produces an invalid diagnostic with multiple identical location objects.
|
||||||
|
"$CODEQL_PATH" database add-diagnostic \
|
||||||
|
"$RUNNER_TEMP/codeql_databases/javascript" \
|
||||||
|
--file-path /path/to/file \
|
||||||
|
--plaintext-message "Plaintext message $i" \
|
||||||
|
--source-id "lang/diagnostics/example" \
|
||||||
|
--source-name "Diagnostic name" \
|
||||||
|
--ready-for-status-page
|
||||||
|
done
|
||||||
|
- uses: ./../action/analyze
|
||||||
|
with:
|
||||||
|
output: ${{ runner.temp }}/results
|
||||||
|
upload-database: false
|
||||||
|
- name: Upload SARIF
|
||||||
|
uses: actions/upload-artifact@v3
|
||||||
|
with:
|
||||||
|
name: diagnostics-export-${{ matrix.os }}-${{ matrix.version }}.sarif.json
|
||||||
|
path: ${{ runner.temp }}/results/javascript.sarif
|
||||||
|
retention-days: 7
|
||||||
|
- name: Check diagnostics appear in SARIF
|
||||||
|
uses: actions/github-script@v7
|
||||||
|
env:
|
||||||
|
SARIF_PATH: ${{ runner.temp }}/results/javascript.sarif
|
||||||
|
with:
|
||||||
|
script: |
|
||||||
|
const fs = require('fs');
|
||||||
|
|
||||||
|
function checkStatusPageNotification(n) {
|
||||||
|
const expectedMessage = 'Plaintext message 1\n\nCodeQL also found 1 other diagnostic like this. See the workflow log for details.';
|
||||||
|
if (n.message.text !== expectedMessage) {
|
||||||
|
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
|
||||||
|
|||||||
151
.github/workflows/__export-file-baseline-information.yml
generated
vendored
151
.github/workflows/__export-file-baseline-information.yml
generated
vendored
@@ -1,6 +1,6 @@
|
|||||||
# Warning: This file is generated automatically, and should not be modified.
|
# Warning: This file is generated automatically, and should not be modified.
|
||||||
# Instead, please modify the template in the pr-checks directory and run:
|
# Instead, please modify the template in the pr-checks directory and run:
|
||||||
# pip install ruamel.yaml && python3 sync.py
|
# (cd pr-checks; pip install ruamel.yaml@0.17.31 && python3 sync.py)
|
||||||
# to regenerate this file.
|
# to regenerate this file.
|
||||||
|
|
||||||
name: PR Check - Export file baseline information
|
name: PR Check - Export file baseline information
|
||||||
@@ -11,91 +11,96 @@ env:
|
|||||||
on:
|
on:
|
||||||
push:
|
push:
|
||||||
branches:
|
branches:
|
||||||
- main
|
- main
|
||||||
- releases/v2
|
- 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-20.04
|
||||||
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:
|
||||||
|
contents: read
|
||||||
|
security-events: write
|
||||||
timeout-minutes: 45
|
timeout-minutes: 45
|
||||||
runs-on: ${{ matrix.os }}
|
runs-on: ${{ matrix.os }}
|
||||||
steps:
|
steps:
|
||||||
- name: Check out repository
|
- name: Setup Python on MacOS
|
||||||
uses: actions/checkout@v3
|
uses: actions/setup-python@v5
|
||||||
- name: Prepare test
|
if: >-
|
||||||
id: prepare-test
|
runner.os == 'macOS' && (
|
||||||
uses: ./.github/actions/prepare-test
|
|
||||||
with:
|
|
||||||
version: ${{ matrix.version }}
|
|
||||||
- name: Set environment variable for Swift enablement
|
|
||||||
if: >-
|
|
||||||
runner.os != 'Windows' && (
|
|
||||||
matrix.version == '20220908' ||
|
|
||||||
matrix.version == '20221211' ||
|
|
||||||
matrix.version == 'cached' ||
|
|
||||||
matrix.version == 'latest' ||
|
|
||||||
matrix.version == 'nightly-latest'
|
|
||||||
)
|
|
||||||
shell: bash
|
|
||||||
run: echo "CODEQL_ENABLE_EXPERIMENTAL_FEATURES_SWIFT=true" >> $GITHUB_ENV
|
|
||||||
- uses: ./../action/init
|
|
||||||
id: init
|
|
||||||
with:
|
|
||||||
languages: javascript
|
|
||||||
tools: ${{ steps.prepare-test.outputs.tools-url }}
|
|
||||||
env:
|
|
||||||
CODEQL_FILE_BASELINE_INFORMATION: true
|
|
||||||
- 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:
|
|
||||||
output: ${{ runner.temp }}/results
|
|
||||||
env:
|
|
||||||
CODEQL_FILE_BASELINE_INFORMATION: true
|
|
||||||
- name: Upload SARIF
|
|
||||||
uses: actions/upload-artifact@v3
|
|
||||||
with:
|
|
||||||
name: with-baseline-information-${{ matrix.os }}-${{ matrix.version }}.sarif.json
|
|
||||||
path: ${{ runner.temp }}/results/javascript.sarif
|
|
||||||
retention-days: 7
|
|
||||||
- name: Check results
|
|
||||||
shell: bash
|
|
||||||
run: |
|
|
||||||
cd "$RUNNER_TEMP/results"
|
|
||||||
expected_baseline_languages="cpp cs go java js py rb"
|
|
||||||
if [[ $RUNNER_OS != "Windows" ]]; then
|
|
||||||
expected_baseline_languages+=" swift"
|
|
||||||
fi
|
|
||||||
|
|
||||||
for lang in ${expected_baseline_languages}; do
|
matrix.version == 'stable-20230403' ||
|
||||||
rule_name="${lang}/baseline/expected-extracted-files"
|
|
||||||
found_notification=$(jq --arg rule_name "${rule_name}" '[.runs[0].tool.driver.notifications |
|
matrix.version == 'stable-v2.13.5' ||
|
||||||
select(. != null) | flatten | .[].id] | any(. == $rule_name)' javascript.sarif)
|
|
||||||
if [[ "${found_notification}" != "true" ]]; then
|
matrix.version == 'stable-v2.14.6')
|
||||||
echo "Expected SARIF output to contain notification '${rule_name}', but found no such notification."
|
with:
|
||||||
exit 1
|
python-version: '3.11'
|
||||||
else
|
- name: Check out repository
|
||||||
echo "Found notification '${rule_name}'."
|
uses: actions/checkout@v4
|
||||||
|
- name: Prepare test
|
||||||
|
id: prepare-test
|
||||||
|
uses: ./.github/actions/prepare-test
|
||||||
|
with:
|
||||||
|
version: ${{ matrix.version }}
|
||||||
|
use-all-platform-bundle: 'false'
|
||||||
|
- uses: ./../action/init
|
||||||
|
id: init
|
||||||
|
with:
|
||||||
|
languages: javascript
|
||||||
|
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:
|
||||||
|
output: ${{ runner.temp }}/results
|
||||||
|
- name: Upload SARIF
|
||||||
|
uses: actions/upload-artifact@v3
|
||||||
|
with:
|
||||||
|
name: with-baseline-information-${{ matrix.os }}-${{ matrix.version }}.sarif.json
|
||||||
|
path: ${{ runner.temp }}/results/javascript.sarif
|
||||||
|
retention-days: 7
|
||||||
|
- 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
|
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_TEST_MODE: true
|
CODEQL_ACTION_TEST_MODE: true
|
||||||
|
|||||||
110
.github/workflows/__extractor-ram-threads.yml
generated
vendored
110
.github/workflows/__extractor-ram-threads.yml
generated
vendored
@@ -1,6 +1,6 @@
|
|||||||
# Warning: This file is generated automatically, and should not be modified.
|
# Warning: This file is generated automatically, and should not be modified.
|
||||||
# Instead, please modify the template in the pr-checks directory and run:
|
# Instead, please modify the template in the pr-checks directory and run:
|
||||||
# pip install ruamel.yaml && python3 sync.py
|
# (cd pr-checks; pip install ruamel.yaml@0.17.31 && python3 sync.py)
|
||||||
# to regenerate this file.
|
# to regenerate this file.
|
||||||
|
|
||||||
name: PR Check - Extractor ram and threads options test
|
name: PR Check - Extractor ram and threads options test
|
||||||
@@ -11,67 +11,75 @@ env:
|
|||||||
on:
|
on:
|
||||||
push:
|
push:
|
||||||
branches:
|
branches:
|
||||||
- main
|
- main
|
||||||
- releases/v2
|
- 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-20.04
|
||||||
version: latest
|
version: latest
|
||||||
name: Extractor ram and threads options test
|
name: Extractor ram and threads options test
|
||||||
|
permissions:
|
||||||
|
contents: read
|
||||||
|
security-events: write
|
||||||
timeout-minutes: 45
|
timeout-minutes: 45
|
||||||
runs-on: ${{ matrix.os }}
|
runs-on: ${{ matrix.os }}
|
||||||
steps:
|
steps:
|
||||||
- name: Check out repository
|
- name: Setup Python on MacOS
|
||||||
uses: actions/checkout@v3
|
uses: actions/setup-python@v5
|
||||||
- name: Prepare test
|
if: >-
|
||||||
id: prepare-test
|
runner.os == 'macOS' && (
|
||||||
uses: ./.github/actions/prepare-test
|
|
||||||
with:
|
matrix.version == 'stable-20230403' ||
|
||||||
version: ${{ matrix.version }}
|
|
||||||
- name: Set environment variable for Swift enablement
|
matrix.version == 'stable-v2.13.5' ||
|
||||||
if: >-
|
|
||||||
runner.os != 'Windows' && (
|
matrix.version == 'stable-v2.14.6')
|
||||||
matrix.version == '20220908' ||
|
with:
|
||||||
matrix.version == '20221211' ||
|
python-version: '3.11'
|
||||||
matrix.version == 'cached' ||
|
- name: Check out repository
|
||||||
matrix.version == 'latest' ||
|
uses: actions/checkout@v4
|
||||||
matrix.version == 'nightly-latest'
|
- name: Prepare test
|
||||||
)
|
id: prepare-test
|
||||||
shell: bash
|
uses: ./.github/actions/prepare-test
|
||||||
run: echo "CODEQL_ENABLE_EXPERIMENTAL_FEATURES_SWIFT=true" >> $GITHUB_ENV
|
with:
|
||||||
- uses: ./../action/init
|
version: ${{ matrix.version }}
|
||||||
with:
|
use-all-platform-bundle: 'false'
|
||||||
languages: java
|
- uses: ./../action/init
|
||||||
ram: 230
|
with:
|
||||||
threads: 1
|
languages: java
|
||||||
- name: Assert Results
|
ram: 230
|
||||||
shell: bash
|
threads: 1
|
||||||
run: |
|
- name: Assert Results
|
||||||
if [ "${CODEQL_RAM}" != "230" ]; then
|
shell: bash
|
||||||
echo "CODEQL_RAM is '${CODEQL_RAM}' instead of 230"
|
run: |
|
||||||
exit 1
|
if [ "${CODEQL_RAM}" != "230" ]; then
|
||||||
fi
|
echo "CODEQL_RAM is '${CODEQL_RAM}' instead of 230"
|
||||||
if [ "${CODEQL_EXTRACTOR_JAVA_RAM}" != "230" ]; then
|
exit 1
|
||||||
echo "CODEQL_EXTRACTOR_JAVA_RAM is '${CODEQL_EXTRACTOR_JAVA_RAM}' instead of 230"
|
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_THREADS}" != "1" ]; then
|
exit 1
|
||||||
echo "CODEQL_THREADS is '${CODEQL_THREADS}' instead of 1"
|
fi
|
||||||
exit 1
|
if [ "${CODEQL_THREADS}" != "1" ]; then
|
||||||
fi
|
echo "CODEQL_THREADS is '${CODEQL_THREADS}' instead of 1"
|
||||||
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_EXTRACTOR_JAVA_THREADS}" != "1" ]; then
|
||||||
fi
|
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
|
||||||
|
|||||||
173
.github/workflows/__go-custom-queries.yml
generated
vendored
173
.github/workflows/__go-custom-queries.yml
generated
vendored
@@ -1,6 +1,6 @@
|
|||||||
# Warning: This file is generated automatically, and should not be modified.
|
# Warning: This file is generated automatically, and should not be modified.
|
||||||
# Instead, please modify the template in the pr-checks directory and run:
|
# Instead, please modify the template in the pr-checks directory and run:
|
||||||
# pip install ruamel.yaml && python3 sync.py
|
# (cd pr-checks; pip install ruamel.yaml@0.17.31 && python3 sync.py)
|
||||||
# to regenerate this file.
|
# to regenerate this file.
|
||||||
|
|
||||||
name: 'PR Check - Go: Custom queries'
|
name: 'PR Check - Go: Custom queries'
|
||||||
@@ -11,95 +11,112 @@ env:
|
|||||||
on:
|
on:
|
||||||
push:
|
push:
|
||||||
branches:
|
branches:
|
||||||
- main
|
- main
|
||||||
- releases/v2
|
- 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-20.04
|
||||||
version: stable-20220401
|
version: stable-20230403
|
||||||
- os: macos-latest
|
- os: macos-12
|
||||||
version: stable-20220401
|
version: stable-20230403
|
||||||
- os: windows-latest
|
- os: windows-latest
|
||||||
version: stable-20220401
|
version: stable-20230403
|
||||||
- os: ubuntu-latest
|
- os: ubuntu-20.04
|
||||||
version: stable-20220615
|
version: stable-v2.13.5
|
||||||
- os: macos-latest
|
- os: macos-12
|
||||||
version: stable-20220615
|
version: stable-v2.13.5
|
||||||
- os: windows-latest
|
- os: windows-latest
|
||||||
version: stable-20220615
|
version: stable-v2.13.5
|
||||||
- os: ubuntu-latest
|
- os: ubuntu-20.04
|
||||||
version: stable-20220908
|
version: stable-v2.14.6
|
||||||
- os: macos-latest
|
- os: macos-12
|
||||||
version: stable-20220908
|
version: stable-v2.14.6
|
||||||
- os: windows-latest
|
- os: windows-latest
|
||||||
version: stable-20220908
|
version: stable-v2.14.6
|
||||||
- os: ubuntu-latest
|
- os: ubuntu-20.04
|
||||||
version: stable-20221211
|
version: stable-v2.15.5
|
||||||
- os: macos-latest
|
- os: macos-latest
|
||||||
version: stable-20221211
|
version: stable-v2.15.5
|
||||||
- os: windows-latest
|
- os: windows-latest
|
||||||
version: stable-20221211
|
version: stable-v2.15.5
|
||||||
- os: ubuntu-latest
|
- os: ubuntu-20.04
|
||||||
version: cached
|
version: stable-v2.16.6
|
||||||
- os: macos-latest
|
- os: macos-latest
|
||||||
version: cached
|
version: stable-v2.16.6
|
||||||
- os: windows-latest
|
- os: windows-latest
|
||||||
version: cached
|
version: stable-v2.16.6
|
||||||
- os: ubuntu-latest
|
- os: ubuntu-20.04
|
||||||
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-20.04
|
||||||
version: nightly-latest
|
version: latest
|
||||||
- os: macos-latest
|
- os: macos-latest
|
||||||
version: nightly-latest
|
version: latest
|
||||||
- os: windows-latest
|
- os: windows-latest
|
||||||
version: nightly-latest
|
version: latest
|
||||||
|
- os: ubuntu-20.04
|
||||||
|
version: nightly-latest
|
||||||
|
- os: macos-latest
|
||||||
|
version: nightly-latest
|
||||||
|
- os: windows-latest
|
||||||
|
version: nightly-latest
|
||||||
name: 'Go: Custom queries'
|
name: 'Go: Custom queries'
|
||||||
|
permissions:
|
||||||
|
contents: read
|
||||||
|
security-events: write
|
||||||
timeout-minutes: 45
|
timeout-minutes: 45
|
||||||
runs-on: ${{ matrix.os }}
|
runs-on: ${{ matrix.os }}
|
||||||
steps:
|
steps:
|
||||||
- name: Check out repository
|
- name: Setup Python on MacOS
|
||||||
uses: actions/checkout@v3
|
uses: actions/setup-python@v5
|
||||||
- name: Prepare test
|
if: >-
|
||||||
id: prepare-test
|
runner.os == 'macOS' && (
|
||||||
uses: ./.github/actions/prepare-test
|
|
||||||
with:
|
matrix.version == 'stable-20230403' ||
|
||||||
version: ${{ matrix.version }}
|
|
||||||
- name: Set environment variable for Swift enablement
|
matrix.version == 'stable-v2.13.5' ||
|
||||||
if: >-
|
|
||||||
runner.os != 'Windows' && (
|
matrix.version == 'stable-v2.14.6')
|
||||||
matrix.version == '20220908' ||
|
with:
|
||||||
matrix.version == '20221211' ||
|
python-version: '3.11'
|
||||||
matrix.version == 'cached' ||
|
- name: Check out repository
|
||||||
matrix.version == 'latest' ||
|
uses: actions/checkout@v4
|
||||||
matrix.version == 'nightly-latest'
|
- name: Prepare test
|
||||||
)
|
id: prepare-test
|
||||||
shell: bash
|
uses: ./.github/actions/prepare-test
|
||||||
run: echo "CODEQL_ENABLE_EXPERIMENTAL_FEATURES_SWIFT=true" >> $GITHUB_ENV
|
with:
|
||||||
- uses: ./../action/init
|
version: ${{ matrix.version }}
|
||||||
with:
|
use-all-platform-bundle: 'false'
|
||||||
languages: go
|
- uses: actions/setup-go@v5
|
||||||
config-file: ./.github/codeql/custom-queries.yml
|
with:
|
||||||
tools: ${{ steps.prepare-test.outputs.tools-url }}
|
go-version: '>=1.21.0'
|
||||||
- name: Build code
|
- uses: ./../action/init
|
||||||
shell: bash
|
with:
|
||||||
run: ./build.sh
|
languages: go
|
||||||
- uses: ./../action/analyze
|
config-file: ./.github/codeql/custom-queries.yml
|
||||||
with:
|
tools: ${{ steps.prepare-test.outputs.tools-url }}
|
||||||
upload-database: false
|
- 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
|
||||||
|
|||||||
103
.github/workflows/__go-indirect-tracing-workaround-diagnostic.yml
generated
vendored
Normal file
103
.github/workflows/__go-indirect-tracing-workaround-diagnostic.yml
generated
vendored
Normal file
@@ -0,0 +1,103 @@
|
|||||||
|
# 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 Go is changed after init step'
|
||||||
|
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
|
||||||
|
schedule:
|
||||||
|
- cron: '0 5 * * *'
|
||||||
|
workflow_dispatch: {}
|
||||||
|
jobs:
|
||||||
|
go-indirect-tracing-workaround-diagnostic:
|
||||||
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
|
matrix:
|
||||||
|
include:
|
||||||
|
- os: ubuntu-20.04
|
||||||
|
version: stable-v2.14.6
|
||||||
|
name: 'Go: diagnostic when Go is changed after init step'
|
||||||
|
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-20230403' ||
|
||||||
|
|
||||||
|
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'
|
||||||
|
- uses: actions/setup-go@v5
|
||||||
|
with:
|
||||||
|
# We need a Go version that ships with statically linked binaries on Linux
|
||||||
|
go-version: '>=1.21.0'
|
||||||
|
- uses: ./../action/init
|
||||||
|
with:
|
||||||
|
languages: go
|
||||||
|
tools: ${{ steps.prepare-test.outputs.tools-url }}
|
||||||
|
# Deliberately change Go after the `init` step
|
||||||
|
- uses: actions/setup-go@v5
|
||||||
|
with:
|
||||||
|
go-version: '1.20'
|
||||||
|
- 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/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)}.`
|
||||||
|
);
|
||||||
|
}
|
||||||
|
env:
|
||||||
|
CODEQL_ACTION_TEST_MODE: true
|
||||||
104
.github/workflows/__go-indirect-tracing-workaround-no-file-program.yml
generated
vendored
Normal file
104
.github/workflows/__go-indirect-tracing-workaround-no-file-program.yml
generated
vendored
Normal file
@@ -0,0 +1,104 @@
|
|||||||
|
# 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
|
||||||
|
CODEQL_EXTRACTOR_JAVA_AGENT_DISABLE_KOTLIN: 'true'
|
||||||
|
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-20.04
|
||||||
|
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-20230403' ||
|
||||||
|
|
||||||
|
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'
|
||||||
|
- 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
|
||||||
101
.github/workflows/__go-indirect-tracing-workaround.yml
generated
vendored
Normal file
101
.github/workflows/__go-indirect-tracing-workaround.yml
generated
vendored
Normal file
@@ -0,0 +1,101 @@
|
|||||||
|
# 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: workaround for indirect tracing'
|
||||||
|
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
|
||||||
|
schedule:
|
||||||
|
- cron: '0 5 * * *'
|
||||||
|
workflow_dispatch: {}
|
||||||
|
jobs:
|
||||||
|
go-indirect-tracing-workaround:
|
||||||
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
|
matrix:
|
||||||
|
include:
|
||||||
|
- os: ubuntu-20.04
|
||||||
|
version: stable-v2.14.6
|
||||||
|
name: 'Go: workaround for indirect 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-20230403' ||
|
||||||
|
|
||||||
|
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'
|
||||||
|
- uses: actions/setup-go@v5
|
||||||
|
with:
|
||||||
|
# We need a Go version that ships with statically linked binaries on Linux
|
||||||
|
go-version: '>=1.21.0'
|
||||||
|
- 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:
|
||||||
|
upload-database: false
|
||||||
|
- shell: bash
|
||||||
|
run: |
|
||||||
|
if [[ -z "${CODEQL_ACTION_GO_BINARY}" ]]; then
|
||||||
|
echo "Expected the workaround for indirect tracing of static binaries to trigger, but the" \
|
||||||
|
"CODEQL_ACTION_GO_BINARY environment variable is not set."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
if [[ ! -f "${CODEQL_ACTION_GO_BINARY}" ]]; then
|
||||||
|
echo "CODEQL_ACTION_GO_BINARY is set, but the corresponding script does not exist."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
# 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
|
||||||
|
# is actually unset and not potentially set to a blank value.
|
||||||
|
if [[ ! -z "${CODEQL_ACTION_DID_AUTOBUILD_GOLANG}" ]]; then
|
||||||
|
echo "Expected the Go autobuilder not to be run, but the" \
|
||||||
|
"CODEQL_ACTION_DID_AUTOBUILD_GOLANG environment variable was set."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
cd "$RUNNER_TEMP/codeql_databases"
|
||||||
|
if [[ ! -d go ]]; then
|
||||||
|
echo "Did not find a Go database"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
env:
|
||||||
|
CODEQL_ACTION_TEST_MODE: true
|
||||||
164
.github/workflows/__go-tracing-autobuilder.yml
generated
vendored
164
.github/workflows/__go-tracing-autobuilder.yml
generated
vendored
@@ -1,6 +1,6 @@
|
|||||||
# Warning: This file is generated automatically, and should not be modified.
|
# Warning: This file is generated automatically, and should not be modified.
|
||||||
# Instead, please modify the template in the pr-checks directory and run:
|
# Instead, please modify the template in the pr-checks directory and run:
|
||||||
# pip install ruamel.yaml && python3 sync.py
|
# (cd pr-checks; pip install ruamel.yaml@0.17.31 && python3 sync.py)
|
||||||
# to regenerate this file.
|
# to regenerate this file.
|
||||||
|
|
||||||
name: 'PR Check - Go: tracing with autobuilder step'
|
name: 'PR Check - Go: tracing with autobuilder step'
|
||||||
@@ -11,90 +11,108 @@ env:
|
|||||||
on:
|
on:
|
||||||
push:
|
push:
|
||||||
branches:
|
branches:
|
||||||
- main
|
- main
|
||||||
- releases/v2
|
- 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-20.04
|
||||||
version: stable-20220401
|
version: stable-20230403
|
||||||
- os: macos-latest
|
- os: macos-12
|
||||||
version: stable-20220401
|
version: stable-20230403
|
||||||
- os: ubuntu-latest
|
- os: ubuntu-20.04
|
||||||
version: stable-20220615
|
version: stable-v2.13.5
|
||||||
- os: macos-latest
|
- os: macos-12
|
||||||
version: stable-20220615
|
version: stable-v2.13.5
|
||||||
- os: ubuntu-latest
|
- os: ubuntu-20.04
|
||||||
version: stable-20220908
|
version: stable-v2.14.6
|
||||||
- os: macos-latest
|
- os: macos-12
|
||||||
version: stable-20220908
|
version: stable-v2.14.6
|
||||||
- os: ubuntu-latest
|
- os: ubuntu-20.04
|
||||||
version: stable-20221211
|
version: stable-v2.15.5
|
||||||
- os: macos-latest
|
- os: macos-latest
|
||||||
version: stable-20221211
|
version: stable-v2.15.5
|
||||||
- os: ubuntu-latest
|
- os: ubuntu-20.04
|
||||||
version: cached
|
version: stable-v2.16.6
|
||||||
- os: macos-latest
|
- os: macos-latest
|
||||||
version: cached
|
version: stable-v2.16.6
|
||||||
- os: ubuntu-latest
|
- os: ubuntu-20.04
|
||||||
version: latest
|
version: default
|
||||||
- os: macos-latest
|
- os: macos-latest
|
||||||
version: latest
|
version: default
|
||||||
- os: ubuntu-latest
|
- os: ubuntu-20.04
|
||||||
version: nightly-latest
|
version: latest
|
||||||
- os: macos-latest
|
- os: macos-latest
|
||||||
version: nightly-latest
|
version: latest
|
||||||
|
- os: ubuntu-20.04
|
||||||
|
version: nightly-latest
|
||||||
|
- os: macos-latest
|
||||||
|
version: nightly-latest
|
||||||
name: 'Go: tracing with autobuilder step'
|
name: 'Go: tracing with autobuilder step'
|
||||||
|
permissions:
|
||||||
|
contents: read
|
||||||
|
security-events: write
|
||||||
timeout-minutes: 45
|
timeout-minutes: 45
|
||||||
runs-on: ${{ matrix.os }}
|
runs-on: ${{ matrix.os }}
|
||||||
steps:
|
steps:
|
||||||
- name: Check out repository
|
- name: Setup Python on MacOS
|
||||||
uses: actions/checkout@v3
|
uses: actions/setup-python@v5
|
||||||
- name: Prepare test
|
if: >-
|
||||||
id: prepare-test
|
runner.os == 'macOS' && (
|
||||||
uses: ./.github/actions/prepare-test
|
|
||||||
with:
|
matrix.version == 'stable-20230403' ||
|
||||||
version: ${{ matrix.version }}
|
|
||||||
- name: Set environment variable for Swift enablement
|
matrix.version == 'stable-v2.13.5' ||
|
||||||
if: >-
|
|
||||||
runner.os != 'Windows' && (
|
matrix.version == 'stable-v2.14.6')
|
||||||
matrix.version == '20220908' ||
|
with:
|
||||||
matrix.version == '20221211' ||
|
python-version: '3.11'
|
||||||
matrix.version == 'cached' ||
|
- name: Check out repository
|
||||||
matrix.version == 'latest' ||
|
uses: actions/checkout@v4
|
||||||
matrix.version == 'nightly-latest'
|
- name: Prepare test
|
||||||
)
|
id: prepare-test
|
||||||
shell: bash
|
uses: ./.github/actions/prepare-test
|
||||||
run: echo "CODEQL_ENABLE_EXPERIMENTAL_FEATURES_SWIFT=true" >> $GITHUB_ENV
|
with:
|
||||||
- uses: ./../action/init
|
version: ${{ matrix.version }}
|
||||||
with:
|
use-all-platform-bundle: 'false'
|
||||||
languages: go
|
- uses: actions/setup-go@v5
|
||||||
tools: ${{ steps.prepare-test.outputs.tools-url }}
|
with:
|
||||||
- uses: ./../action/autobuild
|
go-version: ~1.22.0
|
||||||
- uses: ./../action/analyze
|
# to avoid potentially misleading autobuilder results where we expect it to download
|
||||||
with:
|
# dependencies successfully, but they actually come from a warm cache
|
||||||
upload-database: false
|
cache: false
|
||||||
- shell: bash
|
- uses: ./../action/init
|
||||||
run: |
|
with:
|
||||||
if [[ "${CODEQL_ACTION_DID_AUTOBUILD_GOLANG}" != true ]]; then
|
languages: go
|
||||||
echo "Expected the Go autobuilder to be run, but the" \
|
tools: ${{ steps.prepare-test.outputs.tools-url }}
|
||||||
"CODEQL_ACTION_DID_AUTOBUILD_GOLANG environment variable was not true."
|
- uses: ./../action/autobuild
|
||||||
exit 1
|
- uses: ./../action/analyze
|
||||||
fi
|
with:
|
||||||
cd "$RUNNER_TEMP/codeql_databases"
|
upload-database: false
|
||||||
if [[ ! -d go ]]; then
|
- shell: bash
|
||||||
echo "Did not find a Go database"
|
run: |
|
||||||
exit 1
|
if [[ "${CODEQL_ACTION_DID_AUTOBUILD_GOLANG}" != true ]]; then
|
||||||
fi
|
echo "Expected the Go autobuilder to be run, but the" \
|
||||||
|
"CODEQL_ACTION_DID_AUTOBUILD_GOLANG environment variable was not true."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
cd "$RUNNER_TEMP/codeql_databases"
|
||||||
|
if [[ ! -d go ]]; then
|
||||||
|
echo "Did not find a Go database"
|
||||||
|
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
|
||||||
|
|||||||
174
.github/workflows/__go-tracing-custom-build-steps.yml
generated
vendored
174
.github/workflows/__go-tracing-custom-build-steps.yml
generated
vendored
@@ -1,6 +1,6 @@
|
|||||||
# Warning: This file is generated automatically, and should not be modified.
|
# Warning: This file is generated automatically, and should not be modified.
|
||||||
# Instead, please modify the template in the pr-checks directory and run:
|
# Instead, please modify the template in the pr-checks directory and run:
|
||||||
# pip install ruamel.yaml && python3 sync.py
|
# (cd pr-checks; pip install ruamel.yaml@0.17.31 && python3 sync.py)
|
||||||
# to regenerate this file.
|
# to regenerate this file.
|
||||||
|
|
||||||
name: 'PR Check - Go: tracing with custom build steps'
|
name: 'PR Check - Go: tracing with custom build steps'
|
||||||
@@ -11,94 +11,112 @@ env:
|
|||||||
on:
|
on:
|
||||||
push:
|
push:
|
||||||
branches:
|
branches:
|
||||||
- main
|
- main
|
||||||
- releases/v2
|
- 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-20.04
|
||||||
version: stable-20220401
|
version: stable-20230403
|
||||||
- os: macos-latest
|
- os: macos-12
|
||||||
version: stable-20220401
|
version: stable-20230403
|
||||||
- os: ubuntu-latest
|
- os: ubuntu-20.04
|
||||||
version: stable-20220615
|
version: stable-v2.13.5
|
||||||
- os: macos-latest
|
- os: macos-12
|
||||||
version: stable-20220615
|
version: stable-v2.13.5
|
||||||
- os: ubuntu-latest
|
- os: ubuntu-20.04
|
||||||
version: stable-20220908
|
version: stable-v2.14.6
|
||||||
- os: macos-latest
|
- os: macos-12
|
||||||
version: stable-20220908
|
version: stable-v2.14.6
|
||||||
- os: ubuntu-latest
|
- os: ubuntu-20.04
|
||||||
version: stable-20221211
|
version: stable-v2.15.5
|
||||||
- os: macos-latest
|
- os: macos-latest
|
||||||
version: stable-20221211
|
version: stable-v2.15.5
|
||||||
- os: ubuntu-latest
|
- os: ubuntu-20.04
|
||||||
version: cached
|
version: stable-v2.16.6
|
||||||
- os: macos-latest
|
- os: macos-latest
|
||||||
version: cached
|
version: stable-v2.16.6
|
||||||
- os: ubuntu-latest
|
- os: ubuntu-20.04
|
||||||
version: latest
|
version: default
|
||||||
- os: macos-latest
|
- os: macos-latest
|
||||||
version: latest
|
version: default
|
||||||
- os: ubuntu-latest
|
- os: ubuntu-20.04
|
||||||
version: nightly-latest
|
version: latest
|
||||||
- os: macos-latest
|
- os: macos-latest
|
||||||
version: nightly-latest
|
version: latest
|
||||||
|
- os: ubuntu-20.04
|
||||||
|
version: nightly-latest
|
||||||
|
- os: macos-latest
|
||||||
|
version: nightly-latest
|
||||||
name: 'Go: tracing with custom build steps'
|
name: 'Go: tracing with custom build steps'
|
||||||
|
permissions:
|
||||||
|
contents: read
|
||||||
|
security-events: write
|
||||||
timeout-minutes: 45
|
timeout-minutes: 45
|
||||||
runs-on: ${{ matrix.os }}
|
runs-on: ${{ matrix.os }}
|
||||||
steps:
|
steps:
|
||||||
- name: Check out repository
|
- name: Setup Python on MacOS
|
||||||
uses: actions/checkout@v3
|
uses: actions/setup-python@v5
|
||||||
- name: Prepare test
|
if: >-
|
||||||
id: prepare-test
|
runner.os == 'macOS' && (
|
||||||
uses: ./.github/actions/prepare-test
|
|
||||||
with:
|
matrix.version == 'stable-20230403' ||
|
||||||
version: ${{ matrix.version }}
|
|
||||||
- name: Set environment variable for Swift enablement
|
matrix.version == 'stable-v2.13.5' ||
|
||||||
if: >-
|
|
||||||
runner.os != 'Windows' && (
|
matrix.version == 'stable-v2.14.6')
|
||||||
matrix.version == '20220908' ||
|
with:
|
||||||
matrix.version == '20221211' ||
|
python-version: '3.11'
|
||||||
matrix.version == 'cached' ||
|
- name: Check out repository
|
||||||
matrix.version == 'latest' ||
|
uses: actions/checkout@v4
|
||||||
matrix.version == 'nightly-latest'
|
- name: Prepare test
|
||||||
)
|
id: prepare-test
|
||||||
shell: bash
|
uses: ./.github/actions/prepare-test
|
||||||
run: echo "CODEQL_ENABLE_EXPERIMENTAL_FEATURES_SWIFT=true" >> $GITHUB_ENV
|
with:
|
||||||
- uses: ./../action/init
|
version: ${{ matrix.version }}
|
||||||
with:
|
use-all-platform-bundle: 'false'
|
||||||
languages: go
|
- uses: actions/setup-go@v5
|
||||||
tools: ${{ steps.prepare-test.outputs.tools-url }}
|
with:
|
||||||
- name: Build code
|
go-version: ~1.22.0
|
||||||
shell: bash
|
# to avoid potentially misleading autobuilder results where we expect it to download
|
||||||
run: go build main.go
|
# dependencies successfully, but they actually come from a warm cache
|
||||||
- uses: ./../action/analyze
|
cache: false
|
||||||
with:
|
- uses: ./../action/init
|
||||||
upload-database: false
|
with:
|
||||||
- shell: bash
|
languages: go
|
||||||
run: |
|
tools: ${{ steps.prepare-test.outputs.tools-url }}
|
||||||
# Once we start running Bash 4.2 in all environments, we can replace the
|
- name: Build code
|
||||||
# `! -z` flag with the more elegant `-v` which confirms that the variable
|
shell: bash
|
||||||
# is actually unset and not potentially set to a blank value.
|
run: go build main.go
|
||||||
if [[ ! -z "${CODEQL_ACTION_DID_AUTOBUILD_GOLANG}" ]]; then
|
- uses: ./../action/analyze
|
||||||
echo "Expected the Go autobuilder not to be run, but the" \
|
with:
|
||||||
"CODEQL_ACTION_DID_AUTOBUILD_GOLANG environment variable was set."
|
upload-database: false
|
||||||
exit 1
|
- shell: bash
|
||||||
fi
|
run: |
|
||||||
cd "$RUNNER_TEMP/codeql_databases"
|
# Once we start running Bash 4.2 in all environments, we can replace the
|
||||||
if [[ ! -d go ]]; then
|
# `! -z` flag with the more elegant `-v` which confirms that the variable
|
||||||
echo "Did not find a Go database"
|
# is actually unset and not potentially set to a blank value.
|
||||||
exit 1
|
if [[ ! -z "${CODEQL_ACTION_DID_AUTOBUILD_GOLANG}" ]]; then
|
||||||
fi
|
echo "Expected the Go autobuilder not to be run, but the" \
|
||||||
|
"CODEQL_ACTION_DID_AUTOBUILD_GOLANG environment variable was set."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
cd "$RUNNER_TEMP/codeql_databases"
|
||||||
|
if [[ ! -d go ]]; then
|
||||||
|
echo "Did not find a Go database"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
env:
|
env:
|
||||||
CODEQL_ACTION_TEST_MODE: true
|
CODEQL_ACTION_TEST_MODE: true
|
||||||
|
|||||||
152
.github/workflows/__go-tracing-legacy-workflow.yml
generated
vendored
152
.github/workflows/__go-tracing-legacy-workflow.yml
generated
vendored
@@ -1,6 +1,6 @@
|
|||||||
# Warning: This file is generated automatically, and should not be modified.
|
# Warning: This file is generated automatically, and should not be modified.
|
||||||
# Instead, please modify the template in the pr-checks directory and run:
|
# Instead, please modify the template in the pr-checks directory and run:
|
||||||
# pip install ruamel.yaml && python3 sync.py
|
# (cd pr-checks; pip install ruamel.yaml@0.17.31 && python3 sync.py)
|
||||||
# to regenerate this file.
|
# to regenerate this file.
|
||||||
|
|
||||||
name: 'PR Check - Go: tracing with legacy workflow'
|
name: 'PR Check - Go: tracing with legacy workflow'
|
||||||
@@ -11,84 +11,102 @@ env:
|
|||||||
on:
|
on:
|
||||||
push:
|
push:
|
||||||
branches:
|
branches:
|
||||||
- main
|
- main
|
||||||
- releases/v2
|
- 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-20.04
|
||||||
version: stable-20220401
|
version: stable-20230403
|
||||||
- os: macos-latest
|
- os: macos-12
|
||||||
version: stable-20220401
|
version: stable-20230403
|
||||||
- os: ubuntu-latest
|
- os: ubuntu-20.04
|
||||||
version: stable-20220615
|
version: stable-v2.13.5
|
||||||
- os: macos-latest
|
- os: macos-12
|
||||||
version: stable-20220615
|
version: stable-v2.13.5
|
||||||
- os: ubuntu-latest
|
- os: ubuntu-20.04
|
||||||
version: stable-20220908
|
version: stable-v2.14.6
|
||||||
- os: macos-latest
|
- os: macos-12
|
||||||
version: stable-20220908
|
version: stable-v2.14.6
|
||||||
- os: ubuntu-latest
|
- os: ubuntu-20.04
|
||||||
version: stable-20221211
|
version: stable-v2.15.5
|
||||||
- os: macos-latest
|
- os: macos-latest
|
||||||
version: stable-20221211
|
version: stable-v2.15.5
|
||||||
- os: ubuntu-latest
|
- os: ubuntu-20.04
|
||||||
version: cached
|
version: stable-v2.16.6
|
||||||
- os: macos-latest
|
- os: macos-latest
|
||||||
version: cached
|
version: stable-v2.16.6
|
||||||
- os: ubuntu-latest
|
- os: ubuntu-20.04
|
||||||
version: latest
|
version: default
|
||||||
- os: macos-latest
|
- os: macos-latest
|
||||||
version: latest
|
version: default
|
||||||
- os: ubuntu-latest
|
- os: ubuntu-20.04
|
||||||
version: nightly-latest
|
version: latest
|
||||||
- os: macos-latest
|
- os: macos-latest
|
||||||
version: nightly-latest
|
version: latest
|
||||||
|
- os: ubuntu-20.04
|
||||||
|
version: nightly-latest
|
||||||
|
- os: macos-latest
|
||||||
|
version: nightly-latest
|
||||||
name: 'Go: tracing with legacy workflow'
|
name: 'Go: tracing with legacy workflow'
|
||||||
|
permissions:
|
||||||
|
contents: read
|
||||||
|
security-events: write
|
||||||
timeout-minutes: 45
|
timeout-minutes: 45
|
||||||
runs-on: ${{ matrix.os }}
|
runs-on: ${{ matrix.os }}
|
||||||
steps:
|
steps:
|
||||||
- name: Check out repository
|
- name: Setup Python on MacOS
|
||||||
uses: actions/checkout@v3
|
uses: actions/setup-python@v5
|
||||||
- name: Prepare test
|
if: >-
|
||||||
id: prepare-test
|
runner.os == 'macOS' && (
|
||||||
uses: ./.github/actions/prepare-test
|
|
||||||
with:
|
matrix.version == 'stable-20230403' ||
|
||||||
version: ${{ matrix.version }}
|
|
||||||
- name: Set environment variable for Swift enablement
|
matrix.version == 'stable-v2.13.5' ||
|
||||||
if: >-
|
|
||||||
runner.os != 'Windows' && (
|
matrix.version == 'stable-v2.14.6')
|
||||||
matrix.version == '20220908' ||
|
with:
|
||||||
matrix.version == '20221211' ||
|
python-version: '3.11'
|
||||||
matrix.version == 'cached' ||
|
- name: Check out repository
|
||||||
matrix.version == 'latest' ||
|
uses: actions/checkout@v4
|
||||||
matrix.version == 'nightly-latest'
|
- name: Prepare test
|
||||||
)
|
id: prepare-test
|
||||||
shell: bash
|
uses: ./.github/actions/prepare-test
|
||||||
run: echo "CODEQL_ENABLE_EXPERIMENTAL_FEATURES_SWIFT=true" >> $GITHUB_ENV
|
with:
|
||||||
- uses: ./../action/init
|
version: ${{ matrix.version }}
|
||||||
with:
|
use-all-platform-bundle: 'false'
|
||||||
languages: go
|
- uses: actions/setup-go@v5
|
||||||
tools: ${{ steps.prepare-test.outputs.tools-url }}
|
with:
|
||||||
- uses: ./../action/analyze
|
go-version: ~1.22.0
|
||||||
with:
|
# to avoid potentially misleading autobuilder results where we expect it to download
|
||||||
upload-database: false
|
# dependencies successfully, but they actually come from a warm cache
|
||||||
- shell: bash
|
cache: false
|
||||||
run: |
|
- uses: ./../action/init
|
||||||
cd "$RUNNER_TEMP/codeql_databases"
|
with:
|
||||||
if [[ ! -d go ]]; then
|
languages: go
|
||||||
echo "Did not find a Go database"
|
tools: ${{ steps.prepare-test.outputs.tools-url }}
|
||||||
exit 1
|
- uses: ./../action/analyze
|
||||||
fi
|
with:
|
||||||
|
upload-database: false
|
||||||
|
- shell: bash
|
||||||
|
run: |
|
||||||
|
cd "$RUNNER_TEMP/codeql_databases"
|
||||||
|
if [[ ! -d go ]]; then
|
||||||
|
echo "Did not find a Go database"
|
||||||
|
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
|
||||||
|
|||||||
223
.github/workflows/__init-with-registries.yml
generated
vendored
223
.github/workflows/__init-with-registries.yml
generated
vendored
@@ -1,6 +1,6 @@
|
|||||||
# Warning: This file is generated automatically, and should not be modified.
|
# Warning: This file is generated automatically, and should not be modified.
|
||||||
# Instead, please modify the template in the pr-checks directory and run:
|
# Instead, please modify the template in the pr-checks directory and run:
|
||||||
# pip install ruamel.yaml && python3 sync.py
|
# (cd pr-checks; pip install ruamel.yaml@0.17.31 && python3 sync.py)
|
||||||
# to regenerate this file.
|
# to regenerate this file.
|
||||||
|
|
||||||
name: 'PR Check - Packaging: Download using registries'
|
name: 'PR Check - Packaging: Download using registries'
|
||||||
@@ -11,126 +11,131 @@ env:
|
|||||||
on:
|
on:
|
||||||
push:
|
push:
|
||||||
branches:
|
branches:
|
||||||
- main
|
- main
|
||||||
- releases/v2
|
- 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-20.04
|
||||||
version: cached
|
version: default
|
||||||
- os: macos-latest
|
- os: macos-latest
|
||||||
version: cached
|
version: default
|
||||||
- os: windows-latest
|
- os: windows-latest
|
||||||
version: cached
|
version: default
|
||||||
- os: ubuntu-latest
|
- os: ubuntu-20.04
|
||||||
version: latest
|
version: latest
|
||||||
- os: macos-latest
|
- os: macos-latest
|
||||||
version: latest
|
version: latest
|
||||||
- os: windows-latest
|
- os: windows-latest
|
||||||
version: latest
|
version: latest
|
||||||
- os: ubuntu-latest
|
- os: ubuntu-20.04
|
||||||
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'
|
||||||
timeout-minutes: 45
|
|
||||||
runs-on: ${{ matrix.os }}
|
|
||||||
steps:
|
|
||||||
- name: Check out repository
|
|
||||||
uses: actions/checkout@v3
|
|
||||||
- name: Prepare test
|
|
||||||
id: prepare-test
|
|
||||||
uses: ./.github/actions/prepare-test
|
|
||||||
with:
|
|
||||||
version: ${{ matrix.version }}
|
|
||||||
- name: Set environment variable for Swift enablement
|
|
||||||
if: >-
|
|
||||||
runner.os != 'Windows' && (
|
|
||||||
matrix.version == '20220908' ||
|
|
||||||
matrix.version == '20221211' ||
|
|
||||||
matrix.version == 'cached' ||
|
|
||||||
matrix.version == 'latest' ||
|
|
||||||
matrix.version == 'nightly-latest'
|
|
||||||
)
|
|
||||||
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
|
|
||||||
shell: bash
|
|
||||||
run: |
|
|
||||||
PRIVATE_PACK="$HOME/.codeql/packages/codeql-testing/private-pack"
|
|
||||||
CODEQL_PACK1="$HOME/.codeql/packages/codeql-testing/codeql-pack1"
|
|
||||||
|
|
||||||
if [[ -d $PRIVATE_PACK ]]
|
|
||||||
then
|
|
||||||
echo "$PRIVATE_PACK was installed."
|
|
||||||
else
|
|
||||||
echo "::error $PRIVATE_PACK pack was not installed."
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [[ -d $CODEQL_PACK1 ]]
|
|
||||||
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
|
|
||||||
if: runner.os != 'Windows'
|
|
||||||
shell: bash
|
|
||||||
run: |
|
|
||||||
QLCONFIG_PATH=$RUNNER_TEMP/qlconfig.yml
|
|
||||||
cat $QLCONFIG_PATH | yq -e '.registries[] | select(.url == "https://ghcr.io/v2/") | select(.packages == "*/*")'
|
|
||||||
if [[ $? -eq 0 ]]
|
|
||||||
then
|
|
||||||
echo "Registry was added to qlconfig.yml file."
|
|
||||||
else
|
|
||||||
echo "::error Registry was not added to qlconfig.yml file."
|
|
||||||
echo "Contents of qlconfig.yml file:"
|
|
||||||
cat $QLCONFIG_PATH
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
permissions:
|
permissions:
|
||||||
contents: read
|
contents: read
|
||||||
packages: read
|
packages: read
|
||||||
|
|
||||||
|
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-20230403' ||
|
||||||
|
|
||||||
|
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: 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
|
||||||
|
shell: bash
|
||||||
|
run: |
|
||||||
|
PRIVATE_PACK="$HOME/.codeql/packages/codeql-testing/private-pack"
|
||||||
|
CODEQL_PACK1="$HOME/.codeql/packages/codeql-testing/codeql-pack1"
|
||||||
|
|
||||||
|
if [[ -d $PRIVATE_PACK ]]
|
||||||
|
then
|
||||||
|
echo "$PRIVATE_PACK was installed."
|
||||||
|
else
|
||||||
|
echo "::error $PRIVATE_PACK pack was not installed."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [[ -d $CODEQL_PACK1 ]]
|
||||||
|
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
|
||||||
|
if: runner.os != 'Windows'
|
||||||
|
shell: bash
|
||||||
|
run: |
|
||||||
|
QLCONFIG_PATH=$RUNNER_TEMP/qlconfig.yml
|
||||||
|
cat $QLCONFIG_PATH | yq -e '.registries[] | select(.url == "https://ghcr.io/v2/") | select(.packages == "*/*")'
|
||||||
|
if [[ $? -eq 0 ]]
|
||||||
|
then
|
||||||
|
echo "Registry was added to qlconfig.yml file."
|
||||||
|
else
|
||||||
|
echo "::error Registry was not added to qlconfig.yml file."
|
||||||
|
echo "Contents of qlconfig.yml file:"
|
||||||
|
cat $QLCONFIG_PATH
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
env:
|
env:
|
||||||
CODEQL_ACTION_TEST_MODE: true
|
CODEQL_ACTION_TEST_MODE: true
|
||||||
|
|||||||
116
.github/workflows/__javascript-source-root.yml
generated
vendored
116
.github/workflows/__javascript-source-root.yml
generated
vendored
@@ -1,6 +1,6 @@
|
|||||||
# Warning: This file is generated automatically, and should not be modified.
|
# Warning: This file is generated automatically, and should not be modified.
|
||||||
# Instead, please modify the template in the pr-checks directory and run:
|
# Instead, please modify the template in the pr-checks directory and run:
|
||||||
# pip install ruamel.yaml && python3 sync.py
|
# (cd pr-checks; pip install ruamel.yaml@0.17.31 && python3 sync.py)
|
||||||
# to regenerate this file.
|
# to regenerate this file.
|
||||||
|
|
||||||
name: PR Check - Custom source root
|
name: PR Check - Custom source root
|
||||||
@@ -11,70 +11,78 @@ env:
|
|||||||
on:
|
on:
|
||||||
push:
|
push:
|
||||||
branches:
|
branches:
|
||||||
- main
|
- main
|
||||||
- releases/v2
|
- 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-20.04
|
||||||
version: latest
|
version: latest
|
||||||
- os: ubuntu-latest
|
- os: ubuntu-20.04
|
||||||
version: cached
|
version: default
|
||||||
- os: ubuntu-latest
|
- os: ubuntu-20.04
|
||||||
version: nightly-latest
|
version: nightly-latest
|
||||||
name: Custom source root
|
name: Custom source root
|
||||||
|
permissions:
|
||||||
|
contents: read
|
||||||
|
security-events: write
|
||||||
timeout-minutes: 45
|
timeout-minutes: 45
|
||||||
runs-on: ${{ matrix.os }}
|
runs-on: ${{ matrix.os }}
|
||||||
steps:
|
steps:
|
||||||
- name: Check out repository
|
- name: Setup Python on MacOS
|
||||||
uses: actions/checkout@v3
|
uses: actions/setup-python@v5
|
||||||
- name: Prepare test
|
if: >-
|
||||||
id: prepare-test
|
runner.os == 'macOS' && (
|
||||||
uses: ./.github/actions/prepare-test
|
|
||||||
with:
|
matrix.version == 'stable-20230403' ||
|
||||||
version: ${{ matrix.version }}
|
|
||||||
- name: Set environment variable for Swift enablement
|
matrix.version == 'stable-v2.13.5' ||
|
||||||
if: >-
|
|
||||||
runner.os != 'Windows' && (
|
matrix.version == 'stable-v2.14.6')
|
||||||
matrix.version == '20220908' ||
|
with:
|
||||||
matrix.version == '20221211' ||
|
python-version: '3.11'
|
||||||
matrix.version == 'cached' ||
|
- name: Check out repository
|
||||||
matrix.version == 'latest' ||
|
uses: actions/checkout@v4
|
||||||
matrix.version == 'nightly-latest'
|
- name: Prepare test
|
||||||
)
|
id: prepare-test
|
||||||
shell: bash
|
uses: ./.github/actions/prepare-test
|
||||||
run: echo "CODEQL_ENABLE_EXPERIMENTAL_FEATURES_SWIFT=true" >> $GITHUB_ENV
|
with:
|
||||||
- name: Move codeql-action
|
version: ${{ matrix.version }}
|
||||||
shell: bash
|
use-all-platform-bundle: 'false'
|
||||||
run: |
|
- name: Move codeql-action
|
||||||
mkdir ../new-source-root
|
shell: bash
|
||||||
mv * ../new-source-root
|
run: |
|
||||||
- uses: ./../action/init
|
mkdir ../new-source-root
|
||||||
with:
|
mv * ../new-source-root
|
||||||
languages: javascript
|
- uses: ./../action/init
|
||||||
source-root: ../new-source-root
|
with:
|
||||||
tools: ${{ steps.prepare-test.outputs.tools-url }}
|
languages: javascript
|
||||||
- uses: ./../action/analyze
|
source-root: ../new-source-root
|
||||||
with:
|
tools: ${{ steps.prepare-test.outputs.tools-url }}
|
||||||
upload-database: false
|
- uses: ./../action/analyze
|
||||||
skip-queries: true
|
with:
|
||||||
upload: never
|
upload-database: false
|
||||||
- name: Assert database exists
|
skip-queries: true
|
||||||
shell: bash
|
upload: never
|
||||||
run: |
|
- name: Assert database exists
|
||||||
cd "$RUNNER_TEMP/codeql_databases"
|
shell: bash
|
||||||
if [[ ! -d javascript ]]; then
|
run: |
|
||||||
echo "Did not find a JavaScript database"
|
cd "$RUNNER_TEMP/codeql_databases"
|
||||||
exit 1
|
if [[ ! -d javascript ]]; then
|
||||||
fi
|
echo "Did not find a JavaScript database"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
env:
|
env:
|
||||||
CODEQL_ACTION_TEST_MODE: true
|
CODEQL_ACTION_TEST_MODE: true
|
||||||
|
|||||||
76
.github/workflows/__language-aliases.yml
generated
vendored
Normal file
76
.github/workflows/__language-aliases.yml
generated
vendored
Normal file
@@ -0,0 +1,76 @@
|
|||||||
|
# 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 - Language aliases
|
||||||
|
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
|
||||||
|
schedule:
|
||||||
|
- cron: '0 5 * * *'
|
||||||
|
workflow_dispatch: {}
|
||||||
|
jobs:
|
||||||
|
language-aliases:
|
||||||
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
|
matrix:
|
||||||
|
include:
|
||||||
|
- os: ubuntu-20.04
|
||||||
|
version: latest
|
||||||
|
name: Language aliases
|
||||||
|
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-20230403' ||
|
||||||
|
|
||||||
|
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'
|
||||||
|
- 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:
|
||||||
|
CODEQL_ACTION_TEST_MODE: true
|
||||||
159
.github/workflows/__ml-powered-queries.yml
generated
vendored
159
.github/workflows/__ml-powered-queries.yml
generated
vendored
@@ -1,159 +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:
|
|
||||||
# pip install ruamel.yaml && python3 sync.py
|
|
||||||
# to regenerate this file.
|
|
||||||
|
|
||||||
name: PR Check - ML-powered queries
|
|
||||||
env:
|
|
||||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
||||||
GO111MODULE: auto
|
|
||||||
CODEQL_EXTRACTOR_JAVA_AGENT_DISABLE_KOTLIN: 'true'
|
|
||||||
on:
|
|
||||||
push:
|
|
||||||
branches:
|
|
||||||
- main
|
|
||||||
- releases/v2
|
|
||||||
pull_request:
|
|
||||||
types:
|
|
||||||
- opened
|
|
||||||
- synchronize
|
|
||||||
- reopened
|
|
||||||
- ready_for_review
|
|
||||||
workflow_dispatch: {}
|
|
||||||
jobs:
|
|
||||||
ml-powered-queries:
|
|
||||||
strategy:
|
|
||||||
matrix:
|
|
||||||
include:
|
|
||||||
- os: ubuntu-latest
|
|
||||||
version: stable-20220401
|
|
||||||
- os: macos-latest
|
|
||||||
version: stable-20220401
|
|
||||||
- os: windows-latest
|
|
||||||
version: stable-20220401
|
|
||||||
- os: ubuntu-latest
|
|
||||||
version: stable-20220615
|
|
||||||
- os: macos-latest
|
|
||||||
version: stable-20220615
|
|
||||||
- os: windows-latest
|
|
||||||
version: stable-20220615
|
|
||||||
- os: ubuntu-latest
|
|
||||||
version: stable-20220908
|
|
||||||
- os: macos-latest
|
|
||||||
version: stable-20220908
|
|
||||||
- os: windows-latest
|
|
||||||
version: stable-20220908
|
|
||||||
- os: ubuntu-latest
|
|
||||||
version: stable-20221211
|
|
||||||
- os: macos-latest
|
|
||||||
version: stable-20221211
|
|
||||||
- os: windows-latest
|
|
||||||
version: stable-20221211
|
|
||||||
- os: ubuntu-latest
|
|
||||||
version: cached
|
|
||||||
- os: macos-latest
|
|
||||||
version: cached
|
|
||||||
- os: windows-latest
|
|
||||||
version: cached
|
|
||||||
- os: ubuntu-latest
|
|
||||||
version: latest
|
|
||||||
- os: macos-latest
|
|
||||||
version: latest
|
|
||||||
- os: windows-latest
|
|
||||||
version: latest
|
|
||||||
- os: ubuntu-latest
|
|
||||||
version: nightly-latest
|
|
||||||
- os: macos-latest
|
|
||||||
version: nightly-latest
|
|
||||||
- os: windows-latest
|
|
||||||
version: nightly-latest
|
|
||||||
name: ML-powered queries
|
|
||||||
timeout-minutes: 45
|
|
||||||
runs-on: ${{ matrix.os }}
|
|
||||||
steps:
|
|
||||||
- name: Check out repository
|
|
||||||
uses: actions/checkout@v3
|
|
||||||
- name: Prepare test
|
|
||||||
id: prepare-test
|
|
||||||
uses: ./.github/actions/prepare-test
|
|
||||||
with:
|
|
||||||
version: ${{ matrix.version }}
|
|
||||||
- name: Set environment variable for Swift enablement
|
|
||||||
if: >-
|
|
||||||
runner.os != 'Windows' && (
|
|
||||||
matrix.version == '20220908' ||
|
|
||||||
matrix.version == '20221211' ||
|
|
||||||
matrix.version == 'cached' ||
|
|
||||||
matrix.version == 'latest' ||
|
|
||||||
matrix.version == 'nightly-latest'
|
|
||||||
)
|
|
||||||
shell: bash
|
|
||||||
run: echo "CODEQL_ENABLE_EXPERIMENTAL_FEATURES_SWIFT=true" >> $GITHUB_ENV
|
|
||||||
- uses: ./../action/init
|
|
||||||
with:
|
|
||||||
languages: javascript
|
|
||||||
queries: security-extended
|
|
||||||
source-root: ./../action/tests/ml-powered-queries-repo
|
|
||||||
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: ml-powered-queries-${{ matrix.os }}-${{ matrix.version }}.sarif.json
|
|
||||||
path: ${{ runner.temp }}/results/javascript.sarif
|
|
||||||
retention-days: 7
|
|
||||||
|
|
||||||
- name: Check sarif
|
|
||||||
uses: ./../action/.github/actions/check-sarif
|
|
||||||
# Running on Windows requires CodeQL CLI 2.9.0+.
|
|
||||||
if: "!(matrix.version == 'stable-20220401' && runner.os == 'Windows')"
|
|
||||||
with:
|
|
||||||
sarif-file: ${{ runner.temp }}/results/javascript.sarif
|
|
||||||
queries-run: js/ml-powered/nosql-injection,js/ml-powered/path-injection,js/ml-powered/sql-injection,js/ml-powered/xss
|
|
||||||
queries-not-run: foo,bar
|
|
||||||
|
|
||||||
- name: Check results
|
|
||||||
env:
|
|
||||||
# Running on Windows requires CodeQL CLI 2.9.0+.
|
|
||||||
SHOULD_RUN_ML_POWERED_QUERIES: ${{ !(matrix.version == 'stable-20220401' &&
|
|
||||||
runner.os == 'Windows') }}
|
|
||||||
shell: bash
|
|
||||||
run: |
|
|
||||||
echo "Expecting ML-powered queries to be run: ${SHOULD_RUN_ML_POWERED_QUERIES}"
|
|
||||||
|
|
||||||
cd "$RUNNER_TEMP/results"
|
|
||||||
# We should run at least the ML-powered queries in `expected_rules`.
|
|
||||||
expected_rules="js/ml-powered/nosql-injection js/ml-powered/path-injection js/ml-powered/sql-injection js/ml-powered/xss"
|
|
||||||
|
|
||||||
for rule in ${expected_rules}; do
|
|
||||||
found_rule=$(jq --arg rule "${rule}" '[.runs[0].tool.extensions[].rules | select(. != null) |
|
|
||||||
flatten | .[].id] | any(. == $rule)' javascript.sarif)
|
|
||||||
echo "Did find rule '${rule}': ${found_rule}"
|
|
||||||
if [[ "${found_rule}" != "true" && "${SHOULD_RUN_ML_POWERED_QUERIES}" == "true" ]]; then
|
|
||||||
echo "Expected SARIF output to contain rule '${rule}', but found no such rule."
|
|
||||||
exit 1
|
|
||||||
elif [[ "${found_rule}" == "true" && "${SHOULD_RUN_ML_POWERED_QUERIES}" != "true" ]]; then
|
|
||||||
echo "Found rule '${rule}' in the SARIF output which shouldn't have been part of the analysis."
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
|
|
||||||
# We should have at least one alert from an ML-powered query.
|
|
||||||
num_alerts=$(jq '[.runs[0].results[] |
|
|
||||||
select(.properties.score != null and (.rule.id | startswith("js/ml-powered/")))] | length' \
|
|
||||||
javascript.sarif)
|
|
||||||
echo "Found ${num_alerts} alerts from ML-powered queries.";
|
|
||||||
if [[ "${num_alerts}" -eq 0 && "${SHOULD_RUN_ML_POWERED_QUERIES}" == "true" ]]; then
|
|
||||||
echo "Expected to find at least one alert from an ML-powered query but found ${num_alerts}."
|
|
||||||
exit 1
|
|
||||||
elif [[ "${num_alerts}" -ne 0 && "${SHOULD_RUN_ML_POWERED_QUERIES}" != "true" ]]; then
|
|
||||||
echo "Expected not to find any alerts from an ML-powered query but found ${num_alerts}."
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
env:
|
|
||||||
CODEQL_ACTION_TEST_MODE: true
|
|
||||||
249
.github/workflows/__multi-language-autodetect.yml
generated
vendored
249
.github/workflows/__multi-language-autodetect.yml
generated
vendored
@@ -1,6 +1,6 @@
|
|||||||
# Warning: This file is generated automatically, and should not be modified.
|
# Warning: This file is generated automatically, and should not be modified.
|
||||||
# Instead, please modify the template in the pr-checks directory and run:
|
# Instead, please modify the template in the pr-checks directory and run:
|
||||||
# pip install ruamel.yaml && python3 sync.py
|
# (cd pr-checks; pip install ruamel.yaml@0.17.31 && python3 sync.py)
|
||||||
# to regenerate this file.
|
# to regenerate this file.
|
||||||
|
|
||||||
name: PR Check - Multi-language repository
|
name: PR Check - Multi-language repository
|
||||||
@@ -11,141 +11,152 @@ env:
|
|||||||
on:
|
on:
|
||||||
push:
|
push:
|
||||||
branches:
|
branches:
|
||||||
- main
|
- main
|
||||||
- releases/v2
|
- 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: ubuntu-20.04
|
||||||
version: stable-20220401
|
version: stable-20230403
|
||||||
- os: macos-latest
|
- os: macos-12
|
||||||
version: stable-20220401
|
version: stable-20230403
|
||||||
- os: ubuntu-latest
|
- os: ubuntu-20.04
|
||||||
version: stable-20220615
|
version: stable-v2.13.5
|
||||||
- os: macos-latest
|
- os: macos-12
|
||||||
version: stable-20220615
|
version: stable-v2.13.5
|
||||||
- os: ubuntu-latest
|
- os: ubuntu-20.04
|
||||||
version: stable-20220908
|
version: stable-v2.14.6
|
||||||
- os: macos-latest
|
- os: macos-12
|
||||||
version: stable-20220908
|
version: stable-v2.14.6
|
||||||
- os: ubuntu-latest
|
- os: ubuntu-20.04
|
||||||
version: stable-20221211
|
version: stable-v2.15.5
|
||||||
- os: macos-latest
|
- os: macos-latest
|
||||||
version: stable-20221211
|
version: stable-v2.15.5
|
||||||
- os: ubuntu-latest
|
- os: ubuntu-20.04
|
||||||
version: cached
|
version: stable-v2.16.6
|
||||||
- os: macos-latest
|
- os: macos-latest
|
||||||
version: cached
|
version: stable-v2.16.6
|
||||||
- os: ubuntu-latest
|
- os: ubuntu-20.04
|
||||||
version: latest
|
version: default
|
||||||
- os: macos-latest
|
- os: macos-latest
|
||||||
version: latest
|
version: default
|
||||||
- os: ubuntu-latest
|
- os: ubuntu-20.04
|
||||||
version: nightly-latest
|
version: latest
|
||||||
- os: macos-latest
|
- os: macos-latest
|
||||||
version: nightly-latest
|
version: latest
|
||||||
|
- os: ubuntu-20.04
|
||||||
|
version: nightly-latest
|
||||||
|
- os: macos-latest
|
||||||
|
version: nightly-latest
|
||||||
name: Multi-language repository
|
name: Multi-language repository
|
||||||
|
permissions:
|
||||||
|
contents: read
|
||||||
|
security-events: write
|
||||||
timeout-minutes: 45
|
timeout-minutes: 45
|
||||||
runs-on: ${{ matrix.os }}
|
runs-on: ${{ matrix.os }}
|
||||||
steps:
|
steps:
|
||||||
- name: Check out repository
|
- name: Setup Python on MacOS
|
||||||
uses: actions/checkout@v3
|
uses: actions/setup-python@v5
|
||||||
- name: Prepare test
|
if: >-
|
||||||
id: prepare-test
|
runner.os == 'macOS' && (
|
||||||
uses: ./.github/actions/prepare-test
|
|
||||||
with:
|
|
||||||
version: ${{ matrix.version }}
|
|
||||||
- name: Set environment variable for Swift enablement
|
|
||||||
if: >-
|
|
||||||
runner.os != 'Windows' && (
|
|
||||||
matrix.version == '20220908' ||
|
|
||||||
matrix.version == '20221211' ||
|
|
||||||
matrix.version == 'cached' ||
|
|
||||||
matrix.version == 'latest' ||
|
|
||||||
matrix.version == 'nightly-latest'
|
|
||||||
)
|
|
||||||
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
|
matrix.version == 'stable-20230403' ||
|
||||||
with:
|
|
||||||
codeql-path: ${{ steps.init.outputs.codeql-path }}
|
|
||||||
|
|
||||||
- name: Build code
|
matrix.version == 'stable-v2.13.5' ||
|
||||||
shell: bash
|
|
||||||
run: ./build.sh
|
|
||||||
|
|
||||||
- uses: ./../action/analyze
|
matrix.version == 'stable-v2.14.6')
|
||||||
id: analysis
|
with:
|
||||||
with:
|
python-version: '3.11'
|
||||||
upload-database: false
|
- 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'
|
||||||
|
- uses: actions/setup-go@v5
|
||||||
|
with:
|
||||||
|
go-version: '>=1.21.0'
|
||||||
|
|
||||||
- name: Check language autodetect for all languages excluding Ruby, Swift
|
- uses: ./../action/init
|
||||||
shell: bash
|
id: init
|
||||||
run: |
|
with:
|
||||||
CPP_DB=${{ fromJson(steps.analysis.outputs.db-locations).cpp }}
|
db-location: ${{ runner.temp }}/customDbLocation
|
||||||
if [[ ! -d $CPP_DB ]] || [[ ! $CPP_DB == ${{ runner.temp }}/customDbLocation/* ]]; then
|
tools: ${{ steps.prepare-test.outputs.tools-url }}
|
||||||
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
|
|
||||||
|
|
||||||
- name: Check language autodetect for Ruby
|
- uses: ./../action/.github/actions/setup-swift
|
||||||
if: env.CODEQL_ENABLE_EXPERIMENTAL_FEATURES_SWIFT == 'true'
|
with:
|
||||||
shell: bash
|
codeql-path: ${{ steps.init.outputs.codeql-path }}
|
||||||
run: |
|
|
||||||
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
|
- name: Build code
|
||||||
if: env.CODEQL_ENABLE_EXPERIMENTAL_FEATURES_SWIFT == 'true'
|
shell: bash
|
||||||
shell: bash
|
run: ./build.sh
|
||||||
run: |
|
|
||||||
SWIFT_DB=${{ fromJson(steps.analysis.outputs.db-locations).swift }}
|
- uses: ./../action/analyze
|
||||||
if [[ ! -d $SWIFT_DB ]] || [[ ! $SWIFT_DB == ${{ runner.temp }}/customDbLocation/* ]]; then
|
id: analysis
|
||||||
echo "Did not create a database for Swift, or created it in the wrong location."
|
with:
|
||||||
exit 1
|
upload-database: false
|
||||||
fi
|
|
||||||
|
- name: Check language autodetect for all languages excluding Swift
|
||||||
|
shell: bash
|
||||||
|
run: |
|
||||||
|
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 Swift
|
||||||
|
if: runner.os != 'Windows' && matrix.version != 'stable-20230403'
|
||||||
|
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
|
||||||
|
|||||||
161
.github/workflows/__packaging-codescanning-config-inputs-js.yml
generated
vendored
161
.github/workflows/__packaging-codescanning-config-inputs-js.yml
generated
vendored
@@ -1,6 +1,6 @@
|
|||||||
# Warning: This file is generated automatically, and should not be modified.
|
# Warning: This file is generated automatically, and should not be modified.
|
||||||
# Instead, please modify the template in the pr-checks directory and run:
|
# Instead, please modify the template in the pr-checks directory and run:
|
||||||
# pip install ruamel.yaml && python3 sync.py
|
# (cd pr-checks; pip install ruamel.yaml@0.17.31 && python3 sync.py)
|
||||||
# to regenerate this file.
|
# to regenerate this file.
|
||||||
|
|
||||||
name: 'PR Check - Packaging: Config and input passed to the CLI'
|
name: 'PR Check - Packaging: Config and input passed to the CLI'
|
||||||
@@ -11,96 +11,103 @@ env:
|
|||||||
on:
|
on:
|
||||||
push:
|
push:
|
||||||
branches:
|
branches:
|
||||||
- main
|
- main
|
||||||
- releases/v2
|
- 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-20.04
|
||||||
version: latest
|
version: latest
|
||||||
- os: macos-latest
|
- os: macos-latest
|
||||||
version: latest
|
version: latest
|
||||||
- os: windows-latest
|
- os: windows-latest
|
||||||
version: latest
|
version: latest
|
||||||
- os: ubuntu-latest
|
- os: ubuntu-20.04
|
||||||
version: cached
|
version: default
|
||||||
- os: macos-latest
|
- os: macos-latest
|
||||||
version: cached
|
version: default
|
||||||
- os: windows-latest
|
- os: windows-latest
|
||||||
version: cached
|
version: default
|
||||||
- os: ubuntu-latest
|
- os: ubuntu-20.04
|
||||||
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:
|
||||||
|
contents: read
|
||||||
|
security-events: write
|
||||||
timeout-minutes: 45
|
timeout-minutes: 45
|
||||||
runs-on: ${{ matrix.os }}
|
runs-on: ${{ matrix.os }}
|
||||||
steps:
|
steps:
|
||||||
- name: Check out repository
|
- name: Setup Python on MacOS
|
||||||
uses: actions/checkout@v3
|
uses: actions/setup-python@v5
|
||||||
- name: Prepare test
|
if: >-
|
||||||
id: prepare-test
|
runner.os == 'macOS' && (
|
||||||
uses: ./.github/actions/prepare-test
|
|
||||||
with:
|
|
||||||
version: ${{ matrix.version }}
|
|
||||||
- name: Set environment variable for Swift enablement
|
|
||||||
if: >-
|
|
||||||
runner.os != 'Windows' && (
|
|
||||||
matrix.version == '20220908' ||
|
|
||||||
matrix.version == '20221211' ||
|
|
||||||
matrix.version == 'cached' ||
|
|
||||||
matrix.version == 'latest' ||
|
|
||||||
matrix.version == 'nightly-latest'
|
|
||||||
)
|
|
||||||
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
|
matrix.version == 'stable-20230403' ||
|
||||||
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
|
|
||||||
|
|
||||||
- name: Assert Results
|
matrix.version == 'stable-v2.13.5' ||
|
||||||
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
|
matrix.version == 'stable-v2.14.6')
|
||||||
RULES="$(cat javascript.sarif | jq -r '.runs[0].results[].ruleId' | sort | tr "\n\r" " " | xargs)"
|
with:
|
||||||
echo "Found matching rules '$RULES'"
|
python-version: '3.11'
|
||||||
if [ "$RULES" != "$EXPECTED_RULES" ]; then
|
- name: Check out repository
|
||||||
echo "Did not match expected rules '$EXPECTED_RULES'."
|
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'
|
||||||
|
- 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
|
||||||
|
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
|
||||||
|
|
||||||
|
- 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_PASS_CONFIG_TO_CLI: true
|
|
||||||
|
|
||||||
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
@@ -1,6 +1,6 @@
|
|||||||
# Warning: This file is generated automatically, and should not be modified.
|
# Warning: This file is generated automatically, and should not be modified.
|
||||||
# Instead, please modify the template in the pr-checks directory and run:
|
# Instead, please modify the template in the pr-checks directory and run:
|
||||||
# pip install ruamel.yaml && python3 sync.py
|
# (cd pr-checks; pip install ruamel.yaml@0.17.31 && python3 sync.py)
|
||||||
# to regenerate this file.
|
# to regenerate this file.
|
||||||
|
|
||||||
name: 'PR Check - Packaging: Config and input'
|
name: 'PR Check - Packaging: Config and input'
|
||||||
@@ -11,94 +11,103 @@ env:
|
|||||||
on:
|
on:
|
||||||
push:
|
push:
|
||||||
branches:
|
branches:
|
||||||
- main
|
- main
|
||||||
- releases/v2
|
- 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-20.04
|
||||||
version: latest
|
version: latest
|
||||||
- os: macos-latest
|
- os: macos-latest
|
||||||
version: latest
|
version: latest
|
||||||
- os: windows-latest
|
- os: windows-latest
|
||||||
version: latest
|
version: latest
|
||||||
- os: ubuntu-latest
|
- os: ubuntu-20.04
|
||||||
version: cached
|
version: default
|
||||||
- os: macos-latest
|
- os: macos-latest
|
||||||
version: cached
|
version: default
|
||||||
- os: windows-latest
|
- os: windows-latest
|
||||||
version: cached
|
version: default
|
||||||
- os: ubuntu-latest
|
- os: ubuntu-20.04
|
||||||
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:
|
||||||
|
contents: read
|
||||||
|
security-events: write
|
||||||
timeout-minutes: 45
|
timeout-minutes: 45
|
||||||
runs-on: ${{ matrix.os }}
|
runs-on: ${{ matrix.os }}
|
||||||
steps:
|
steps:
|
||||||
- name: Check out repository
|
- name: Setup Python on MacOS
|
||||||
uses: actions/checkout@v3
|
uses: actions/setup-python@v5
|
||||||
- name: Prepare test
|
if: >-
|
||||||
id: prepare-test
|
runner.os == 'macOS' && (
|
||||||
uses: ./.github/actions/prepare-test
|
|
||||||
with:
|
|
||||||
version: ${{ matrix.version }}
|
|
||||||
- name: Set environment variable for Swift enablement
|
|
||||||
if: >-
|
|
||||||
runner.os != 'Windows' && (
|
|
||||||
matrix.version == '20220908' ||
|
|
||||||
matrix.version == '20221211' ||
|
|
||||||
matrix.version == 'cached' ||
|
|
||||||
matrix.version == 'latest' ||
|
|
||||||
matrix.version == 'nightly-latest'
|
|
||||||
)
|
|
||||||
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
|
matrix.version == 'stable-20230403' ||
|
||||||
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
|
|
||||||
|
|
||||||
- name: Assert Results
|
matrix.version == 'stable-v2.13.5' ||
|
||||||
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
|
matrix.version == 'stable-v2.14.6')
|
||||||
RULES="$(cat javascript.sarif | jq -r '.runs[0].results[].ruleId' | sort | tr "\n\r" " " | xargs)"
|
with:
|
||||||
echo "Found matching rules '$RULES'"
|
python-version: '3.11'
|
||||||
if [ "$RULES" != "$EXPECTED_RULES" ]; then
|
- name: Check out repository
|
||||||
echo "Did not match expected rules '$EXPECTED_RULES'."
|
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'
|
||||||
|
- 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
|
||||||
|
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
|
||||||
|
|
||||||
|
- 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
@@ -1,6 +1,6 @@
|
|||||||
# Warning: This file is generated automatically, and should not be modified.
|
# Warning: This file is generated automatically, and should not be modified.
|
||||||
# Instead, please modify the template in the pr-checks directory and run:
|
# Instead, please modify the template in the pr-checks directory and run:
|
||||||
# pip install ruamel.yaml && python3 sync.py
|
# (cd pr-checks; pip install ruamel.yaml@0.17.31 && python3 sync.py)
|
||||||
# to regenerate this file.
|
# to regenerate this file.
|
||||||
|
|
||||||
name: 'PR Check - Packaging: Config file'
|
name: 'PR Check - Packaging: Config file'
|
||||||
@@ -11,93 +11,102 @@ env:
|
|||||||
on:
|
on:
|
||||||
push:
|
push:
|
||||||
branches:
|
branches:
|
||||||
- main
|
- main
|
||||||
- releases/v2
|
- 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-20.04
|
||||||
version: latest
|
version: latest
|
||||||
- os: macos-latest
|
- os: macos-latest
|
||||||
version: latest
|
version: latest
|
||||||
- os: windows-latest
|
- os: windows-latest
|
||||||
version: latest
|
version: latest
|
||||||
- os: ubuntu-latest
|
- os: ubuntu-20.04
|
||||||
version: cached
|
version: default
|
||||||
- os: macos-latest
|
- os: macos-latest
|
||||||
version: cached
|
version: default
|
||||||
- os: windows-latest
|
- os: windows-latest
|
||||||
version: cached
|
version: default
|
||||||
- os: ubuntu-latest
|
- os: ubuntu-20.04
|
||||||
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:
|
||||||
|
contents: read
|
||||||
|
security-events: write
|
||||||
timeout-minutes: 45
|
timeout-minutes: 45
|
||||||
runs-on: ${{ matrix.os }}
|
runs-on: ${{ matrix.os }}
|
||||||
steps:
|
steps:
|
||||||
- name: Check out repository
|
- name: Setup Python on MacOS
|
||||||
uses: actions/checkout@v3
|
uses: actions/setup-python@v5
|
||||||
- name: Prepare test
|
if: >-
|
||||||
id: prepare-test
|
runner.os == 'macOS' && (
|
||||||
uses: ./.github/actions/prepare-test
|
|
||||||
with:
|
|
||||||
version: ${{ matrix.version }}
|
|
||||||
- name: Set environment variable for Swift enablement
|
|
||||||
if: >-
|
|
||||||
runner.os != 'Windows' && (
|
|
||||||
matrix.version == '20220908' ||
|
|
||||||
matrix.version == '20221211' ||
|
|
||||||
matrix.version == 'cached' ||
|
|
||||||
matrix.version == 'latest' ||
|
|
||||||
matrix.version == 'nightly-latest'
|
|
||||||
)
|
|
||||||
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
|
matrix.version == 'stable-20230403' ||
|
||||||
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
|
|
||||||
|
|
||||||
- name: Assert Results
|
matrix.version == 'stable-v2.13.5' ||
|
||||||
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
|
matrix.version == 'stable-v2.14.6')
|
||||||
RULES="$(cat javascript.sarif | jq -r '.runs[0].results[].ruleId' | sort | tr "\n\r" " " | xargs)"
|
with:
|
||||||
echo "Found matching rules '$RULES'"
|
python-version: '3.11'
|
||||||
if [ "$RULES" != "$EXPECTED_RULES" ]; then
|
- name: Check out repository
|
||||||
echo "Did not match expected rules '$EXPECTED_RULES'."
|
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'
|
||||||
|
- 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
|
||||||
|
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
|
||||||
|
|
||||||
|
- 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
@@ -1,6 +1,6 @@
|
|||||||
# Warning: This file is generated automatically, and should not be modified.
|
# Warning: This file is generated automatically, and should not be modified.
|
||||||
# Instead, please modify the template in the pr-checks directory and run:
|
# Instead, please modify the template in the pr-checks directory and run:
|
||||||
# pip install ruamel.yaml && python3 sync.py
|
# (cd pr-checks; pip install ruamel.yaml@0.17.31 && python3 sync.py)
|
||||||
# to regenerate this file.
|
# to regenerate this file.
|
||||||
|
|
||||||
name: 'PR Check - Packaging: Action input'
|
name: 'PR Check - Packaging: Action input'
|
||||||
@@ -11,93 +11,102 @@ env:
|
|||||||
on:
|
on:
|
||||||
push:
|
push:
|
||||||
branches:
|
branches:
|
||||||
- main
|
- main
|
||||||
- releases/v2
|
- 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-20.04
|
||||||
version: latest
|
version: latest
|
||||||
- os: macos-latest
|
- os: macos-latest
|
||||||
version: latest
|
version: latest
|
||||||
- os: windows-latest
|
- os: windows-latest
|
||||||
version: latest
|
version: latest
|
||||||
- os: ubuntu-latest
|
- os: ubuntu-20.04
|
||||||
version: cached
|
version: default
|
||||||
- os: macos-latest
|
- os: macos-latest
|
||||||
version: cached
|
version: default
|
||||||
- os: windows-latest
|
- os: windows-latest
|
||||||
version: cached
|
version: default
|
||||||
- os: ubuntu-latest
|
- os: ubuntu-20.04
|
||||||
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:
|
||||||
|
contents: read
|
||||||
|
security-events: write
|
||||||
timeout-minutes: 45
|
timeout-minutes: 45
|
||||||
runs-on: ${{ matrix.os }}
|
runs-on: ${{ matrix.os }}
|
||||||
steps:
|
steps:
|
||||||
- name: Check out repository
|
- name: Setup Python on MacOS
|
||||||
uses: actions/checkout@v3
|
uses: actions/setup-python@v5
|
||||||
- name: Prepare test
|
if: >-
|
||||||
id: prepare-test
|
runner.os == 'macOS' && (
|
||||||
uses: ./.github/actions/prepare-test
|
|
||||||
with:
|
|
||||||
version: ${{ matrix.version }}
|
|
||||||
- name: Set environment variable for Swift enablement
|
|
||||||
if: >-
|
|
||||||
runner.os != 'Windows' && (
|
|
||||||
matrix.version == '20220908' ||
|
|
||||||
matrix.version == '20221211' ||
|
|
||||||
matrix.version == 'cached' ||
|
|
||||||
matrix.version == 'latest' ||
|
|
||||||
matrix.version == 'nightly-latest'
|
|
||||||
)
|
|
||||||
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
|
matrix.version == 'stable-20230403' ||
|
||||||
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
|
|
||||||
|
|
||||||
- name: Assert Results
|
matrix.version == 'stable-v2.13.5' ||
|
||||||
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
|
matrix.version == 'stable-v2.14.6')
|
||||||
RULES="$(cat javascript.sarif | jq -r '.runs[0].results[].ruleId' | sort | tr "\n\r" " " | xargs)"
|
with:
|
||||||
echo "Found matching rules '$RULES'"
|
python-version: '3.11'
|
||||||
if [ "$RULES" != "$EXPECTED_RULES" ]; then
|
- name: Check out repository
|
||||||
echo "Did not match expected rules '$EXPECTED_RULES'."
|
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'
|
||||||
|
- 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
|
||||||
|
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
|
||||||
|
|
||||||
|
- 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
|
||||||
|
|||||||
168
.github/workflows/__remote-config.yml
generated
vendored
168
.github/workflows/__remote-config.yml
generated
vendored
@@ -1,6 +1,6 @@
|
|||||||
# Warning: This file is generated automatically, and should not be modified.
|
# Warning: This file is generated automatically, and should not be modified.
|
||||||
# Instead, please modify the template in the pr-checks directory and run:
|
# Instead, please modify the template in the pr-checks directory and run:
|
||||||
# pip install ruamel.yaml && python3 sync.py
|
# (cd pr-checks; pip install ruamel.yaml@0.17.31 && python3 sync.py)
|
||||||
# to regenerate this file.
|
# to regenerate this file.
|
||||||
|
|
||||||
name: PR Check - Remote config file
|
name: PR Check - Remote config file
|
||||||
@@ -11,93 +11,107 @@ env:
|
|||||||
on:
|
on:
|
||||||
push:
|
push:
|
||||||
branches:
|
branches:
|
||||||
- main
|
- main
|
||||||
- releases/v2
|
- 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-20.04
|
||||||
version: stable-20220401
|
version: stable-20230403
|
||||||
- os: macos-latest
|
- os: macos-12
|
||||||
version: stable-20220401
|
version: stable-20230403
|
||||||
- os: windows-latest
|
- os: windows-latest
|
||||||
version: stable-20220401
|
version: stable-20230403
|
||||||
- os: ubuntu-latest
|
- os: ubuntu-20.04
|
||||||
version: stable-20220615
|
version: stable-v2.13.5
|
||||||
- os: macos-latest
|
- os: macos-12
|
||||||
version: stable-20220615
|
version: stable-v2.13.5
|
||||||
- os: windows-latest
|
- os: windows-latest
|
||||||
version: stable-20220615
|
version: stable-v2.13.5
|
||||||
- os: ubuntu-latest
|
- os: ubuntu-20.04
|
||||||
version: stable-20220908
|
version: stable-v2.14.6
|
||||||
- os: macos-latest
|
- os: macos-12
|
||||||
version: stable-20220908
|
version: stable-v2.14.6
|
||||||
- os: windows-latest
|
- os: windows-latest
|
||||||
version: stable-20220908
|
version: stable-v2.14.6
|
||||||
- os: ubuntu-latest
|
- os: ubuntu-20.04
|
||||||
version: stable-20221211
|
version: stable-v2.15.5
|
||||||
- os: macos-latest
|
- os: macos-latest
|
||||||
version: stable-20221211
|
version: stable-v2.15.5
|
||||||
- os: windows-latest
|
- os: windows-latest
|
||||||
version: stable-20221211
|
version: stable-v2.15.5
|
||||||
- os: ubuntu-latest
|
- os: ubuntu-20.04
|
||||||
version: cached
|
version: stable-v2.16.6
|
||||||
- os: macos-latest
|
- os: macos-latest
|
||||||
version: cached
|
version: stable-v2.16.6
|
||||||
- os: windows-latest
|
- os: windows-latest
|
||||||
version: cached
|
version: stable-v2.16.6
|
||||||
- os: ubuntu-latest
|
- os: ubuntu-20.04
|
||||||
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-20.04
|
||||||
version: nightly-latest
|
version: latest
|
||||||
- os: macos-latest
|
- os: macos-latest
|
||||||
version: nightly-latest
|
version: latest
|
||||||
- os: windows-latest
|
- os: windows-latest
|
||||||
version: nightly-latest
|
version: latest
|
||||||
|
- os: ubuntu-20.04
|
||||||
|
version: nightly-latest
|
||||||
|
- os: macos-latest
|
||||||
|
version: nightly-latest
|
||||||
|
- os: windows-latest
|
||||||
|
version: nightly-latest
|
||||||
name: Remote config file
|
name: Remote config file
|
||||||
|
permissions:
|
||||||
|
contents: read
|
||||||
|
security-events: write
|
||||||
timeout-minutes: 45
|
timeout-minutes: 45
|
||||||
runs-on: ${{ matrix.os }}
|
runs-on: ${{ matrix.os }}
|
||||||
steps:
|
steps:
|
||||||
- name: Check out repository
|
- name: Setup Python on MacOS
|
||||||
uses: actions/checkout@v3
|
uses: actions/setup-python@v5
|
||||||
- name: Prepare test
|
if: >-
|
||||||
id: prepare-test
|
runner.os == 'macOS' && (
|
||||||
uses: ./.github/actions/prepare-test
|
|
||||||
with:
|
matrix.version == 'stable-20230403' ||
|
||||||
version: ${{ matrix.version }}
|
|
||||||
- name: Set environment variable for Swift enablement
|
matrix.version == 'stable-v2.13.5' ||
|
||||||
if: >-
|
|
||||||
runner.os != 'Windows' && (
|
matrix.version == 'stable-v2.14.6')
|
||||||
matrix.version == '20220908' ||
|
with:
|
||||||
matrix.version == '20221211' ||
|
python-version: '3.11'
|
||||||
matrix.version == 'cached' ||
|
- name: Check out repository
|
||||||
matrix.version == 'latest' ||
|
uses: actions/checkout@v4
|
||||||
matrix.version == 'nightly-latest'
|
- name: Prepare test
|
||||||
)
|
id: prepare-test
|
||||||
shell: bash
|
uses: ./.github/actions/prepare-test
|
||||||
run: echo "CODEQL_ENABLE_EXPERIMENTAL_FEATURES_SWIFT=true" >> $GITHUB_ENV
|
with:
|
||||||
- uses: ./../action/init
|
version: ${{ matrix.version }}
|
||||||
with:
|
use-all-platform-bundle: 'false'
|
||||||
tools: ${{ steps.prepare-test.outputs.tools-url }}
|
- uses: ./../action/init
|
||||||
languages: cpp,csharp,java,javascript,python
|
with:
|
||||||
config-file: ${{ github.repository }}/tests/multi-language-repo/.github/codeql/custom-queries.yml@${{
|
tools: ${{ steps.prepare-test.outputs.tools-url }}
|
||||||
github.sha }}
|
languages: cpp,csharp,java,javascript,python
|
||||||
- name: Build code
|
config-file: ${{ github.repository }}/tests/multi-language-repo/.github/codeql/custom-queries.yml@${{
|
||||||
shell: bash
|
github.sha }}
|
||||||
run: ./build.sh
|
- name: Build code
|
||||||
- uses: ./../action/analyze
|
shell: bash
|
||||||
|
run: ./build.sh
|
||||||
|
- uses: ./../action/analyze
|
||||||
env:
|
env:
|
||||||
CODEQL_ACTION_TEST_MODE: true
|
CODEQL_ACTION_TEST_MODE: true
|
||||||
|
|||||||
110
.github/workflows/__resolve-environment-action.yml
generated
vendored
Normal file
110
.github/workflows/__resolve-environment-action.yml
generated
vendored
Normal file
@@ -0,0 +1,110 @@
|
|||||||
|
# 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 - Resolve environment
|
||||||
|
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
|
||||||
|
schedule:
|
||||||
|
- cron: '0 5 * * *'
|
||||||
|
workflow_dispatch: {}
|
||||||
|
jobs:
|
||||||
|
resolve-environment-action:
|
||||||
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
|
matrix:
|
||||||
|
include:
|
||||||
|
- os: ubuntu-20.04
|
||||||
|
version: stable-v2.13.4
|
||||||
|
- os: macos-12
|
||||||
|
version: stable-v2.13.4
|
||||||
|
- os: windows-latest
|
||||||
|
version: stable-v2.13.4
|
||||||
|
- os: ubuntu-20.04
|
||||||
|
version: default
|
||||||
|
- os: macos-latest
|
||||||
|
version: default
|
||||||
|
- os: windows-latest
|
||||||
|
version: default
|
||||||
|
- os: ubuntu-20.04
|
||||||
|
version: latest
|
||||||
|
- os: macos-latest
|
||||||
|
version: latest
|
||||||
|
- os: windows-latest
|
||||||
|
version: latest
|
||||||
|
- os: ubuntu-20.04
|
||||||
|
version: nightly-latest
|
||||||
|
- os: macos-latest
|
||||||
|
version: nightly-latest
|
||||||
|
- os: windows-latest
|
||||||
|
version: nightly-latest
|
||||||
|
name: Resolve environment
|
||||||
|
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-20230403' ||
|
||||||
|
|
||||||
|
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'
|
||||||
|
- 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
|
||||||
|
uses: ./../action/resolve-environment
|
||||||
|
id: resolve-environment-go
|
||||||
|
with:
|
||||||
|
language: go
|
||||||
|
|
||||||
|
- name: Fail if Go configuration missing
|
||||||
|
if: (!fromJSON(steps.resolve-environment-go.outputs.environment).configuration.go)
|
||||||
|
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:
|
||||||
|
CODEQL_ACTION_TEST_MODE: true
|
||||||
102
.github/workflows/__rubocop-multi-language.yml
generated
vendored
102
.github/workflows/__rubocop-multi-language.yml
generated
vendored
@@ -1,6 +1,6 @@
|
|||||||
# Warning: This file is generated automatically, and should not be modified.
|
# Warning: This file is generated automatically, and should not be modified.
|
||||||
# Instead, please modify the template in the pr-checks directory and run:
|
# Instead, please modify the template in the pr-checks directory and run:
|
||||||
# pip install ruamel.yaml && python3 sync.py
|
# (cd pr-checks; pip install ruamel.yaml@0.17.31 && python3 sync.py)
|
||||||
# to regenerate this file.
|
# to regenerate this file.
|
||||||
|
|
||||||
name: PR Check - RuboCop multi-language
|
name: PR Check - RuboCop multi-language
|
||||||
@@ -11,63 +11,71 @@ env:
|
|||||||
on:
|
on:
|
||||||
push:
|
push:
|
||||||
branches:
|
branches:
|
||||||
- main
|
- main
|
||||||
- releases/v2
|
- 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-20.04
|
||||||
version: cached
|
version: default
|
||||||
name: RuboCop multi-language
|
name: RuboCop multi-language
|
||||||
|
permissions:
|
||||||
|
contents: read
|
||||||
|
security-events: write
|
||||||
timeout-minutes: 45
|
timeout-minutes: 45
|
||||||
runs-on: ${{ matrix.os }}
|
runs-on: ${{ matrix.os }}
|
||||||
steps:
|
steps:
|
||||||
- name: Check out repository
|
- name: Setup Python on MacOS
|
||||||
uses: actions/checkout@v3
|
uses: actions/setup-python@v5
|
||||||
- name: Prepare test
|
if: >-
|
||||||
id: prepare-test
|
runner.os == 'macOS' && (
|
||||||
uses: ./.github/actions/prepare-test
|
|
||||||
with:
|
matrix.version == 'stable-20230403' ||
|
||||||
version: ${{ matrix.version }}
|
|
||||||
- name: Set environment variable for Swift enablement
|
matrix.version == 'stable-v2.13.5' ||
|
||||||
if: >-
|
|
||||||
runner.os != 'Windows' && (
|
matrix.version == 'stable-v2.14.6')
|
||||||
matrix.version == '20220908' ||
|
with:
|
||||||
matrix.version == '20221211' ||
|
python-version: '3.11'
|
||||||
matrix.version == 'cached' ||
|
- name: Check out repository
|
||||||
matrix.version == 'latest' ||
|
uses: actions/checkout@v4
|
||||||
matrix.version == 'nightly-latest'
|
- name: Prepare test
|
||||||
)
|
id: prepare-test
|
||||||
shell: bash
|
uses: ./.github/actions/prepare-test
|
||||||
run: echo "CODEQL_ENABLE_EXPERIMENTAL_FEATURES_SWIFT=true" >> $GITHUB_ENV
|
with:
|
||||||
- name: Set up Ruby
|
version: ${{ matrix.version }}
|
||||||
uses: ruby/setup-ruby@v1
|
use-all-platform-bundle: 'false'
|
||||||
with:
|
- name: Set up Ruby
|
||||||
ruby-version: 2.6
|
uses: ruby/setup-ruby@v1
|
||||||
- name: Install Code Scanning integration
|
with:
|
||||||
shell: bash
|
ruby-version: 2.6
|
||||||
run: bundle add code-scanning-rubocop --version 0.3.0 --skip-install
|
- name: Install Code Scanning integration
|
||||||
- name: Install dependencies
|
shell: bash
|
||||||
shell: bash
|
run: bundle add code-scanning-rubocop --version 0.3.0 --skip-install
|
||||||
run: bundle install
|
- name: Install dependencies
|
||||||
- name: RuboCop run
|
shell: bash
|
||||||
shell: bash
|
run: bundle install
|
||||||
run: |
|
- name: RuboCop run
|
||||||
bash -c "
|
shell: bash
|
||||||
bundle exec rubocop --require code_scanning --format CodeScanning::SarifFormatter -o rubocop.sarif
|
run: |
|
||||||
[[ $? -ne 2 ]]
|
bash -c "
|
||||||
"
|
bundle exec rubocop --require code_scanning --format CodeScanning::SarifFormatter -o rubocop.sarif
|
||||||
- uses: ./../action/upload-sarif
|
[[ $? -ne 2 ]]
|
||||||
with:
|
"
|
||||||
sarif_file: rubocop.sarif
|
- uses: ./../action/upload-sarif
|
||||||
|
with:
|
||||||
|
sarif_file: rubocop.sarif
|
||||||
env:
|
env:
|
||||||
CODEQL_ACTION_TEST_MODE: true
|
CODEQL_ACTION_TEST_MODE: true
|
||||||
|
|||||||
114
.github/workflows/__ruby.yml
generated
vendored
114
.github/workflows/__ruby.yml
generated
vendored
@@ -1,6 +1,6 @@
|
|||||||
# Warning: This file is generated automatically, and should not be modified.
|
# Warning: This file is generated automatically, and should not be modified.
|
||||||
# Instead, please modify the template in the pr-checks directory and run:
|
# Instead, please modify the template in the pr-checks directory and run:
|
||||||
# pip install ruamel.yaml && python3 sync.py
|
# (cd pr-checks; pip install ruamel.yaml@0.17.31 && python3 sync.py)
|
||||||
# to regenerate this file.
|
# to regenerate this file.
|
||||||
|
|
||||||
name: PR Check - Ruby analysis
|
name: PR Check - Ruby analysis
|
||||||
@@ -11,69 +11,77 @@ env:
|
|||||||
on:
|
on:
|
||||||
push:
|
push:
|
||||||
branches:
|
branches:
|
||||||
- main
|
- main
|
||||||
- releases/v2
|
- 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-20.04
|
||||||
version: latest
|
version: latest
|
||||||
- os: macos-latest
|
- os: macos-latest
|
||||||
version: latest
|
version: latest
|
||||||
- os: ubuntu-latest
|
- os: ubuntu-20.04
|
||||||
version: cached
|
version: default
|
||||||
- os: macos-latest
|
- os: macos-latest
|
||||||
version: cached
|
version: default
|
||||||
- os: ubuntu-latest
|
- os: ubuntu-20.04
|
||||||
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:
|
||||||
|
contents: read
|
||||||
|
security-events: write
|
||||||
timeout-minutes: 45
|
timeout-minutes: 45
|
||||||
runs-on: ${{ matrix.os }}
|
runs-on: ${{ matrix.os }}
|
||||||
steps:
|
steps:
|
||||||
- name: Check out repository
|
- name: Setup Python on MacOS
|
||||||
uses: actions/checkout@v3
|
uses: actions/setup-python@v5
|
||||||
- name: Prepare test
|
if: >-
|
||||||
id: prepare-test
|
runner.os == 'macOS' && (
|
||||||
uses: ./.github/actions/prepare-test
|
|
||||||
with:
|
matrix.version == 'stable-20230403' ||
|
||||||
version: ${{ matrix.version }}
|
|
||||||
- name: Set environment variable for Swift enablement
|
matrix.version == 'stable-v2.13.5' ||
|
||||||
if: >-
|
|
||||||
runner.os != 'Windows' && (
|
matrix.version == 'stable-v2.14.6')
|
||||||
matrix.version == '20220908' ||
|
with:
|
||||||
matrix.version == '20221211' ||
|
python-version: '3.11'
|
||||||
matrix.version == 'cached' ||
|
- name: Check out repository
|
||||||
matrix.version == 'latest' ||
|
uses: actions/checkout@v4
|
||||||
matrix.version == 'nightly-latest'
|
- name: Prepare test
|
||||||
)
|
id: prepare-test
|
||||||
shell: bash
|
uses: ./.github/actions/prepare-test
|
||||||
run: echo "CODEQL_ENABLE_EXPERIMENTAL_FEATURES_SWIFT=true" >> $GITHUB_ENV
|
with:
|
||||||
- uses: ./../action/init
|
version: ${{ matrix.version }}
|
||||||
with:
|
use-all-platform-bundle: 'false'
|
||||||
languages: ruby
|
- uses: ./../action/init
|
||||||
tools: ${{ steps.prepare-test.outputs.tools-url }}
|
with:
|
||||||
- uses: ./../action/analyze
|
languages: ruby
|
||||||
id: analysis
|
tools: ${{ steps.prepare-test.outputs.tools-url }}
|
||||||
with:
|
- uses: ./../action/analyze
|
||||||
upload-database: false
|
id: analysis
|
||||||
- name: Check database
|
with:
|
||||||
shell: bash
|
upload-database: false
|
||||||
run: |
|
- name: Check database
|
||||||
RUBY_DB="${{ fromJson(steps.analysis.outputs.db-locations).ruby }}"
|
shell: bash
|
||||||
if [[ ! -d "$RUBY_DB" ]]; then
|
run: |
|
||||||
echo "Did not create a database for Ruby."
|
RUBY_DB="${{ fromJson(steps.analysis.outputs.db-locations).ruby }}"
|
||||||
exit 1
|
if [[ ! -d "$RUBY_DB" ]]; then
|
||||||
fi
|
echo "Did not create a database for Ruby."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
env:
|
env:
|
||||||
CODEQL_ACTION_TEST_MODE: true
|
CODEQL_ACTION_TEST_MODE: true
|
||||||
|
|||||||
114
.github/workflows/__scaling-reserved-ram.yml
generated
vendored
Normal file
114
.github/workflows/__scaling-reserved-ram.yml
generated
vendored
Normal file
@@ -0,0 +1,114 @@
|
|||||||
|
# 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
|
||||||
|
schedule:
|
||||||
|
- cron: '0 5 * * *'
|
||||||
|
workflow_dispatch: {}
|
||||||
|
jobs:
|
||||||
|
scaling-reserved-ram:
|
||||||
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
|
matrix:
|
||||||
|
include:
|
||||||
|
- os: ubuntu-20.04
|
||||||
|
version: stable-20230403
|
||||||
|
- os: macos-12
|
||||||
|
version: stable-20230403
|
||||||
|
- os: ubuntu-20.04
|
||||||
|
version: stable-v2.13.5
|
||||||
|
- os: macos-12
|
||||||
|
version: stable-v2.13.5
|
||||||
|
- os: ubuntu-20.04
|
||||||
|
version: stable-v2.14.6
|
||||||
|
- os: macos-12
|
||||||
|
version: stable-v2.14.6
|
||||||
|
- os: ubuntu-20.04
|
||||||
|
version: stable-v2.15.5
|
||||||
|
- os: macos-latest
|
||||||
|
version: stable-v2.15.5
|
||||||
|
- os: ubuntu-20.04
|
||||||
|
version: stable-v2.16.6
|
||||||
|
- os: macos-latest
|
||||||
|
version: stable-v2.16.6
|
||||||
|
- os: ubuntu-20.04
|
||||||
|
version: default
|
||||||
|
- os: macos-latest
|
||||||
|
version: default
|
||||||
|
- os: ubuntu-20.04
|
||||||
|
version: latest
|
||||||
|
- os: macos-latest
|
||||||
|
version: latest
|
||||||
|
- os: ubuntu-20.04
|
||||||
|
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: >-
|
||||||
|
runner.os == 'macOS' && (
|
||||||
|
|
||||||
|
matrix.version == 'stable-20230403' ||
|
||||||
|
|
||||||
|
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'
|
||||||
|
- uses: actions/setup-go@v5
|
||||||
|
with:
|
||||||
|
go-version: '>=1.21.0'
|
||||||
|
|
||||||
|
- 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
|
||||||
158
.github/workflows/__split-workflow.yml
generated
vendored
158
.github/workflows/__split-workflow.yml
generated
vendored
@@ -1,6 +1,6 @@
|
|||||||
# Warning: This file is generated automatically, and should not be modified.
|
# Warning: This file is generated automatically, and should not be modified.
|
||||||
# Instead, please modify the template in the pr-checks directory and run:
|
# Instead, please modify the template in the pr-checks directory and run:
|
||||||
# pip install ruamel.yaml && python3 sync.py
|
# (cd pr-checks; pip install ruamel.yaml@0.17.31 && python3 sync.py)
|
||||||
# to regenerate this file.
|
# to regenerate this file.
|
||||||
|
|
||||||
name: PR Check - Split workflow
|
name: PR Check - Split workflow
|
||||||
@@ -11,93 +11,101 @@ env:
|
|||||||
on:
|
on:
|
||||||
push:
|
push:
|
||||||
branches:
|
branches:
|
||||||
- main
|
- main
|
||||||
- releases/v2
|
- 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-20.04
|
||||||
version: latest
|
version: latest
|
||||||
- os: macos-latest
|
- os: macos-latest
|
||||||
version: latest
|
version: latest
|
||||||
- os: ubuntu-latest
|
- os: ubuntu-20.04
|
||||||
version: cached
|
version: default
|
||||||
- os: macos-latest
|
- os: macos-latest
|
||||||
version: cached
|
version: default
|
||||||
- os: ubuntu-latest
|
- os: ubuntu-20.04
|
||||||
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:
|
||||||
|
contents: read
|
||||||
|
security-events: write
|
||||||
timeout-minutes: 45
|
timeout-minutes: 45
|
||||||
runs-on: ${{ matrix.os }}
|
runs-on: ${{ matrix.os }}
|
||||||
steps:
|
steps:
|
||||||
- name: Check out repository
|
- name: Setup Python on MacOS
|
||||||
uses: actions/checkout@v3
|
uses: actions/setup-python@v5
|
||||||
- name: Prepare test
|
if: >-
|
||||||
id: prepare-test
|
runner.os == 'macOS' && (
|
||||||
uses: ./.github/actions/prepare-test
|
|
||||||
with:
|
|
||||||
version: ${{ matrix.version }}
|
|
||||||
- name: Set environment variable for Swift enablement
|
|
||||||
if: >-
|
|
||||||
runner.os != 'Windows' && (
|
|
||||||
matrix.version == '20220908' ||
|
|
||||||
matrix.version == '20221211' ||
|
|
||||||
matrix.version == 'cached' ||
|
|
||||||
matrix.version == 'latest' ||
|
|
||||||
matrix.version == 'nightly-latest'
|
|
||||||
)
|
|
||||||
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
|
matrix.version == 'stable-20230403' ||
|
||||||
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
|
matrix.version == 'stable-v2.13.5' ||
|
||||||
RULES="$(cat javascript.sarif | jq -r '.runs[0].results[].ruleId' | sort | tr "\n\r" " " | xargs)"
|
|
||||||
echo "Found matching rules '$RULES'"
|
matrix.version == 'stable-v2.14.6')
|
||||||
if [ "$RULES" != "$EXPECTED_RULES" ]; then
|
with:
|
||||||
echo "Did not match expected rules '$EXPECTED_RULES'."
|
python-version: '3.11'
|
||||||
exit 1
|
- name: Check out repository
|
||||||
fi
|
uses: actions/checkout@v4
|
||||||
|
- name: Prepare test
|
||||||
|
id: prepare-test
|
||||||
|
uses: ./.github/actions/prepare-test
|
||||||
|
with:
|
||||||
|
version: ${{ matrix.version }}
|
||||||
|
use-all-platform-bundle: 'false'
|
||||||
|
- 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
|
||||||
|
|||||||
92
.github/workflows/__submit-sarif-failure.yml
generated
vendored
92
.github/workflows/__submit-sarif-failure.yml
generated
vendored
@@ -1,6 +1,6 @@
|
|||||||
# Warning: This file is generated automatically, and should not be modified.
|
# Warning: This file is generated automatically, and should not be modified.
|
||||||
# Instead, please modify the template in the pr-checks directory and run:
|
# Instead, please modify the template in the pr-checks directory and run:
|
||||||
# pip install ruamel.yaml && python3 sync.py
|
# (cd pr-checks; pip install ruamel.yaml@0.17.31 && python3 sync.py)
|
||||||
# to regenerate this file.
|
# to regenerate this file.
|
||||||
|
|
||||||
name: PR Check - Submit SARIF after failure
|
name: PR Check - Submit SARIF after failure
|
||||||
@@ -11,65 +11,73 @@ env:
|
|||||||
on:
|
on:
|
||||||
push:
|
push:
|
||||||
branches:
|
branches:
|
||||||
- main
|
- main
|
||||||
- releases/v2
|
- 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-20.04
|
||||||
version: latest
|
version: latest
|
||||||
- os: ubuntu-latest
|
- os: ubuntu-20.04
|
||||||
version: cached
|
version: default
|
||||||
- os: ubuntu-latest
|
- os: ubuntu-20.04
|
||||||
version: nightly-latest
|
version: nightly-latest
|
||||||
name: Submit SARIF after failure
|
name: Submit SARIF after failure
|
||||||
|
permissions:
|
||||||
|
contents: read
|
||||||
|
security-events: write
|
||||||
timeout-minutes: 45
|
timeout-minutes: 45
|
||||||
runs-on: ${{ matrix.os }}
|
runs-on: ${{ matrix.os }}
|
||||||
steps:
|
steps:
|
||||||
- name: Check out repository
|
- name: Setup Python on MacOS
|
||||||
uses: actions/checkout@v3
|
uses: actions/setup-python@v5
|
||||||
- name: Prepare test
|
if: >-
|
||||||
id: prepare-test
|
runner.os == 'macOS' && (
|
||||||
uses: ./.github/actions/prepare-test
|
|
||||||
with:
|
matrix.version == 'stable-20230403' ||
|
||||||
version: ${{ matrix.version }}
|
|
||||||
- name: Set environment variable for Swift enablement
|
matrix.version == 'stable-v2.13.5' ||
|
||||||
if: >-
|
|
||||||
runner.os != 'Windows' && (
|
matrix.version == 'stable-v2.14.6')
|
||||||
matrix.version == '20220908' ||
|
with:
|
||||||
matrix.version == '20221211' ||
|
python-version: '3.11'
|
||||||
matrix.version == 'cached' ||
|
- name: Check out repository
|
||||||
matrix.version == 'latest' ||
|
uses: actions/checkout@v4
|
||||||
matrix.version == 'nightly-latest'
|
- name: Prepare test
|
||||||
)
|
id: prepare-test
|
||||||
shell: bash
|
uses: ./.github/actions/prepare-test
|
||||||
run: echo "CODEQL_ENABLE_EXPERIMENTAL_FEATURES_SWIFT=true" >> $GITHUB_ENV
|
with:
|
||||||
- uses: actions/checkout@v3
|
version: ${{ matrix.version }}
|
||||||
- uses: ./init
|
use-all-platform-bundle: 'false'
|
||||||
with:
|
- uses: actions/checkout@v4
|
||||||
languages: javascript
|
- uses: ./init
|
||||||
- name: Fail
|
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.
|
||||||
|
|||||||
134
.github/workflows/__swift-custom-build.yml
generated
vendored
134
.github/workflows/__swift-custom-build.yml
generated
vendored
@@ -1,6 +1,6 @@
|
|||||||
# Warning: This file is generated automatically, and should not be modified.
|
# Warning: This file is generated automatically, and should not be modified.
|
||||||
# Instead, please modify the template in the pr-checks directory and run:
|
# Instead, please modify the template in the pr-checks directory and run:
|
||||||
# pip install ruamel.yaml && python3 sync.py
|
# (cd pr-checks; pip install ruamel.yaml@0.17.31 && python3 sync.py)
|
||||||
# to regenerate this file.
|
# to regenerate this file.
|
||||||
|
|
||||||
name: PR Check - Swift analysis using a custom build command
|
name: PR Check - Swift analysis using a custom build command
|
||||||
@@ -11,80 +11,88 @@ env:
|
|||||||
on:
|
on:
|
||||||
push:
|
push:
|
||||||
branches:
|
branches:
|
||||||
- main
|
- main
|
||||||
- releases/v2
|
- 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: ubuntu-20.04
|
||||||
version: latest
|
version: latest
|
||||||
- os: macos-latest
|
- os: macos-latest
|
||||||
version: latest
|
version: latest
|
||||||
- os: ubuntu-latest
|
- os: ubuntu-20.04
|
||||||
version: cached
|
version: default
|
||||||
- os: macos-latest
|
- os: macos-latest
|
||||||
version: cached
|
version: default
|
||||||
- os: ubuntu-latest
|
- os: ubuntu-20.04
|
||||||
version: nightly-latest
|
version: nightly-latest
|
||||||
- os: macos-latest
|
- os: macos-latest
|
||||||
version: nightly-latest
|
version: nightly-latest
|
||||||
name: Swift analysis using a custom build command
|
name: Swift analysis using a custom build command
|
||||||
|
permissions:
|
||||||
|
contents: read
|
||||||
|
security-events: write
|
||||||
timeout-minutes: 45
|
timeout-minutes: 45
|
||||||
runs-on: ${{ matrix.os }}
|
runs-on: ${{ matrix.os }}
|
||||||
steps:
|
steps:
|
||||||
- name: Check out repository
|
- name: Setup Python on MacOS
|
||||||
uses: actions/checkout@v3
|
uses: actions/setup-python@v5
|
||||||
- name: Prepare test
|
if: >-
|
||||||
id: prepare-test
|
runner.os == 'macOS' && (
|
||||||
uses: ./.github/actions/prepare-test
|
|
||||||
with:
|
matrix.version == 'stable-20230403' ||
|
||||||
version: ${{ matrix.version }}
|
|
||||||
- name: Set environment variable for Swift enablement
|
matrix.version == 'stable-v2.13.5' ||
|
||||||
if: >-
|
|
||||||
runner.os != 'Windows' && (
|
matrix.version == 'stable-v2.14.6')
|
||||||
matrix.version == '20220908' ||
|
with:
|
||||||
matrix.version == '20221211' ||
|
python-version: '3.11'
|
||||||
matrix.version == 'cached' ||
|
- name: Check out repository
|
||||||
matrix.version == 'latest' ||
|
uses: actions/checkout@v4
|
||||||
matrix.version == 'nightly-latest'
|
- name: Prepare test
|
||||||
)
|
id: prepare-test
|
||||||
shell: bash
|
uses: ./.github/actions/prepare-test
|
||||||
run: echo "CODEQL_ENABLE_EXPERIMENTAL_FEATURES_SWIFT=true" >> $GITHUB_ENV
|
with:
|
||||||
- uses: ./../action/init
|
version: ${{ matrix.version }}
|
||||||
id: init
|
use-all-platform-bundle: 'false'
|
||||||
with:
|
- uses: ./../action/init
|
||||||
languages: swift
|
id: init
|
||||||
tools: ${{ steps.prepare-test.outputs.tools-url }}
|
with:
|
||||||
- uses: ./../action/.github/actions/setup-swift
|
languages: swift
|
||||||
with:
|
tools: ${{ steps.prepare-test.outputs.tools-url }}
|
||||||
codeql-path: ${{steps.init.outputs.codeql-path}}
|
- uses: ./../action/.github/actions/setup-swift
|
||||||
- name: Check working directory
|
with:
|
||||||
shell: bash
|
codeql-path: ${{steps.init.outputs.codeql-path}}
|
||||||
run: pwd
|
- name: Check working directory
|
||||||
- name: Build code
|
shell: bash
|
||||||
shell: bash
|
run: pwd
|
||||||
run: ./build.sh
|
- name: Build code
|
||||||
- uses: ./../action/analyze
|
shell: bash
|
||||||
id: analysis
|
run: ./build.sh
|
||||||
with:
|
- uses: ./../action/analyze
|
||||||
upload-database: false
|
id: analysis
|
||||||
- name: Check database
|
with:
|
||||||
shell: bash
|
upload-database: false
|
||||||
run: |
|
- name: Check database
|
||||||
SWIFT_DB="${{ fromJson(steps.analysis.outputs.db-locations).swift }}"
|
shell: bash
|
||||||
if [[ ! -d "$SWIFT_DB" ]]; then
|
run: |
|
||||||
echo "Did not create a database for Swift."
|
SWIFT_DB="${{ fromJson(steps.analysis.outputs.db-locations).swift }}"
|
||||||
exit 1
|
if [[ ! -d "$SWIFT_DB" ]]; then
|
||||||
fi
|
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
|
||||||
|
|||||||
112
.github/workflows/__test-autobuild-working-dir.yml
generated
vendored
112
.github/workflows/__test-autobuild-working-dir.yml
generated
vendored
@@ -1,6 +1,6 @@
|
|||||||
# Warning: This file is generated automatically, and should not be modified.
|
# Warning: This file is generated automatically, and should not be modified.
|
||||||
# Instead, please modify the template in the pr-checks directory and run:
|
# Instead, please modify the template in the pr-checks directory and run:
|
||||||
# pip install ruamel.yaml && python3 sync.py
|
# (cd pr-checks; pip install ruamel.yaml@0.17.31 && python3 sync.py)
|
||||||
# to regenerate this file.
|
# to regenerate this file.
|
||||||
|
|
||||||
name: PR Check - Autobuild working directory
|
name: PR Check - Autobuild working directory
|
||||||
@@ -11,68 +11,76 @@ env:
|
|||||||
on:
|
on:
|
||||||
push:
|
push:
|
||||||
branches:
|
branches:
|
||||||
- main
|
- main
|
||||||
- releases/v2
|
- 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-20.04
|
||||||
version: latest
|
version: latest
|
||||||
name: Autobuild working directory
|
name: Autobuild working directory
|
||||||
|
permissions:
|
||||||
|
contents: read
|
||||||
|
security-events: write
|
||||||
timeout-minutes: 45
|
timeout-minutes: 45
|
||||||
runs-on: ${{ matrix.os }}
|
runs-on: ${{ matrix.os }}
|
||||||
steps:
|
steps:
|
||||||
- name: Check out repository
|
- name: Setup Python on MacOS
|
||||||
uses: actions/checkout@v3
|
uses: actions/setup-python@v5
|
||||||
- name: Prepare test
|
if: >-
|
||||||
id: prepare-test
|
runner.os == 'macOS' && (
|
||||||
uses: ./.github/actions/prepare-test
|
|
||||||
with:
|
matrix.version == 'stable-20230403' ||
|
||||||
version: ${{ matrix.version }}
|
|
||||||
- name: Set environment variable for Swift enablement
|
matrix.version == 'stable-v2.13.5' ||
|
||||||
if: >-
|
|
||||||
runner.os != 'Windows' && (
|
matrix.version == 'stable-v2.14.6')
|
||||||
matrix.version == '20220908' ||
|
with:
|
||||||
matrix.version == '20221211' ||
|
python-version: '3.11'
|
||||||
matrix.version == 'cached' ||
|
- name: Check out repository
|
||||||
matrix.version == 'latest' ||
|
uses: actions/checkout@v4
|
||||||
matrix.version == 'nightly-latest'
|
- name: Prepare test
|
||||||
)
|
id: prepare-test
|
||||||
shell: bash
|
uses: ./.github/actions/prepare-test
|
||||||
run: echo "CODEQL_ENABLE_EXPERIMENTAL_FEATURES_SWIFT=true" >> $GITHUB_ENV
|
with:
|
||||||
- name: Test setup
|
version: ${{ matrix.version }}
|
||||||
shell: bash
|
use-all-platform-bundle: 'false'
|
||||||
run: |
|
- name: Test setup
|
||||||
# Make sure that Gradle build succeeds in autobuild-dir ...
|
shell: bash
|
||||||
cp -a ../action/tests/java-repo autobuild-dir
|
run: |
|
||||||
# ... and fails if attempted in the current directory
|
# Make sure that Gradle build succeeds in autobuild-dir ...
|
||||||
echo > build.gradle
|
cp -a ../action/tests/java-repo autobuild-dir
|
||||||
- uses: ./../action/init
|
# ... and fails if attempted in the current directory
|
||||||
with:
|
echo > build.gradle
|
||||||
languages: java
|
- uses: ./../action/init
|
||||||
tools: ${{ steps.prepare-test.outputs.tools-url }}
|
with:
|
||||||
- uses: ./../action/autobuild
|
languages: java
|
||||||
with:
|
tools: ${{ steps.prepare-test.outputs.tools-url }}
|
||||||
working-directory: autobuild-dir
|
- uses: ./../action/autobuild
|
||||||
- uses: ./../action/analyze
|
with:
|
||||||
with:
|
working-directory: autobuild-dir
|
||||||
upload-database: false
|
- uses: ./../action/analyze
|
||||||
- name: Check database
|
with:
|
||||||
shell: bash
|
upload-database: false
|
||||||
run: |
|
- name: Check database
|
||||||
cd "$RUNNER_TEMP/codeql_databases"
|
shell: bash
|
||||||
if [[ ! -d java ]]; then
|
run: |
|
||||||
echo "Did not find a Java database"
|
cd "$RUNNER_TEMP/codeql_databases"
|
||||||
exit 1
|
if [[ ! -d java ]]; then
|
||||||
fi
|
echo "Did not find a Java database"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
env:
|
env:
|
||||||
CODEQL_ACTION_TEST_MODE: true
|
CODEQL_ACTION_TEST_MODE: true
|
||||||
|
|||||||
100
.github/workflows/__test-local-codeql.yml
generated
vendored
100
.github/workflows/__test-local-codeql.yml
generated
vendored
@@ -1,6 +1,6 @@
|
|||||||
# Warning: This file is generated automatically, and should not be modified.
|
# Warning: This file is generated automatically, and should not be modified.
|
||||||
# Instead, please modify the template in the pr-checks directory and run:
|
# Instead, please modify the template in the pr-checks directory and run:
|
||||||
# pip install ruamel.yaml && python3 sync.py
|
# (cd pr-checks; pip install ruamel.yaml@0.17.31 && python3 sync.py)
|
||||||
# to regenerate this file.
|
# to regenerate this file.
|
||||||
|
|
||||||
name: PR Check - Local CodeQL bundle
|
name: PR Check - Local CodeQL bundle
|
||||||
@@ -11,62 +11,70 @@ env:
|
|||||||
on:
|
on:
|
||||||
push:
|
push:
|
||||||
branches:
|
branches:
|
||||||
- main
|
- main
|
||||||
- releases/v2
|
- 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-20.04
|
||||||
version: nightly-latest
|
version: nightly-latest
|
||||||
name: Local CodeQL bundle
|
name: Local CodeQL bundle
|
||||||
|
permissions:
|
||||||
|
contents: read
|
||||||
|
security-events: write
|
||||||
timeout-minutes: 45
|
timeout-minutes: 45
|
||||||
runs-on: ${{ matrix.os }}
|
runs-on: ${{ matrix.os }}
|
||||||
steps:
|
steps:
|
||||||
- name: Check out repository
|
- name: Setup Python on MacOS
|
||||||
uses: actions/checkout@v3
|
uses: actions/setup-python@v5
|
||||||
- name: Prepare test
|
if: >-
|
||||||
id: prepare-test
|
runner.os == 'macOS' && (
|
||||||
uses: ./.github/actions/prepare-test
|
|
||||||
with:
|
matrix.version == 'stable-20230403' ||
|
||||||
version: ${{ matrix.version }}
|
|
||||||
- name: Set environment variable for Swift enablement
|
matrix.version == 'stable-v2.13.5' ||
|
||||||
if: >-
|
|
||||||
runner.os != 'Windows' && (
|
matrix.version == 'stable-v2.14.6')
|
||||||
matrix.version == '20220908' ||
|
with:
|
||||||
matrix.version == '20221211' ||
|
python-version: '3.11'
|
||||||
matrix.version == 'cached' ||
|
- name: Check out repository
|
||||||
matrix.version == 'latest' ||
|
uses: actions/checkout@v4
|
||||||
matrix.version == 'nightly-latest'
|
- name: Prepare test
|
||||||
)
|
id: prepare-test
|
||||||
shell: bash
|
uses: ./.github/actions/prepare-test
|
||||||
run: echo "CODEQL_ENABLE_EXPERIMENTAL_FEATURES_SWIFT=true" >> $GITHUB_ENV
|
with:
|
||||||
- name: Fetch a CodeQL bundle
|
version: ${{ matrix.version }}
|
||||||
shell: bash
|
use-all-platform-bundle: 'false'
|
||||||
env:
|
- name: Fetch a CodeQL bundle
|
||||||
CODEQL_URL: ${{ steps.prepare-test.outputs.tools-url }}
|
shell: bash
|
||||||
run: |
|
env:
|
||||||
wget "$CODEQL_URL"
|
CODEQL_URL: ${{ steps.prepare-test.outputs.tools-url }}
|
||||||
- id: init
|
run: |
|
||||||
uses: ./../action/init
|
wget "$CODEQL_URL"
|
||||||
with:
|
- id: init
|
||||||
tools: ./codeql-bundle.tar.gz
|
uses: ./../action/init
|
||||||
- uses: ./../action/.github/actions/setup-swift
|
with:
|
||||||
with:
|
tools: ./codeql-bundle-linux64.tar.gz
|
||||||
codeql-path: ${{ steps.init.outputs.codeql-path }}
|
- 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
|
||||||
with:
|
run: ./build.sh
|
||||||
upload-database: false
|
- uses: ./../action/analyze
|
||||||
|
with:
|
||||||
|
upload-database: false
|
||||||
env:
|
env:
|
||||||
CODEQL_ACTION_TEST_MODE: true
|
CODEQL_ACTION_TEST_MODE: true
|
||||||
|
|||||||
78
.github/workflows/__test-proxy.yml
generated
vendored
78
.github/workflows/__test-proxy.yml
generated
vendored
@@ -1,6 +1,6 @@
|
|||||||
# Warning: This file is generated automatically, and should not be modified.
|
# Warning: This file is generated automatically, and should not be modified.
|
||||||
# Instead, please modify the template in the pr-checks directory and run:
|
# Instead, please modify the template in the pr-checks directory and run:
|
||||||
# pip install ruamel.yaml && python3 sync.py
|
# (cd pr-checks; pip install ruamel.yaml@0.17.31 && python3 sync.py)
|
||||||
# to regenerate this file.
|
# to regenerate this file.
|
||||||
|
|
||||||
name: PR Check - Proxy test
|
name: PR Check - Proxy test
|
||||||
@@ -11,51 +11,59 @@ env:
|
|||||||
on:
|
on:
|
||||||
push:
|
push:
|
||||||
branches:
|
branches:
|
||||||
- main
|
- main
|
||||||
- releases/v2
|
- 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-20.04
|
||||||
version: latest
|
version: latest
|
||||||
name: Proxy test
|
name: Proxy test
|
||||||
|
permissions:
|
||||||
|
contents: read
|
||||||
|
security-events: write
|
||||||
timeout-minutes: 45
|
timeout-minutes: 45
|
||||||
runs-on: ${{ matrix.os }}
|
runs-on: ${{ matrix.os }}
|
||||||
steps:
|
steps:
|
||||||
- name: Check out repository
|
- name: Setup Python on MacOS
|
||||||
uses: actions/checkout@v3
|
uses: actions/setup-python@v5
|
||||||
- name: Prepare test
|
if: >-
|
||||||
id: prepare-test
|
runner.os == 'macOS' && (
|
||||||
uses: ./.github/actions/prepare-test
|
|
||||||
with:
|
matrix.version == 'stable-20230403' ||
|
||||||
version: ${{ matrix.version }}
|
|
||||||
- name: Set environment variable for Swift enablement
|
matrix.version == 'stable-v2.13.5' ||
|
||||||
if: >-
|
|
||||||
runner.os != 'Windows' && (
|
matrix.version == 'stable-v2.14.6')
|
||||||
matrix.version == '20220908' ||
|
with:
|
||||||
matrix.version == '20221211' ||
|
python-version: '3.11'
|
||||||
matrix.version == 'cached' ||
|
- name: Check out repository
|
||||||
matrix.version == 'latest' ||
|
uses: actions/checkout@v4
|
||||||
matrix.version == 'nightly-latest'
|
- name: Prepare test
|
||||||
)
|
id: prepare-test
|
||||||
shell: bash
|
uses: ./.github/actions/prepare-test
|
||||||
run: echo "CODEQL_ENABLE_EXPERIMENTAL_FEATURES_SWIFT=true" >> $GITHUB_ENV
|
with:
|
||||||
- uses: ./../action/init
|
version: ${{ matrix.version }}
|
||||||
with:
|
use-all-platform-bundle: 'false'
|
||||||
languages: javascript
|
- uses: ./../action/init
|
||||||
tools: ${{ steps.prepare-test.outputs.tools-url }}
|
with:
|
||||||
- uses: ./../action/analyze
|
languages: javascript
|
||||||
with:
|
tools: ${{ steps.prepare-test.outputs.tools-url }}
|
||||||
upload-database: false
|
- 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
|
||||||
@@ -66,4 +74,4 @@ jobs:
|
|||||||
squid-proxy:
|
squid-proxy:
|
||||||
image: ubuntu/squid:latest
|
image: ubuntu/squid:latest
|
||||||
ports:
|
ports:
|
||||||
- 3128:3128
|
- 3128:3128
|
||||||
|
|||||||
196
.github/workflows/__unset-environment.yml
generated
vendored
196
.github/workflows/__unset-environment.yml
generated
vendored
@@ -1,6 +1,6 @@
|
|||||||
# Warning: This file is generated automatically, and should not be modified.
|
# Warning: This file is generated automatically, and should not be modified.
|
||||||
# Instead, please modify the template in the pr-checks directory and run:
|
# Instead, please modify the template in the pr-checks directory and run:
|
||||||
# pip install ruamel.yaml && python3 sync.py
|
# (cd pr-checks; pip install ruamel.yaml@0.17.31 && python3 sync.py)
|
||||||
# to regenerate this file.
|
# to regenerate this file.
|
||||||
|
|
||||||
name: PR Check - Test unsetting environment variables
|
name: PR Check - Test unsetting environment variables
|
||||||
@@ -11,111 +11,121 @@ env:
|
|||||||
on:
|
on:
|
||||||
push:
|
push:
|
||||||
branches:
|
branches:
|
||||||
- main
|
- main
|
||||||
- releases/v2
|
- 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-20.04
|
||||||
version: stable-20220401
|
version: stable-20230403
|
||||||
- os: ubuntu-latest
|
- os: ubuntu-20.04
|
||||||
version: stable-20220615
|
version: stable-v2.13.5
|
||||||
- os: ubuntu-latest
|
- os: ubuntu-20.04
|
||||||
version: stable-20220908
|
version: stable-v2.14.6
|
||||||
- os: ubuntu-latest
|
- os: ubuntu-20.04
|
||||||
version: stable-20221211
|
version: stable-v2.15.5
|
||||||
- os: ubuntu-latest
|
- os: ubuntu-20.04
|
||||||
version: cached
|
version: stable-v2.16.6
|
||||||
- os: ubuntu-latest
|
- os: ubuntu-20.04
|
||||||
version: latest
|
version: default
|
||||||
- os: ubuntu-latest
|
- os: ubuntu-20.04
|
||||||
version: nightly-latest
|
version: latest
|
||||||
|
- os: ubuntu-20.04
|
||||||
|
version: nightly-latest
|
||||||
name: Test unsetting environment variables
|
name: Test unsetting environment variables
|
||||||
|
permissions:
|
||||||
|
contents: read
|
||||||
|
security-events: write
|
||||||
timeout-minutes: 45
|
timeout-minutes: 45
|
||||||
runs-on: ${{ matrix.os }}
|
runs-on: ${{ matrix.os }}
|
||||||
steps:
|
steps:
|
||||||
- name: Check out repository
|
- name: Setup Python on MacOS
|
||||||
uses: actions/checkout@v3
|
uses: actions/setup-python@v5
|
||||||
- name: Prepare test
|
if: >-
|
||||||
id: prepare-test
|
runner.os == 'macOS' && (
|
||||||
uses: ./.github/actions/prepare-test
|
|
||||||
with:
|
matrix.version == 'stable-20230403' ||
|
||||||
version: ${{ matrix.version }}
|
|
||||||
- name: Set environment variable for Swift enablement
|
matrix.version == 'stable-v2.13.5' ||
|
||||||
if: >-
|
|
||||||
runner.os != 'Windows' && (
|
matrix.version == 'stable-v2.14.6')
|
||||||
matrix.version == '20220908' ||
|
with:
|
||||||
matrix.version == '20221211' ||
|
python-version: '3.11'
|
||||||
matrix.version == 'cached' ||
|
- name: Check out repository
|
||||||
matrix.version == 'latest' ||
|
uses: actions/checkout@v4
|
||||||
matrix.version == 'nightly-latest'
|
- name: Prepare test
|
||||||
)
|
id: prepare-test
|
||||||
shell: bash
|
uses: ./.github/actions/prepare-test
|
||||||
run: echo "CODEQL_ENABLE_EXPERIMENTAL_FEATURES_SWIFT=true" >> $GITHUB_ENV
|
with:
|
||||||
- uses: ./../action/init
|
version: ${{ matrix.version }}
|
||||||
id: init
|
use-all-platform-bundle: 'false'
|
||||||
with:
|
- uses: ./../action/init
|
||||||
db-location: ${{ runner.temp }}/customDbLocation
|
id: init
|
||||||
tools: ${{ steps.prepare-test.outputs.tools-url }}
|
with:
|
||||||
- uses: ./../action/.github/actions/setup-swift
|
db-location: ${{ runner.temp }}/customDbLocation
|
||||||
with:
|
tools: ${{ steps.prepare-test.outputs.tools-url }}
|
||||||
codeql-path: ${{ steps.init.outputs.codeql-path }}
|
- uses: ./../action/.github/actions/setup-swift
|
||||||
- name: Build code
|
with:
|
||||||
shell: bash
|
codeql-path: ${{ steps.init.outputs.codeql-path }}
|
||||||
|
- name: Build code
|
||||||
|
shell: bash
|
||||||
# Disable Kotlin analysis while it's incompatible with Kotlin 1.8, until we find a
|
# Disable Kotlin analysis while it's incompatible with Kotlin 1.8, until we find a
|
||||||
# workaround for our PR checks.
|
# workaround for our PR checks.
|
||||||
run: env -i CODEQL_EXTRACTOR_JAVA_AGENT_DISABLE_KOTLIN=true PATH="$PATH" HOME="$HOME"
|
run: env -i CODEQL_EXTRACTOR_JAVA_AGENT_DISABLE_KOTLIN=true PATH="$PATH" HOME="$HOME"
|
||||||
./build.sh
|
./build.sh
|
||||||
- uses: ./../action/analyze
|
- uses: ./../action/analyze
|
||||||
id: analysis
|
id: analysis
|
||||||
with:
|
with:
|
||||||
upload-database: false
|
upload-database: false
|
||||||
- shell: bash
|
- shell: bash
|
||||||
run: |
|
run: |
|
||||||
CPP_DB="${{ fromJson(steps.analysis.outputs.db-locations).cpp }}"
|
CPP_DB="${{ fromJson(steps.analysis.outputs.db-locations).cpp }}"
|
||||||
if [[ ! -d "$CPP_DB" ]] || [[ ! "$CPP_DB" == "${RUNNER_TEMP}/customDbLocation/cpp" ]]; then
|
if [[ ! -d "$CPP_DB" ]] || [[ ! "$CPP_DB" == "${RUNNER_TEMP}/customDbLocation/cpp" ]]; then
|
||||||
echo "::error::Did not create a database for CPP, or created it in the wrong location." \
|
echo "::error::Did not create a database for CPP, or created it in the wrong location." \
|
||||||
"Expected location was '${RUNNER_TEMP}/customDbLocation/cpp' but actual was '${CPP_DB}'"
|
"Expected location was '${RUNNER_TEMP}/customDbLocation/cpp' but actual was '${CPP_DB}'"
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
CSHARP_DB="${{ fromJson(steps.analysis.outputs.db-locations).csharp }}"
|
CSHARP_DB="${{ fromJson(steps.analysis.outputs.db-locations).csharp }}"
|
||||||
if [[ ! -d "$CSHARP_DB" ]] || [[ ! "$CSHARP_DB" == "${RUNNER_TEMP}/customDbLocation/csharp" ]]; then
|
if [[ ! -d "$CSHARP_DB" ]] || [[ ! "$CSHARP_DB" == "${RUNNER_TEMP}/customDbLocation/csharp" ]]; then
|
||||||
echo "::error::Did not create a database for C Sharp, or created it in the wrong location." \
|
echo "::error::Did not create a database for C Sharp, or created it in the wrong location." \
|
||||||
"Expected location was '${RUNNER_TEMP}/customDbLocation/csharp' but actual was '${CSHARP_DB}'"
|
"Expected location was '${RUNNER_TEMP}/customDbLocation/csharp' but actual was '${CSHARP_DB}'"
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
GO_DB="${{ fromJson(steps.analysis.outputs.db-locations).go }}"
|
GO_DB="${{ fromJson(steps.analysis.outputs.db-locations).go }}"
|
||||||
if [[ ! -d "$GO_DB" ]] || [[ ! "$GO_DB" == "${RUNNER_TEMP}/customDbLocation/go" ]]; then
|
if [[ ! -d "$GO_DB" ]] || [[ ! "$GO_DB" == "${RUNNER_TEMP}/customDbLocation/go" ]]; then
|
||||||
echo "::error::Did not create a database for Go, or created it in the wrong location." \
|
echo "::error::Did not create a database for Go, or created it in the wrong location." \
|
||||||
"Expected location was '${RUNNER_TEMP}/customDbLocation/go' but actual was '${GO_DB}'"
|
"Expected location was '${RUNNER_TEMP}/customDbLocation/go' but actual was '${GO_DB}'"
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
JAVA_DB="${{ fromJson(steps.analysis.outputs.db-locations).java }}"
|
JAVA_DB="${{ fromJson(steps.analysis.outputs.db-locations).java }}"
|
||||||
if [[ ! -d "$JAVA_DB" ]] || [[ ! "$JAVA_DB" == "${RUNNER_TEMP}/customDbLocation/java" ]]; then
|
if [[ ! -d "$JAVA_DB" ]] || [[ ! "$JAVA_DB" == "${RUNNER_TEMP}/customDbLocation/java" ]]; then
|
||||||
echo "::error::Did not create a database for Java, or created it in the wrong location." \
|
echo "::error::Did not create a database for Java, or created it in the wrong location." \
|
||||||
"Expected location was '${RUNNER_TEMP}/customDbLocation/java' but actual was '${JAVA_DB}'"
|
"Expected location was '${RUNNER_TEMP}/customDbLocation/java' but actual was '${JAVA_DB}'"
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
JAVASCRIPT_DB="${{ fromJson(steps.analysis.outputs.db-locations).javascript }}"
|
JAVASCRIPT_DB="${{ fromJson(steps.analysis.outputs.db-locations).javascript }}"
|
||||||
if [[ ! -d "$JAVASCRIPT_DB" ]] || [[ ! "$JAVASCRIPT_DB" == "${RUNNER_TEMP}/customDbLocation/javascript" ]]; then
|
if [[ ! -d "$JAVASCRIPT_DB" ]] || [[ ! "$JAVASCRIPT_DB" == "${RUNNER_TEMP}/customDbLocation/javascript" ]]; then
|
||||||
echo "::error::Did not create a database for Javascript, or created it in the wrong location." \
|
echo "::error::Did not create a database for Javascript, or created it in the wrong location." \
|
||||||
"Expected location was '${RUNNER_TEMP}/customDbLocation/javascript' but actual was '${JAVASCRIPT_DB}'"
|
"Expected location was '${RUNNER_TEMP}/customDbLocation/javascript' but actual was '${JAVASCRIPT_DB}'"
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
PYTHON_DB="${{ fromJson(steps.analysis.outputs.db-locations).python }}"
|
PYTHON_DB="${{ fromJson(steps.analysis.outputs.db-locations).python }}"
|
||||||
if [[ ! -d "$PYTHON_DB" ]] || [[ ! "$PYTHON_DB" == "${RUNNER_TEMP}/customDbLocation/python" ]]; then
|
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." \
|
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}'"
|
"Expected location was '${RUNNER_TEMP}/customDbLocation/python' but actual was '${PYTHON_DB}'"
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
env:
|
env:
|
||||||
CODEQL_ACTION_TEST_MODE: true
|
CODEQL_ACTION_TEST_MODE: true
|
||||||
|
|||||||
144
.github/workflows/__upload-ref-sha-input.yml
generated
vendored
144
.github/workflows/__upload-ref-sha-input.yml
generated
vendored
@@ -1,6 +1,6 @@
|
|||||||
# Warning: This file is generated automatically, and should not be modified.
|
# Warning: This file is generated automatically, and should not be modified.
|
||||||
# Instead, please modify the template in the pr-checks directory and run:
|
# Instead, please modify the template in the pr-checks directory and run:
|
||||||
# pip install ruamel.yaml && python3 sync.py
|
# (cd pr-checks; pip install ruamel.yaml@0.17.31 && python3 sync.py)
|
||||||
# to regenerate this file.
|
# to regenerate this file.
|
||||||
|
|
||||||
name: "PR Check - Upload-sarif: 'ref' and 'sha' from inputs"
|
name: "PR Check - Upload-sarif: 'ref' and 'sha' from inputs"
|
||||||
@@ -11,102 +11,74 @@ env:
|
|||||||
on:
|
on:
|
||||||
push:
|
push:
|
||||||
branches:
|
branches:
|
||||||
- main
|
- main
|
||||||
- releases/v2
|
- 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-20.04
|
||||||
version: stable-20220401
|
version: default
|
||||||
- os: macos-latest
|
- os: macos-latest
|
||||||
version: stable-20220401
|
version: default
|
||||||
- os: windows-latest
|
- os: windows-latest
|
||||||
version: stable-20220401
|
version: default
|
||||||
- os: ubuntu-latest
|
|
||||||
version: stable-20220615
|
|
||||||
- os: macos-latest
|
|
||||||
version: stable-20220615
|
|
||||||
- os: windows-latest
|
|
||||||
version: stable-20220615
|
|
||||||
- os: ubuntu-latest
|
|
||||||
version: stable-20220908
|
|
||||||
- os: macos-latest
|
|
||||||
version: stable-20220908
|
|
||||||
- os: windows-latest
|
|
||||||
version: stable-20220908
|
|
||||||
- os: ubuntu-latest
|
|
||||||
version: stable-20221211
|
|
||||||
- os: macos-latest
|
|
||||||
version: stable-20221211
|
|
||||||
- os: windows-latest
|
|
||||||
version: stable-20221211
|
|
||||||
- os: ubuntu-latest
|
|
||||||
version: cached
|
|
||||||
- os: macos-latest
|
|
||||||
version: cached
|
|
||||||
- os: windows-latest
|
|
||||||
version: cached
|
|
||||||
- os: ubuntu-latest
|
|
||||||
version: latest
|
|
||||||
- os: macos-latest
|
|
||||||
version: latest
|
|
||||||
- os: windows-latest
|
|
||||||
version: latest
|
|
||||||
- os: ubuntu-latest
|
|
||||||
version: nightly-latest
|
|
||||||
- os: macos-latest
|
|
||||||
version: nightly-latest
|
|
||||||
- os: windows-latest
|
|
||||||
version: nightly-latest
|
|
||||||
name: "Upload-sarif: 'ref' and 'sha' from inputs"
|
name: "Upload-sarif: 'ref' and 'sha' from inputs"
|
||||||
|
permissions:
|
||||||
|
contents: read
|
||||||
|
security-events: write
|
||||||
timeout-minutes: 45
|
timeout-minutes: 45
|
||||||
runs-on: ${{ matrix.os }}
|
runs-on: ${{ matrix.os }}
|
||||||
steps:
|
steps:
|
||||||
- name: Check out repository
|
- name: Setup Python on MacOS
|
||||||
uses: actions/checkout@v3
|
uses: actions/setup-python@v5
|
||||||
- name: Prepare test
|
if: >-
|
||||||
id: prepare-test
|
runner.os == 'macOS' && (
|
||||||
uses: ./.github/actions/prepare-test
|
|
||||||
with:
|
matrix.version == 'stable-20230403' ||
|
||||||
version: ${{ matrix.version }}
|
|
||||||
- name: Set environment variable for Swift enablement
|
matrix.version == 'stable-v2.13.5' ||
|
||||||
if: >-
|
|
||||||
runner.os != 'Windows' && (
|
matrix.version == 'stable-v2.14.6')
|
||||||
matrix.version == '20220908' ||
|
with:
|
||||||
matrix.version == '20221211' ||
|
python-version: '3.11'
|
||||||
matrix.version == 'cached' ||
|
- name: Check out repository
|
||||||
matrix.version == 'latest' ||
|
uses: actions/checkout@v4
|
||||||
matrix.version == 'nightly-latest'
|
- name: Prepare test
|
||||||
)
|
id: prepare-test
|
||||||
shell: bash
|
uses: ./.github/actions/prepare-test
|
||||||
run: echo "CODEQL_ENABLE_EXPERIMENTAL_FEATURES_SWIFT=true" >> $GITHUB_ENV
|
with:
|
||||||
- uses: ./../action/init
|
version: ${{ matrix.version }}
|
||||||
with:
|
use-all-platform-bundle: 'false'
|
||||||
tools: ${{ steps.prepare-test.outputs.tools-url }}
|
- uses: ./../action/init
|
||||||
languages: cpp,csharp,java,javascript,python
|
with:
|
||||||
config-file: ${{ github.repository }}/tests/multi-language-repo/.github/codeql/custom-queries.yml@${{
|
tools: ${{ steps.prepare-test.outputs.tools-url }}
|
||||||
github.sha }}
|
languages: cpp,csharp,java,javascript,python
|
||||||
- name: Build code
|
config-file: ${{ github.repository }}/tests/multi-language-repo/.github/codeql/custom-queries.yml@${{
|
||||||
shell: bash
|
github.sha }}
|
||||||
run: ./build.sh
|
- name: Build code
|
||||||
- uses: ./../action/analyze
|
shell: bash
|
||||||
with:
|
run: ./build.sh
|
||||||
upload-database: false
|
- uses: ./../action/analyze
|
||||||
ref: refs/heads/main
|
with:
|
||||||
sha: 5e235361806c361d4d3f8859e3c897658025a9a2
|
upload-database: false
|
||||||
upload: never
|
ref: refs/heads/main
|
||||||
- uses: ./../action/upload-sarif
|
sha: 5e235361806c361d4d3f8859e3c897658025a9a2
|
||||||
with:
|
upload: never
|
||||||
ref: refs/heads/main
|
- uses: ./../action/upload-sarif
|
||||||
sha: 5e235361806c361d4d3f8859e3c897658025a9a2
|
with:
|
||||||
|
ref: refs/heads/main
|
||||||
|
sha: 5e235361806c361d4d3f8859e3c897658025a9a2
|
||||||
env:
|
env:
|
||||||
CODEQL_ACTION_TEST_MODE: true
|
CODEQL_ACTION_TEST_MODE: true
|
||||||
|
|||||||
224
.github/workflows/__with-checkout-path.yml
generated
vendored
224
.github/workflows/__with-checkout-path.yml
generated
vendored
@@ -1,6 +1,6 @@
|
|||||||
# Warning: This file is generated automatically, and should not be modified.
|
# Warning: This file is generated automatically, and should not be modified.
|
||||||
# Instead, please modify the template in the pr-checks directory and run:
|
# Instead, please modify the template in the pr-checks directory and run:
|
||||||
# pip install ruamel.yaml && python3 sync.py
|
# (cd pr-checks; pip install ruamel.yaml@0.17.31 && python3 sync.py)
|
||||||
# to regenerate this file.
|
# to regenerate this file.
|
||||||
|
|
||||||
name: PR Check - Use a custom `checkout_path`
|
name: PR Check - Use a custom `checkout_path`
|
||||||
@@ -11,146 +11,124 @@ env:
|
|||||||
on:
|
on:
|
||||||
push:
|
push:
|
||||||
branches:
|
branches:
|
||||||
- main
|
- main
|
||||||
- releases/v2
|
- 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-20.04
|
||||||
version: stable-20220401
|
version: latest
|
||||||
- os: macos-latest
|
- os: macos-latest
|
||||||
version: stable-20220401
|
version: latest
|
||||||
- os: windows-latest
|
- os: windows-latest
|
||||||
version: stable-20220401
|
version: latest
|
||||||
- os: ubuntu-latest
|
|
||||||
version: stable-20220615
|
|
||||||
- os: macos-latest
|
|
||||||
version: stable-20220615
|
|
||||||
- os: windows-latest
|
|
||||||
version: stable-20220615
|
|
||||||
- os: ubuntu-latest
|
|
||||||
version: stable-20220908
|
|
||||||
- os: macos-latest
|
|
||||||
version: stable-20220908
|
|
||||||
- os: windows-latest
|
|
||||||
version: stable-20220908
|
|
||||||
- os: ubuntu-latest
|
|
||||||
version: stable-20221211
|
|
||||||
- os: macos-latest
|
|
||||||
version: stable-20221211
|
|
||||||
- os: windows-latest
|
|
||||||
version: stable-20221211
|
|
||||||
- os: ubuntu-latest
|
|
||||||
version: cached
|
|
||||||
- os: macos-latest
|
|
||||||
version: cached
|
|
||||||
- os: windows-latest
|
|
||||||
version: cached
|
|
||||||
- os: ubuntu-latest
|
|
||||||
version: latest
|
|
||||||
- os: macos-latest
|
|
||||||
version: latest
|
|
||||||
- os: windows-latest
|
|
||||||
version: latest
|
|
||||||
- os: ubuntu-latest
|
|
||||||
version: nightly-latest
|
|
||||||
- os: macos-latest
|
|
||||||
version: nightly-latest
|
|
||||||
- os: windows-latest
|
|
||||||
version: nightly-latest
|
|
||||||
name: Use a custom `checkout_path`
|
name: Use a custom `checkout_path`
|
||||||
|
permissions:
|
||||||
|
contents: read
|
||||||
|
security-events: write
|
||||||
timeout-minutes: 45
|
timeout-minutes: 45
|
||||||
runs-on: ${{ matrix.os }}
|
runs-on: ${{ matrix.os }}
|
||||||
steps:
|
steps:
|
||||||
- name: Check out repository
|
- name: Setup Python on MacOS
|
||||||
uses: actions/checkout@v3
|
uses: actions/setup-python@v5
|
||||||
- name: Prepare test
|
if: >-
|
||||||
id: prepare-test
|
runner.os == 'macOS' && (
|
||||||
uses: ./.github/actions/prepare-test
|
|
||||||
with:
|
matrix.version == 'stable-20230403' ||
|
||||||
version: ${{ matrix.version }}
|
|
||||||
- name: Set environment variable for Swift enablement
|
matrix.version == 'stable-v2.13.5' ||
|
||||||
if: >-
|
|
||||||
runner.os != 'Windows' && (
|
matrix.version == 'stable-v2.14.6')
|
||||||
matrix.version == '20220908' ||
|
with:
|
||||||
matrix.version == '20221211' ||
|
python-version: '3.11'
|
||||||
matrix.version == 'cached' ||
|
- name: Check out repository
|
||||||
matrix.version == 'latest' ||
|
uses: actions/checkout@v4
|
||||||
matrix.version == 'nightly-latest'
|
- name: Prepare test
|
||||||
)
|
id: prepare-test
|
||||||
shell: bash
|
uses: ./.github/actions/prepare-test
|
||||||
run: echo "CODEQL_ENABLE_EXPERIMENTAL_FEATURES_SWIFT=true" >> $GITHUB_ENV
|
with:
|
||||||
- uses: actions/checkout@v3
|
version: ${{ matrix.version }}
|
||||||
with:
|
use-all-platform-bundle: 'false'
|
||||||
ref: 474bbf07f9247ffe1856c6a0f94aeeb10e7afee6
|
- name: Delete original checkout
|
||||||
path: x/y/z/some-path
|
shell: bash
|
||||||
- uses: ./../action/init
|
run: |
|
||||||
with:
|
# delete the original checkout so we don't accidentally use it.
|
||||||
tools: ${{ steps.prepare-test.outputs.tools-url }}
|
# 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.
|
||||||
|
# choose an arbitrary SHA so that we can later test that the commit_oid is not from main
|
||||||
|
- uses: actions/checkout@v4
|
||||||
|
with:
|
||||||
|
ref: 474bbf07f9247ffe1856c6a0f94aeeb10e7afee6
|
||||||
|
path: x/y/z/some-path
|
||||||
|
|
||||||
|
- uses: ./../action/init
|
||||||
|
with:
|
||||||
|
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-path: x/y/z/some-path/tests/multi-language-repo
|
source-root: x/y/z/some-path/tests/multi-language-repo
|
||||||
debug: true
|
|
||||||
- name: Build code (non-windows)
|
|
||||||
shell: bash
|
|
||||||
if: ${{ runner.os != 'Windows' }}
|
|
||||||
run: |
|
|
||||||
$CODEQL_RUNNER x/y/z/some-path/tests/multi-language-repo/build.sh
|
|
||||||
- name: Build code (windows)
|
|
||||||
shell: bash
|
|
||||||
if: ${{ runner.os == 'Windows' }}
|
|
||||||
run: |
|
|
||||||
x/y/z/some-path/tests/multi-language-repo/build.sh
|
|
||||||
- uses: ./../action/analyze
|
|
||||||
with:
|
|
||||||
checkout_path: x/y/z/some-path/tests/multi-language-repo
|
|
||||||
ref: v1.1.0
|
|
||||||
sha: 474bbf07f9247ffe1856c6a0f94aeeb10e7afee6
|
|
||||||
upload: never
|
|
||||||
upload-database: false
|
|
||||||
|
|
||||||
- uses: ./../action/upload-sarif
|
- name: Build code
|
||||||
with:
|
shell: bash
|
||||||
ref: v1.1.0
|
working-directory: x/y/z/some-path/tests/multi-language-repo
|
||||||
sha: 474bbf07f9247ffe1856c6a0f94aeeb10e7afee6
|
run: |
|
||||||
checkout_path: x/y/z/some-path/tests/multi-language-repo
|
./build.sh
|
||||||
|
|
||||||
- name: Verify SARIF after upload
|
- uses: ./../action/analyze
|
||||||
shell: bash
|
with:
|
||||||
run: |
|
checkout_path: x/y/z/some-path/tests/multi-language-repo
|
||||||
EXPECTED_COMMIT_OID="474bbf07f9247ffe1856c6a0f94aeeb10e7afee6"
|
ref: v1.1.0
|
||||||
EXPECTED_REF="v1.1.0"
|
sha: 474bbf07f9247ffe1856c6a0f94aeeb10e7afee6
|
||||||
EXPECTED_CHECKOUT_URI_SUFFIX="/x/y/z/some-path/tests/multi-language-repo"
|
upload: never
|
||||||
|
upload-database: false
|
||||||
|
|
||||||
ACTUAL_COMMIT_OID="$(cat "$RUNNER_TEMP/payload.json" | jq -r .commit_oid)"
|
- uses: ./../action/upload-sarif
|
||||||
ACTUAL_REF="$(cat "$RUNNER_TEMP/payload.json" | jq -r .ref)"
|
with:
|
||||||
ACTUAL_CHECKOUT_URI="$(cat "$RUNNER_TEMP/payload.json" | jq -r .checkout_uri)"
|
ref: v1.1.0
|
||||||
|
sha: 474bbf07f9247ffe1856c6a0f94aeeb10e7afee6
|
||||||
|
checkout_path: x/y/z/some-path/tests/multi-language-repo
|
||||||
|
|
||||||
if [[ "$EXPECTED_COMMIT_OID" != "$ACTUAL_COMMIT_OID" ]]; then
|
- name: Verify SARIF after upload
|
||||||
echo "::error Invalid commit oid. Expected: $EXPECTED_COMMIT_OID Actual: $ACTUAL_COMMIT_OID"
|
shell: bash
|
||||||
echo "$RUNNER_TEMP/payload.json"
|
run: |
|
||||||
exit 1
|
EXPECTED_COMMIT_OID="474bbf07f9247ffe1856c6a0f94aeeb10e7afee6"
|
||||||
fi
|
EXPECTED_REF="v1.1.0"
|
||||||
|
EXPECTED_CHECKOUT_URI_SUFFIX="/x/y/z/some-path/tests/multi-language-repo"
|
||||||
|
|
||||||
if [[ "$EXPECTED_REF" != "$ACTUAL_REF" ]]; then
|
ACTUAL_COMMIT_OID="$(cat "$RUNNER_TEMP/payload.json" | jq -r .commit_oid)"
|
||||||
echo "::error Invalid ref. Expected: '$EXPECTED_REF' Actual: '$ACTUAL_REF'"
|
ACTUAL_REF="$(cat "$RUNNER_TEMP/payload.json" | jq -r .ref)"
|
||||||
echo "$RUNNER_TEMP/payload.json"
|
ACTUAL_CHECKOUT_URI="$(cat "$RUNNER_TEMP/payload.json" | jq -r .checkout_uri)"
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [[ "$ACTUAL_CHECKOUT_URI" != *$EXPECTED_CHECKOUT_URI_SUFFIX ]]; then
|
if [[ "$EXPECTED_COMMIT_OID" != "$ACTUAL_COMMIT_OID" ]]; then
|
||||||
echo "::error Invalid checkout URI suffix. Expected suffix: $EXPECTED_CHECKOUT_URI_SUFFIX Actual uri: $ACTUAL_CHECKOUT_URI"
|
echo "::error Invalid commit oid. Expected: $EXPECTED_COMMIT_OID Actual: $ACTUAL_COMMIT_OID"
|
||||||
echo "$RUNNER_TEMP/payload.json"
|
echo "$RUNNER_TEMP/payload.json"
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
if [[ "$EXPECTED_REF" != "$ACTUAL_REF" ]]; then
|
||||||
|
echo "::error Invalid ref. Expected: '$EXPECTED_REF' Actual: '$ACTUAL_REF'"
|
||||||
|
echo "$RUNNER_TEMP/payload.json"
|
||||||
|
exit 1
|
||||||
|
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
|
||||||
|
|||||||
@@ -15,7 +15,7 @@ jobs:
|
|||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout CodeQL Action
|
- name: Checkout CodeQL Action
|
||||||
uses: actions/checkout@v3
|
uses: actions/checkout@v4
|
||||||
- name: Check Expected Release Files
|
- name: Check Expected Release Files
|
||||||
run: |
|
run: |
|
||||||
bundle_version="$(cat "./src/defaults.json" | jq -r ".bundleVersion")"
|
bundle_version="$(cat "./src/defaults.json" | jq -r ".bundleVersion")"
|
||||||
|
|||||||
12
.github/workflows/codeql.yml
vendored
12
.github/workflows/codeql.yml
vendored
@@ -2,15 +2,16 @@ name: "CodeQL action"
|
|||||||
|
|
||||||
on:
|
on:
|
||||||
push:
|
push:
|
||||||
branches: [main, releases/v2]
|
branches: [main, releases/v*]
|
||||||
pull_request:
|
pull_request:
|
||||||
branches: [main, releases/v2]
|
branches: [main, releases/v*]
|
||||||
# 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.
|
||||||
types: [opened, synchronize, reopened, ready_for_review]
|
types: [opened, synchronize, reopened, ready_for_review]
|
||||||
schedule:
|
schedule:
|
||||||
# Weekly on Sunday.
|
# Weekly on Sunday.
|
||||||
- cron: '30 1 * * 0'
|
- cron: '30 1 * * 0'
|
||||||
|
workflow_dispatch:
|
||||||
|
|
||||||
env:
|
env:
|
||||||
CODEQL_ACTION_TESTING_ENVIRONMENT: codeql-action-pr-checks
|
CODEQL_ACTION_TESTING_ENVIRONMENT: codeql-action-pr-checks
|
||||||
@@ -26,7 +27,7 @@ jobs:
|
|||||||
security-events: write
|
security-events: write
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v3
|
- uses: actions/checkout@v4
|
||||||
- name: Init with default CodeQL bundle from the VM image
|
- name: Init with default CodeQL bundle from the VM image
|
||||||
id: init-default
|
id: init-default
|
||||||
uses: ./init
|
uses: ./init
|
||||||
@@ -72,8 +73,9 @@ jobs:
|
|||||||
build:
|
build:
|
||||||
needs: [check-codeql-versions]
|
needs: [check-codeql-versions]
|
||||||
strategy:
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
os: [ubuntu-latest,windows-latest,macos-latest]
|
os: [ubuntu-20.04,ubuntu-22.04,windows-2019,windows-2022,macos-11,macos-12,macos-13]
|
||||||
tools: ${{ fromJson(needs.check-codeql-versions.outputs.versions) }}
|
tools: ${{ fromJson(needs.check-codeql-versions.outputs.versions) }}
|
||||||
runs-on: ${{ matrix.os }}
|
runs-on: ${{ matrix.os }}
|
||||||
|
|
||||||
@@ -82,7 +84,7 @@ jobs:
|
|||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout
|
- name: Checkout
|
||||||
uses: actions/checkout@v3
|
uses: actions/checkout@v4
|
||||||
- name: Initialize CodeQL
|
- name: Initialize CodeQL
|
||||||
uses: ./init
|
uses: ./init
|
||||||
id: init
|
id: init
|
||||||
|
|||||||
24
.github/workflows/codescanning-config-cli.yml
vendored
24
.github/workflows/codescanning-config-cli.yml
vendored
@@ -3,19 +3,20 @@
|
|||||||
name: Code-Scanning config CLI tests
|
name: Code-Scanning config CLI tests
|
||||||
env:
|
env:
|
||||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
CODEQL_PASS_CONFIG_TO_CLI: true
|
|
||||||
|
|
||||||
on:
|
on:
|
||||||
push:
|
push:
|
||||||
branches:
|
branches:
|
||||||
- main
|
- main
|
||||||
- releases/v2
|
- 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:
|
||||||
@@ -23,6 +24,7 @@ jobs:
|
|||||||
continue-on-error: true
|
continue-on-error: true
|
||||||
|
|
||||||
strategy:
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
include:
|
include:
|
||||||
- os: ubuntu-latest
|
- os: ubuntu-latest
|
||||||
@@ -30,9 +32,9 @@ jobs:
|
|||||||
- os: macos-latest
|
- os: macos-latest
|
||||||
version: latest
|
version: latest
|
||||||
- os: ubuntu-latest
|
- os: ubuntu-latest
|
||||||
version: cached
|
version: default
|
||||||
- os: macos-latest
|
- os: macos-latest
|
||||||
version: cached
|
version: default
|
||||||
- os: ubuntu-latest
|
- os: ubuntu-latest
|
||||||
version: nightly-latest
|
version: nightly-latest
|
||||||
- os: macos-latest
|
- os: macos-latest
|
||||||
@@ -44,7 +46,7 @@ jobs:
|
|||||||
runs-on: ${{ matrix.os }}
|
runs-on: ${{ matrix.os }}
|
||||||
steps:
|
steps:
|
||||||
- name: Check out repository
|
- name: Check out repository
|
||||||
uses: actions/checkout@v3
|
uses: actions/checkout@v4
|
||||||
- name: Prepare test
|
- name: Prepare test
|
||||||
id: prepare-test
|
id: prepare-test
|
||||||
uses: ./.github/actions/prepare-test
|
uses: ./.github/actions/prepare-test
|
||||||
@@ -204,15 +206,3 @@ jobs:
|
|||||||
packs: + codeql/javascript-queries
|
packs: + codeql/javascript-queries
|
||||||
config-file-test: .github/codeql/other-config-properties.yml
|
config-file-test: .github/codeql/other-config-properties.yml
|
||||||
tools: ${{ steps.prepare-test.outputs.tools-url }}
|
tools: ${{ steps.prepare-test.outputs.tools-url }}
|
||||||
|
|
||||||
- name: Config not generated when env var is not set
|
|
||||||
if: success() || failure()
|
|
||||||
env:
|
|
||||||
CODEQL_PASS_CONFIG_TO_CLI: false
|
|
||||||
uses: ./../action/.github/actions/check-codescanning-config
|
|
||||||
with:
|
|
||||||
expected-config-file-contents: ""
|
|
||||||
languages: javascript
|
|
||||||
packs: + codeql/javascript-queries
|
|
||||||
config-file-test: .github/codeql/other-config-properties.yml
|
|
||||||
tools: ${{ steps.prepare-test.outputs.tools-url }}
|
|
||||||
|
|||||||
55
.github/workflows/debug-artifacts-failure.yml
vendored
55
.github/workflows/debug-artifacts-failure.yml
vendored
@@ -10,36 +10,35 @@ on:
|
|||||||
push:
|
push:
|
||||||
branches:
|
branches:
|
||||||
- main
|
- main
|
||||||
- releases/v2
|
- 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-artifacts:
|
upload-artifacts:
|
||||||
strategy:
|
|
||||||
matrix:
|
|
||||||
os: [ubuntu-latest, macos-latest]
|
|
||||||
name: Upload debug artifacts after failure in analyze
|
name: Upload debug artifacts after failure in analyze
|
||||||
continue-on-error: true
|
continue-on-error: true
|
||||||
env:
|
env:
|
||||||
CODEQL_ACTION_TEST_MODE: true
|
CODEQL_ACTION_TEST_MODE: true
|
||||||
timeout-minutes: 45
|
timeout-minutes: 45
|
||||||
runs-on: ${{ matrix.os }}
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- name: Dump GitHub event
|
- name: Dump GitHub event
|
||||||
run: cat "${GITHUB_EVENT_PATH}"
|
run: cat "${GITHUB_EVENT_PATH}"
|
||||||
- name: Check out repository
|
- name: Check out repository
|
||||||
uses: actions/checkout@v3
|
uses: actions/checkout@v4
|
||||||
- name: Prepare test
|
- name: Prepare test
|
||||||
id: prepare-test
|
id: prepare-test
|
||||||
uses: ./.github/actions/prepare-test
|
uses: ./.github/actions/prepare-test
|
||||||
with:
|
with:
|
||||||
version: latest
|
version: latest
|
||||||
- uses: actions/setup-go@v4
|
- uses: actions/setup-go@v5
|
||||||
with:
|
with:
|
||||||
go-version: ^1.13.1
|
go-version: ^1.13.1
|
||||||
- uses: ./../action/init
|
- uses: ./../action/init
|
||||||
@@ -52,10 +51,12 @@ jobs:
|
|||||||
shell: bash
|
shell: bash
|
||||||
run: ./build.sh
|
run: ./build.sh
|
||||||
- uses: ./../action/analyze
|
- uses: ./../action/analyze
|
||||||
id: analysis
|
id: analysis
|
||||||
|
env:
|
||||||
|
# Forces a failure in this step.
|
||||||
|
CODEQL_ACTION_EXTRA_OPTIONS: '{ "database": { "finalize": ["--invalid-option"] } }'
|
||||||
with:
|
with:
|
||||||
expect-error: true
|
expect-error: true
|
||||||
ram: 1
|
|
||||||
download-and-check-artifacts:
|
download-and-check-artifacts:
|
||||||
name: Download and check debug artifacts after failure in analyze
|
name: Download and check debug artifacts after failure in analyze
|
||||||
needs: upload-artifacts
|
needs: upload-artifacts
|
||||||
@@ -67,27 +68,23 @@ jobs:
|
|||||||
- name: Check expected artifacts exist
|
- name: Check expected artifacts exist
|
||||||
shell: bash
|
shell: bash
|
||||||
run: |
|
run: |
|
||||||
OPERATING_SYSTEMS="ubuntu-latest macos-latest"
|
|
||||||
LANGUAGES="cpp csharp go java javascript python"
|
LANGUAGES="cpp csharp go java javascript python"
|
||||||
for os in $OPERATING_SYSTEMS; do
|
cd "./my-debug-artifacts"
|
||||||
pushd "./my-debug-artifacts-$os"
|
echo "Artifacts from run:"
|
||||||
echo "Artifacts from run on $os:"
|
for language in $LANGUAGES; do
|
||||||
for language in $LANGUAGES; do
|
echo "- Checking $language"
|
||||||
echo "- Checking $language"
|
if [[ ! -f "my-db-$language-partial.zip" ]] ; then
|
||||||
if [[ ! -f "my-db-$language-partial.zip" ]] ; then
|
echo "Missing a partial database bundle for $language"
|
||||||
echo "Missing a partial database bundle for $language"
|
exit 1
|
||||||
exit 1
|
fi
|
||||||
fi
|
if [[ ! -d "log" ]] ; then
|
||||||
if [[ ! -d "log" ]] ; then
|
echo "Missing database initialization logs"
|
||||||
echo "Missing database initialization logs"
|
exit 1
|
||||||
exit 1
|
fi
|
||||||
fi
|
if [[ ! "$language" == "go" ]] && [[ ! -d "$language/log" ]] ; then
|
||||||
if [[ ! "$language" == "go" ]] && [[ ! -d "$language/log" ]] ; then
|
echo "Missing logs for $language"
|
||||||
echo "Missing logs for $language"
|
exit 1
|
||||||
exit 1
|
fi
|
||||||
fi
|
|
||||||
done
|
|
||||||
popd
|
|
||||||
done
|
done
|
||||||
env:
|
env:
|
||||||
GO111MODULE: auto
|
GO111MODULE: auto
|
||||||
|
|||||||
69
.github/workflows/debug-artifacts.yml
vendored
69
.github/workflows/debug-artifacts.yml
vendored
@@ -9,56 +9,61 @@ on:
|
|||||||
push:
|
push:
|
||||||
branches:
|
branches:
|
||||||
- main
|
- main
|
||||||
- releases/v2
|
- 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-artifacts:
|
upload-artifacts:
|
||||||
strategy:
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
os:
|
|
||||||
- ubuntu-latest
|
|
||||||
- macos-latest
|
|
||||||
version:
|
version:
|
||||||
- stable-20220401
|
- stable-20230403
|
||||||
- stable-20220615
|
- stable-v2.13.5
|
||||||
- stable-20220908
|
- stable-v2.14.6
|
||||||
- stable-20221211
|
- stable-v2.15.5
|
||||||
- cached
|
- stable-v2.16.6
|
||||||
|
- default
|
||||||
- latest
|
- latest
|
||||||
- nightly-latest
|
- nightly-latest
|
||||||
name: Upload debug artifacts
|
name: Upload debug artifacts
|
||||||
env:
|
env:
|
||||||
CODEQL_ACTION_TEST_MODE: true
|
CODEQL_ACTION_TEST_MODE: true
|
||||||
timeout-minutes: 45
|
timeout-minutes: 45
|
||||||
runs-on: ${{ matrix.os }}
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- name: Check out repository
|
- name: Check out repository
|
||||||
uses: actions/checkout@v3
|
uses: actions/checkout@v4
|
||||||
- name: Prepare test
|
- name: Prepare test
|
||||||
id: prepare-test
|
id: prepare-test
|
||||||
uses: ./.github/actions/prepare-test
|
uses: ./.github/actions/prepare-test
|
||||||
with:
|
with:
|
||||||
version: ${{ matrix.version }}
|
version: ${{ matrix.version }}
|
||||||
- uses: actions/setup-go@v4
|
- uses: actions/setup-go@v5
|
||||||
with:
|
with:
|
||||||
go-version: ^1.13.1
|
go-version: ^1.13.1
|
||||||
- uses: ./../action/init
|
- uses: ./../action/init
|
||||||
|
id: init
|
||||||
with:
|
with:
|
||||||
tools: ${{ steps.prepare-test.outputs.tools-url }}
|
tools: ${{ steps.prepare-test.outputs.tools-url }}
|
||||||
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
|
||||||
|
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
|
||||||
id: analysis
|
id: analysis
|
||||||
download-and-check-artifacts:
|
download-and-check-artifacts:
|
||||||
name: Download and check debug artifacts
|
name: Download and check debug artifacts
|
||||||
needs: upload-artifacts
|
needs: upload-artifacts
|
||||||
@@ -70,29 +75,27 @@ jobs:
|
|||||||
- name: Check expected artifacts exist
|
- name: Check expected artifacts exist
|
||||||
shell: bash
|
shell: bash
|
||||||
run: |
|
run: |
|
||||||
VERSIONS="stable-20220401 stable-20220615 stable-20220908 stable-20221211 cached latest nightly-latest"
|
VERSIONS="stable-20230403 stable-v2.13.5 stable-v2.14.6 stable-v2.15.5 stable-v2.16.6 default latest 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
|
||||||
for os in ubuntu-latest macos-latest; do
|
pushd "./my-debug-artifacts-${version//./}"
|
||||||
pushd "./my-debug-artifacts-$os-$version"
|
echo "Artifacts from version $version:"
|
||||||
echo "Artifacts from version $version on $os:"
|
for language in $LANGUAGES; do
|
||||||
for language in $LANGUAGES; do
|
echo "- Checking $language"
|
||||||
echo "- Checking $language"
|
if [[ ! -f "$language.sarif" ]] ; then
|
||||||
if [[ ! -f "$language.sarif" ]] ; then
|
echo "Missing a SARIF file for $language"
|
||||||
echo "Missing a SARIF file for $language"
|
exit 1
|
||||||
exit 1
|
fi
|
||||||
fi
|
if [[ ! -f "my-db-$language.zip" ]] ; then
|
||||||
if [[ ! -f "my-db-$language.zip" ]] ; then
|
echo "Missing a database bundle for $language"
|
||||||
echo "Missing a database bundle for $language"
|
exit 1
|
||||||
exit 1
|
fi
|
||||||
fi
|
if [[ ! -d "$language/log" ]] ; then
|
||||||
if [[ ! -d "$language/log" ]] ; then
|
echo "Missing logs for $language"
|
||||||
echo "Missing logs for $language"
|
exit 1
|
||||||
exit 1
|
fi
|
||||||
fi
|
|
||||||
done
|
|
||||||
popd
|
|
||||||
done
|
done
|
||||||
|
popd
|
||||||
done
|
done
|
||||||
env:
|
env:
|
||||||
GO111MODULE: auto
|
GO111MODULE: auto
|
||||||
|
|||||||
6
.github/workflows/expected-queries-runs.yml
vendored
6
.github/workflows/expected-queries-runs.yml
vendored
@@ -4,13 +4,15 @@ on:
|
|||||||
push:
|
push:
|
||||||
branches:
|
branches:
|
||||||
- main
|
- main
|
||||||
- releases/v2
|
- 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:
|
||||||
@@ -22,7 +24,7 @@ jobs:
|
|||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- name: Check out repository
|
- name: Check out repository
|
||||||
uses: actions/checkout@v3
|
uses: actions/checkout@v4
|
||||||
- name: Prepare test
|
- name: Prepare test
|
||||||
id: prepare-test
|
id: prepare-test
|
||||||
uses: ./.github/actions/prepare-test
|
uses: ./.github/actions/prepare-test
|
||||||
|
|||||||
38
.github/workflows/post-release-mergeback.yml
vendored
38
.github/workflows/post-release-mergeback.yml
vendored
@@ -1,9 +1,9 @@
|
|||||||
# This workflow runs after a release of the action. It:
|
# This workflow runs after a merge to any release branch of the action. It:
|
||||||
# 1. Merges any changes from the release back into the main branch. Typically, this is just a single
|
# 1. Tags the merge commit on the release branch that represents the new release with an `vN.x.y`
|
||||||
# commit that updates the changelog.
|
|
||||||
# 2. Tags the merge commit on the release branch that represents the new release with an `v2.x.y`
|
|
||||||
# tag
|
# tag
|
||||||
# 3. Updates the `v2` tag to refer to this merge commit.
|
# 2. Updates the `vN` tag to refer to this merge commit.
|
||||||
|
# 3. Iff vN == vLatest, merges any changes from the release back into the main branch.
|
||||||
|
# Typically, this is two commits – one to update the version number and one to update dependencies.
|
||||||
name: Tag release and merge back
|
name: Tag release and merge back
|
||||||
|
|
||||||
on:
|
on:
|
||||||
@@ -16,7 +16,7 @@ on:
|
|||||||
|
|
||||||
push:
|
push:
|
||||||
branches:
|
branches:
|
||||||
- releases/v2
|
- releases/v*
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
merge-back:
|
merge-back:
|
||||||
@@ -35,12 +35,14 @@ jobs:
|
|||||||
GITHUB_CONTEXT: '${{ toJson(github) }}'
|
GITHUB_CONTEXT: '${{ toJson(github) }}'
|
||||||
run: echo "${GITHUB_CONTEXT}"
|
run: echo "${GITHUB_CONTEXT}"
|
||||||
|
|
||||||
- uses: actions/checkout@v3
|
- uses: actions/checkout@v4
|
||||||
- uses: actions/setup-node@v3
|
with:
|
||||||
|
fetch-depth: 0 # ensure we have all tags and can push commits
|
||||||
|
- uses: actions/setup-node@v4
|
||||||
|
|
||||||
- name: Update git config
|
- name: Update git config
|
||||||
run: |
|
run: |
|
||||||
git config --global user.email "github-actions@github.com"
|
git config --global user.email "41898282+github-actions[bot]@users.noreply.github.com"
|
||||||
git config --global user.name "github-actions[bot]"
|
git config --global user.name "github-actions[bot]"
|
||||||
|
|
||||||
- name: Get version and new branch
|
- name: Get version and new branch
|
||||||
@@ -51,6 +53,8 @@ jobs:
|
|||||||
short_sha="${GITHUB_SHA:0:8}"
|
short_sha="${GITHUB_SHA:0:8}"
|
||||||
NEW_BRANCH="mergeback/${VERSION}-to-${BASE_BRANCH}-${short_sha}"
|
NEW_BRANCH="mergeback/${VERSION}-to-${BASE_BRANCH}-${short_sha}"
|
||||||
echo "newBranch=${NEW_BRANCH}" >> $GITHUB_OUTPUT
|
echo "newBranch=${NEW_BRANCH}" >> $GITHUB_OUTPUT
|
||||||
|
LATEST_RELEASE_BRANCH=$(git branch -r | grep -E "origin/releases/v[0-9]+$" | sed 's/origin\///g' | sort -V | tail -1 | xargs)
|
||||||
|
echo "latest_release_branch=${LATEST_RELEASE_BRANCH}" >> $GITHUB_OUTPUT
|
||||||
|
|
||||||
- name: Dump branches
|
- name: Dump branches
|
||||||
env:
|
env:
|
||||||
@@ -59,6 +63,8 @@ jobs:
|
|||||||
echo "BASE_BRANCH ${BASE_BRANCH}"
|
echo "BASE_BRANCH ${BASE_BRANCH}"
|
||||||
echo "HEAD_BRANCH ${HEAD_BRANCH}"
|
echo "HEAD_BRANCH ${HEAD_BRANCH}"
|
||||||
echo "NEW_BRANCH ${NEW_BRANCH}"
|
echo "NEW_BRANCH ${NEW_BRANCH}"
|
||||||
|
echo "LATEST_RELEASE_BRANCH ${LATEST_RELEASE_BRANCH}"
|
||||||
|
echo "GITHUB_REF ${GITHUB_REF}"
|
||||||
|
|
||||||
- name: Create mergeback branch
|
- name: Create mergeback branch
|
||||||
env:
|
env:
|
||||||
@@ -89,8 +95,6 @@ jobs:
|
|||||||
env:
|
env:
|
||||||
VERSION: ${{ steps.getVersion.outputs.version }}
|
VERSION: ${{ steps.getVersion.outputs.version }}
|
||||||
run: |
|
run: |
|
||||||
# Unshallow the repo in order to allow pushes
|
|
||||||
git fetch --unshallow
|
|
||||||
# Create the `vx.y.z` tag
|
# Create the `vx.y.z` tag
|
||||||
git tag --annotate "${VERSION}" --message "${VERSION}"
|
git tag --annotate "${VERSION}" --message "${VERSION}"
|
||||||
# Update the `vx` tag
|
# Update the `vx` tag
|
||||||
@@ -99,13 +103,13 @@ jobs:
|
|||||||
git tag --annotate "${major_version_tag}" --message "${major_version_tag}" --force
|
git tag --annotate "${major_version_tag}" --message "${major_version_tag}" --force
|
||||||
# Push the tags, using:
|
# Push the tags, using:
|
||||||
# - `--atomic` to make sure we either update both tags or neither (an intermediate state,
|
# - `--atomic` to make sure we either update both tags or neither (an intermediate state,
|
||||||
# e.g. where we update the v2.x.y tag on the remote but not the v2 tag, could result in
|
# e.g. where we update the vN.x.y tag on the remote but not the vN tag, could result in
|
||||||
# unwanted Dependabot updates, e.g. from v2 to v2.x.y)
|
# unwanted Dependabot updates, e.g. from vN to vN.x.y)
|
||||||
# - `--force` since we're overwriting the `vx` tag
|
# - `--force` since we're overwriting the `vN` tag
|
||||||
git push origin --atomic --force refs/tags/"${VERSION}" refs/tags/"${major_version_tag}"
|
git push origin --atomic --force refs/tags/"${VERSION}" refs/tags/"${major_version_tag}"
|
||||||
|
|
||||||
- name: Create mergeback branch
|
- name: Create mergeback branch
|
||||||
if: steps.check.outputs.exists != 'true'
|
if: ${{ steps.check.outputs.exists != 'true' && endsWith(github.ref_name, steps.getVersion.outputs.latest_release_branch) }}
|
||||||
env:
|
env:
|
||||||
VERSION: "${{ steps.getVersion.outputs.version }}"
|
VERSION: "${{ steps.getVersion.outputs.version }}"
|
||||||
NEW_BRANCH: "${{ steps.getVersion.outputs.newBranch }}"
|
NEW_BRANCH: "${{ steps.getVersion.outputs.newBranch }}"
|
||||||
@@ -129,8 +133,8 @@ jobs:
|
|||||||
# Update the version number ready for the next release
|
# Update the version number ready for the next release
|
||||||
npm version patch --no-git-tag-version
|
npm version patch --no-git-tag-version
|
||||||
|
|
||||||
# Update the changelog
|
# Update the changelog, adding a new version heading directly above the most recent existing one
|
||||||
perl -i -pe 's/^/## \[UNRELEASED\]\n\nNo user facing changes.\n\n/ if($.==3)' CHANGELOG.md
|
awk '!f && /##/{print "'"## [UNRELEASED]\n\nNo user facing changes.\n"'"; f=1}1' CHANGELOG.md > temp && mv temp CHANGELOG.md
|
||||||
git add .
|
git add .
|
||||||
git commit -m "Update changelog and version after ${VERSION}"
|
git commit -m "Update changelog and version after ${VERSION}"
|
||||||
|
|
||||||
|
|||||||
86
.github/workflows/pr-checks.yml
vendored
86
.github/workflows/pr-checks.yml
vendored
@@ -2,7 +2,7 @@ name: PR Checks
|
|||||||
|
|
||||||
on:
|
on:
|
||||||
push:
|
push:
|
||||||
branches: [main, releases/v2]
|
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.
|
||||||
@@ -15,13 +15,40 @@ jobs:
|
|||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
timeout-minutes: 45
|
timeout-minutes: 45
|
||||||
|
|
||||||
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
|
matrix:
|
||||||
|
node-types-version: [16.11, current] # run tests on 16.11 while CodeQL Action v2 is still supported
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout
|
- name: Checkout
|
||||||
uses: actions/checkout@v3
|
uses: actions/checkout@v4
|
||||||
|
|
||||||
- name: Lint
|
- name: Lint
|
||||||
run: npm run-script lint
|
run: npm run-script lint
|
||||||
|
|
||||||
|
- name: Update version of @types/node
|
||||||
|
if: matrix.node-types-version != 'current'
|
||||||
|
env:
|
||||||
|
NODE_TYPES_VERSION: ${{ matrix.node-types-version }}
|
||||||
|
run: |
|
||||||
|
# Export `NODE_TYPES_VERSION` so it's available to jq
|
||||||
|
export NODE_TYPES_VERSION="${NODE_TYPES_VERSION}"
|
||||||
|
contents=$(jq '.devDependencies."@types/node" = env.NODE_TYPES_VERSION' package.json)
|
||||||
|
echo "${contents}" > package.json
|
||||||
|
# Usually we run `npm install` on macOS to ensure that we pick up macOS-only dependencies.
|
||||||
|
# However we're not checking in the updated lockfile here, so it's fine to run
|
||||||
|
# `npm install` on Linux.
|
||||||
|
npm install
|
||||||
|
|
||||||
|
if [ ! -z "$(git status --porcelain)" ]; then
|
||||||
|
git config --global user.email "github-actions@github.com"
|
||||||
|
git config --global user.name "github-actions[bot]"
|
||||||
|
# The period in `git add --all .` ensures that we stage deleted files too.
|
||||||
|
git add --all .
|
||||||
|
git commit -m "Use @types/node=${NODE_TYPES_VERSION}"
|
||||||
|
fi
|
||||||
|
|
||||||
- name: Check generated JS
|
- name: Check generated JS
|
||||||
run: .github/workflows/script/check-js.sh
|
run: .github/workflows/script/check-js.sh
|
||||||
|
|
||||||
@@ -31,7 +58,7 @@ jobs:
|
|||||||
timeout-minutes: 45
|
timeout-minutes: 45
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v3
|
- uses: actions/checkout@v4
|
||||||
- name: Check node modules up to date
|
- name: Check node modules up to date
|
||||||
run: .github/workflows/script/check-node-modules.sh
|
run: .github/workflows/script/check-node-modules.sh
|
||||||
|
|
||||||
@@ -42,17 +69,18 @@ jobs:
|
|||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout
|
- name: Checkout
|
||||||
uses: actions/checkout@v3
|
uses: actions/checkout@v4
|
||||||
|
|
||||||
- name: Set up Python
|
- name: Set up Python
|
||||||
uses: actions/setup-python@v4
|
uses: actions/setup-python@v5
|
||||||
with:
|
with:
|
||||||
python-version: 3.8
|
python-version: 3.11
|
||||||
|
|
||||||
- name: Install dependencies
|
- name: Install dependencies
|
||||||
run: |
|
run: |
|
||||||
python -m pip install --upgrade pip
|
python -m pip install --upgrade pip
|
||||||
pip install ruamel.yaml
|
# When updating this, update the autogenerated code header in `sync.py` too.
|
||||||
|
pip install ruamel.yaml==0.17.31
|
||||||
|
|
||||||
# Ensure the generated PR check workflows are up to date.
|
# Ensure the generated PR check workflows are up to date.
|
||||||
- name: Verify PR checks up to date
|
- name: Verify PR checks up to date
|
||||||
@@ -62,16 +90,58 @@ jobs:
|
|||||||
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 }}
|
||||||
timeout-minutes: 45
|
timeout-minutes: 45
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v3
|
- uses: actions/checkout@v4
|
||||||
- name: npm test
|
- name: npm test
|
||||||
run: |
|
run: |
|
||||||
# Run any commands referenced in package.json using Bash, otherwise
|
# Run any commands referenced in package.json using Bash, otherwise
|
||||||
# we won't be able to find them on Windows.
|
# we won't be able to find them on Windows.
|
||||||
npm config set script-shell bash
|
npm config set script-shell bash
|
||||||
npm test
|
npm test
|
||||||
|
|
||||||
|
check-node-version:
|
||||||
|
if: ${{ github.event.pull_request }}
|
||||||
|
name: Check Action Node versions
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
timeout-minutes: 45
|
||||||
|
env:
|
||||||
|
BASE_REF: ${{ github.base_ref }}
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v4
|
||||||
|
- id: head-version
|
||||||
|
name: Verify all Actions use the same Node version
|
||||||
|
run: |
|
||||||
|
NODE_VERSION=$(find . -name "action.yml" -exec yq -e '.runs.using' {} \; | grep node | sort | uniq)
|
||||||
|
echo "NODE_VERSION: ${NODE_VERSION}"
|
||||||
|
if [[ $(echo "$NODE_VERSION" | wc -l) -gt 1 ]]; then
|
||||||
|
echo "::error::More than one node version used in 'action.yml' files."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
echo "node_version=${NODE_VERSION}" >> $GITHUB_OUTPUT
|
||||||
|
|
||||||
|
- id: checkout-base
|
||||||
|
name: 'Backport: Check out base ref'
|
||||||
|
if: ${{ startsWith(github.head_ref, 'backport-') }}
|
||||||
|
uses: actions/checkout@v4
|
||||||
|
with:
|
||||||
|
ref: ${{ env.BASE_REF }}
|
||||||
|
|
||||||
|
- name: 'Backport: Verify Node versions unchanged'
|
||||||
|
if: steps.checkout-base.outcome == 'success'
|
||||||
|
env:
|
||||||
|
HEAD_VERSION: ${{ steps.head-version.outputs.node_version }}
|
||||||
|
run: |
|
||||||
|
BASE_VERSION=$(find . -name "action.yml" -exec yq -e '.runs.using' {} \; | grep node | sort | uniq)
|
||||||
|
echo "HEAD_VERSION: ${HEAD_VERSION}"
|
||||||
|
echo "BASE_VERSION: ${BASE_VERSION}"
|
||||||
|
if [[ "$BASE_VERSION" != "$HEAD_VERSION" ]]; then
|
||||||
|
echo "::error::Cannot change the Node version of an Action in a backport PR."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|||||||
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/v2]
|
|
||||||
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@v3
|
|
||||||
|
|
||||||
- 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_2_26_0.sh ${PYTHON_VERSION}
|
|
||||||
|
|
||||||
# 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@v3
|
|
||||||
|
|
||||||
- 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@v3
|
|
||||||
|
|
||||||
- uses: actions/setup-python@v4
|
|
||||||
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_2_26_0.ps1"
|
|
||||||
powershell -File $cmd $Env:PYTHON_VERSION
|
|
||||||
42
.github/workflows/python312-windows.yml
vendored
Normal file
42
.github/workflows/python312-windows.yml
vendored
Normal file
@@ -0,0 +1,42 @@
|
|||||||
|
name: Test that the workaround for python 3.12 on windows works
|
||||||
|
|
||||||
|
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]
|
||||||
|
schedule:
|
||||||
|
# Weekly on Monday.
|
||||||
|
- cron: '0 0 * * 1'
|
||||||
|
workflow_dispatch:
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
test-setup-python-scripts:
|
||||||
|
timeout-minutes: 45
|
||||||
|
runs-on: windows-latest
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- uses: actions/setup-python@v5
|
||||||
|
with:
|
||||||
|
python-version: 3.12
|
||||||
|
|
||||||
|
- uses: actions/checkout@v4
|
||||||
|
|
||||||
|
- name: Prepare test
|
||||||
|
uses: ./.github/actions/prepare-test
|
||||||
|
with:
|
||||||
|
version: default
|
||||||
|
|
||||||
|
- name: Initialize CodeQL
|
||||||
|
uses: ./../action/init
|
||||||
|
with:
|
||||||
|
tools: latest
|
||||||
|
languages: python
|
||||||
|
|
||||||
|
- name: Analyze
|
||||||
|
uses: ./../action/analyze
|
||||||
|
with:
|
||||||
|
upload: false
|
||||||
|
upload-database: false
|
||||||
6
.github/workflows/query-filters.yml
vendored
6
.github/workflows/query-filters.yml
vendored
@@ -4,13 +4,15 @@ on:
|
|||||||
push:
|
push:
|
||||||
branches:
|
branches:
|
||||||
- main
|
- main
|
||||||
- releases/v2
|
- 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:
|
||||||
@@ -20,7 +22,7 @@ jobs:
|
|||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- name: Check out repository
|
- name: Check out repository
|
||||||
uses: actions/checkout@v3
|
uses: actions/checkout@v4
|
||||||
- name: Prepare test
|
- name: Prepare test
|
||||||
id: prepare-test
|
id: prepare-test
|
||||||
uses: ./.github/actions/prepare-test
|
uses: ./.github/actions/prepare-test
|
||||||
|
|||||||
78
.github/workflows/rebuild.yml
vendored
Normal file
78
.github/workflows/rebuild.yml
vendored
Normal file
@@ -0,0 +1,78 @@
|
|||||||
|
name: Rebuild Action
|
||||||
|
|
||||||
|
on:
|
||||||
|
pull_request:
|
||||||
|
types: [labeled]
|
||||||
|
workflow_dispatch:
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
rebuild:
|
||||||
|
name: Rebuild Action
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
if: github.event.label.name == 'Rebuild'
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- name: Checkout
|
||||||
|
uses: actions/checkout@v4
|
||||||
|
with:
|
||||||
|
ref: ${{ github.event.pull_request.head.ref }}
|
||||||
|
|
||||||
|
- name: Remove label
|
||||||
|
env:
|
||||||
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
PR_NUMBER: ${{ github.event.pull_request.number }}
|
||||||
|
run: |
|
||||||
|
gh pr edit --repo github/codeql-action "$PR_NUMBER" \
|
||||||
|
--remove-label "Rebuild"
|
||||||
|
|
||||||
|
- name: Merge in changes from base branch
|
||||||
|
env:
|
||||||
|
BASE_BRANCH: ${{ github.event.pull_request.base.ref }}
|
||||||
|
run: |
|
||||||
|
git fetch origin "$BASE_BRANCH"
|
||||||
|
|
||||||
|
# Allow merge conflicts in `lib`, since rebuilding should resolve them.
|
||||||
|
git merge "origin/$BASE_BRANCH" || echo "Merge conflicts detected"
|
||||||
|
|
||||||
|
# Check for merge conflicts outside of `lib`. Disable git diff's trailing whitespace check
|
||||||
|
# since `node_modules/@types/semver/README.md` fails it.
|
||||||
|
if git -c core.whitespace=-trailing-space diff --check | grep --invert-match '^lib/'; then
|
||||||
|
echo "Merge conflicts detected outside of lib/ directory. Please resolve them manually."
|
||||||
|
git -c core.whitespace=-trailing-space diff --check | grep --invert-match '^lib/' || true
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
- name: Compile TypeScript
|
||||||
|
run: |
|
||||||
|
npm install
|
||||||
|
npm run lint -- --fix
|
||||||
|
npm run build
|
||||||
|
|
||||||
|
- name: Set up Python
|
||||||
|
uses: actions/setup-python@v5
|
||||||
|
with:
|
||||||
|
python-version: 3.11
|
||||||
|
|
||||||
|
- name: Generate workflows
|
||||||
|
run: |
|
||||||
|
cd pr-checks
|
||||||
|
python -m pip install --upgrade pip
|
||||||
|
pip install ruamel.yaml==0.17.31
|
||||||
|
python3 sync.py
|
||||||
|
|
||||||
|
- name: Check for changes and push
|
||||||
|
env:
|
||||||
|
BRANCH: ${{ github.event.pull_request.head.ref }}
|
||||||
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
PR_NUMBER: ${{ github.event.pull_request.number }}
|
||||||
|
run: |
|
||||||
|
if [ ! -z "$(git status --porcelain)" ]; then
|
||||||
|
git config --global user.email "41898282+github-actions[bot]@users.noreply.github.com"
|
||||||
|
git config --global user.name "github-actions[bot]"
|
||||||
|
git commit -am "Rebuild"
|
||||||
|
git push origin "HEAD:$BRANCH"
|
||||||
|
echo "Pushed a commit to rebuild the Action." \
|
||||||
|
"Please mark the PR as ready for review to trigger PR checks." |
|
||||||
|
gh pr comment --body-file - --repo github/codeql-action "$PR_NUMBER"
|
||||||
|
gh pr ready --undo --repo github/codeql-action "$PR_NUMBER"
|
||||||
|
fi
|
||||||
@@ -2,6 +2,11 @@
|
|||||||
# Update the required checks based on the current branch.
|
# Update the required checks based on the current branch.
|
||||||
# Typically, this will be main.
|
# Typically, this will be main.
|
||||||
|
|
||||||
|
SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )"
|
||||||
|
REPO_DIR="$(dirname "$SCRIPT_DIR")"
|
||||||
|
GRANDPARENT_DIR="$(dirname "$REPO_DIR")"
|
||||||
|
source "$GRANDPARENT_DIR/releases.ini"
|
||||||
|
|
||||||
if ! gh auth status 2>/dev/null; then
|
if ! gh auth status 2>/dev/null; then
|
||||||
gh auth status
|
gh auth status
|
||||||
echo "Failed: Not authorized. This script requires admin access to github/codeql-action through the gh CLI."
|
echo "Failed: Not authorized. This script requires admin access to github/codeql-action through the gh CLI."
|
||||||
@@ -23,13 +28,28 @@ 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 . == "LGTM.com" or . == "check-expected-release-files" or contains("Update") or contains("update") or contains("test-setup-python-scripts") | not)] | unique | sort')"
|
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')"
|
||||||
|
|
||||||
echo "$CHECKS" | jq
|
echo "$CHECKS" | jq
|
||||||
|
|
||||||
echo "{\"contexts\": ${CHECKS}}" > checks.json
|
echo "{\"contexts\": ${CHECKS}}" > checks.json
|
||||||
|
|
||||||
for BRANCH in main releases/v2; do
|
echo "Updating main"
|
||||||
|
gh api --silent -X "PATCH" "repos/github/codeql-action/branches/main/protection/required_status_checks" --input checks.json
|
||||||
|
|
||||||
|
# list all branchs on origin remote matching releases/v*
|
||||||
|
BRANCHES="$(git ls-remote --heads origin 'releases/v*' | sed 's?.*refs/heads/??' | sort -V)"
|
||||||
|
|
||||||
|
for BRANCH in $BRANCHES; do
|
||||||
|
|
||||||
|
# strip exact 'releases/v' prefix from $BRANCH using count of characters
|
||||||
|
VERSION="${BRANCH:10}"
|
||||||
|
|
||||||
|
if [ "$VERSION" -lt "$OLDEST_SUPPORTED_MAJOR_VERSION" ]; then
|
||||||
|
echo "Skipping $BRANCH"
|
||||||
|
continue
|
||||||
|
fi
|
||||||
|
|
||||||
echo "Updating $BRANCH"
|
echo "Updating $BRANCH"
|
||||||
gh api --silent -X "PATCH" "repos/github/codeql-action/branches/$BRANCH/protection/required_status_checks" --input checks.json
|
gh api --silent -X "PATCH" "repos/github/codeql-action/branches/$BRANCH/protection/required_status_checks" --input checks.json
|
||||||
done
|
done
|
||||||
|
|||||||
59
.github/workflows/test-codeql-bundle-all.yml
vendored
Normal file
59
.github/workflows/test-codeql-bundle-all.yml
vendored
Normal file
@@ -0,0 +1,59 @@
|
|||||||
|
name: 'PR Check - CodeQL Bundle All'
|
||||||
|
env:
|
||||||
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
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:
|
||||||
|
push:
|
||||||
|
branches:
|
||||||
|
- main
|
||||||
|
- releases/v*
|
||||||
|
pull_request:
|
||||||
|
types:
|
||||||
|
- opened
|
||||||
|
- synchronize
|
||||||
|
- reopened
|
||||||
|
- ready_for_review
|
||||||
|
schedule:
|
||||||
|
- cron: '0 5 * * *'
|
||||||
|
workflow_dispatch: {}
|
||||||
|
jobs:
|
||||||
|
test-codeql-bundle-all:
|
||||||
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
|
matrix:
|
||||||
|
include:
|
||||||
|
- os: ubuntu-latest
|
||||||
|
version: nightly-latest
|
||||||
|
name: 'CodeQL Bundle All'
|
||||||
|
permissions:
|
||||||
|
contents: read
|
||||||
|
security-events: write
|
||||||
|
timeout-minutes: 45
|
||||||
|
runs-on: ${{ matrix.os }}
|
||||||
|
steps:
|
||||||
|
- 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: true
|
||||||
|
- id: init
|
||||||
|
uses: ./../action/init
|
||||||
|
with:
|
||||||
|
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:
|
||||||
|
CODEQL_ACTION_TEST_MODE: true
|
||||||
4
.github/workflows/update-bundle.yml
vendored
4
.github/workflows/update-bundle.yml
vendored
@@ -26,11 +26,11 @@ jobs:
|
|||||||
GITHUB_CONTEXT: '${{ toJson(github) }}'
|
GITHUB_CONTEXT: '${{ toJson(github) }}'
|
||||||
run: echo "$GITHUB_CONTEXT"
|
run: echo "$GITHUB_CONTEXT"
|
||||||
|
|
||||||
- uses: actions/checkout@v3
|
- uses: actions/checkout@v4
|
||||||
|
|
||||||
- name: Update git config
|
- name: Update git config
|
||||||
run: |
|
run: |
|
||||||
git config --global user.email "github-actions@github.com"
|
git config --global user.email "41898282+github-actions[bot]@users.noreply.github.com"
|
||||||
git config --global user.name "github-actions[bot]"
|
git config --global user.name "github-actions[bot]"
|
||||||
|
|
||||||
- name: Update bundle
|
- name: Update bundle
|
||||||
|
|||||||
11
.github/workflows/update-dependencies.yml
vendored
11
.github/workflows/update-dependencies.yml
vendored
@@ -11,27 +11,32 @@ jobs:
|
|||||||
if: contains(github.event.pull_request.labels.*.name, 'Update dependencies') && (github.event.pull_request.head.repo.full_name == 'github/codeql-action')
|
if: contains(github.event.pull_request.labels.*.name, 'Update dependencies') && (github.event.pull_request.head.repo.full_name == 'github/codeql-action')
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout repository
|
- name: Checkout repository
|
||||||
uses: actions/checkout@v3
|
uses: actions/checkout@v4
|
||||||
|
|
||||||
- name: Remove PR label
|
- name: Remove PR label
|
||||||
env:
|
env:
|
||||||
|
GITHUB_TOKEN: '${{ secrets.GITHUB_TOKEN }}'
|
||||||
REPOSITORY: '${{ github.repository }}'
|
REPOSITORY: '${{ github.repository }}'
|
||||||
PR_NUMBER: '${{ github.event.pull_request.number }}'
|
PR_NUMBER: '${{ github.event.pull_request.number }}'
|
||||||
GITHUB_TOKEN: '${{ secrets.GITHUB_TOKEN }}'
|
|
||||||
run: |
|
run: |
|
||||||
gh api "repos/$REPOSITORY/issues/$PR_NUMBER/labels/Update%20dependencies" -X DELETE
|
gh api "repos/$REPOSITORY/issues/$PR_NUMBER/labels/Update%20dependencies" -X DELETE
|
||||||
|
|
||||||
- name: Push updated dependencies
|
- name: Push updated dependencies
|
||||||
env:
|
env:
|
||||||
BRANCH: '${{ github.head_ref }}'
|
BRANCH: '${{ github.head_ref }}'
|
||||||
|
GITHUB_TOKEN: '${{ secrets.GITHUB_TOKEN }}'
|
||||||
run: |
|
run: |
|
||||||
git fetch origin "$BRANCH" --depth=1
|
git fetch origin "$BRANCH" --depth=1
|
||||||
git checkout "origin/$BRANCH"
|
git checkout "origin/$BRANCH"
|
||||||
.github/workflows/script/update-node-modules.sh update
|
.github/workflows/script/update-node-modules.sh update
|
||||||
if [ ! -z "$(git status --porcelain)" ]; then
|
if [ ! -z "$(git status --porcelain)" ]; then
|
||||||
git config --global user.email "github-actions@github.com"
|
git config --global user.email "41898282+github-actions[bot]@users.noreply.github.com"
|
||||||
git config --global user.name "github-actions[bot]"
|
git config --global user.name "github-actions[bot]"
|
||||||
git add node_modules
|
git add node_modules
|
||||||
git commit -am "Update checked-in dependencies"
|
git commit -am "Update checked-in dependencies"
|
||||||
git push origin "HEAD:$BRANCH"
|
git push origin "HEAD:$BRANCH"
|
||||||
|
echo "Pushed a commit to update the checked-in dependencies." \
|
||||||
|
"Please mark the PR as ready for review to trigger PR checks." |
|
||||||
|
gh pr comment --body-file - --repo github/codeql-action "${{ github.event.pull_request.number }}"
|
||||||
|
gh pr ready --undo --repo github/codeql-action "${{ github.event.pull_request.number }}"
|
||||||
fi
|
fi
|
||||||
|
|||||||
139
.github/workflows/update-release-branch.yml
vendored
139
.github/workflows/update-release-branch.yml
vendored
@@ -1,46 +1,131 @@
|
|||||||
name: Update release branch
|
name: Update release branch
|
||||||
on:
|
on:
|
||||||
# You can trigger this workflow via workflow dispatch to start a release.
|
# You can trigger this workflow via workflow dispatch to start a release.
|
||||||
# This will open a PR to update the v2 release branch.
|
# This will open a PR to update the latest release branch.
|
||||||
workflow_dispatch:
|
workflow_dispatch:
|
||||||
|
|
||||||
|
# When a release is complete this workflow will open up backport PRs to older release branches.
|
||||||
|
# NB while it will trigger on any release branch update, the backport job will not proceed for
|
||||||
|
# anything other than than releases/v{latest}
|
||||||
|
push:
|
||||||
|
branches:
|
||||||
|
- releases/*
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
|
|
||||||
|
prepare:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
if: github.repository == 'github/codeql-action'
|
||||||
|
outputs:
|
||||||
|
version: ${{ steps.versions.outputs.version }}
|
||||||
|
major_version: ${{ steps.versions.outputs.major_version }}
|
||||||
|
latest_tag: ${{ steps.versions.outputs.latest_tag }}
|
||||||
|
backport_source_branch: ${{ steps.branches.outputs.backport_source_branch }}
|
||||||
|
backport_target_branches: ${{ steps.branches.outputs.backport_target_branches }}
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v4
|
||||||
|
with:
|
||||||
|
fetch-depth: 0 # Need full history for calculation of diffs
|
||||||
|
- uses: ./.github/actions/release-initialise
|
||||||
|
|
||||||
|
- name: Get version tags
|
||||||
|
id: versions
|
||||||
|
run: |
|
||||||
|
VERSION="v$(jq '.version' -r 'package.json')"
|
||||||
|
echo "version=${VERSION}" >> $GITHUB_OUTPUT
|
||||||
|
MAJOR_VERSION=$(cut -d '.' -f1 <<< "${VERSION}")
|
||||||
|
echo "major_version=${MAJOR_VERSION}" >> $GITHUB_OUTPUT
|
||||||
|
LATEST_TAG=$(git tag --sort=-v:refname | grep -E '^v[0-9]+\.[0-9]+\.[0-9]+' | head -1)
|
||||||
|
echo "latest_tag=${LATEST_TAG}" >> $GITHUB_OUTPUT
|
||||||
|
|
||||||
|
- id: branches
|
||||||
|
name: Determine older release branches
|
||||||
|
uses: ./.github/actions/release-branches
|
||||||
|
with:
|
||||||
|
major_version: ${{ steps.versions.outputs.major_version }}
|
||||||
|
latest_tag: ${{ steps.versions.outputs.latest_tag }}
|
||||||
|
|
||||||
|
- name: debug logging
|
||||||
|
run: |
|
||||||
|
echo 'version: ${{ steps.versions.outputs.version }}'
|
||||||
|
echo 'major_version: ${{ steps.versions.outputs.major_version }}'
|
||||||
|
echo 'latest_tag: ${{ steps.versions.outputs.latest_tag }}'
|
||||||
|
echo 'backport_source_branch: ${{ steps.branches.outputs.backport_source_branch }}'
|
||||||
|
echo 'backport_target_branches: ${{ steps.branches.outputs.backport_target_branches }}'
|
||||||
|
|
||||||
update:
|
update:
|
||||||
timeout-minutes: 45
|
timeout-minutes: 45
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
if: github.repository == 'github/codeql-action'
|
if: github.event_name == 'workflow_dispatch'
|
||||||
|
needs: [prepare]
|
||||||
|
env:
|
||||||
|
REF_NAME: "${{ github.ref_name }}"
|
||||||
|
REPOSITORY: "${{ github.repository }}"
|
||||||
|
MAJOR_VERSION: "${{ needs.prepare.outputs.major_version }}"
|
||||||
|
LATEST_TAG: "${{ needs.prepare.outputs.latest_tag }}"
|
||||||
steps:
|
steps:
|
||||||
- name: Dump environment
|
- uses: actions/checkout@v4
|
||||||
run: env
|
|
||||||
|
|
||||||
- name: Dump GitHub context
|
|
||||||
env:
|
|
||||||
GITHUB_CONTEXT: '${{ toJson(github) }}'
|
|
||||||
run: echo "$GITHUB_CONTEXT"
|
|
||||||
|
|
||||||
- uses: actions/checkout@v3
|
|
||||||
with:
|
with:
|
||||||
# Need full history so we calculate diffs
|
fetch-depth: 0 # Need full history for calculation of diffs
|
||||||
fetch-depth: 0
|
- uses: ./.github/actions/release-initialise
|
||||||
|
|
||||||
- name: Set up Python
|
# when the workflow has been manually triggered on main,
|
||||||
uses: actions/setup-python@v4
|
# we know that we definitely want the release branch to exist
|
||||||
with:
|
- name: Ensure release branch exists
|
||||||
python-version: 3.8
|
|
||||||
|
|
||||||
- name: Install dependencies
|
|
||||||
run: |
|
run: |
|
||||||
python -m pip install --upgrade pip
|
echo "MAJOR_VERSION ${MAJOR_VERSION}"
|
||||||
pip install PyGithub==1.55 requests
|
RELEASE_BRANCH=releases/${MAJOR_VERSION}
|
||||||
|
if git checkout $RELEASE_BRANCH > /dev/null 2>&1; then
|
||||||
|
echo "Branch $RELEASE_BRANCH already exists"
|
||||||
|
echo ""
|
||||||
|
else
|
||||||
|
echo "Creating $RELEASE_BRANCH branch"
|
||||||
|
git checkout -b ${RELEASE_BRANCH} ${LATEST_TAG}
|
||||||
|
git push --set-upstream origin ${RELEASE_BRANCH}
|
||||||
|
git branch --show-current
|
||||||
|
echo ""
|
||||||
|
fi
|
||||||
|
echo "Returning to branch: ${REF_NAME}"
|
||||||
|
git checkout ${REF_NAME}
|
||||||
|
|
||||||
- name: Update git config
|
- name: Update current release branch
|
||||||
run: |
|
if: github.event_name == 'workflow_dispatch'
|
||||||
git config --global user.email "github-actions@github.com"
|
|
||||||
git config --global user.name "github-actions[bot]"
|
|
||||||
|
|
||||||
- name: Update release branch
|
|
||||||
run: |
|
run: |
|
||||||
|
echo SOURCE_BRANCH=${REF_NAME}
|
||||||
|
echo TARGET_BRANCH=releases/${MAJOR_VERSION}
|
||||||
python .github/update-release-branch.py \
|
python .github/update-release-branch.py \
|
||||||
--github-token ${{ secrets.GITHUB_TOKEN }} \
|
--github-token ${{ secrets.GITHUB_TOKEN }} \
|
||||||
--repository-nwo ${{ github.repository }} \
|
--repository-nwo ${{ github.repository }} \
|
||||||
|
--source-branch '${{ env.REF_NAME }}' \
|
||||||
|
--target-branch 'releases/${{ env.MAJOR_VERSION }}' \
|
||||||
|
--is-primary-release \
|
||||||
|
--conductor ${GITHUB_ACTOR}
|
||||||
|
|
||||||
|
backport:
|
||||||
|
timeout-minutes: 45
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
needs: [prepare]
|
||||||
|
if: ${{ (github.event_name == 'push') && needs.prepare.outputs.backport_target_branches != '[]' }}
|
||||||
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
|
matrix:
|
||||||
|
target_branch: ${{ fromJson(needs.prepare.outputs.backport_target_branches) }}
|
||||||
|
env:
|
||||||
|
SOURCE_BRANCH: ${{ needs.prepare.outputs.backport_source_branch }}
|
||||||
|
TARGET_BRANCH: ${{ matrix.target_branch }}
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v4
|
||||||
|
with:
|
||||||
|
fetch-depth: 0 # Need full history for calculation of diffs
|
||||||
|
- uses: ./.github/actions/release-initialise
|
||||||
|
|
||||||
|
- name: Update older release branch
|
||||||
|
run: |
|
||||||
|
echo SOURCE_BRANCH=${SOURCE_BRANCH}
|
||||||
|
echo TARGET_BRANCH=${TARGET_BRANCH}
|
||||||
|
python .github/update-release-branch.py \
|
||||||
|
--github-token ${{ secrets.GITHUB_TOKEN }} \
|
||||||
|
--repository-nwo ${{ github.repository }} \
|
||||||
|
--source-branch ${SOURCE_BRANCH} \
|
||||||
|
--target-branch ${TARGET_BRANCH} \
|
||||||
--conductor ${GITHUB_ACTOR}
|
--conductor ${GITHUB_ACTOR}
|
||||||
|
|||||||
@@ -14,13 +14,13 @@ jobs:
|
|||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: Setup Python
|
- name: Setup Python
|
||||||
uses: actions/setup-python@v4
|
uses: actions/setup-python@v5
|
||||||
with:
|
with:
|
||||||
python-version: "3.7"
|
python-version: "3.7"
|
||||||
- name: Checkout CodeQL Action
|
- name: Checkout CodeQL Action
|
||||||
uses: actions/checkout@v3
|
uses: actions/checkout@v4
|
||||||
- name: Checkout Enterprise Releases
|
- name: Checkout Enterprise Releases
|
||||||
uses: actions/checkout@v3
|
uses: actions/checkout@v4
|
||||||
with:
|
with:
|
||||||
repository: github/enterprise-releases
|
repository: github/enterprise-releases
|
||||||
ssh-key: ${{ secrets.ENTERPRISE_RELEASES_SSH_KEY }}
|
ssh-key: ${{ secrets.ENTERPRISE_RELEASES_SSH_KEY }}
|
||||||
@@ -35,14 +35,30 @@ jobs:
|
|||||||
npm run build
|
npm run build
|
||||||
env:
|
env:
|
||||||
ENTERPRISE_RELEASES_PATH: ${{ github.workspace }}/enterprise-releases/
|
ENTERPRISE_RELEASES_PATH: ${{ github.workspace }}/enterprise-releases/
|
||||||
- name: Commit Changes
|
|
||||||
uses: peter-evans/create-pull-request@5b4a9f6a9e2af26e5f02351490b90d01eb8ec1e5 # v5.0.0
|
- name: Update git config
|
||||||
with:
|
run: |
|
||||||
commit-message: Update supported GitHub Enterprise Server versions.
|
git config --global user.email "41898282+github-actions[bot]@users.noreply.github.com"
|
||||||
title: Update supported GitHub Enterprise Server versions.
|
git config --global user.name "github-actions[bot]"
|
||||||
body: ""
|
|
||||||
author: GitHub <noreply@github.com>
|
- name: Commit changes and open PR
|
||||||
branch: update-supported-enterprise-server-versions
|
|
||||||
draft: true
|
|
||||||
env:
|
env:
|
||||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
run: |
|
||||||
|
if [[ -z $(git status --porcelain) ]]; then
|
||||||
|
echo "No changes to commit"
|
||||||
|
else
|
||||||
|
git checkout -b update-supported-enterprise-server-versions
|
||||||
|
git add .
|
||||||
|
git commit --message "Update supported GitHub Enterprise Server versions"
|
||||||
|
git push origin update-supported-enterprise-server-versions
|
||||||
|
|
||||||
|
body="This PR updates the list of supported GitHub Enterprise Server versions, either because a new "
|
||||||
|
body+="version is about to be feature frozen, or because an old release has been deprecated.\n\n"
|
||||||
|
body+="If an old release has been deprecated, please follow the instructions in CONTRIBUTING.md to "
|
||||||
|
body+="deprecate the corresponding version of CodeQL."
|
||||||
|
|
||||||
|
gh pr create --draft \
|
||||||
|
--title "Update supported GitHub Enterprise Server versions" \
|
||||||
|
--body "$body"
|
||||||
|
fi
|
||||||
|
|||||||
@@ -17,8 +17,8 @@ def main():
|
|||||||
releases = json.loads(_RELEASE_FILE_PATH.read_text())
|
releases = json.loads(_RELEASE_FILE_PATH.read_text())
|
||||||
|
|
||||||
# Remove GHES version using a previous version numbering scheme.
|
# Remove GHES version using a previous version numbering scheme.
|
||||||
if "11.10.340" in releases:
|
if "11.10" in releases:
|
||||||
del releases["11.10.340"]
|
del releases["11.10"]
|
||||||
|
|
||||||
oldest_supported_release = None
|
oldest_supported_release = None
|
||||||
newest_supported_release = semver.VersionInfo.parse(api_compatibility_data["maximumVersion"] + ".0")
|
newest_supported_release = semver.VersionInfo.parse(api_compatibility_data["maximumVersion"] + ".0")
|
||||||
@@ -35,7 +35,10 @@ def main():
|
|||||||
|
|
||||||
if oldest_supported_release is None or release_version < oldest_supported_release:
|
if oldest_supported_release is None or release_version < oldest_supported_release:
|
||||||
end_of_life_date = datetime.date.fromisoformat(release_data["end"])
|
end_of_life_date = datetime.date.fromisoformat(release_data["end"])
|
||||||
if end_of_life_date > datetime.date.today():
|
# The GHES version is not actually end of life until the end of the day specified by
|
||||||
|
# `end_of_life_date`. Wait an extra week to be safe.
|
||||||
|
is_end_of_life = datetime.date.today() > end_of_life_date + datetime.timedelta(weeks=1)
|
||||||
|
if not is_end_of_life:
|
||||||
oldest_supported_release = release_version
|
oldest_supported_release = release_version
|
||||||
|
|
||||||
api_compatibility_data = {
|
api_compatibility_data = {
|
||||||
|
|||||||
7
.gitignore
vendored
7
.gitignore
vendored
@@ -1,2 +1,7 @@
|
|||||||
# Ignore for example failing-tests.json from AVA
|
# Ignore for example failing-tests.json from AVA
|
||||||
node_modules/.cache
|
node_modules/.cache/
|
||||||
|
# Java build files
|
||||||
|
.gradle/
|
||||||
|
*.class
|
||||||
|
# macOS
|
||||||
|
.DS_Store
|
||||||
|
|||||||
20
.pre-commit-config.yaml
Normal file
20
.pre-commit-config.yaml
Normal file
@@ -0,0 +1,20 @@
|
|||||||
|
repos:
|
||||||
|
- repo: local
|
||||||
|
hooks:
|
||||||
|
- id: compile-ts
|
||||||
|
name: Compile typescript
|
||||||
|
files: \.[tj]s$
|
||||||
|
language: system
|
||||||
|
entry: npm run build
|
||||||
|
pass_filenames: false
|
||||||
|
- id: lint-ts
|
||||||
|
name: Lint typescript code
|
||||||
|
files: \.ts$
|
||||||
|
language: system
|
||||||
|
entry: npm run lint -- --fix
|
||||||
|
- id: pr-checks-sync
|
||||||
|
name: Synchronize PR check workflows
|
||||||
|
files: ^.github/workflows/__.*\.yml$|^pr-checks
|
||||||
|
language: system
|
||||||
|
entry: python3 pr-checks/sync.py
|
||||||
|
pass_filenames: false
|
||||||
11
.vscode/settings.json
vendored
11
.vscode/settings.json
vendored
@@ -6,5 +6,14 @@
|
|||||||
|
|
||||||
// transpiled JavaScript
|
// transpiled JavaScript
|
||||||
"lib": true,
|
"lib": true,
|
||||||
}
|
},
|
||||||
|
// Installing a new Node package often triggers VS Code's git limit warnings as there is typically
|
||||||
|
// an intermediate stage where many files are modified. This setting suppresses these warnings.
|
||||||
|
"git.ignoreLimitWarning": true,
|
||||||
|
// Use the vendored TypeScript version to have a consistent development experience across
|
||||||
|
// machines.
|
||||||
|
"typescript.tsdk": "node_modules/typescript/lib",
|
||||||
|
"[typescript]": {
|
||||||
|
"editor.defaultFormatter": "esbenp.prettier-vscode"
|
||||||
|
},
|
||||||
}
|
}
|
||||||
|
|||||||
275
CHANGELOG.md
275
CHANGELOG.md
@@ -1,9 +1,284 @@
|
|||||||
# CodeQL Action Changelog
|
# CodeQL Action Changelog
|
||||||
|
|
||||||
|
See the [releases page](https://github.com/github/codeql-action/releases) for the relevant changes to the CodeQL CLI and language packs.
|
||||||
|
|
||||||
|
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]
|
## [UNRELEASED]
|
||||||
|
|
||||||
No user facing changes.
|
No user facing changes.
|
||||||
|
|
||||||
|
## 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.
|
||||||
|
|
||||||
|
## 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
|
||||||
|
|
||||||
|
- Update default CodeQL bundle version to 2.16.5. [#2203](https://github.com/github/codeql-action/pull/2203)
|
||||||
|
|
||||||
|
## 3.24.8 - 18 Mar 2024
|
||||||
|
|
||||||
|
- Improve the ease of debugging extraction issues by increasing the verbosity of the extractor logs when running in debug mode. [#2195](https://github.com/github/codeql-action/pull/2195)
|
||||||
|
|
||||||
|
## 3.24.7 - 12 Mar 2024
|
||||||
|
|
||||||
|
- Update default CodeQL bundle version to 2.16.4. [#2185](https://github.com/github/codeql-action/pull/2185)
|
||||||
|
|
||||||
|
## 3.24.6 - 29 Feb 2024
|
||||||
|
|
||||||
|
No user facing changes.
|
||||||
|
|
||||||
|
## 3.24.5 - 23 Feb 2024
|
||||||
|
|
||||||
|
- Update default CodeQL bundle version to 2.16.3. [#2156](https://github.com/github/codeql-action/pull/2156)
|
||||||
|
|
||||||
|
## 3.24.4 - 21 Feb 2024
|
||||||
|
|
||||||
|
- Fix an issue where an existing, but empty, `/sys/fs/cgroup/cpuset.cpus` file always resulted in a single-threaded run. [#2151](https://github.com/github/codeql-action/pull/2151)
|
||||||
|
|
||||||
|
## 3.24.3 - 15 Feb 2024
|
||||||
|
|
||||||
|
- Fix an issue where the CodeQL Action would fail to load a configuration specified by the `config` input to the `init` Action. [#2147](https://github.com/github/codeql-action/pull/2147)
|
||||||
|
|
||||||
|
## 3.24.2 - 15 Feb 2024
|
||||||
|
|
||||||
|
- Enable improved multi-threaded performance on larger runners for GitHub Enterprise Server users. This feature is already available to GitHub.com users. [#2141](https://github.com/github/codeql-action/pull/2141)
|
||||||
|
|
||||||
|
## 3.24.1 - 13 Feb 2024
|
||||||
|
|
||||||
|
- Update default CodeQL bundle version to 2.16.2. [#2124](https://github.com/github/codeql-action/pull/2124)
|
||||||
|
- The CodeQL action no longer fails if it can't write to the telemetry api endpoint. [#2121](https://github.com/github/codeql-action/pull/2121)
|
||||||
|
|
||||||
|
## 3.24.0 - 02 Feb 2024
|
||||||
|
|
||||||
|
- CodeQL Python analysis will no longer install dependencies on GitHub Enterprise Server, as is already the case for GitHub.com. See [release notes for 3.23.0](#3230---08-jan-2024) for more details. [#2106](https://github.com/github/codeql-action/pull/2106)
|
||||||
|
|
||||||
|
## 3.23.2 - 26 Jan 2024
|
||||||
|
|
||||||
|
- On Linux, the maximum possible value for the `--threads` option now respects the CPU count as specified in `cgroup` files to more accurately reflect the number of available cores when running in containers. [#2083](https://github.com/github/codeql-action/pull/2083)
|
||||||
|
- Update default CodeQL bundle version to 2.16.1. [#2096](https://github.com/github/codeql-action/pull/2096)
|
||||||
|
|
||||||
|
## 3.23.1 - 17 Jan 2024
|
||||||
|
|
||||||
|
- Update default CodeQL bundle version to 2.16.0. [#2073](https://github.com/github/codeql-action/pull/2073)
|
||||||
|
- Change the retention period for uploaded debug artifacts to 7 days. Previously, this was whatever the repository default was. [#2079](https://github.com/github/codeql-action/pull/2079)
|
||||||
|
|
||||||
|
## 3.23.0 - 08 Jan 2024
|
||||||
|
|
||||||
|
- We are rolling out a feature in January 2024 that will disable Python dependency installation by default for all users. This improves the speed of analysis while having only a very minor impact on results. You can override this behavior by setting `CODEQL_ACTION_DISABLE_PYTHON_DEPENDENCY_INSTALLATION=false` in your workflow, however we plan to remove this ability in future versions of the CodeQL Action. [#2031](https://github.com/github/codeql-action/pull/2031)
|
||||||
|
- The CodeQL Action now requires CodeQL version 2.11.6 or later. For more information, see [the corresponding changelog entry for CodeQL Action version 2.22.7](#2227---16-nov-2023). [#2009](https://github.com/github/codeql-action/pull/2009)
|
||||||
|
|
||||||
|
## 3.22.12 - 22 Dec 2023
|
||||||
|
|
||||||
|
- Update default CodeQL bundle version to 2.15.5. [#2047](https://github.com/github/codeql-action/pull/2047)
|
||||||
|
|
||||||
|
## 3.22.11 - 13 Dec 2023
|
||||||
|
|
||||||
|
- [v3+ only] The CodeQL Action now runs on Node.js v20. [#2006](https://github.com/github/codeql-action/pull/2006)
|
||||||
|
|
||||||
|
## 2.22.10 - 12 Dec 2023
|
||||||
|
|
||||||
|
- Update default CodeQL bundle version to 2.15.4. [#2016](https://github.com/github/codeql-action/pull/2016)
|
||||||
|
|
||||||
|
## 2.22.9 - 07 Dec 2023
|
||||||
|
|
||||||
|
No user facing changes.
|
||||||
|
|
||||||
|
## 2.22.8 - 23 Nov 2023
|
||||||
|
|
||||||
|
- Update default CodeQL bundle version to 2.15.3. [#2001](https://github.com/github/codeql-action/pull/2001)
|
||||||
|
|
||||||
|
## 2.22.7 - 16 Nov 2023
|
||||||
|
|
||||||
|
- Add a deprecation warning for customers using CodeQL version 2.11.5 and earlier. These versions of CodeQL were discontinued on 8 November 2023 alongside GitHub Enterprise Server 3.7, and will be unsupported by CodeQL Action v2.23.0 and later. [#1993](https://github.com/github/codeql-action/pull/1993)
|
||||||
|
- If you are using one of these versions, please update to CodeQL CLI version 2.11.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.10.5 and 2.11.5, you can replace `github/codeql-action/*@v2` by `github/codeql-action/*@v2.22.7` in your code scanning workflow to ensure you continue using this version of the CodeQL Action.
|
||||||
|
|
||||||
|
## 2.22.6 - 14 Nov 2023
|
||||||
|
|
||||||
|
- Customers running Python analysis on macOS using version 2.14.6 or earlier of the CodeQL CLI should upgrade to CodeQL CLI version 2.15.0 or later. If you do not wish to upgrade the CodeQL CLI, ensure that you are using Python version 3.11 or earlier, as CodeQL version 2.14.6 and earlier do not support Python 3.12. You can achieve this by adding a [`setup-python`](https://github.com/actions/setup-python) step to your code scanning workflow before the step that invokes `github/codeql-action/init`.
|
||||||
|
- Update default CodeQL bundle version to 2.15.2. [#1978](https://github.com/github/codeql-action/pull/1978)
|
||||||
|
|
||||||
|
## 2.22.5 - 27 Oct 2023
|
||||||
|
|
||||||
|
No user facing changes.
|
||||||
|
|
||||||
|
## 2.22.4 - 20 Oct 2023
|
||||||
|
|
||||||
|
- Update default CodeQL bundle version to 2.15.1. [#1953](https://github.com/github/codeql-action/pull/1953)
|
||||||
|
- Users will begin to see warnings on Node.js 16 deprecation in their Actions logs on code scanning runs starting October 23, 2023.
|
||||||
|
- All code scanning workflows should continue to succeed regardless of the warning.
|
||||||
|
- The team at GitHub maintaining the CodeQL Action is aware of the deprecation timeline and actively working on creating another version of the CodeQL Action, v3, that will bump us to Node 20.
|
||||||
|
- For more information, and to communicate with the maintaining team, please use [this issue](https://github.com/github/codeql-action/issues/1959).
|
||||||
|
|
||||||
|
## 2.22.3 - 13 Oct 2023
|
||||||
|
|
||||||
|
- Provide an authentication token when downloading the CodeQL Bundle from the API of a GitHub Enterprise Server instance. [#1945](https://github.com/github/codeql-action/pull/1945)
|
||||||
|
|
||||||
|
## 2.22.2 - 12 Oct 2023
|
||||||
|
|
||||||
|
- Update default CodeQL bundle version to 2.15.0. [#1938](https://github.com/github/codeql-action/pull/1938)
|
||||||
|
- Improve the log output when an error occurs in an invocation of the CodeQL CLI. [#1927](https://github.com/github/codeql-action/pull/1927)
|
||||||
|
|
||||||
|
## 2.22.1 - 09 Oct 2023
|
||||||
|
|
||||||
|
- Add a workaround for Python 3.12, which is not supported in CodeQL CLI version 2.14.6 or earlier. If you are running an analysis on Windows and using Python 3.12 or later, the CodeQL Action will switch to running Python 3.11. In this case, if Python 3.11 is not found, then the workflow will fail. [#1928](https://github.com/github/codeql-action/pull/1928)
|
||||||
|
|
||||||
|
## 2.22.0 - 06 Oct 2023
|
||||||
|
|
||||||
|
- The CodeQL Action now requires CodeQL version 2.10.5 or later. For more information, see the corresponding changelog entry for CodeQL Action version 2.21.8. [#1907](https://github.com/github/codeql-action/pull/1907)
|
||||||
|
- The CodeQL Action no longer runs ML-powered queries. For more information, including details on our investment in AI-powered security technology, see ["CodeQL code scanning deprecates ML-powered alerts."](https://github.blog/changelog/2023-09-29-codeql-code-scanning-deprecates-ml-powered-alerts/) [#1910](https://github.com/github/codeql-action/pull/1910)
|
||||||
|
- Fix a bug which prevented tracing of projects using Go 1.21 and above on Linux. [#1909](https://github.com/github/codeql-action/pull/1909)
|
||||||
|
|
||||||
|
## 2.21.9 - 27 Sep 2023
|
||||||
|
|
||||||
|
- Update default CodeQL bundle version to 2.14.6. [#1897](https://github.com/github/codeql-action/pull/1897)
|
||||||
|
- We are rolling out a feature in October 2023 that will improve the success rate of C/C++ autobuild. [#1889](https://github.com/github/codeql-action/pull/1889)
|
||||||
|
- We are rolling out a feature in October 2023 that will provide specific file coverage information for C and C++, Java and Kotlin, and JavaScript and TypeScript. Currently file coverage information for each of these pairs of languages is grouped together. [#1903](https://github.com/github/codeql-action/pull/1903)
|
||||||
|
- Add a warning to help customers avoid inadvertently analyzing the same CodeQL language in multiple matrix jobs. [#1901](https://github.com/github/codeql-action/pull/1901)
|
||||||
|
|
||||||
|
## 2.21.8 - 19 Sep 2023
|
||||||
|
|
||||||
|
- Add a deprecation warning for customers using CodeQL version 2.10.4 and earlier. These versions of CodeQL were discontinued on 12 September 2023 alongside GitHub Enterprise Server 3.6, and will be unsupported by the next minor release of the CodeQL Action. [#1884](https://github.com/github/codeql-action/pull/1884)
|
||||||
|
- If you are using one of these versions, please update to CodeQL CLI version 2.10.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.9.5 and 2.10.4, you can replace `github/codeql-action/*@v2` by `github/codeql-action/*@v2.21.7` in your code scanning workflow to ensure you continue using this version of the CodeQL Action.
|
||||||
|
- Enable the following language aliases when using CodeQL 2.14.4 and later: `c-cpp` for C/C++ analysis, `java-kotlin` for Java/Kotlin analysis, and `javascript-typescript` for JavaScript/TypeScript analysis. [#1883](https://github.com/github/codeql-action/pull/1883)
|
||||||
|
|
||||||
|
## 2.21.7 - 14 Sep 2023
|
||||||
|
|
||||||
|
- Update default CodeQL bundle version to 2.14.5. [#1882](https://github.com/github/codeql-action/pull/1882)
|
||||||
|
|
||||||
|
## 2.21.6 - 13 Sep 2023
|
||||||
|
|
||||||
|
- Better error message when there is a failure to determine the merge base of the code to analysis. [#1860](https://github.com/github/codeql-action/pull/1860)
|
||||||
|
- Improve the calculation of default amount of RAM used for query execution on GitHub Enterprise Server. This now reduces in proportion to the runner's total memory to better account for system memory usage, helping to avoid out-of-memory failures on larger runners. This feature is already available to GitHub.com users. [#1866](https://github.com/github/codeql-action/pull/1866)
|
||||||
|
- Enable improved file coverage information for GitHub Enterprise Server users. This feature is already available to GitHub.com users. [#1867](https://github.com/github/codeql-action/pull/1867)
|
||||||
|
- Update default CodeQL bundle version to 2.14.4. [#1873](https://github.com/github/codeql-action/pull/1873)
|
||||||
|
|
||||||
|
## 2.21.5 - 28 Aug 2023
|
||||||
|
|
||||||
|
- Update default CodeQL bundle version to 2.14.3. [#1845](https://github.com/github/codeql-action/pull/1845)
|
||||||
|
- Fixed a bug in CodeQL Action 2.21.3 onwards that affected beta support for [Project Lombok](https://projectlombok.org/) when analyzing Java. The environment variable `CODEQL_EXTRACTOR_JAVA_RUN_ANNOTATION_PROCESSORS` will now be respected if it was manually configured in the workflow. [#1844](https://github.com/github/codeql-action/pull/1844)
|
||||||
|
- Enable support for Kotlin 1.9.20 when running with CodeQL CLI v2.13.4 through v2.14.3. [#1853](https://github.com/github/codeql-action/pull/1853)
|
||||||
|
|
||||||
|
## 2.21.4 - 14 Aug 2023
|
||||||
|
|
||||||
|
- Update default CodeQL bundle version to 2.14.2. [#1831](https://github.com/github/codeql-action/pull/1831)
|
||||||
|
- Log a warning if the amount of available disk space runs low during a code scanning run. [#1825](https://github.com/github/codeql-action/pull/1825)
|
||||||
|
- When downloading CodeQL bundle version 2.13.4 and later, cache these bundles in the Actions tool cache using a simpler version number. [#1832](https://github.com/github/codeql-action/pull/1832)
|
||||||
|
- Fix an issue that first appeared in CodeQL Action v2.21.2 that prevented CodeQL invocations from being logged. [#1833](https://github.com/github/codeql-action/pull/1833)
|
||||||
|
- We are rolling out a feature in August 2023 that will improve the quality of file coverage information. [#1835](https://github.com/github/codeql-action/pull/1835)
|
||||||
|
|
||||||
|
## 2.21.3 - 08 Aug 2023
|
||||||
|
|
||||||
|
- We are rolling out a feature in August 2023 that will improve multi-threaded performance on larger runners. [#1817](https://github.com/github/codeql-action/pull/1817)
|
||||||
|
- We are rolling out a feature in August 2023 that adds beta support for [Project Lombok](https://projectlombok.org/) when analyzing Java. [#1809](https://github.com/github/codeql-action/pull/1809)
|
||||||
|
- Reduce disk space usage when downloading the CodeQL bundle. [#1820](https://github.com/github/codeql-action/pull/1820)
|
||||||
|
|
||||||
|
## 2.21.2 - 28 Jul 2023
|
||||||
|
|
||||||
|
- Update default CodeQL bundle version to 2.14.1. [#1797](https://github.com/github/codeql-action/pull/1797)
|
||||||
|
- Avoid duplicating the analysis summary within the logs. [#1811](https://github.com/github/codeql-action/pull/1811)
|
||||||
|
|
||||||
|
## 2.21.1 - 26 Jul 2023
|
||||||
|
|
||||||
|
- Improve the handling of fatal errors from the CodeQL CLI. [#1795](https://github.com/github/codeql-action/pull/1795)
|
||||||
|
- Add the `sarif-output` output to the analyze action that contains the path to the directory of the generated SARIF. [#1799](https://github.com/github/codeql-action/pull/1799)
|
||||||
|
|
||||||
|
## 2.21.0 - 19 Jul 2023
|
||||||
|
|
||||||
|
- CodeQL Action now requires CodeQL CLI 2.9.4 or later. For more information, see the corresponding changelog entry for CodeQL Action version 2.20.4. [#1724](https://github.com/github/codeql-action/pull/1724)
|
||||||
|
|
||||||
|
## 2.20.4 - 14 Jul 2023
|
||||||
|
|
||||||
|
- This is the last release of the Action that supports CodeQL CLI versions 2.8.5 to 2.9.3. These versions of the CodeQL CLI were deprecated on June 20, 2023 alongside GitHub Enterprise Server 3.5 and will not be supported by the next release of the CodeQL Action (2.21.0).
|
||||||
|
- If you are using one of these versions, please update to CodeQL CLI version 2.9.4 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.8.5 and 2.9.3, you can replace 'github/codeql-action/*@v2' by 'github/codeql-action/*@v2.20.4' in your code scanning workflow to ensure you continue using this version of the CodeQL Action.
|
||||||
|
- We are rolling out a feature in July 2023 that will slightly reduce the default amount of RAM used for query execution, in proportion to the runner's total memory. This will help to avoid out-of-memory failures on larger runners. [#1760](https://github.com/github/codeql-action/pull/1760)
|
||||||
|
- Update default CodeQL bundle version to 2.14.0. [#1762](https://github.com/github/codeql-action/pull/1762)
|
||||||
|
|
||||||
|
## 2.20.3 - 06 Jul 2023
|
||||||
|
|
||||||
|
- Update default CodeQL bundle version to 2.13.5. [#1743](https://github.com/github/codeql-action/pull/1743)
|
||||||
|
|
||||||
|
## 2.20.2 - 03 Jul 2023
|
||||||
|
|
||||||
|
No user facing changes.
|
||||||
|
|
||||||
|
## 2.20.1 - 21 Jun 2023
|
||||||
|
|
||||||
|
- Update default CodeQL bundle version to 2.13.4. [#1721](https://github.com/github/codeql-action/pull/1721)
|
||||||
|
- Experimental: add a new `resolve-environment` action which attempts to infer a configuration for the build environment that is required to build a given project. Do not use this in production as it is part of an internal experiment and subject to change at any time.
|
||||||
|
|
||||||
|
## 2.20.0 - 13 Jun 2023
|
||||||
|
|
||||||
|
- Bump the version of the Action to 2.20.0. This ensures that users who received a Dependabot upgrade to [`cdcdbb5`](https://github.com/github/codeql-action/commit/cdcdbb579706841c47f7063dda365e292e5cad7a), which was mistakenly marked as Action version 2.13.4, continue to receive updates to the CodeQL Action. Full details in [#1729](https://github.com/github/codeql-action/pull/1729)
|
||||||
|
|
||||||
|
## 2.3.6 - 01 Jun 2023
|
||||||
|
|
||||||
|
- Update default CodeQL bundle version to 2.13.3. [#1698](https://github.com/github/codeql-action/pull/1698)
|
||||||
|
|
||||||
|
## 2.3.5 - 25 May 2023
|
||||||
|
|
||||||
|
- Allow invalid URIs to be used as values to `artifactLocation.uri` properties. This reverses a change from [#1668](https://github.com/github/codeql-action/pull/1668) that inadvertently led to stricter validation of some URI values. [#1705](https://github.com/github/codeql-action/pull/1705)
|
||||||
|
- Gracefully handle invalid URIs when fingerprinting. [#1694](https://github.com/github/codeql-action/pull/1694)
|
||||||
|
|
||||||
|
## 2.3.4 - 24 May 2023
|
||||||
|
|
||||||
|
- Updated the SARIF 2.1.0 JSON schema file to the latest from [oasis-tcs/sarif-spec](https://github.com/oasis-tcs/sarif-spec/blob/123e95847b13fbdd4cbe2120fa5e33355d4a042b/Schemata/sarif-schema-2.1.0.json). [#1668](https://github.com/github/codeql-action/pull/1668)
|
||||||
|
- We are rolling out a feature in May 2023 that will disable Python dependency installation for new users of the CodeQL Action. This improves the speed of analysis while having only a very minor impact on results. [#1676](https://github.com/github/codeql-action/pull/1676)
|
||||||
|
- We are improving the way that [CodeQL bundles](https://github.com/github/codeql-action/releases) are tagged to make it possible to easily identify bundles by their CodeQL semantic version. [#1682](https://github.com/github/codeql-action/pull/1682)
|
||||||
|
- As of CodeQL CLI 2.13.4, CodeQL bundles will be tagged using semantic versions, for example `codeql-bundle-v2.13.4`, instead of timestamps, like `codeql-bundle-20230615`.
|
||||||
|
- This change does not affect the majority of workflows, and we will not be changing tags for existing bundle releases.
|
||||||
|
- Some workflows with custom logic that depends on the specific format of the CodeQL bundle tag may need to be updated. For example, if your workflow matches CodeQL bundle tag names against a `codeql-bundle-yyyymmdd` pattern, you should update it to also recognize `codeql-bundle-vx.y.z` tags.
|
||||||
|
- Remove the requirement for `on.push` and `on.pull_request` to trigger on the same branches. [#1675](https://github.com/github/codeql-action/pull/1675)
|
||||||
|
|
||||||
|
## 2.3.3 - 04 May 2023
|
||||||
|
|
||||||
|
- Update default CodeQL bundle version to 2.13.1. [#1664](https://github.com/github/codeql-action/pull/1664)
|
||||||
|
- You can now configure CodeQL within your code scanning workflow by passing a `config` input to the `init` Action. See [Using a custom configuration file](https://aka.ms/code-scanning-docs/config-file) for more information about configuring code scanning. [#1590](https://github.com/github/codeql-action/pull/1590)
|
||||||
|
|
||||||
## 2.3.2 - 27 Apr 2023
|
## 2.3.2 - 27 Apr 2023
|
||||||
|
|
||||||
No user facing changes.
|
No user facing changes.
|
||||||
|
|||||||
@@ -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.
|
||||||
|
|
||||||
@@ -12,7 +13,7 @@ Please note that this project is released with a [Contributor Code of Conduct][c
|
|||||||
|
|
||||||
## Development and Testing
|
## Development and Testing
|
||||||
|
|
||||||
Before you start, ensure that you have a recent version of node (14 or higher) installed, along with a recent version of npm (7 or higher). You can see which version of node is used by the action in `init/action.yml`.
|
Before you start, ensure that you have a recent version of node (16 or higher) installed, along with a recent version of npm (9.2 or higher). You can see which version of node is used by the action in `init/action.yml`.
|
||||||
|
|
||||||
### Common tasks
|
### Common tasks
|
||||||
|
|
||||||
@@ -57,18 +58,14 @@ Here are a few things you can do that will increase the likelihood of your pull
|
|||||||
## Releasing (write access required)
|
## Releasing (write access required)
|
||||||
|
|
||||||
1. The first step of releasing a new version of the `codeql-action` is running the "Update release branch" workflow.
|
1. The first step of releasing a new version of the `codeql-action` is running the "Update release branch" workflow.
|
||||||
This workflow goes through the pull requests that have been merged to `main` since the last release, creates a changelog, then opens a pull request to merge the changes since the last release into the `releases/v2` release branch.
|
This workflow goes through the pull requests that have been merged to `main` since the last release, creates a changelog, then opens a pull request to merge the changes since the last release into the `releases/v3` release branch.
|
||||||
|
|
||||||
You can start a release by triggering this workflow via [workflow dispatch](https://github.com/github/codeql-action/actions/workflows/update-release-branch.yml).
|
You can start a release by triggering this workflow via [workflow dispatch](https://github.com/github/codeql-action/actions/workflows/update-release-branch.yml).
|
||||||
1. The workflow run will open a pull request titled "Merge main into releases/v2". Mark the pull request as [ready for review](https://docs.github.com/en/github/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/changing-the-stage-of-a-pull-request#marking-a-pull-request-as-ready-for-review) to trigger the PR checks.
|
1. The workflow run will open a pull request titled "Merge main into releases/v3". Follow the steps on the checklist in the pull request. Once you've checked off all but the last two of these, approve the PR and automerge it.
|
||||||
1. Review the checklist items in the pull request description.
|
1. When the "Merge main into releases/v3" pull request is merged into the `releases/v3` branch, a mergeback pull request to `main` and a backport pull request to `releases/v2` will both be automatically created. This mergeback pull request incorporates the changelog updates into `main`, tags the release using the merge commit of the "Merge main into releases/v3" pull request, and bumps the patch version of the CodeQL Action. The backport pull request will incorporate the updates into `releases/v2`.
|
||||||
Once you've checked off all but the last two of these, approve the PR and automerge it.
|
1. Approve the mergeback and backport pull requests and automerge them.
|
||||||
1. When the "Merge main into releases/v2" pull request is merged into the `releases/v2` branch, the "Tag release and merge back" workflow will create a mergeback PR.
|
|
||||||
This mergeback incorporates the changelog updates into `main`, tags the release using the merge commit of the "Merge main into releases/v2" pull request, and bumps the patch version of the CodeQL Action.
|
|
||||||
|
|
||||||
Approve the mergeback PR and automerge it.
|
Once the mergeback and backport pull request have been merged, the release is complete.
|
||||||
|
|
||||||
Once the mergeback has been merged to `main`, the release is complete.
|
|
||||||
|
|
||||||
## Keeping the PR checks up to date (admin access required)
|
## Keeping the PR checks up to date (admin access required)
|
||||||
|
|
||||||
@@ -76,7 +73,46 @@ Since the `codeql-action` runs most of its testing through individual Actions wo
|
|||||||
|
|
||||||
1. By default, this script retrieves the checks from the latest SHA on `main`, so make sure that your `main` branch is up to date.
|
1. By default, this script retrieves the checks from the latest SHA on `main`, so make sure that your `main` branch is up to date.
|
||||||
2. Run the script. If there's a reason to, you can pass in a different SHA as a CLI argument.
|
2. Run the script. If there's a reason to, you can pass in a different SHA as a CLI argument.
|
||||||
3. After running, go to the [branch protection rules settings page](https://github.com/github/codeql-action/settings/branches) and validate that the rules for `main`, `v1`, and `v2` have been updated.
|
3. After running, go to the [branch protection rules settings page](https://github.com/github/codeql-action/settings/branches) and validate that the rules for `main`, `v2`, and `v3` have been updated.
|
||||||
|
|
||||||
|
Note that any updates to checks need to be backported to the `releases/v2` branch, in order to maintain the same set of names for required checks.
|
||||||
|
|
||||||
|
## Deprecating a CodeQL version (write access required)
|
||||||
|
|
||||||
|
We typically deprecate a version of CodeQL when the GitHub Enterprise Server (GHES) version that it first shipped in is deprecated.
|
||||||
|
|
||||||
|
1. Work out the next minimum version of CodeQL. This is the version that shipped in the version of GHES after the one that has just been deprecated.
|
||||||
|
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.
|
||||||
|
- 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
|
||||||
|
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.
|
||||||
|
- Bump `CODEQL_MINIMUM_VERSION` in `src/codeql.ts` to the new minimum version of CodeQL.
|
||||||
|
- Remove any code that is only needed to support the old version of CodeQL. This is often behind a version guard, so look for instances of version numbers between the old minimum version and the new minimum version in the codebase. A good place to start is the list of version numbers in `src/codeql.ts`.
|
||||||
|
- Update the default set of CodeQL test versions in `pr-checks/sync.py`.
|
||||||
|
- Remove the old minimum version of CodeQL.
|
||||||
|
- Add the latest patch release for any new CodeQL minor version series that have shipped in GHES.
|
||||||
|
- Run the script to update the generated PR checks.
|
||||||
|
- Do the same for PR checks that aren't auto-generated.
|
||||||
|
- Add a changelog note announcing the new minimum version of CodeQL that is now required.
|
||||||
|
- Example PR: https://github.com/github/codeql-action/pull/1907
|
||||||
|
|
||||||
|
## Deprecating a CodeQL Action version (write access required)
|
||||||
|
|
||||||
|
We sometimes maintain multiple versions of the CodeQL Action to enable customers on older but still supported versions of GitHub Enterprise Server (GHES) to continue to benefit from the latest CodeQL improvements. To accomplish this, the release process automation listens to updates to the release branch for the newest supported version. When this branch is updated, the release process automatically opens backport PRs to update the release branches for older versions.
|
||||||
|
|
||||||
|
We typically deprecate older versions of the Action once all supported GHES versions are compatible with the version of Node.js we are using on `main`.
|
||||||
|
|
||||||
|
To deprecate an older version of the Action:
|
||||||
|
|
||||||
|
1. Notify any users who are still pinned to the `vN` tag of the deprecated version of the Action, giving as much notice as is practical.
|
||||||
|
- Add a changelog note announcing the deprecation.
|
||||||
|
- Implement an Actions warning for customers using the deprecated version.
|
||||||
|
1. Wait for the deprecation period to pass.
|
||||||
|
1. Upgrade the Actions warning for customers using the deprecated version to a non-fatal error, and mention that this version of the Action is no longer supported.
|
||||||
|
1. Make a PR to bump the `OLDEST_SUPPORTED_MAJOR_VERSION` in [releases.ini](.github/releases.ini). Once this PR is merged, the release process will no longer backport changes to the deprecated release version.
|
||||||
|
|
||||||
## Resources
|
## Resources
|
||||||
|
|
||||||
|
|||||||
139
README.md
139
README.md
@@ -1,6 +1,6 @@
|
|||||||
# CodeQL Action
|
# CodeQL Action
|
||||||
|
|
||||||
This action runs GitHub's industry-leading semantic code analysis engine, [CodeQL](https://codeql.github.com/), against a repository's source code to find security vulnerabilities. It then automatically uploads the results to GitHub so they can be displayed in the repository's security tab. CodeQL runs an extensible set of [queries](https://github.com/github/codeql), which have been developed by the community and the [GitHub Security Lab](https://securitylab.github.com/) to find common vulnerabilities in your code.
|
This action runs GitHub's industry-leading semantic code analysis engine, [CodeQL](https://codeql.github.com/), against a repository's source code to find security vulnerabilities. It then automatically uploads the results to GitHub so they can be displayed on pull requests and in the repository's security tab. CodeQL runs an extensible set of [queries](https://github.com/github/codeql), which have been developed by the community and the [GitHub Security Lab](https://securitylab.github.com/) to find common vulnerabilities in your code.
|
||||||
|
|
||||||
For a list of recent changes, see the CodeQL Action's [changelog](CHANGELOG.md).
|
For a list of recent changes, see the CodeQL Action's [changelog](CHANGELOG.md).
|
||||||
|
|
||||||
@@ -8,134 +8,51 @@ For a list of recent changes, see the CodeQL Action's [changelog](CHANGELOG.md).
|
|||||||
|
|
||||||
This project is released under the [MIT License](LICENSE).
|
This project is released under the [MIT License](LICENSE).
|
||||||
|
|
||||||
The underlying CodeQL CLI, used in this action, is licensed under the [GitHub CodeQL Terms and Conditions](https://securitylab.github.com/tools/codeql/license). As such, this action may be used on open source projects hosted on GitHub, and on private repositories that are owned by an organisation with GitHub Advanced Security enabled.
|
The underlying CodeQL CLI, used in this action, is licensed under the [GitHub CodeQL Terms and Conditions](https://securitylab.github.com/tools/codeql/license). As such, this action may be used on open source projects hosted on GitHub, and on private repositories that are owned by an organisation with GitHub Advanced Security enabled.
|
||||||
|
|
||||||
## Usage
|
## Usage
|
||||||
|
|
||||||
This is a short walkthrough, but for more information read [configuring code scanning](https://help.github.com/en/github/finding-security-vulnerabilities-and-errors-in-your-code/configuring-code-scanning).
|
We recommend using default setup to configure CodeQL analysis for your repository. For more information, see "[Configuring default setup for code scanning](https://docs.github.com/en/code-security/code-scanning/enabling-code-scanning/configuring-default-setup-for-code-scanning)."
|
||||||
|
|
||||||
To get code scanning results from CodeQL analysis on your repo you can use the following workflow as a template:
|
You can also configure advanced setup for a repository to find security vulnerabilities in your code using a highly customizable code scanning configuration. For more information, see "[Configuring advanced setup for code scanning](https://docs.github.com/en/code-security/code-scanning/creating-an-advanced-setup-for-code-scanning/configuring-advanced-setup-for-code-scanning)" and "[Customizing your advanced setup for code scanning](https://docs.github.com/en/code-security/code-scanning/creating-an-advanced-setup-for-code-scanning/customizing-your-advanced-setup-for-code-scanning)."
|
||||||
|
|
||||||
```yaml
|
### Permissions
|
||||||
|
|
||||||
name: "Code Scanning - Action"
|
All advanced setup code scanning workflows must have the `security-events: write` permission. Workflows in private repositories must additionally have the `contents: read` permission. For more information, see "[Assigning permissions to jobs](https://docs.github.com/en/actions/using-jobs/assigning-permissions-to-jobs)."
|
||||||
|
|
||||||
on:
|
## Supported versions of the CodeQL Action
|
||||||
push:
|
|
||||||
branches: [main]
|
|
||||||
pull_request:
|
|
||||||
branches: [main]
|
|
||||||
schedule:
|
|
||||||
# ┌───────────── minute (0 - 59)
|
|
||||||
# │ ┌───────────── hour (0 - 23)
|
|
||||||
# │ │ ┌───────────── day of the month (1 - 31)
|
|
||||||
# │ │ │ ┌───────────── month (1 - 12 or JAN-DEC)
|
|
||||||
# │ │ │ │ ┌───────────── day of the week (0 - 6 or SUN-SAT)
|
|
||||||
# │ │ │ │ │
|
|
||||||
# │ │ │ │ │
|
|
||||||
# │ │ │ │ │
|
|
||||||
# * * * * *
|
|
||||||
- cron: '30 1 * * 0'
|
|
||||||
|
|
||||||
jobs:
|
The following versions of the CodeQL Action are currently supported:
|
||||||
CodeQL-Build:
|
|
||||||
# CodeQL runs on ubuntu-latest, windows-latest, and macos-latest
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
|
|
||||||
permissions:
|
- v3 (latest)
|
||||||
# required for all workflows
|
- v2 (deprecated, support will end on December 5th, 2024)
|
||||||
security-events: write
|
|
||||||
|
|
||||||
# only required for workflows in private repositories
|
The only difference between CodeQL Action v2 and v3 is the version of Node.js on which they run. CodeQL Action v3 runs on Node 20, while CodeQL Action v2 runs on Node 16.
|
||||||
actions: read
|
|
||||||
contents: read
|
|
||||||
|
|
||||||
steps:
|
To provide the best experience to customers using older versions of GitHub Enterprise Server, we will continue to release CodeQL Action v2 so that these customers can continue to run the latest version of CodeQL as long as their version of GitHub Enterprise Server is supported. For example CodeQL Action v3.22.11 was the first release of CodeQL Action v3 and is functionally identical to v2.22.11. This approach provides an easy way to track exactly which features are included in different versions by looking at the minor and patch version numbers.
|
||||||
- name: Checkout repository
|
|
||||||
uses: actions/checkout@v3
|
|
||||||
|
|
||||||
# Initializes the CodeQL tools for scanning.
|
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/)."
|
||||||
- name: Initialize CodeQL
|
|
||||||
uses: github/codeql-action/init@v2
|
|
||||||
# Override language selection by uncommenting this and choosing your languages
|
|
||||||
# with:
|
|
||||||
# languages: go, javascript, csharp, python, cpp, java, ruby
|
|
||||||
|
|
||||||
# Autobuild attempts to build any compiled languages (C/C++, C#, Go, or Java).
|
## Supported versions of the CodeQL CLI and GitHub Enterprise Server
|
||||||
# If this step fails, then you should remove it and run the build manually (see below).
|
|
||||||
- name: Autobuild
|
|
||||||
uses: github/codeql-action/autobuild@v2
|
|
||||||
|
|
||||||
# ℹ️ Command-line programs to run using the OS shell.
|
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.
|
||||||
# 📚 See https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idstepsrun
|
|
||||||
|
|
||||||
# ✏️ If the Autobuild fails above, remove it and uncomment the following
|
| Recommended CodeQL Action | Recommended CodeQL CLI Version | GitHub Environment |
|
||||||
# three lines and modify them (or add more) to build your code if your
|
|---------|----------|--------------|
|
||||||
# project uses a compiled language
|
| `v3` | default (do not pass a `tools` input) | GitHub.com |
|
||||||
|
| `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 |
|
||||||
|
| `2.2.9` | `2.12.5` | Enterprise Server 3.9 |
|
||||||
|
|
||||||
#- run: |
|
CodeQL Action `v2` will stop receiving updates when GHES 3.11 is deprecated.
|
||||||
# make bootstrap
|
|
||||||
# make release
|
|
||||||
|
|
||||||
- name: Perform CodeQL Analysis
|
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).
|
||||||
uses: github/codeql-action/analyze@v2
|
|
||||||
```
|
|
||||||
|
|
||||||
If you prefer to integrate this within an existing CI workflow, it should end up looking something like this:
|
|
||||||
|
|
||||||
```yaml
|
|
||||||
- name: Initialize CodeQL
|
|
||||||
uses: github/codeql-action/init@v2
|
|
||||||
with:
|
|
||||||
languages: go, javascript
|
|
||||||
|
|
||||||
# Here is where you build your code
|
|
||||||
- run: |
|
|
||||||
make bootstrap
|
|
||||||
make release
|
|
||||||
|
|
||||||
- name: Perform CodeQL Analysis
|
|
||||||
uses: github/codeql-action/analyze@v2
|
|
||||||
```
|
|
||||||
|
|
||||||
### Configuration file
|
|
||||||
|
|
||||||
Use the `config-file` parameter of the `init` action to enable the configuration file. The value of `config-file` is the path to the configuration file you want to use. This example loads the configuration file `./.github/codeql/codeql-config.yml`.
|
|
||||||
|
|
||||||
```yaml
|
|
||||||
- uses: github/codeql-action/init@v2
|
|
||||||
with:
|
|
||||||
config-file: ./.github/codeql/codeql-config.yml
|
|
||||||
```
|
|
||||||
|
|
||||||
The configuration file can be located in a different repository. This is useful if you want to share the same configuration across multiple repositories. If the configuration file is in a private repository you can also specify an `external-repository-token` option. This should be a personal access token that has read access to any repositories containing referenced config files and queries.
|
|
||||||
|
|
||||||
```yaml
|
|
||||||
- uses: github/codeql-action/init@v2
|
|
||||||
with:
|
|
||||||
config-file: owner/repo/codeql-config.yml@branch
|
|
||||||
external-repository-token: ${{ secrets.EXTERNAL_REPOSITORY_TOKEN }}
|
|
||||||
```
|
|
||||||
|
|
||||||
For information on how to write a configuration file, see "[Using a custom configuration file](https://help.github.com/en/github/finding-security-vulnerabilities-and-errors-in-your-code/configuring-code-scanning#using-a-custom-configuration-file)."
|
|
||||||
|
|
||||||
If you only want to customise the queries used, you can specify them in your workflow instead of creating a config file, using the `queries` property of the `init` action:
|
|
||||||
|
|
||||||
```yaml
|
|
||||||
- uses: github/codeql-action/init@v2
|
|
||||||
with:
|
|
||||||
queries: <local-or-remote-query>,<another-query>
|
|
||||||
```
|
|
||||||
|
|
||||||
By default, this will override any queries specified in a config file. If you wish to use both sets of queries, prefix the list of queries in the workflow with `+`:
|
|
||||||
|
|
||||||
```yaml
|
|
||||||
- uses: github/codeql-action/init@v2
|
|
||||||
with:
|
|
||||||
queries: +<local-or-remote-query>,<another-query>
|
|
||||||
```
|
|
||||||
|
|
||||||
## Troubleshooting
|
## Troubleshooting
|
||||||
|
|
||||||
Read about [troubleshooting code scanning](https://help.github.com/en/github/finding-security-vulnerabilities-and-errors-in-your-code/troubleshooting-code-scanning).
|
Read about [troubleshooting code scanning](https://docs.github.com/en/code-security/code-scanning/troubleshooting-code-scanning).
|
||||||
|
|
||||||
|
## Contributing
|
||||||
|
|
||||||
|
This project welcomes contributions. See [CONTRIBUTING.md](CONTRIBUTING.md) for details on how to build, install, and contribute.
|
||||||
|
|||||||
@@ -52,10 +52,10 @@ inputs:
|
|||||||
# If changing this, make sure to update workflow.ts accordingly.
|
# If changing this, make sure to update workflow.ts accordingly.
|
||||||
default: ${{ github.workspace }}
|
default: ${{ github.workspace }}
|
||||||
ref:
|
ref:
|
||||||
description: "The ref where results will be uploaded. If not provided, the Action will use the GITHUB_REF environment variable. If provided, the sha input must be provided as well. This input is not available in pull requests from forks."
|
description: "The ref where results will be uploaded. If not provided, the Action will use the GITHUB_REF environment variable. If provided, the sha input must be provided as well. This input is ignored for pull requests from forks."
|
||||||
required: false
|
required: false
|
||||||
sha:
|
sha:
|
||||||
description: "The sha of the HEAD of the ref where results will be uploaded. If not provided, the Action will use the GITHUB_SHA environment variable. If provided, the ref input must be provided as well. This input is not available in pull requests from forks."
|
description: "The sha of the HEAD of the ref where results will be uploaded. If not provided, the Action will use the GITHUB_SHA environment variable. If provided, the ref input must be provided as well. This input is ignored for pull requests from forks."
|
||||||
required: false
|
required: false
|
||||||
category:
|
category:
|
||||||
description: String used by Code Scanning for matching the analyses
|
description: String used by Code Scanning for matching the analyses
|
||||||
@@ -69,6 +69,8 @@ inputs:
|
|||||||
required: true
|
required: true
|
||||||
default: "true"
|
default: "true"
|
||||||
token:
|
token:
|
||||||
|
description: "GitHub token to use for authenticating with this instance of GitHub. The token needs the `security-events: write` permission."
|
||||||
|
required: false
|
||||||
default: ${{ github.token }}
|
default: ${{ github.token }}
|
||||||
matrix:
|
matrix:
|
||||||
default: ${{ toJson(matrix) }}
|
default: ${{ toJson(matrix) }}
|
||||||
@@ -79,9 +81,11 @@ inputs:
|
|||||||
outputs:
|
outputs:
|
||||||
db-locations:
|
db-locations:
|
||||||
description: A map from language to absolute path for each database created by CodeQL.
|
description: A map from language to absolute path for each database created by CodeQL.
|
||||||
|
sarif-output:
|
||||||
|
description: Absolute, local path to the directory containing the generated SARIF file.
|
||||||
sarif-id:
|
sarif-id:
|
||||||
description: The ID of the uploaded SARIF file.
|
description: The ID of the uploaded SARIF file.
|
||||||
runs:
|
runs:
|
||||||
using: "node16"
|
using: node20
|
||||||
main: "../lib/analyze-action.js"
|
main: "../lib/analyze-action.js"
|
||||||
post: "../lib/analyze-action-post.js"
|
post: "../lib/analyze-action-post.js"
|
||||||
|
|||||||
@@ -3,6 +3,8 @@ description: 'Attempt to automatically build code'
|
|||||||
author: 'GitHub'
|
author: 'GitHub'
|
||||||
inputs:
|
inputs:
|
||||||
token:
|
token:
|
||||||
|
description: "GitHub token to use for authenticating with this instance of GitHub. The token needs the `security-events: write` permission."
|
||||||
|
required: false
|
||||||
default: ${{ github.token }}
|
default: ${{ github.token }}
|
||||||
matrix:
|
matrix:
|
||||||
default: ${{ toJson(matrix) }}
|
default: ${{ toJson(matrix) }}
|
||||||
@@ -13,5 +15,5 @@ inputs:
|
|||||||
$GITHUB_WORKSPACE as its working directory.
|
$GITHUB_WORKSPACE as its working directory.
|
||||||
required: false
|
required: false
|
||||||
runs:
|
runs:
|
||||||
using: 'node16'
|
using: node20
|
||||||
main: '../lib/autobuild-action.js'
|
main: '../lib/autobuild-action.js'
|
||||||
|
|||||||
@@ -3,11 +3,44 @@ 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: The languages to be analysed
|
description: >-
|
||||||
|
A comma-separated list of CodeQL languages to analyze.
|
||||||
|
|
||||||
|
Due to the performance benefit of parallelizing builds, we recommend specifying languages to
|
||||||
|
analyze using a matrix and providing `\$\{{ matrix.language }}` as this input.
|
||||||
|
|
||||||
|
For more information, see
|
||||||
|
https://docs.github.com/en/code-security/code-scanning/creating-an-advanced-setup-for-code-scanning/customizing-your-advanced-setup-for-code-scanning#changing-the-languages-that-are-analyzed.
|
||||||
|
required: false
|
||||||
|
build-mode:
|
||||||
|
description: >-
|
||||||
|
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.
|
||||||
|
|
||||||
|
Available build modes will differ based on the language being analyzed. One of:
|
||||||
|
|
||||||
|
- `none`: The database will be created without building the source code.
|
||||||
|
Available for all interpreted languages and some compiled languages.
|
||||||
|
- `autobuild`: The database will be created by attempting to automatically build the source
|
||||||
|
code. Available for all compiled languages.
|
||||||
|
- `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
|
||||||
|
your workflow between the `init` and `analyze` steps. Available for all
|
||||||
|
compiled languages.
|
||||||
required: false
|
required: false
|
||||||
token:
|
token:
|
||||||
description: GitHub token to use for authenticating with this instance of GitHub. To download custom packs from multiple registries, use the registries input.
|
description: GitHub token to use for authenticating with this instance of GitHub. To download custom packs from multiple registries, use the registries input.
|
||||||
@@ -44,12 +77,15 @@ inputs:
|
|||||||
db-location:
|
db-location:
|
||||||
description: Path where CodeQL databases should be created. If not specified, a temporary directory will be used.
|
description: Path where CodeQL databases should be created. If not specified, a temporary directory will be used.
|
||||||
required: false
|
required: false
|
||||||
|
config:
|
||||||
|
description: Configuration passed as a YAML string in the same format as the config-file input. This takes precedence over the config-file input.
|
||||||
|
required: false
|
||||||
queries:
|
queries:
|
||||||
description: Comma-separated list of additional queries to run. By default, this overrides the same setting in a configuration file; prefix with "+" to use both sets of queries.
|
description: Comma-separated list of additional queries to run. By default, this overrides the same setting in a configuration file; prefix with "+" to use both sets of queries.
|
||||||
required: false
|
required: false
|
||||||
packs:
|
packs:
|
||||||
description: >-
|
description: >-
|
||||||
[Experimental] Comma-separated list of packs to run. Reference a pack in the format `scope/name[@version]`. If `version` is not
|
Comma-separated list of packs to run. Reference a pack in the format `scope/name[@version]`. If `version` is not
|
||||||
specified, then the latest version of the pack is used. By default, this overrides the same setting in a
|
specified, then the latest version of the pack is used. By default, this overrides the same setting in a
|
||||||
configuration file; prefix with "+" to use both sets of packs.
|
configuration file; prefix with "+" to use both sets of packs.
|
||||||
|
|
||||||
@@ -60,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
|
||||||
@@ -105,6 +140,6 @@ 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
|
||||||
runs:
|
runs:
|
||||||
using: 'node16'
|
using: node20
|
||||||
main: '../lib/init-action.js'
|
main: '../lib/init-action.js'
|
||||||
post: '../lib/init-action-post.js'
|
post: '../lib/init-action-post.js'
|
||||||
|
|||||||
380
lib/actions-util.js
generated
380
lib/actions-util.js
generated
@@ -23,17 +23,13 @@ var __importStar = (this && this.__importStar) || function (mod) {
|
|||||||
return result;
|
return result;
|
||||||
};
|
};
|
||||||
Object.defineProperty(exports, "__esModule", { value: true });
|
Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
exports.getUploadValue = exports.printDebugLogs = exports.isAnalyzingDefaultBranch = exports.getRelativeScriptPath = exports.isRunningLocalAction = exports.workflowEventName = exports.sendStatusReport = exports.createStatusReportBase = exports.getActionVersion = exports.getActionsStatus = exports.getRef = exports.computeAutomationID = exports.getAutomationID = exports.getAnalysisKey = exports.determineMergeBaseCommitOid = exports.getCommitOid = exports.getTemporaryDirectory = exports.getOptionalInput = exports.getRequiredInput = void 0;
|
exports.getFileType = exports.FileCmdNotFoundError = 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;
|
||||||
const fs = __importStar(require("fs"));
|
const fs = __importStar(require("fs"));
|
||||||
const os = __importStar(require("os"));
|
|
||||||
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 api = __importStar(require("./api-client"));
|
|
||||||
const sharedEnv = __importStar(require("./shared-environment"));
|
|
||||||
const util_1 = require("./util");
|
const util_1 = require("./util");
|
||||||
const workflow_1 = require("./workflow");
|
|
||||||
// eslint-disable-next-line import/no-commonjs
|
// eslint-disable-next-line import/no-commonjs
|
||||||
const pkg = require("../package.json");
|
const pkg = require("../package.json");
|
||||||
/**
|
/**
|
||||||
@@ -42,9 +38,13 @@ const pkg = require("../package.json");
|
|||||||
*
|
*
|
||||||
* This allows us to get stronger type checking of required/optional inputs.
|
* This allows us to get stronger type checking of required/optional inputs.
|
||||||
*/
|
*/
|
||||||
function getRequiredInput(name) {
|
const getRequiredInput = function (name) {
|
||||||
return core.getInput(name, { required: true });
|
const value = core.getInput(name);
|
||||||
}
|
if (!value) {
|
||||||
|
throw new util_1.ConfigurationError(`Input required and not supplied: ${name}`);
|
||||||
|
}
|
||||||
|
return value;
|
||||||
|
};
|
||||||
exports.getRequiredInput = getRequiredInput;
|
exports.getRequiredInput = getRequiredInput;
|
||||||
/**
|
/**
|
||||||
* Wrapper around core.getInput that converts empty inputs to undefined.
|
* Wrapper around core.getInput that converts empty inputs to undefined.
|
||||||
@@ -75,6 +75,7 @@ const getCommitOid = async function (checkoutPath, ref = "HEAD") {
|
|||||||
// the merge commit, which must mean that git is available.
|
// the merge commit, which must mean that git is available.
|
||||||
// Even if this does go wrong, it's not a huge problem for the alerts to
|
// Even if this does go wrong, it's not a huge problem for the alerts to
|
||||||
// reported on the merge commit.
|
// reported on the merge commit.
|
||||||
|
let stderr = "";
|
||||||
try {
|
try {
|
||||||
let commitOid = "";
|
let commitOid = "";
|
||||||
await new toolrunner.ToolRunner(await safeWhich.safeWhich("git"), ["rev-parse", ref], {
|
await new toolrunner.ToolRunner(await safeWhich.safeWhich("git"), ["rev-parse", ref], {
|
||||||
@@ -84,7 +85,7 @@ const getCommitOid = async function (checkoutPath, ref = "HEAD") {
|
|||||||
commitOid += data.toString();
|
commitOid += data.toString();
|
||||||
},
|
},
|
||||||
stderr: (data) => {
|
stderr: (data) => {
|
||||||
process.stderr.write(data);
|
stderr += data.toString();
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
cwd: checkoutPath,
|
cwd: checkoutPath,
|
||||||
@@ -92,9 +93,13 @@ const getCommitOid = async function (checkoutPath, ref = "HEAD") {
|
|||||||
return commitOid.trim();
|
return commitOid.trim();
|
||||||
}
|
}
|
||||||
catch (e) {
|
catch (e) {
|
||||||
core.info("Could not determine current commit SHA using git. Continuing with data from user input or environment.");
|
if (stderr.includes("not a git repository")) {
|
||||||
core.debug(`Reason: ${e.message}`);
|
core.info("Could not determine current commit SHA using git. Continuing with data from user input or environment. " +
|
||||||
core.debug(e.stack || "NO STACK");
|
"The checkout path provided to the action does not appear to be a git repository.");
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
core.info(`Could not determine current commit SHA using git. Continuing with data from user input or environment. ${stderr}`);
|
||||||
|
}
|
||||||
return (0, exports.getOptionalInput)("sha") || (0, util_1.getRequiredEnvParam)("GITHUB_SHA");
|
return (0, exports.getOptionalInput)("sha") || (0, util_1.getRequiredEnvParam)("GITHUB_SHA");
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
@@ -103,12 +108,13 @@ exports.getCommitOid = getCommitOid;
|
|||||||
* If the action was triggered by a pull request, determine the commit sha of the merge base.
|
* If the action was triggered by a pull request, determine the commit sha of the merge base.
|
||||||
* Returns undefined if run by other triggers or the merge base cannot be determined.
|
* Returns undefined if run by other triggers or the merge base cannot be determined.
|
||||||
*/
|
*/
|
||||||
const determineMergeBaseCommitOid = async function () {
|
const determineMergeBaseCommitOid = async function (checkoutPathOverride) {
|
||||||
if (workflowEventName() !== "pull_request") {
|
if (getWorkflowEventName() !== "pull_request") {
|
||||||
return undefined;
|
return undefined;
|
||||||
}
|
}
|
||||||
const mergeSha = (0, util_1.getRequiredEnvParam)("GITHUB_SHA");
|
const mergeSha = (0, util_1.getRequiredEnvParam)("GITHUB_SHA");
|
||||||
const checkoutPath = (0, exports.getOptionalInput)("checkout_path");
|
const checkoutPath = checkoutPathOverride ?? (0, exports.getOptionalInput)("checkout_path");
|
||||||
|
let stderr = "";
|
||||||
try {
|
try {
|
||||||
let commitOid = "";
|
let commitOid = "";
|
||||||
let baseOid = "";
|
let baseOid = "";
|
||||||
@@ -130,7 +136,7 @@ const determineMergeBaseCommitOid = async function () {
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
stderr: (data) => {
|
stderr: (data) => {
|
||||||
process.stderr.write(data);
|
stderr += data.toString();
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
cwd: checkoutPath,
|
cwd: checkoutPath,
|
||||||
@@ -144,57 +150,18 @@ const determineMergeBaseCommitOid = async function () {
|
|||||||
return undefined;
|
return undefined;
|
||||||
}
|
}
|
||||||
catch (e) {
|
catch (e) {
|
||||||
core.info(`Failed to call git to determine merge base. Continuing with data from environment: ${e}`);
|
if (stderr.includes("not a git repository")) {
|
||||||
core.info(e.stack || "NO STACK");
|
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.");
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
core.info(`Failed to call git to determine merge base. Will calculate the merge base on ` +
|
||||||
|
`the server. Reason: ${stderr}`);
|
||||||
|
}
|
||||||
return undefined;
|
return undefined;
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
exports.determineMergeBaseCommitOid = determineMergeBaseCommitOid;
|
exports.determineMergeBaseCommitOid = determineMergeBaseCommitOid;
|
||||||
/**
|
|
||||||
* Get the analysis key parameter for the current job.
|
|
||||||
*
|
|
||||||
* This will combine the workflow path and current job name.
|
|
||||||
* Computing this the first time requires making requests to
|
|
||||||
* the github API, but after that the result will be cached.
|
|
||||||
*/
|
|
||||||
async function getAnalysisKey() {
|
|
||||||
const analysisKeyEnvVar = "CODEQL_ACTION_ANALYSIS_KEY";
|
|
||||||
let analysisKey = process.env[analysisKeyEnvVar];
|
|
||||||
if (analysisKey !== undefined) {
|
|
||||||
return analysisKey;
|
|
||||||
}
|
|
||||||
const workflowPath = await (0, workflow_1.getWorkflowRelativePath)();
|
|
||||||
const jobName = (0, util_1.getRequiredEnvParam)("GITHUB_JOB");
|
|
||||||
analysisKey = `${workflowPath}:${jobName}`;
|
|
||||||
core.exportVariable(analysisKeyEnvVar, analysisKey);
|
|
||||||
return analysisKey;
|
|
||||||
}
|
|
||||||
exports.getAnalysisKey = getAnalysisKey;
|
|
||||||
async function getAutomationID() {
|
|
||||||
const analysis_key = await getAnalysisKey();
|
|
||||||
const environment = getRequiredInput("matrix");
|
|
||||||
return computeAutomationID(analysis_key, environment);
|
|
||||||
}
|
|
||||||
exports.getAutomationID = getAutomationID;
|
|
||||||
function computeAutomationID(analysis_key, environment) {
|
|
||||||
let automationID = `${analysis_key}/`;
|
|
||||||
const matrix = (0, util_1.parseMatrixInput)(environment);
|
|
||||||
if (matrix !== undefined) {
|
|
||||||
// the id has to be deterministic so we sort the fields
|
|
||||||
for (const entry of Object.entries(matrix).sort()) {
|
|
||||||
if (typeof entry[1] === "string") {
|
|
||||||
automationID += `${entry[0]}:${entry[1]}/`;
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
// In code scanning we just handle the string values,
|
|
||||||
// the rest get converted to the empty string
|
|
||||||
automationID += `${entry[0]}:/`;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return automationID;
|
|
||||||
}
|
|
||||||
exports.computeAutomationID = computeAutomationID;
|
|
||||||
/**
|
/**
|
||||||
* Get the ref currently being analyzed.
|
* Get the ref currently being analyzed.
|
||||||
*/
|
*/
|
||||||
@@ -210,7 +177,7 @@ async function getRef() {
|
|||||||
const hasShaInput = !!shaInput;
|
const hasShaInput = !!shaInput;
|
||||||
// If one of 'ref' or 'sha' are provided, both are required
|
// If one of 'ref' or 'sha' are provided, both are required
|
||||||
if ((hasRefInput || hasShaInput) && !(hasRefInput && hasShaInput)) {
|
if ((hasRefInput || hasShaInput) && !(hasRefInput && hasShaInput)) {
|
||||||
throw new Error("Both 'ref' and 'sha' are required if one of them is provided.");
|
throw new util_1.ConfigurationError("Both 'ref' and 'sha' are required if one of them is provided.");
|
||||||
}
|
}
|
||||||
const ref = refInput || getRefFromEnv();
|
const ref = refInput || getRefFromEnv();
|
||||||
const sha = shaInput || (0, util_1.getRequiredEnvParam)("GITHUB_SHA");
|
const sha = shaInput || (0, util_1.getRequiredEnvParam)("GITHUB_SHA");
|
||||||
@@ -265,205 +232,40 @@ function getRefFromEnv() {
|
|||||||
}
|
}
|
||||||
return refEnv;
|
return refEnv;
|
||||||
}
|
}
|
||||||
function getActionsStatus(error, otherFailureCause) {
|
|
||||||
if (error || otherFailureCause) {
|
|
||||||
return error instanceof util_1.UserError ? "user-error" : "failure";
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
return "success";
|
|
||||||
}
|
|
||||||
}
|
|
||||||
exports.getActionsStatus = getActionsStatus;
|
|
||||||
function getActionVersion() {
|
function getActionVersion() {
|
||||||
return pkg.version;
|
return pkg.version;
|
||||||
}
|
}
|
||||||
exports.getActionVersion = getActionVersion;
|
exports.getActionVersion = getActionVersion;
|
||||||
/**
|
/**
|
||||||
* Compose a StatusReport.
|
* Returns the name of the event that triggered this workflow.
|
||||||
*
|
*
|
||||||
* @param actionName The name of the action, e.g. 'init', 'finish', 'upload-sarif'
|
* This will be "dynamic" for default setup workflow runs.
|
||||||
* @param status The status. Must be 'success', 'failure', or 'starting'
|
|
||||||
* @param startedAt The time this action started executing.
|
|
||||||
* @param cause Cause of failure (only supply if status is 'failure')
|
|
||||||
* @param exception Exception (only supply if status is 'failure')
|
|
||||||
*/
|
*/
|
||||||
async function createStatusReportBase(actionName, status, actionStartedAt, cause, exception) {
|
function getWorkflowEventName() {
|
||||||
const commitOid = (0, exports.getOptionalInput)("sha") || process.env["GITHUB_SHA"] || "";
|
return (0, util_1.getRequiredEnvParam)("GITHUB_EVENT_NAME");
|
||||||
const ref = await getRef();
|
|
||||||
const workflowRunID = (0, workflow_1.getWorkflowRunID)();
|
|
||||||
const workflowRunAttempt = (0, workflow_1.getWorkflowRunAttempt)();
|
|
||||||
const workflowName = process.env["GITHUB_WORKFLOW"] || "";
|
|
||||||
const jobName = process.env["GITHUB_JOB"] || "";
|
|
||||||
const analysis_key = await getAnalysisKey();
|
|
||||||
let workflowStartedAt = process.env[sharedEnv.CODEQL_WORKFLOW_STARTED_AT];
|
|
||||||
if (workflowStartedAt === undefined) {
|
|
||||||
workflowStartedAt = actionStartedAt.toISOString();
|
|
||||||
core.exportVariable(sharedEnv.CODEQL_WORKFLOW_STARTED_AT, workflowStartedAt);
|
|
||||||
}
|
|
||||||
const runnerOs = (0, util_1.getRequiredEnvParam)("RUNNER_OS");
|
|
||||||
const codeQlCliVersion = (0, util_1.getCachedCodeQlVersion)();
|
|
||||||
const actionRef = process.env["GITHUB_ACTION_REF"];
|
|
||||||
const testingEnvironment = process.env[sharedEnv.CODEQL_ACTION_TESTING_ENVIRONMENT] || "";
|
|
||||||
// re-export the testing environment variable so that it is available to subsequent steps,
|
|
||||||
// even if it was only set for this step
|
|
||||||
if (testingEnvironment !== "") {
|
|
||||||
core.exportVariable(sharedEnv.CODEQL_ACTION_TESTING_ENVIRONMENT, testingEnvironment);
|
|
||||||
}
|
|
||||||
const statusReport = {
|
|
||||||
workflow_run_id: workflowRunID,
|
|
||||||
workflow_run_attempt: workflowRunAttempt,
|
|
||||||
workflow_name: workflowName,
|
|
||||||
job_name: jobName,
|
|
||||||
analysis_key,
|
|
||||||
commit_oid: commitOid,
|
|
||||||
ref,
|
|
||||||
action_name: actionName,
|
|
||||||
action_ref: actionRef,
|
|
||||||
action_oid: "unknown",
|
|
||||||
started_at: workflowStartedAt,
|
|
||||||
action_started_at: actionStartedAt.toISOString(),
|
|
||||||
status,
|
|
||||||
testing_environment: testingEnvironment,
|
|
||||||
runner_os: runnerOs,
|
|
||||||
action_version: getActionVersion(),
|
|
||||||
};
|
|
||||||
// Add optional parameters
|
|
||||||
if (cause) {
|
|
||||||
statusReport.cause = cause;
|
|
||||||
}
|
|
||||||
if (exception) {
|
|
||||||
statusReport.exception = exception;
|
|
||||||
}
|
|
||||||
if (status === "success" ||
|
|
||||||
status === "failure" ||
|
|
||||||
status === "aborted" ||
|
|
||||||
status === "user-error") {
|
|
||||||
statusReport.completed_at = new Date().toISOString();
|
|
||||||
}
|
|
||||||
const matrix = getRequiredInput("matrix");
|
|
||||||
if (matrix) {
|
|
||||||
statusReport.matrix_vars = matrix;
|
|
||||||
}
|
|
||||||
if ("RUNNER_ARCH" in process.env) {
|
|
||||||
// RUNNER_ARCH is available only in GHES 3.4 and later
|
|
||||||
// Values other than X86, X64, ARM, or ARM64 are discarded server side
|
|
||||||
statusReport.runner_arch = process.env["RUNNER_ARCH"];
|
|
||||||
}
|
|
||||||
if (runnerOs === "Windows" || runnerOs === "macOS") {
|
|
||||||
statusReport.runner_os_release = os.release();
|
|
||||||
}
|
|
||||||
if (codeQlCliVersion !== undefined) {
|
|
||||||
statusReport.codeql_version = codeQlCliVersion;
|
|
||||||
}
|
|
||||||
return statusReport;
|
|
||||||
}
|
}
|
||||||
exports.createStatusReportBase = createStatusReportBase;
|
exports.getWorkflowEventName = getWorkflowEventName;
|
||||||
const GENERIC_403_MSG = "The repo on which this action is running is not opted-in to CodeQL code scanning.";
|
|
||||||
const GENERIC_404_MSG = "Not authorized to use the CodeQL code scanning feature on this repo.";
|
|
||||||
const OUT_OF_DATE_MSG = "CodeQL Action is out-of-date. Please upgrade to the latest version of codeql-action.";
|
|
||||||
const INCOMPATIBLE_MSG = "CodeQL Action version is incompatible with the code scanning endpoint. Please update to a compatible version of codeql-action.";
|
|
||||||
/**
|
/**
|
||||||
* Send a status report to the code_scanning/analysis/status endpoint.
|
* 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.
|
||||||
* Optionally checks the response from the API endpoint and sets the action
|
|
||||||
* as failed if the status report failed. This is only expected to be used
|
|
||||||
* when sending a 'starting' report.
|
|
||||||
*
|
|
||||||
* Returns whether sending the status report was successful of not.
|
|
||||||
*/
|
*/
|
||||||
async function sendStatusReport(statusReport) {
|
|
||||||
const statusReportJSON = JSON.stringify(statusReport);
|
|
||||||
core.debug(`Sending status report: ${statusReportJSON}`);
|
|
||||||
// If in test mode we don't want to upload the results
|
|
||||||
if ((0, util_1.isInTestMode)()) {
|
|
||||||
core.debug("In test mode. Status reports are not uploaded.");
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
const nwo = (0, util_1.getRequiredEnvParam)("GITHUB_REPOSITORY");
|
|
||||||
const [owner, repo] = nwo.split("/");
|
|
||||||
const client = api.getApiClient();
|
|
||||||
try {
|
|
||||||
await client.request("PUT /repos/:owner/:repo/code-scanning/analysis/status", {
|
|
||||||
owner,
|
|
||||||
repo,
|
|
||||||
data: statusReportJSON,
|
|
||||||
});
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
catch (e) {
|
|
||||||
console.log(e);
|
|
||||||
if ((0, util_1.isHTTPError)(e)) {
|
|
||||||
switch (e.status) {
|
|
||||||
case 403:
|
|
||||||
if (workflowIsTriggeredByPushEvent() && isDependabotActor()) {
|
|
||||||
core.setFailed('Workflows triggered by Dependabot on the "push" event run with read-only access. ' +
|
|
||||||
"Uploading Code Scanning results requires write access. " +
|
|
||||||
'To use Code Scanning with Dependabot, please ensure you are using the "pull_request" event for this workflow and avoid triggering on the "push" event for Dependabot branches. ' +
|
|
||||||
"See https://docs.github.com/en/code-security/secure-coding/configuring-code-scanning#scanning-on-push for more information on how to configure these events.");
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
core.setFailed(e.message || GENERIC_403_MSG);
|
|
||||||
}
|
|
||||||
return false;
|
|
||||||
case 404:
|
|
||||||
core.setFailed(GENERIC_404_MSG);
|
|
||||||
return false;
|
|
||||||
case 422:
|
|
||||||
// schema incompatibility when reporting status
|
|
||||||
// this means that this action version is no longer compatible with the API
|
|
||||||
// we still want to continue as it is likely the analysis endpoint will work
|
|
||||||
if ((0, util_1.getRequiredEnvParam)("GITHUB_SERVER_URL") !== util_1.GITHUB_DOTCOM_URL) {
|
|
||||||
core.debug(INCOMPATIBLE_MSG);
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
core.debug(OUT_OF_DATE_MSG);
|
|
||||||
}
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
// something else has gone wrong and the request/response will be logged by octokit
|
|
||||||
// it's possible this is a transient error and we should continue scanning
|
|
||||||
core.error("An unexpected error occurred when sending code scanning status report.");
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
exports.sendStatusReport = sendStatusReport;
|
|
||||||
function workflowEventName() {
|
|
||||||
// If the original event is dynamic CODESCANNING_EVENT_NAME will contain the right info (push/pull_request)
|
|
||||||
if (process.env["GITHUB_EVENT_NAME"] === "dynamic") {
|
|
||||||
const value = process.env["CODESCANNING_EVENT_NAME"];
|
|
||||||
if (value === undefined || value.length === 0) {
|
|
||||||
return process.env["GITHUB_EVENT_NAME"];
|
|
||||||
}
|
|
||||||
return value;
|
|
||||||
}
|
|
||||||
return process.env["GITHUB_EVENT_NAME"];
|
|
||||||
}
|
|
||||||
exports.workflowEventName = workflowEventName;
|
|
||||||
// Was the workflow run triggered by a `push` event, for example as opposed to a `pull_request` event.
|
|
||||||
function workflowIsTriggeredByPushEvent() {
|
|
||||||
return workflowEventName() === "push";
|
|
||||||
}
|
|
||||||
// Is dependabot the actor that triggered the current workflow run.
|
|
||||||
function isDependabotActor() {
|
|
||||||
return process.env["GITHUB_ACTOR"] === "dependabot[bot]";
|
|
||||||
}
|
|
||||||
// Is the current action executing a local copy (i.e. we're running a workflow on the codeql-action repo itself)
|
|
||||||
// as opposed to running a remote action (i.e. when another repo references us)
|
|
||||||
function isRunningLocalAction() {
|
function isRunningLocalAction() {
|
||||||
const relativeScriptPath = getRelativeScriptPath();
|
const relativeScriptPath = getRelativeScriptPath();
|
||||||
return (relativeScriptPath.startsWith("..") || path.isAbsolute(relativeScriptPath));
|
return (relativeScriptPath.startsWith("..") || path.isAbsolute(relativeScriptPath));
|
||||||
}
|
}
|
||||||
exports.isRunningLocalAction = isRunningLocalAction;
|
exports.isRunningLocalAction = isRunningLocalAction;
|
||||||
// Get the location where the action is running from.
|
/**
|
||||||
// This can be used to get the actions name or tell if we're running a local action.
|
* Get the location where the Action is running from.
|
||||||
|
*
|
||||||
|
* This can be used to get the Action's name or tell if we're running a local Action.
|
||||||
|
*/
|
||||||
function getRelativeScriptPath() {
|
function getRelativeScriptPath() {
|
||||||
const runnerTemp = (0, util_1.getRequiredEnvParam)("RUNNER_TEMP");
|
const runnerTemp = (0, util_1.getRequiredEnvParam)("RUNNER_TEMP");
|
||||||
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;
|
exports.getRelativeScriptPath = getRelativeScriptPath;
|
||||||
// Reads 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");
|
||||||
try {
|
try {
|
||||||
@@ -476,10 +278,13 @@ function getWorkflowEvent() {
|
|||||||
function removeRefsHeadsPrefix(ref) {
|
function removeRefsHeadsPrefix(ref) {
|
||||||
return ref.startsWith("refs/heads/") ? ref.slice("refs/heads/".length) : ref;
|
return ref.startsWith("refs/heads/") ? ref.slice("refs/heads/".length) : ref;
|
||||||
}
|
}
|
||||||
// Returns whether we are analyzing the default branch for the repository.
|
/**
|
||||||
// For cases where the repository information might not be available (e.g.,
|
* Returns whether we are analyzing the default branch for the repository.
|
||||||
// dynamic workflows), this can be forced by the environment variable
|
*
|
||||||
// CODE_SCANNING_IS_ANALYZING_DEFAULT_BRANCH.
|
* This first checks the environment variable `CODE_SCANNING_IS_ANALYZING_DEFAULT_BRANCH`. This
|
||||||
|
* environment variable can be set in cases where repository information might not be available, for
|
||||||
|
* example dynamic workflows.
|
||||||
|
*/
|
||||||
async function isAnalyzingDefaultBranch() {
|
async function isAnalyzingDefaultBranch() {
|
||||||
if (process.env.CODE_SCANNING_IS_ANALYZING_DEFAULT_BRANCH === "true") {
|
if (process.env.CODE_SCANNING_IS_ANALYZING_DEFAULT_BRANCH === "true") {
|
||||||
return true;
|
return true;
|
||||||
@@ -489,8 +294,8 @@ async function isAnalyzingDefaultBranch() {
|
|||||||
currentRef = removeRefsHeadsPrefix(currentRef);
|
currentRef = removeRefsHeadsPrefix(currentRef);
|
||||||
const event = getWorkflowEvent();
|
const event = getWorkflowEvent();
|
||||||
let defaultBranch = event?.repository?.default_branch;
|
let defaultBranch = event?.repository?.default_branch;
|
||||||
if (process.env.GITHUB_EVENT_NAME === "schedule") {
|
if (getWorkflowEventName() === "schedule") {
|
||||||
defaultBranch = removeRefsHeadsPrefix((0, util_1.getRequiredEnvParam)("GITHUB_REF"));
|
defaultBranch = removeRefsHeadsPrefix(getRefFromEnv());
|
||||||
}
|
}
|
||||||
return currentRef === defaultBranch;
|
return currentRef === defaultBranch;
|
||||||
}
|
}
|
||||||
@@ -524,7 +329,10 @@ async function printDebugLogs(config) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
exports.printDebugLogs = printDebugLogs;
|
exports.printDebugLogs = printDebugLogs;
|
||||||
// Parses the `upload` input into an `UploadKind`, converting unspecified and deprecated upload inputs appropriately.
|
/**
|
||||||
|
* Parses the `upload` input into an `UploadKind`, converting unspecified and deprecated upload
|
||||||
|
* inputs appropriately.
|
||||||
|
*/
|
||||||
function getUploadValue(input) {
|
function getUploadValue(input) {
|
||||||
switch (input) {
|
switch (input) {
|
||||||
case undefined:
|
case undefined:
|
||||||
@@ -542,4 +350,78 @@ function getUploadValue(input) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
exports.getUploadValue = getUploadValue;
|
exports.getUploadValue = getUploadValue;
|
||||||
|
/**
|
||||||
|
* Get the workflow run ID.
|
||||||
|
*/
|
||||||
|
function getWorkflowRunID() {
|
||||||
|
const workflowRunIdString = (0, util_1.getRequiredEnvParam)("GITHUB_RUN_ID");
|
||||||
|
const workflowRunID = parseInt(workflowRunIdString, 10);
|
||||||
|
if (Number.isNaN(workflowRunID)) {
|
||||||
|
throw new Error(`GITHUB_RUN_ID must define a non NaN workflow run ID. Current value is ${workflowRunIdString}`);
|
||||||
|
}
|
||||||
|
if (workflowRunID < 0) {
|
||||||
|
throw new Error(`GITHUB_RUN_ID must be a non-negative integer. Current value is ${workflowRunIdString}`);
|
||||||
|
}
|
||||||
|
return workflowRunID;
|
||||||
|
}
|
||||||
|
exports.getWorkflowRunID = getWorkflowRunID;
|
||||||
|
/**
|
||||||
|
* Get the workflow run attempt number.
|
||||||
|
*/
|
||||||
|
function getWorkflowRunAttempt() {
|
||||||
|
const workflowRunAttemptString = (0, util_1.getRequiredEnvParam)("GITHUB_RUN_ATTEMPT");
|
||||||
|
const workflowRunAttempt = parseInt(workflowRunAttemptString, 10);
|
||||||
|
if (Number.isNaN(workflowRunAttempt)) {
|
||||||
|
throw new Error(`GITHUB_RUN_ATTEMPT must define a non NaN workflow run attempt. Current value is ${workflowRunAttemptString}`);
|
||||||
|
}
|
||||||
|
if (workflowRunAttempt <= 0) {
|
||||||
|
throw new Error(`GITHUB_RUN_ATTEMPT must be a positive integer. Current value is ${workflowRunAttemptString}`);
|
||||||
|
}
|
||||||
|
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.
|
||||||
|
* The output will vary depending on the type of `file`, which operating system we are running on, etc.
|
||||||
|
*/
|
||||||
|
const getFileType = async (filePath) => {
|
||||||
|
let stderr = "";
|
||||||
|
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 {
|
||||||
|
// 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.
|
||||||
|
// The `-L` switch instructs the command to follow symbolic links.
|
||||||
|
await new toolrunner.ToolRunner(fileCmdPath, ["-L", filePath], {
|
||||||
|
silent: true,
|
||||||
|
listeners: {
|
||||||
|
stdout: (data) => {
|
||||||
|
stdout += data.toString();
|
||||||
|
},
|
||||||
|
stderr: (data) => {
|
||||||
|
stderr += data.toString();
|
||||||
|
},
|
||||||
|
},
|
||||||
|
}).exec();
|
||||||
|
return stdout.trim();
|
||||||
|
}
|
||||||
|
catch (e) {
|
||||||
|
core.info(`Could not determine type of ${filePath} from ${stdout}. ${stderr}`);
|
||||||
|
throw e;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
exports.getFileType = getFileType;
|
||||||
//# sourceMappingURL=actions-util.js.map
|
//# sourceMappingURL=actions-util.js.map
|
||||||
File diff suppressed because one or more lines are too long
100
lib/actions-util.test.js
generated
100
lib/actions-util.test.js
generated
@@ -28,15 +28,18 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|||||||
Object.defineProperty(exports, "__esModule", { value: true });
|
Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
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 ava_1 = __importDefault(require("ava"));
|
const ava_1 = __importDefault(require("ava"));
|
||||||
const sinon = __importStar(require("sinon"));
|
const sinon = __importStar(require("sinon"));
|
||||||
const actionsutil = __importStar(require("./actions-util"));
|
const actionsUtil = __importStar(require("./actions-util"));
|
||||||
|
const api_client_1 = require("./api-client");
|
||||||
|
const environment_1 = require("./environment");
|
||||||
const testing_utils_1 = require("./testing-utils");
|
const testing_utils_1 = require("./testing-utils");
|
||||||
const util_1 = require("./util");
|
const util_1 = require("./util");
|
||||||
(0, testing_utils_1.setupTests)(ava_1.default);
|
(0, testing_utils_1.setupTests)(ava_1.default);
|
||||||
(0, ava_1.default)("getRef() throws on the empty string", async (t) => {
|
(0, ava_1.default)("getRef() throws on the empty string", async (t) => {
|
||||||
process.env["GITHUB_REF"] = "";
|
process.env["GITHUB_REF"] = "";
|
||||||
await t.throwsAsync(actionsutil.getRef);
|
await t.throwsAsync(actionsUtil.getRef);
|
||||||
});
|
});
|
||||||
(0, ava_1.default)("getRef() returns merge PR ref if GITHUB_SHA still checked out", async (t) => {
|
(0, ava_1.default)("getRef() returns merge PR ref if GITHUB_SHA still checked out", async (t) => {
|
||||||
await (0, util_1.withTmpDir)(async (tmpDir) => {
|
await (0, util_1.withTmpDir)(async (tmpDir) => {
|
||||||
@@ -45,9 +48,9 @@ const util_1 = require("./util");
|
|||||||
const currentSha = "a".repeat(40);
|
const currentSha = "a".repeat(40);
|
||||||
process.env["GITHUB_REF"] = expectedRef;
|
process.env["GITHUB_REF"] = expectedRef;
|
||||||
process.env["GITHUB_SHA"] = currentSha;
|
process.env["GITHUB_SHA"] = currentSha;
|
||||||
const callback = sinon.stub(actionsutil, "getCommitOid");
|
const callback = sinon.stub(actionsUtil, "getCommitOid");
|
||||||
callback.withArgs("HEAD").resolves(currentSha);
|
callback.withArgs("HEAD").resolves(currentSha);
|
||||||
const actualRef = await actionsutil.getRef();
|
const actualRef = await actionsUtil.getRef();
|
||||||
t.deepEqual(actualRef, expectedRef);
|
t.deepEqual(actualRef, expectedRef);
|
||||||
callback.restore();
|
callback.restore();
|
||||||
});
|
});
|
||||||
@@ -59,10 +62,10 @@ const util_1 = require("./util");
|
|||||||
process.env["GITHUB_REF"] = expectedRef;
|
process.env["GITHUB_REF"] = expectedRef;
|
||||||
process.env["GITHUB_SHA"] = "b".repeat(40);
|
process.env["GITHUB_SHA"] = "b".repeat(40);
|
||||||
const sha = "a".repeat(40);
|
const sha = "a".repeat(40);
|
||||||
const callback = sinon.stub(actionsutil, "getCommitOid");
|
const callback = sinon.stub(actionsUtil, "getCommitOid");
|
||||||
callback.withArgs("refs/remotes/pull/1/merge").resolves(sha);
|
callback.withArgs("refs/remotes/pull/1/merge").resolves(sha);
|
||||||
callback.withArgs("HEAD").resolves(sha);
|
callback.withArgs("HEAD").resolves(sha);
|
||||||
const actualRef = await actionsutil.getRef();
|
const actualRef = await actionsUtil.getRef();
|
||||||
t.deepEqual(actualRef, expectedRef);
|
t.deepEqual(actualRef, expectedRef);
|
||||||
callback.restore();
|
callback.restore();
|
||||||
});
|
});
|
||||||
@@ -72,10 +75,10 @@ const util_1 = require("./util");
|
|||||||
(0, testing_utils_1.setupActionsVars)(tmpDir, tmpDir);
|
(0, testing_utils_1.setupActionsVars)(tmpDir, tmpDir);
|
||||||
process.env["GITHUB_REF"] = "refs/pull/1/merge";
|
process.env["GITHUB_REF"] = "refs/pull/1/merge";
|
||||||
process.env["GITHUB_SHA"] = "a".repeat(40);
|
process.env["GITHUB_SHA"] = "a".repeat(40);
|
||||||
const callback = sinon.stub(actionsutil, "getCommitOid");
|
const callback = sinon.stub(actionsUtil, "getCommitOid");
|
||||||
callback.withArgs(tmpDir, "refs/pull/1/merge").resolves("a".repeat(40));
|
callback.withArgs(tmpDir, "refs/pull/1/merge").resolves("a".repeat(40));
|
||||||
callback.withArgs(tmpDir, "HEAD").resolves("b".repeat(40));
|
callback.withArgs(tmpDir, "HEAD").resolves("b".repeat(40));
|
||||||
const actualRef = await actionsutil.getRef();
|
const actualRef = await actionsUtil.getRef();
|
||||||
t.deepEqual(actualRef, "refs/pull/1/head");
|
t.deepEqual(actualRef, "refs/pull/1/head");
|
||||||
callback.restore();
|
callback.restore();
|
||||||
});
|
});
|
||||||
@@ -83,16 +86,16 @@ const util_1 = require("./util");
|
|||||||
(0, ava_1.default)("getRef() returns ref provided as an input and ignores current HEAD", async (t) => {
|
(0, ava_1.default)("getRef() returns ref provided as an input and ignores current HEAD", async (t) => {
|
||||||
await (0, util_1.withTmpDir)(async (tmpDir) => {
|
await (0, util_1.withTmpDir)(async (tmpDir) => {
|
||||||
(0, testing_utils_1.setupActionsVars)(tmpDir, tmpDir);
|
(0, testing_utils_1.setupActionsVars)(tmpDir, tmpDir);
|
||||||
const getAdditionalInputStub = sinon.stub(actionsutil, "getOptionalInput");
|
const getAdditionalInputStub = sinon.stub(actionsUtil, "getOptionalInput");
|
||||||
getAdditionalInputStub.withArgs("ref").resolves("refs/pull/2/merge");
|
getAdditionalInputStub.withArgs("ref").resolves("refs/pull/2/merge");
|
||||||
getAdditionalInputStub.withArgs("sha").resolves("b".repeat(40));
|
getAdditionalInputStub.withArgs("sha").resolves("b".repeat(40));
|
||||||
// These values are be ignored
|
// These values are be ignored
|
||||||
process.env["GITHUB_REF"] = "refs/pull/1/merge";
|
process.env["GITHUB_REF"] = "refs/pull/1/merge";
|
||||||
process.env["GITHUB_SHA"] = "a".repeat(40);
|
process.env["GITHUB_SHA"] = "a".repeat(40);
|
||||||
const callback = sinon.stub(actionsutil, "getCommitOid");
|
const callback = sinon.stub(actionsUtil, "getCommitOid");
|
||||||
callback.withArgs("refs/pull/1/merge").resolves("b".repeat(40));
|
callback.withArgs("refs/pull/1/merge").resolves("b".repeat(40));
|
||||||
callback.withArgs("HEAD").resolves("b".repeat(40));
|
callback.withArgs("HEAD").resolves("b".repeat(40));
|
||||||
const actualRef = await actionsutil.getRef();
|
const actualRef = await actionsUtil.getRef();
|
||||||
t.deepEqual(actualRef, "refs/pull/2/merge");
|
t.deepEqual(actualRef, "refs/pull/2/merge");
|
||||||
callback.restore();
|
callback.restore();
|
||||||
getAdditionalInputStub.restore();
|
getAdditionalInputStub.restore();
|
||||||
@@ -106,7 +109,7 @@ const util_1 = require("./util");
|
|||||||
process.env["CODE_SCANNING_REF"] = expectedRef;
|
process.env["CODE_SCANNING_REF"] = expectedRef;
|
||||||
process.env["GITHUB_REF"] = "";
|
process.env["GITHUB_REF"] = "";
|
||||||
process.env["GITHUB_SHA"] = currentSha;
|
process.env["GITHUB_SHA"] = currentSha;
|
||||||
const actualRef = await actionsutil.getRef();
|
const actualRef = await actionsUtil.getRef();
|
||||||
t.deepEqual(actualRef, expectedRef);
|
t.deepEqual(actualRef, expectedRef);
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
@@ -118,17 +121,17 @@ const util_1 = require("./util");
|
|||||||
process.env["CODE_SCANNING_REF"] = "refs/pull/1/HEAD";
|
process.env["CODE_SCANNING_REF"] = "refs/pull/1/HEAD";
|
||||||
process.env["GITHUB_REF"] = expectedRef;
|
process.env["GITHUB_REF"] = expectedRef;
|
||||||
process.env["GITHUB_SHA"] = currentSha;
|
process.env["GITHUB_SHA"] = currentSha;
|
||||||
const actualRef = await actionsutil.getRef();
|
const actualRef = await actionsUtil.getRef();
|
||||||
t.deepEqual(actualRef, expectedRef);
|
t.deepEqual(actualRef, expectedRef);
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
(0, ava_1.default)("getRef() throws an error if only `ref` is provided as an input", async (t) => {
|
(0, ava_1.default)("getRef() throws an error if only `ref` is provided as an input", async (t) => {
|
||||||
await (0, util_1.withTmpDir)(async (tmpDir) => {
|
await (0, util_1.withTmpDir)(async (tmpDir) => {
|
||||||
(0, testing_utils_1.setupActionsVars)(tmpDir, tmpDir);
|
(0, testing_utils_1.setupActionsVars)(tmpDir, tmpDir);
|
||||||
const getAdditionalInputStub = sinon.stub(actionsutil, "getOptionalInput");
|
const getAdditionalInputStub = sinon.stub(actionsUtil, "getOptionalInput");
|
||||||
getAdditionalInputStub.withArgs("ref").resolves("refs/pull/1/merge");
|
getAdditionalInputStub.withArgs("ref").resolves("refs/pull/1/merge");
|
||||||
await t.throwsAsync(async () => {
|
await t.throwsAsync(async () => {
|
||||||
await actionsutil.getRef();
|
await actionsUtil.getRef();
|
||||||
}, {
|
}, {
|
||||||
instanceOf: Error,
|
instanceOf: Error,
|
||||||
message: "Both 'ref' and 'sha' are required if one of them is provided.",
|
message: "Both 'ref' and 'sha' are required if one of them is provided.",
|
||||||
@@ -140,10 +143,10 @@ const util_1 = require("./util");
|
|||||||
await (0, util_1.withTmpDir)(async (tmpDir) => {
|
await (0, util_1.withTmpDir)(async (tmpDir) => {
|
||||||
(0, testing_utils_1.setupActionsVars)(tmpDir, tmpDir);
|
(0, testing_utils_1.setupActionsVars)(tmpDir, tmpDir);
|
||||||
process.env["GITHUB_WORKSPACE"] = "/tmp";
|
process.env["GITHUB_WORKSPACE"] = "/tmp";
|
||||||
const getAdditionalInputStub = sinon.stub(actionsutil, "getOptionalInput");
|
const getAdditionalInputStub = sinon.stub(actionsUtil, "getOptionalInput");
|
||||||
getAdditionalInputStub.withArgs("sha").resolves("a".repeat(40));
|
getAdditionalInputStub.withArgs("sha").resolves("a".repeat(40));
|
||||||
await t.throwsAsync(async () => {
|
await t.throwsAsync(async () => {
|
||||||
await actionsutil.getRef();
|
await actionsUtil.getRef();
|
||||||
}, {
|
}, {
|
||||||
instanceOf: Error,
|
instanceOf: Error,
|
||||||
message: "Both 'ref' and 'sha' are required if one of them is provided.",
|
message: "Both 'ref' and 'sha' are required if one of them is provided.",
|
||||||
@@ -152,28 +155,29 @@ const util_1 = require("./util");
|
|||||||
});
|
});
|
||||||
});
|
});
|
||||||
(0, ava_1.default)("computeAutomationID()", async (t) => {
|
(0, ava_1.default)("computeAutomationID()", async (t) => {
|
||||||
let actualAutomationID = actionsutil.computeAutomationID(".github/workflows/codeql-analysis.yml:analyze", '{"language": "javascript", "os": "linux"}');
|
let actualAutomationID = (0, api_client_1.computeAutomationID)(".github/workflows/codeql-analysis.yml:analyze", '{"language": "javascript", "os": "linux"}');
|
||||||
t.deepEqual(actualAutomationID, ".github/workflows/codeql-analysis.yml:analyze/language:javascript/os:linux/");
|
t.deepEqual(actualAutomationID, ".github/workflows/codeql-analysis.yml:analyze/language:javascript/os:linux/");
|
||||||
// check the environment sorting
|
// check the environment sorting
|
||||||
actualAutomationID = actionsutil.computeAutomationID(".github/workflows/codeql-analysis.yml:analyze", '{"os": "linux", "language": "javascript"}');
|
actualAutomationID = (0, api_client_1.computeAutomationID)(".github/workflows/codeql-analysis.yml:analyze", '{"os": "linux", "language": "javascript"}');
|
||||||
t.deepEqual(actualAutomationID, ".github/workflows/codeql-analysis.yml:analyze/language:javascript/os:linux/");
|
t.deepEqual(actualAutomationID, ".github/workflows/codeql-analysis.yml:analyze/language:javascript/os:linux/");
|
||||||
// check that an empty environment produces the right results
|
// check that an empty environment produces the right results
|
||||||
actualAutomationID = actionsutil.computeAutomationID(".github/workflows/codeql-analysis.yml:analyze", "{}");
|
actualAutomationID = (0, api_client_1.computeAutomationID)(".github/workflows/codeql-analysis.yml:analyze", "{}");
|
||||||
t.deepEqual(actualAutomationID, ".github/workflows/codeql-analysis.yml:analyze/");
|
t.deepEqual(actualAutomationID, ".github/workflows/codeql-analysis.yml:analyze/");
|
||||||
// check non string environment values
|
// check non string environment values
|
||||||
actualAutomationID = actionsutil.computeAutomationID(".github/workflows/codeql-analysis.yml:analyze", '{"number": 1, "object": {"language": "javascript"}}');
|
actualAutomationID = (0, api_client_1.computeAutomationID)(".github/workflows/codeql-analysis.yml:analyze", '{"number": 1, "object": {"language": "javascript"}}');
|
||||||
t.deepEqual(actualAutomationID, ".github/workflows/codeql-analysis.yml:analyze/number:/object:/");
|
t.deepEqual(actualAutomationID, ".github/workflows/codeql-analysis.yml:analyze/number:/object:/");
|
||||||
// check undefined environment
|
// check undefined environment
|
||||||
actualAutomationID = actionsutil.computeAutomationID(".github/workflows/codeql-analysis.yml:analyze", undefined);
|
actualAutomationID = (0, api_client_1.computeAutomationID)(".github/workflows/codeql-analysis.yml:analyze", undefined);
|
||||||
t.deepEqual(actualAutomationID, ".github/workflows/codeql-analysis.yml:analyze/");
|
t.deepEqual(actualAutomationID, ".github/workflows/codeql-analysis.yml:analyze/");
|
||||||
});
|
});
|
||||||
(0, ava_1.default)("initializeEnvironment", (t) => {
|
(0, ava_1.default)("initializeEnvironment", (t) => {
|
||||||
(0, util_1.initializeEnvironment)("1.2.3");
|
(0, util_1.initializeEnvironment)("1.2.3");
|
||||||
t.deepEqual(process.env.CODEQL_ACTION_VERSION, "1.2.3");
|
t.deepEqual(process.env[environment_1.EnvVar.VERSION], "1.2.3");
|
||||||
});
|
});
|
||||||
(0, ava_1.default)("isAnalyzingDefaultBranch()", async (t) => {
|
(0, ava_1.default)("isAnalyzingDefaultBranch()", async (t) => {
|
||||||
|
process.env["GITHUB_EVENT_NAME"] = "push";
|
||||||
process.env["CODE_SCANNING_IS_ANALYZING_DEFAULT_BRANCH"] = "true";
|
process.env["CODE_SCANNING_IS_ANALYZING_DEFAULT_BRANCH"] = "true";
|
||||||
t.deepEqual(await actionsutil.isAnalyzingDefaultBranch(), true);
|
t.deepEqual(await actionsUtil.isAnalyzingDefaultBranch(), true);
|
||||||
process.env["CODE_SCANNING_IS_ANALYZING_DEFAULT_BRANCH"] = "false";
|
process.env["CODE_SCANNING_IS_ANALYZING_DEFAULT_BRANCH"] = "false";
|
||||||
await (0, util_1.withTmpDir)(async (tmpDir) => {
|
await (0, util_1.withTmpDir)(async (tmpDir) => {
|
||||||
(0, testing_utils_1.setupActionsVars)(tmpDir, tmpDir);
|
(0, testing_utils_1.setupActionsVars)(tmpDir, tmpDir);
|
||||||
@@ -186,18 +190,18 @@ const util_1 = require("./util");
|
|||||||
process.env["GITHUB_EVENT_PATH"] = envFile;
|
process.env["GITHUB_EVENT_PATH"] = envFile;
|
||||||
process.env["GITHUB_REF"] = "main";
|
process.env["GITHUB_REF"] = "main";
|
||||||
process.env["GITHUB_SHA"] = "1234";
|
process.env["GITHUB_SHA"] = "1234";
|
||||||
t.deepEqual(await actionsutil.isAnalyzingDefaultBranch(), true);
|
t.deepEqual(await actionsUtil.isAnalyzingDefaultBranch(), true);
|
||||||
process.env["GITHUB_REF"] = "refs/heads/main";
|
process.env["GITHUB_REF"] = "refs/heads/main";
|
||||||
t.deepEqual(await actionsutil.isAnalyzingDefaultBranch(), true);
|
t.deepEqual(await actionsUtil.isAnalyzingDefaultBranch(), true);
|
||||||
process.env["GITHUB_REF"] = "feature";
|
process.env["GITHUB_REF"] = "feature";
|
||||||
t.deepEqual(await actionsutil.isAnalyzingDefaultBranch(), false);
|
t.deepEqual(await actionsUtil.isAnalyzingDefaultBranch(), false);
|
||||||
fs.writeFileSync(envFile, JSON.stringify({
|
fs.writeFileSync(envFile, JSON.stringify({
|
||||||
schedule: "0 0 * * *",
|
schedule: "0 0 * * *",
|
||||||
}));
|
}));
|
||||||
process.env["GITHUB_EVENT_NAME"] = "schedule";
|
process.env["GITHUB_EVENT_NAME"] = "schedule";
|
||||||
process.env["GITHUB_REF"] = "refs/heads/main";
|
process.env["GITHUB_REF"] = "refs/heads/main";
|
||||||
t.deepEqual(await actionsutil.isAnalyzingDefaultBranch(), true);
|
t.deepEqual(await actionsUtil.isAnalyzingDefaultBranch(), true);
|
||||||
const getAdditionalInputStub = sinon.stub(actionsutil, "getOptionalInput");
|
const getAdditionalInputStub = sinon.stub(actionsUtil, "getOptionalInput");
|
||||||
getAdditionalInputStub
|
getAdditionalInputStub
|
||||||
.withArgs("ref")
|
.withArgs("ref")
|
||||||
.resolves("refs/heads/something-else");
|
.resolves("refs/heads/something-else");
|
||||||
@@ -206,16 +210,38 @@ const util_1 = require("./util");
|
|||||||
.resolves("0000000000000000000000000000000000000000");
|
.resolves("0000000000000000000000000000000000000000");
|
||||||
process.env["GITHUB_EVENT_NAME"] = "schedule";
|
process.env["GITHUB_EVENT_NAME"] = "schedule";
|
||||||
process.env["GITHUB_REF"] = "refs/heads/main";
|
process.env["GITHUB_REF"] = "refs/heads/main";
|
||||||
t.deepEqual(await actionsutil.isAnalyzingDefaultBranch(), false);
|
t.deepEqual(await actionsUtil.isAnalyzingDefaultBranch(), false);
|
||||||
getAdditionalInputStub.restore();
|
getAdditionalInputStub.restore();
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
(0, ava_1.default)("workflowEventName()", async (t) => {
|
(0, ava_1.default)("determineMergeBaseCommitOid non-pullrequest", async (t) => {
|
||||||
process.env["GITHUB_EVENT_NAME"] = "push";
|
const infoStub = sinon.stub(core, "info");
|
||||||
t.deepEqual(actionsutil.workflowEventName(), "push");
|
process.env["GITHUB_EVENT_NAME"] = "hucairz";
|
||||||
process.env["GITHUB_EVENT_NAME"] = "dynamic";
|
process.env["GITHUB_SHA"] = "100912429fab4cb230e66ffb11e738ac5194e73a";
|
||||||
t.deepEqual(actionsutil.workflowEventName(), "dynamic");
|
const result = await actionsUtil.determineMergeBaseCommitOid(__dirname);
|
||||||
process.env["CODESCANNING_EVENT_NAME"] = "push";
|
t.deepEqual(result, undefined);
|
||||||
t.deepEqual(actionsutil.workflowEventName(), "push");
|
t.deepEqual(0, infoStub.callCount);
|
||||||
|
infoStub.restore();
|
||||||
|
});
|
||||||
|
(0, ava_1.default)("determineMergeBaseCommitOid no error", async (t) => {
|
||||||
|
const infoStub = sinon.stub(core, "info");
|
||||||
|
process.env["GITHUB_EVENT_NAME"] = "pull_request";
|
||||||
|
process.env["GITHUB_SHA"] = "100912429fab4cb230e66ffb11e738ac5194e73a";
|
||||||
|
await (0, util_1.withTmpDir)(async (tmpDir) => {
|
||||||
|
await actionsUtil.determineMergeBaseCommitOid(tmpDir);
|
||||||
|
});
|
||||||
|
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."));
|
||||||
|
infoStub.restore();
|
||||||
|
});
|
||||||
|
(0, ava_1.default)("determineMergeBaseCommitOid other error", async (t) => {
|
||||||
|
const infoStub = sinon.stub(core, "info");
|
||||||
|
process.env["GITHUB_EVENT_NAME"] = "pull_request";
|
||||||
|
process.env["GITHUB_SHA"] = "100912429fab4cb230e66ffb11e738ac5194e73a";
|
||||||
|
const result = await actionsUtil.determineMergeBaseCommitOid(path.join(__dirname, "../../i-dont-exist"));
|
||||||
|
t.deepEqual(result, undefined);
|
||||||
|
t.deepEqual(1, infoStub.callCount);
|
||||||
|
t.assert(infoStub.firstCall.args[0].startsWith("Failed to call git to determine merge base."));
|
||||||
|
infoStub.restore();
|
||||||
});
|
});
|
||||||
//# sourceMappingURL=actions-util.test.js.map
|
//# sourceMappingURL=actions-util.test.js.map
|
||||||
File diff suppressed because one or more lines are too long
84
lib/analysis-paths.js
generated
84
lib/analysis-paths.js
generated
@@ -1,84 +0,0 @@
|
|||||||
"use strict";
|
|
||||||
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
||||||
if (k2 === undefined) k2 = k;
|
|
||||||
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
||||||
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
||||||
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
||||||
}
|
|
||||||
Object.defineProperty(o, k2, desc);
|
|
||||||
}) : (function(o, m, k, k2) {
|
|
||||||
if (k2 === undefined) k2 = k;
|
|
||||||
o[k2] = m[k];
|
|
||||||
}));
|
|
||||||
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
||||||
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
||||||
}) : function(o, v) {
|
|
||||||
o["default"] = v;
|
|
||||||
});
|
|
||||||
var __importStar = (this && this.__importStar) || function (mod) {
|
|
||||||
if (mod && mod.__esModule) return mod;
|
|
||||||
var result = {};
|
|
||||||
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
||||||
__setModuleDefault(result, mod);
|
|
||||||
return result;
|
|
||||||
};
|
|
||||||
Object.defineProperty(exports, "__esModule", { value: true });
|
|
||||||
exports.includeAndExcludeAnalysisPaths = exports.printPathFiltersWarning = exports.legalWindowsPathCharactersRegex = void 0;
|
|
||||||
const path = __importStar(require("path"));
|
|
||||||
function isInterpretedLanguage(language) {
|
|
||||||
return (language === "javascript" || language === "python" || language === "ruby");
|
|
||||||
}
|
|
||||||
// Matches a string containing only characters that are legal to include in paths on windows.
|
|
||||||
exports.legalWindowsPathCharactersRegex = /^[^<>:"|?]*$/;
|
|
||||||
// Builds an environment variable suitable for LGTM_INDEX_INCLUDE or LGTM_INDEX_EXCLUDE
|
|
||||||
function buildIncludeExcludeEnvVar(paths) {
|
|
||||||
// Ignore anything containing a *
|
|
||||||
paths = paths.filter((p) => p.indexOf("*") === -1);
|
|
||||||
// Some characters are illegal in path names in windows
|
|
||||||
if (process.platform === "win32") {
|
|
||||||
paths = paths.filter((p) => p.match(exports.legalWindowsPathCharactersRegex));
|
|
||||||
}
|
|
||||||
return paths.join("\n");
|
|
||||||
}
|
|
||||||
function printPathFiltersWarning(config, logger) {
|
|
||||||
// Index include/exclude/filters only work in javascript/python/ruby.
|
|
||||||
// If any other languages are detected/configured then show a warning.
|
|
||||||
if ((config.paths.length !== 0 || config.pathsIgnore.length !== 0) &&
|
|
||||||
!config.languages.every(isInterpretedLanguage)) {
|
|
||||||
logger.warning('The "paths"/"paths-ignore" fields of the config only have effect for JavaScript, Python, and Ruby');
|
|
||||||
}
|
|
||||||
}
|
|
||||||
exports.printPathFiltersWarning = printPathFiltersWarning;
|
|
||||||
function includeAndExcludeAnalysisPaths(config) {
|
|
||||||
// The 'LGTM_INDEX_INCLUDE' and 'LGTM_INDEX_EXCLUDE' environment variables
|
|
||||||
// control which files/directories are traversed when scanning.
|
|
||||||
// This allows including files that otherwise would not be scanned, or
|
|
||||||
// excluding and not traversing entire file subtrees.
|
|
||||||
// It does not understand globs or double-globs because that would require it to
|
|
||||||
// traverse the entire file tree to determine which files are matched.
|
|
||||||
// Any paths containing "*" are not included in these.
|
|
||||||
if (config.paths.length !== 0) {
|
|
||||||
process.env["LGTM_INDEX_INCLUDE"] = buildIncludeExcludeEnvVar(config.paths);
|
|
||||||
}
|
|
||||||
// If the temporary or tools directory is in the working directory ignore that too.
|
|
||||||
const tempRelativeToWorking = path.relative(process.cwd(), config.tempDir);
|
|
||||||
let pathsIgnore = config.pathsIgnore;
|
|
||||||
if (!tempRelativeToWorking.startsWith("..") &&
|
|
||||||
!path.isAbsolute(tempRelativeToWorking)) {
|
|
||||||
pathsIgnore = pathsIgnore.concat(tempRelativeToWorking);
|
|
||||||
}
|
|
||||||
if (pathsIgnore.length !== 0) {
|
|
||||||
process.env["LGTM_INDEX_EXCLUDE"] = buildIncludeExcludeEnvVar(pathsIgnore);
|
|
||||||
}
|
|
||||||
// The 'LGTM_INDEX_FILTERS' environment variable controls which files are
|
|
||||||
// extracted or ignored. It does not control which directories are traversed.
|
|
||||||
// This does understand the glob and double-glob syntax.
|
|
||||||
const filters = [];
|
|
||||||
filters.push(...config.paths.map((p) => `include:${p}`));
|
|
||||||
filters.push(...config.pathsIgnore.map((p) => `exclude:${p}`));
|
|
||||||
if (filters.length !== 0) {
|
|
||||||
process.env["LGTM_INDEX_FILTERS"] = filters.join("\n");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
exports.includeAndExcludeAnalysisPaths = includeAndExcludeAnalysisPaths;
|
|
||||||
//# sourceMappingURL=analysis-paths.js.map
|
|
||||||
@@ -1 +0,0 @@
|
|||||||
{"version":3,"file":"analysis-paths.js","sourceRoot":"","sources":["../src/analysis-paths.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,2CAA6B;AAK7B,SAAS,qBAAqB,CAAC,QAAQ;IACrC,OAAO,CACL,QAAQ,KAAK,YAAY,IAAI,QAAQ,KAAK,QAAQ,IAAI,QAAQ,KAAK,MAAM,CAC1E,CAAC;AACJ,CAAC;AAED,6FAA6F;AAChF,QAAA,+BAA+B,GAAG,cAAc,CAAC;AAE9D,uFAAuF;AACvF,SAAS,yBAAyB,CAAC,KAAe;IAChD,iCAAiC;IACjC,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAEnD,uDAAuD;IACvD,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,EAAE;QAChC,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,uCAA+B,CAAC,CAAC,CAAC;KACvE;IAED,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED,SAAgB,uBAAuB,CACrC,MAA0B,EAC1B,MAAc;IAEd,qEAAqE;IACrE,sEAAsE;IACtE,IACE,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,MAAM,CAAC,WAAW,CAAC,MAAM,KAAK,CAAC,CAAC;QAC9D,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,qBAAqB,CAAC,EAC9C;QACA,MAAM,CAAC,OAAO,CACZ,mGAAmG,CACpG,CAAC;KACH;AACH,CAAC;AAdD,0DAcC;AAED,SAAgB,8BAA8B,CAAC,MAA0B;IACvE,0EAA0E;IAC1E,+DAA+D;IAC/D,sEAAsE;IACtE,qDAAqD;IACrD,gFAAgF;IAChF,sEAAsE;IACtE,sDAAsD;IACtD,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE;QAC7B,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,GAAG,yBAAyB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;KAC7E;IACD,mFAAmF;IACnF,MAAM,qBAAqB,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;IAC3E,IAAI,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC;IACrC,IACE,CAAC,qBAAqB,CAAC,UAAU,CAAC,IAAI,CAAC;QACvC,CAAC,IAAI,CAAC,UAAU,CAAC,qBAAqB,CAAC,EACvC;QACA,WAAW,GAAG,WAAW,CAAC,MAAM,CAAC,qBAAqB,CAAC,CAAC;KACzD;IACD,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE;QAC5B,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,GAAG,yBAAyB,CAAC,WAAW,CAAC,CAAC;KAC5E;IAED,yEAAyE;IACzE,6EAA6E;IAC7E,wDAAwD;IACxD,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,OAAO,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,CAAC;IACzD,OAAO,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,CAAC;IAC/D,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE;QACxB,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;KACxD;AACH,CAAC;AAjCD,wEAiCC"}
|
|
||||||
124
lib/analysis-paths.test.js
generated
124
lib/analysis-paths.test.js
generated
@@ -1,124 +0,0 @@
|
|||||||
"use strict";
|
|
||||||
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
||||||
if (k2 === undefined) k2 = k;
|
|
||||||
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
||||||
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
||||||
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
||||||
}
|
|
||||||
Object.defineProperty(o, k2, desc);
|
|
||||||
}) : (function(o, m, k, k2) {
|
|
||||||
if (k2 === undefined) k2 = k;
|
|
||||||
o[k2] = m[k];
|
|
||||||
}));
|
|
||||||
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
||||||
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
||||||
}) : function(o, v) {
|
|
||||||
o["default"] = v;
|
|
||||||
});
|
|
||||||
var __importStar = (this && this.__importStar) || function (mod) {
|
|
||||||
if (mod && mod.__esModule) return mod;
|
|
||||||
var result = {};
|
|
||||||
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
||||||
__setModuleDefault(result, mod);
|
|
||||||
return result;
|
|
||||||
};
|
|
||||||
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
||||||
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
||||||
};
|
|
||||||
Object.defineProperty(exports, "__esModule", { value: true });
|
|
||||||
const path = __importStar(require("path"));
|
|
||||||
const ava_1 = __importDefault(require("ava"));
|
|
||||||
const analysisPaths = __importStar(require("./analysis-paths"));
|
|
||||||
const testing_utils_1 = require("./testing-utils");
|
|
||||||
const util = __importStar(require("./util"));
|
|
||||||
(0, testing_utils_1.setupTests)(ava_1.default);
|
|
||||||
(0, ava_1.default)("emptyPaths", async (t) => {
|
|
||||||
return await util.withTmpDir(async (tmpDir) => {
|
|
||||||
const config = {
|
|
||||||
languages: [],
|
|
||||||
queries: {},
|
|
||||||
pathsIgnore: [],
|
|
||||||
paths: [],
|
|
||||||
originalUserInput: {},
|
|
||||||
tempDir: tmpDir,
|
|
||||||
codeQLCmd: "",
|
|
||||||
gitHubVersion: { type: util.GitHubVariant.DOTCOM },
|
|
||||||
dbLocation: path.resolve(tmpDir, "codeql_databases"),
|
|
||||||
packs: {},
|
|
||||||
debugMode: false,
|
|
||||||
debugArtifactName: util.DEFAULT_DEBUG_ARTIFACT_NAME,
|
|
||||||
debugDatabaseName: util.DEFAULT_DEBUG_DATABASE_NAME,
|
|
||||||
augmentationProperties: {
|
|
||||||
injectedMlQueries: false,
|
|
||||||
packsInputCombines: false,
|
|
||||||
queriesInputCombines: false,
|
|
||||||
},
|
|
||||||
trapCaches: {},
|
|
||||||
trapCacheDownloadTime: 0,
|
|
||||||
};
|
|
||||||
analysisPaths.includeAndExcludeAnalysisPaths(config);
|
|
||||||
t.is(process.env["LGTM_INDEX_INCLUDE"], undefined);
|
|
||||||
t.is(process.env["LGTM_INDEX_EXCLUDE"], undefined);
|
|
||||||
t.is(process.env["LGTM_INDEX_FILTERS"], undefined);
|
|
||||||
});
|
|
||||||
});
|
|
||||||
(0, ava_1.default)("nonEmptyPaths", async (t) => {
|
|
||||||
return await util.withTmpDir(async (tmpDir) => {
|
|
||||||
const config = {
|
|
||||||
languages: [],
|
|
||||||
queries: {},
|
|
||||||
paths: ["path1", "path2", "**/path3"],
|
|
||||||
pathsIgnore: ["path4", "path5", "path6/**"],
|
|
||||||
originalUserInput: {},
|
|
||||||
tempDir: tmpDir,
|
|
||||||
codeQLCmd: "",
|
|
||||||
gitHubVersion: { type: util.GitHubVariant.DOTCOM },
|
|
||||||
dbLocation: path.resolve(tmpDir, "codeql_databases"),
|
|
||||||
packs: {},
|
|
||||||
debugMode: false,
|
|
||||||
debugArtifactName: util.DEFAULT_DEBUG_ARTIFACT_NAME,
|
|
||||||
debugDatabaseName: util.DEFAULT_DEBUG_DATABASE_NAME,
|
|
||||||
augmentationProperties: {
|
|
||||||
injectedMlQueries: false,
|
|
||||||
packsInputCombines: false,
|
|
||||||
queriesInputCombines: false,
|
|
||||||
},
|
|
||||||
trapCaches: {},
|
|
||||||
trapCacheDownloadTime: 0,
|
|
||||||
};
|
|
||||||
analysisPaths.includeAndExcludeAnalysisPaths(config);
|
|
||||||
t.is(process.env["LGTM_INDEX_INCLUDE"], "path1\npath2");
|
|
||||||
t.is(process.env["LGTM_INDEX_EXCLUDE"], "path4\npath5");
|
|
||||||
t.is(process.env["LGTM_INDEX_FILTERS"], "include:path1\ninclude:path2\ninclude:**/path3\nexclude:path4\nexclude:path5\nexclude:path6/**");
|
|
||||||
});
|
|
||||||
});
|
|
||||||
(0, ava_1.default)("exclude temp dir", async (t) => {
|
|
||||||
const tempDir = path.join(process.cwd(), "codeql-runner-temp");
|
|
||||||
const config = {
|
|
||||||
languages: [],
|
|
||||||
queries: {},
|
|
||||||
pathsIgnore: [],
|
|
||||||
paths: [],
|
|
||||||
originalUserInput: {},
|
|
||||||
tempDir,
|
|
||||||
codeQLCmd: "",
|
|
||||||
gitHubVersion: { type: util.GitHubVariant.DOTCOM },
|
|
||||||
dbLocation: path.resolve(tempDir, "codeql_databases"),
|
|
||||||
packs: {},
|
|
||||||
debugMode: false,
|
|
||||||
debugArtifactName: util.DEFAULT_DEBUG_ARTIFACT_NAME,
|
|
||||||
debugDatabaseName: util.DEFAULT_DEBUG_DATABASE_NAME,
|
|
||||||
augmentationProperties: {
|
|
||||||
injectedMlQueries: false,
|
|
||||||
packsInputCombines: false,
|
|
||||||
queriesInputCombines: false,
|
|
||||||
},
|
|
||||||
trapCaches: {},
|
|
||||||
trapCacheDownloadTime: 0,
|
|
||||||
};
|
|
||||||
analysisPaths.includeAndExcludeAnalysisPaths(config);
|
|
||||||
t.is(process.env["LGTM_INDEX_INCLUDE"], undefined);
|
|
||||||
t.is(process.env["LGTM_INDEX_EXCLUDE"], "codeql-runner-temp");
|
|
||||||
t.is(process.env["LGTM_INDEX_FILTERS"], undefined);
|
|
||||||
});
|
|
||||||
//# sourceMappingURL=analysis-paths.test.js.map
|
|
||||||
@@ -1 +0,0 @@
|
|||||||
{"version":3,"file":"analysis-paths.test.js","sourceRoot":"","sources":["../src/analysis-paths.test.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,2CAA6B;AAE7B,8CAAuB;AAEvB,gEAAkD;AAClD,mDAA6C;AAC7C,6CAA+B;AAE/B,IAAA,0BAAU,EAAC,aAAI,CAAC,CAAC;AAEjB,IAAA,aAAI,EAAC,YAAY,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;IAC7B,OAAO,MAAM,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE;QAC5C,MAAM,MAAM,GAAG;YACb,SAAS,EAAE,EAAE;YACb,OAAO,EAAE,EAAE;YACX,WAAW,EAAE,EAAE;YACf,KAAK,EAAE,EAAE;YACT,iBAAiB,EAAE,EAAE;YACrB,OAAO,EAAE,MAAM;YACf,SAAS,EAAE,EAAE;YACb,aAAa,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,aAAa,CAAC,MAAM,EAAwB;YACxE,UAAU,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,kBAAkB,CAAC;YACpD,KAAK,EAAE,EAAE;YACT,SAAS,EAAE,KAAK;YAChB,iBAAiB,EAAE,IAAI,CAAC,2BAA2B;YACnD,iBAAiB,EAAE,IAAI,CAAC,2BAA2B;YACnD,sBAAsB,EAAE;gBACtB,iBAAiB,EAAE,KAAK;gBACxB,kBAAkB,EAAE,KAAK;gBACzB,oBAAoB,EAAE,KAAK;aAC5B;YACD,UAAU,EAAE,EAAE;YACd,qBAAqB,EAAE,CAAC;SACzB,CAAC;QACF,aAAa,CAAC,8BAA8B,CAAC,MAAM,CAAC,CAAC;QACrD,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,EAAE,SAAS,CAAC,CAAC;QACnD,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,EAAE,SAAS,CAAC,CAAC;QACnD,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,EAAE,SAAS,CAAC,CAAC;IACrD,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,IAAA,aAAI,EAAC,eAAe,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;IAChC,OAAO,MAAM,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE;QAC5C,MAAM,MAAM,GAAG;YACb,SAAS,EAAE,EAAE;YACb,OAAO,EAAE,EAAE;YACX,KAAK,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,UAAU,CAAC;YACrC,WAAW,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,UAAU,CAAC;YAC3C,iBAAiB,EAAE,EAAE;YACrB,OAAO,EAAE,MAAM;YACf,SAAS,EAAE,EAAE;YACb,aAAa,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,aAAa,CAAC,MAAM,EAAwB;YACxE,UAAU,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,kBAAkB,CAAC;YACpD,KAAK,EAAE,EAAE;YACT,SAAS,EAAE,KAAK;YAChB,iBAAiB,EAAE,IAAI,CAAC,2BAA2B;YACnD,iBAAiB,EAAE,IAAI,CAAC,2BAA2B;YACnD,sBAAsB,EAAE;gBACtB,iBAAiB,EAAE,KAAK;gBACxB,kBAAkB,EAAE,KAAK;gBACzB,oBAAoB,EAAE,KAAK;aAC5B;YACD,UAAU,EAAE,EAAE;YACd,qBAAqB,EAAE,CAAC;SACzB,CAAC;QACF,aAAa,CAAC,8BAA8B,CAAC,MAAM,CAAC,CAAC;QACrD,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,EAAE,cAAc,CAAC,CAAC;QACxD,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,EAAE,cAAc,CAAC,CAAC;QACxD,CAAC,CAAC,EAAE,CACF,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,EACjC,gGAAgG,CACjG,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,IAAA,aAAI,EAAC,kBAAkB,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;IACnC,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,oBAAoB,CAAC,CAAC;IAC/D,MAAM,MAAM,GAAG;QACb,SAAS,EAAE,EAAE;QACb,OAAO,EAAE,EAAE;QACX,WAAW,EAAE,EAAE;QACf,KAAK,EAAE,EAAE;QACT,iBAAiB,EAAE,EAAE;QACrB,OAAO;QACP,SAAS,EAAE,EAAE;QACb,aAAa,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,aAAa,CAAC,MAAM,EAAwB;QACxE,UAAU,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,kBAAkB,CAAC;QACrD,KAAK,EAAE,EAAE;QACT,SAAS,EAAE,KAAK;QAChB,iBAAiB,EAAE,IAAI,CAAC,2BAA2B;QACnD,iBAAiB,EAAE,IAAI,CAAC,2BAA2B;QACnD,sBAAsB,EAAE;YACtB,iBAAiB,EAAE,KAAK;YACxB,kBAAkB,EAAE,KAAK;YACzB,oBAAoB,EAAE,KAAK;SAC5B;QACD,UAAU,EAAE,EAAE;QACd,qBAAqB,EAAE,CAAC;KACzB,CAAC;IACF,aAAa,CAAC,8BAA8B,CAAC,MAAM,CAAC,CAAC;IACrD,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,EAAE,SAAS,CAAC,CAAC;IACnD,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,EAAE,oBAAoB,CAAC,CAAC;IAC9D,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,EAAE,SAAS,CAAC,CAAC;AACrD,CAAC,CAAC,CAAC"}
|
|
||||||
8
lib/analyze-action-env.test.js
generated
8
lib/analyze-action-env.test.js
generated
@@ -30,7 +30,9 @@ const ava_1 = __importDefault(require("ava"));
|
|||||||
const sinon = __importStar(require("sinon"));
|
const sinon = __importStar(require("sinon"));
|
||||||
const actionsUtil = __importStar(require("./actions-util"));
|
const actionsUtil = __importStar(require("./actions-util"));
|
||||||
const analyze = __importStar(require("./analyze"));
|
const analyze = __importStar(require("./analyze"));
|
||||||
|
const api = __importStar(require("./api-client"));
|
||||||
const configUtils = __importStar(require("./config-utils"));
|
const configUtils = __importStar(require("./config-utils"));
|
||||||
|
const statusReport = __importStar(require("./status-report"));
|
||||||
const testing_utils_1 = require("./testing-utils");
|
const testing_utils_1 = require("./testing-utils");
|
||||||
const util = __importStar(require("./util"));
|
const util = __importStar(require("./util"));
|
||||||
(0, testing_utils_1.setupTests)(ava_1.default);
|
(0, testing_utils_1.setupTests)(ava_1.default);
|
||||||
@@ -46,9 +48,9 @@ const util = __importStar(require("./util"));
|
|||||||
process.env["GITHUB_REPOSITORY"] = "github/codeql-action-fake-repository";
|
process.env["GITHUB_REPOSITORY"] = "github/codeql-action-fake-repository";
|
||||||
process.env["GITHUB_API_URL"] = "https://api.github.com";
|
process.env["GITHUB_API_URL"] = "https://api.github.com";
|
||||||
sinon
|
sinon
|
||||||
.stub(actionsUtil, "createStatusReportBase")
|
.stub(statusReport, "createStatusReportBase")
|
||||||
.resolves({});
|
.resolves({});
|
||||||
sinon.stub(actionsUtil, "sendStatusReport").resolves(true);
|
sinon.stub(statusReport, "sendStatusReport").resolves();
|
||||||
sinon.stub(actionsUtil, "isAnalyzingDefaultBranch").resolves(true);
|
sinon.stub(actionsUtil, "isAnalyzingDefaultBranch").resolves(true);
|
||||||
const gitHubVersion = {
|
const gitHubVersion = {
|
||||||
type: util.GitHubVariant.DOTCOM,
|
type: util.GitHubVariant.DOTCOM,
|
||||||
@@ -65,7 +67,7 @@ const util = __importStar(require("./util"));
|
|||||||
const optionalInputStub = sinon.stub(actionsUtil, "getOptionalInput");
|
const optionalInputStub = sinon.stub(actionsUtil, "getOptionalInput");
|
||||||
optionalInputStub.withArgs("cleanup-level").returns("none");
|
optionalInputStub.withArgs("cleanup-level").returns("none");
|
||||||
optionalInputStub.withArgs("expect-error").returns("false");
|
optionalInputStub.withArgs("expect-error").returns("false");
|
||||||
sinon.stub(util, "getGitHubVersion").resolves(gitHubVersion);
|
sinon.stub(api, "getGitHubVersion").resolves(gitHubVersion);
|
||||||
(0, testing_utils_1.setupActionsVars)(tmpDir, tmpDir);
|
(0, testing_utils_1.setupActionsVars)(tmpDir, tmpDir);
|
||||||
(0, testing_utils_1.mockFeatureFlagApiEndpoint)(200, {});
|
(0, testing_utils_1.mockFeatureFlagApiEndpoint)(200, {});
|
||||||
// When there are no action inputs for RAM and threads, the action uses
|
// When there are no action inputs for RAM and threads, the action uses
|
||||||
|
|||||||
@@ -1 +1 @@
|
|||||||
{"version":3,"file":"analyze-action-env.test.js","sourceRoot":"","sources":["../src/analyze-action-env.test.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,8CAAuB;AACvB,6CAA+B;AAE/B,4DAA8C;AAC9C,mDAAqC;AACrC,4DAA8C;AAC9C,mDAIyB;AACzB,6CAA+B;AAE/B,IAAA,0BAAU,EAAC,aAAI,CAAC,CAAC;AAEjB,4EAA4E;AAC5E,4EAA4E;AAC5E,+EAA+E;AAC/E,+EAA+E;AAC/E,gFAAgF;AAChF,iCAAiC;AAEjC,IAAA,aAAI,EAAC,8DAA8D,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;IAC/E,MAAM,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE;QACrC,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,GAAG,IAAI,CAAC,iBAAiB,CAAC;QAC1D,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,GAAG,sCAAsC,CAAC;QAC1E,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,GAAG,wBAAwB,CAAC;QACzD,KAAK;aACF,IAAI,CAAC,WAAW,EAAE,wBAAwB,CAAC;aAC3C,QAAQ,CAAC,EAAkC,CAAC,CAAC;QAChD,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,kBAAkB,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QAC3D,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,0BAA0B,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QAEnE,MAAM,aAAa,GAAuB;YACxC,IAAI,EAAE,IAAI,CAAC,aAAa,CAAC,MAAM;SAChC,CAAC;QACF,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC,QAAQ,CAAC;YAC5C,aAAa;YACb,SAAS,EAAE,EAAE;YACb,KAAK,EAAE,EAAE;YACT,UAAU,EAAE,EAAE;SACkB,CAAC,CAAC;QACpC,MAAM,iBAAiB,GAAG,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,kBAAkB,CAAC,CAAC;QACtE,iBAAiB,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;QAC1D,iBAAiB,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAC/D,MAAM,iBAAiB,GAAG,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,kBAAkB,CAAC,CAAC;QACtE,iBAAiB,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAC5D,iBAAiB,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAC5D,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,kBAAkB,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;QAC7D,IAAA,gCAAgB,EAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACjC,IAAA,0CAA0B,EAAC,GAAG,EAAE,EAAE,CAAC,CAAC;QAEpC,uEAAuE;QACvE,0EAA0E;QAC1E,iBAAiB;QACjB,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,GAAG,IAAI,CAAC;QACrC,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,GAAG,MAAM,CAAC;QAEnC,MAAM,eAAe,GAAG,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;QAC3D,MAAM,cAAc,GAAG,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;QACzD,MAAM,aAAa,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAAC;QAElD,uEAAuE;QACvE,oEAAoE;QACpE,4EAA4E;QAC5E,wEAAwE;QACxE,MAAM,aAAa,CAAC,UAAU,CAAC;QAE/B,CAAC,CAAC,SAAS,CAAC,eAAe,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,cAAc,CAAC,CAAC;QAC/D,CAAC,CAAC,SAAS,CAAC,eAAe,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC;QAC7D,CAAC,CAAC,SAAS,CAAC,cAAc,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,cAAc,CAAC,CAAC;QAC9D,CAAC,CAAC,SAAS,CAAC,cAAc,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC;IAC9D,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
{"version":3,"file":"analyze-action-env.test.js","sourceRoot":"","sources":["../src/analyze-action-env.test.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,8CAAuB;AACvB,6CAA+B;AAE/B,4DAA8C;AAC9C,mDAAqC;AACrC,kDAAoC;AACpC,4DAA8C;AAC9C,8DAAgD;AAChD,mDAIyB;AACzB,6CAA+B;AAE/B,IAAA,0BAAU,EAAC,aAAI,CAAC,CAAC;AAEjB,4EAA4E;AAC5E,4EAA4E;AAC5E,+EAA+E;AAC/E,+EAA+E;AAC/E,gFAAgF;AAChF,iCAAiC;AAEjC,IAAA,aAAI,EAAC,8DAA8D,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;IAC/E,MAAM,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE;QACrC,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,GAAG,IAAI,CAAC,iBAAiB,CAAC;QAC1D,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,GAAG,sCAAsC,CAAC;QAC1E,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,GAAG,wBAAwB,CAAC;QACzD,KAAK;aACF,IAAI,CAAC,YAAY,EAAE,wBAAwB,CAAC;aAC5C,QAAQ,CAAC,EAAmC,CAAC,CAAC;QACjD,KAAK,CAAC,IAAI,CAAC,YAAY,EAAE,kBAAkB,CAAC,CAAC,QAAQ,EAAE,CAAC;QACxD,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,0BAA0B,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QAEnE,MAAM,aAAa,GAAuB;YACxC,IAAI,EAAE,IAAI,CAAC,aAAa,CAAC,MAAM;SAChC,CAAC;QACF,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC,QAAQ,CAAC;YAC5C,aAAa;YACb,SAAS,EAAE,EAAE;YACb,KAAK,EAAE,EAAE;YACT,UAAU,EAAE,EAAE;SACkB,CAAC,CAAC;QACpC,MAAM,iBAAiB,GAAG,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,kBAAkB,CAAC,CAAC;QACtE,iBAAiB,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;QAC1D,iBAAiB,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAC/D,MAAM,iBAAiB,GAAG,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,kBAAkB,CAAC,CAAC;QACtE,iBAAiB,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAC5D,iBAAiB,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAC5D,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,kBAAkB,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;QAC5D,IAAA,gCAAgB,EAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACjC,IAAA,0CAA0B,EAAC,GAAG,EAAE,EAAE,CAAC,CAAC;QAEpC,uEAAuE;QACvE,0EAA0E;QAC1E,iBAAiB;QACjB,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,GAAG,IAAI,CAAC;QACrC,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,GAAG,MAAM,CAAC;QAEnC,MAAM,eAAe,GAAG,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;QAC3D,MAAM,cAAc,GAAG,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;QACzD,MAAM,aAAa,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAAC;QAElD,uEAAuE;QACvE,oEAAoE;QACpE,4EAA4E;QAC5E,wEAAwE;QACxE,MAAM,aAAa,CAAC,UAAU,CAAC;QAE/B,CAAC,CAAC,SAAS,CAAC,eAAe,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,cAAc,CAAC,CAAC;QAC/D,CAAC,CAAC,SAAS,CAAC,eAAe,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC;QAC7D,CAAC,CAAC,SAAS,CAAC,cAAc,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,cAAc,CAAC,CAAC;QAC9D,CAAC,CAAC,SAAS,CAAC,cAAc,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC;IAC9D,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
||||||
8
lib/analyze-action-input.test.js
generated
8
lib/analyze-action-input.test.js
generated
@@ -30,7 +30,9 @@ const ava_1 = __importDefault(require("ava"));
|
|||||||
const sinon = __importStar(require("sinon"));
|
const sinon = __importStar(require("sinon"));
|
||||||
const actionsUtil = __importStar(require("./actions-util"));
|
const actionsUtil = __importStar(require("./actions-util"));
|
||||||
const analyze = __importStar(require("./analyze"));
|
const analyze = __importStar(require("./analyze"));
|
||||||
|
const api = __importStar(require("./api-client"));
|
||||||
const configUtils = __importStar(require("./config-utils"));
|
const configUtils = __importStar(require("./config-utils"));
|
||||||
|
const statusReport = __importStar(require("./status-report"));
|
||||||
const testing_utils_1 = require("./testing-utils");
|
const testing_utils_1 = require("./testing-utils");
|
||||||
const util = __importStar(require("./util"));
|
const util = __importStar(require("./util"));
|
||||||
(0, testing_utils_1.setupTests)(ava_1.default);
|
(0, testing_utils_1.setupTests)(ava_1.default);
|
||||||
@@ -46,9 +48,9 @@ const util = __importStar(require("./util"));
|
|||||||
process.env["GITHUB_REPOSITORY"] = "github/codeql-action-fake-repository";
|
process.env["GITHUB_REPOSITORY"] = "github/codeql-action-fake-repository";
|
||||||
process.env["GITHUB_API_URL"] = "https://api.github.com";
|
process.env["GITHUB_API_URL"] = "https://api.github.com";
|
||||||
sinon
|
sinon
|
||||||
.stub(actionsUtil, "createStatusReportBase")
|
.stub(statusReport, "createStatusReportBase")
|
||||||
.resolves({});
|
.resolves({});
|
||||||
sinon.stub(actionsUtil, "sendStatusReport").resolves(true);
|
sinon.stub(statusReport, "sendStatusReport").resolves();
|
||||||
const gitHubVersion = {
|
const gitHubVersion = {
|
||||||
type: util.GitHubVariant.DOTCOM,
|
type: util.GitHubVariant.DOTCOM,
|
||||||
};
|
};
|
||||||
@@ -64,7 +66,7 @@ const util = __importStar(require("./util"));
|
|||||||
const optionalInputStub = sinon.stub(actionsUtil, "getOptionalInput");
|
const optionalInputStub = sinon.stub(actionsUtil, "getOptionalInput");
|
||||||
optionalInputStub.withArgs("cleanup-level").returns("none");
|
optionalInputStub.withArgs("cleanup-level").returns("none");
|
||||||
optionalInputStub.withArgs("expect-error").returns("false");
|
optionalInputStub.withArgs("expect-error").returns("false");
|
||||||
sinon.stub(util, "getGitHubVersion").resolves(gitHubVersion);
|
sinon.stub(api, "getGitHubVersion").resolves(gitHubVersion);
|
||||||
sinon.stub(actionsUtil, "isAnalyzingDefaultBranch").resolves(true);
|
sinon.stub(actionsUtil, "isAnalyzingDefaultBranch").resolves(true);
|
||||||
(0, testing_utils_1.setupActionsVars)(tmpDir, tmpDir);
|
(0, testing_utils_1.setupActionsVars)(tmpDir, tmpDir);
|
||||||
(0, testing_utils_1.mockFeatureFlagApiEndpoint)(200, {});
|
(0, testing_utils_1.mockFeatureFlagApiEndpoint)(200, {});
|
||||||
|
|||||||
@@ -1 +1 @@
|
|||||||
{"version":3,"file":"analyze-action-input.test.js","sourceRoot":"","sources":["../src/analyze-action-input.test.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,8CAAuB;AACvB,6CAA+B;AAE/B,4DAA8C;AAC9C,mDAAqC;AACrC,4DAA8C;AAC9C,mDAIyB;AACzB,6CAA+B;AAE/B,IAAA,0BAAU,EAAC,aAAI,CAAC,CAAC;AAEjB,4EAA4E;AAC5E,4EAA4E;AAC5E,+EAA+E;AAC/E,+EAA+E;AAC/E,gFAAgF;AAChF,iCAAiC;AAEjC,IAAA,aAAI,EAAC,sDAAsD,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;IACvE,MAAM,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE;QACrC,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,GAAG,IAAI,CAAC,iBAAiB,CAAC;QAC1D,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,GAAG,sCAAsC,CAAC;QAC1E,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,GAAG,wBAAwB,CAAC;QACzD,KAAK;aACF,IAAI,CAAC,WAAW,EAAE,wBAAwB,CAAC;aAC3C,QAAQ,CAAC,EAAkC,CAAC,CAAC;QAChD,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,kBAAkB,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QAC3D,MAAM,aAAa,GAAuB;YACxC,IAAI,EAAE,IAAI,CAAC,aAAa,CAAC,MAAM;SAChC,CAAC;QACF,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC,QAAQ,CAAC;YAC5C,aAAa;YACb,SAAS,EAAE,EAAE;YACb,KAAK,EAAE,EAAE;YACT,UAAU,EAAE,EAAE;SACkB,CAAC,CAAC;QACpC,MAAM,iBAAiB,GAAG,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,kBAAkB,CAAC,CAAC;QACtE,iBAAiB,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;QAC1D,iBAAiB,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAC/D,MAAM,iBAAiB,GAAG,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,kBAAkB,CAAC,CAAC;QACtE,iBAAiB,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAC5D,iBAAiB,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAC5D,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,kBAAkB,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;QAC7D,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,0BAA0B,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QACnE,IAAA,gCAAgB,EAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACjC,IAAA,0CAA0B,EAAC,GAAG,EAAE,EAAE,CAAC,CAAC;QAEpC,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,GAAG,GAAG,CAAC;QACpC,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,GAAG,MAAM,CAAC;QAEnC,4DAA4D;QAC5D,iBAAiB,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACpD,iBAAiB,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAElD,MAAM,eAAe,GAAG,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;QAC3D,MAAM,cAAc,GAAG,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;QACzD,MAAM,aAAa,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAAC;QAElD,uEAAuE;QACvE,oEAAoE;QACpE,4EAA4E;QAC5E,wEAAwE;QACxE,MAAM,aAAa,CAAC,UAAU,CAAC;QAE/B,CAAC,CAAC,SAAS,CAAC,eAAe,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,cAAc,CAAC,CAAC;QAC/D,CAAC,CAAC,SAAS,CAAC,eAAe,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC;QAC7D,CAAC,CAAC,SAAS,CAAC,cAAc,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,cAAc,CAAC,CAAC;QAC9D,CAAC,CAAC,SAAS,CAAC,cAAc,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC;IAC9D,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
{"version":3,"file":"analyze-action-input.test.js","sourceRoot":"","sources":["../src/analyze-action-input.test.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,8CAAuB;AACvB,6CAA+B;AAE/B,4DAA8C;AAC9C,mDAAqC;AACrC,kDAAoC;AACpC,4DAA8C;AAC9C,8DAAgD;AAChD,mDAIyB;AACzB,6CAA+B;AAE/B,IAAA,0BAAU,EAAC,aAAI,CAAC,CAAC;AAEjB,4EAA4E;AAC5E,4EAA4E;AAC5E,+EAA+E;AAC/E,+EAA+E;AAC/E,gFAAgF;AAChF,iCAAiC;AAEjC,IAAA,aAAI,EAAC,sDAAsD,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;IACvE,MAAM,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE;QACrC,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,GAAG,IAAI,CAAC,iBAAiB,CAAC;QAC1D,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,GAAG,sCAAsC,CAAC;QAC1E,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,GAAG,wBAAwB,CAAC;QACzD,KAAK;aACF,IAAI,CAAC,YAAY,EAAE,wBAAwB,CAAC;aAC5C,QAAQ,CAAC,EAAmC,CAAC,CAAC;QACjD,KAAK,CAAC,IAAI,CAAC,YAAY,EAAE,kBAAkB,CAAC,CAAC,QAAQ,EAAE,CAAC;QACxD,MAAM,aAAa,GAAuB;YACxC,IAAI,EAAE,IAAI,CAAC,aAAa,CAAC,MAAM;SAChC,CAAC;QACF,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC,QAAQ,CAAC;YAC5C,aAAa;YACb,SAAS,EAAE,EAAE;YACb,KAAK,EAAE,EAAE;YACT,UAAU,EAAE,EAAE;SACkB,CAAC,CAAC;QACpC,MAAM,iBAAiB,GAAG,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,kBAAkB,CAAC,CAAC;QACtE,iBAAiB,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;QAC1D,iBAAiB,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAC/D,MAAM,iBAAiB,GAAG,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,kBAAkB,CAAC,CAAC;QACtE,iBAAiB,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAC5D,iBAAiB,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAC5D,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,kBAAkB,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;QAC5D,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,0BAA0B,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QACnE,IAAA,gCAAgB,EAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACjC,IAAA,0CAA0B,EAAC,GAAG,EAAE,EAAE,CAAC,CAAC;QAEpC,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,GAAG,GAAG,CAAC;QACpC,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,GAAG,MAAM,CAAC;QAEnC,4DAA4D;QAC5D,iBAAiB,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACpD,iBAAiB,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAElD,MAAM,eAAe,GAAG,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;QAC3D,MAAM,cAAc,GAAG,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;QACzD,MAAM,aAAa,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAAC;QAElD,uEAAuE;QACvE,oEAAoE;QACpE,4EAA4E;QAC5E,wEAAwE;QACxE,MAAM,aAAa,CAAC,UAAU,CAAC;QAE/B,CAAC,CAAC,SAAS,CAAC,eAAe,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,cAAc,CAAC,CAAC;QAC/D,CAAC,CAAC,SAAS,CAAC,eAAe,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC;QAC7D,CAAC,CAAC,SAAS,CAAC,cAAc,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,cAAc,CAAC,CAAC;QAC9D,CAAC,CAAC,SAAS,CAAC,cAAc,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC;IAC9D,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user