mirror of
https://github.com/github/codeql-action.git
synced 2025-12-25 08:40:12 +08:00
Compare commits
534 Commits
codeql-bun
...
codeql-bun
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
9b02dc2f60 | ||
|
|
7ab92d0295 | ||
|
|
2cae828745 | ||
|
|
6b78c6eca2 | ||
|
|
f7258be256 | ||
|
|
35083eedc1 | ||
|
|
80e2dc47d8 | ||
|
|
2e3b93fe41 | ||
|
|
bbfc5bef5b | ||
|
|
6e22e41a25 | ||
|
|
0cec254fa1 | ||
|
|
6a3692d673 | ||
|
|
9ee60a6e32 | ||
|
|
cce0287569 | ||
|
|
e044b152ab | ||
|
|
46cafbca67 | ||
|
|
fcd0ad43d5 | ||
|
|
c55fb0ab89 | ||
|
|
37a3fcc3af | ||
|
|
7ca4105454 | ||
|
|
286556a968 | ||
|
|
e8ad3afb1e | ||
|
|
0180811a94 | ||
|
|
6b9b66d6f9 | ||
|
|
ac30a39d8c | ||
|
|
66d72553a2 | ||
|
|
65abb79a75 | ||
|
|
0b8d151adc | ||
|
|
f5304e7bf5 | ||
|
|
1764e3d1c2 | ||
|
|
ef36b69c6d | ||
|
|
4cb21ac46b | ||
|
|
dee9f91810 | ||
|
|
3de706a4a3 | ||
|
|
0fb9447fd1 | ||
|
|
6b66390454 | ||
|
|
22b1968d7c | ||
|
|
7e3bc059bb | ||
|
|
f4c96f59d9 | ||
|
|
87c547189e | ||
|
|
f10997b601 | ||
|
|
8f71d47b93 | ||
|
|
ece6bb6fe7 | ||
|
|
3f8ca3519d | ||
|
|
04b73050b2 | ||
|
|
2847b7f7ab | ||
|
|
3c60275a04 | ||
|
|
be30325fa6 | ||
|
|
429b71ea4b | ||
|
|
3d4b4d2241 | ||
|
|
bbab10229f | ||
|
|
de1f97ca1d | ||
|
|
e74e30ba7f | ||
|
|
466d6ce584 | ||
|
|
853b3397ce | ||
|
|
eaadd985c8 | ||
|
|
ce28f5bb42 | ||
|
|
bc251b7932 | ||
|
|
e8799281c8 | ||
|
|
efd43b3097 | ||
|
|
7cb9b16051 | ||
|
|
3855117ba1 | ||
|
|
f5d4e2a7ca | ||
|
|
22deae890c | ||
|
|
df2a830ca4 | ||
|
|
b1e4dc3db5 | ||
|
|
72be4b6df6 | ||
|
|
1eab40885f | ||
|
|
075e08aca6 | ||
|
|
be60d9f5f9 | ||
|
|
a28627ae8f | ||
|
|
fca7ace96b | ||
|
|
1dcd2bebbb | ||
|
|
313daefcef | ||
|
|
55ff016766 | ||
|
|
4a00331d4e | ||
|
|
c0a821da11 | ||
|
|
d6216866b4 | ||
|
|
dc138d4f51 | ||
|
|
3201e46e26 | ||
|
|
d54c5e2206 | ||
|
|
36121ec458 | ||
|
|
7419bc61b3 | ||
|
|
c7f3c79ac0 | ||
|
|
0be24c0c9a | ||
|
|
fb70a8a3d6 | ||
|
|
7fd62151d9 | ||
|
|
31eae5e821 | ||
|
|
bc02a25f64 | ||
|
|
1a67b5df99 | ||
|
|
97fbf51190 | ||
|
|
eaed21baf2 | ||
|
|
655a969b7c | ||
|
|
3934d2b758 | ||
|
|
0abe43cb59 | ||
|
|
83a4df546f | ||
|
|
7b0fb5a4ac | ||
|
|
23262aef80 | ||
|
|
5239ab193d | ||
|
|
bcaa06bbb4 | ||
|
|
b63847bb99 | ||
|
|
54a7f3b869 | ||
|
|
ba7fabd835 | ||
|
|
cae4996048 | ||
|
|
566c8dfa81 | ||
|
|
396fd27c30 | ||
|
|
57eebf61a2 | ||
|
|
4428f8e35c | ||
|
|
655a335537 | ||
|
|
ff0a06e83c | ||
|
|
a41e0844be | ||
|
|
99ec5f3dd6 | ||
|
|
c07c4ee026 | ||
|
|
b86edfc27a | ||
|
|
e93b90025f | ||
|
|
510dfa3460 | ||
|
|
492d783245 | ||
|
|
83bdf3b7f9 | ||
|
|
cffc916774 | ||
|
|
4420887272 | ||
|
|
4e178c5841 | ||
|
|
05446e4bbf | ||
|
|
bb9fc01aa6 | ||
|
|
3dce55ac70 | ||
|
|
bacf5fe7c2 | ||
|
|
15f19ac220 | ||
|
|
f7ab654551 | ||
|
|
2f70a988e7 | ||
|
|
f681ad69a7 | ||
|
|
15447f393e | ||
|
|
ded79fc5fd | ||
|
|
77ae18dc82 | ||
|
|
df7d681f04 | ||
|
|
15bce5bb14 | ||
|
|
c64095f75e | ||
|
|
07dbe6f6f7 | ||
|
|
3d97729508 | ||
|
|
d5e9ae3f8b | ||
|
|
c41b278fa8 | ||
|
|
7657741c79 | ||
|
|
5eb3ed6614 | ||
|
|
213a8a5a44 | ||
|
|
c46165d67e | ||
|
|
60168efe1c | ||
|
|
0d5a3115da | ||
|
|
97a2bfd2a3 | ||
|
|
9aba20e4c9 | ||
|
|
81a9508deb | ||
|
|
1569f4c145 | ||
|
|
62fbeb66b3 | ||
|
|
f122d1dc9e | ||
|
|
083772aae4 | ||
|
|
5db14d0471 | ||
|
|
40e16edda1 | ||
|
|
3ca9a88941 | ||
|
|
ed51cb5abd | ||
|
|
8ccb6b16a6 | ||
|
|
1817a33c8b | ||
|
|
6893d12604 | ||
|
|
83605b3ce2 | ||
|
|
6a3cfab0e9 | ||
|
|
4b7eecf8a7 | ||
|
|
018ac1a585 | ||
|
|
6ad5d99ccc | ||
|
|
f843d94177 | ||
|
|
2264a4ecc1 | ||
|
|
d3b65fcaf0 | ||
|
|
eea52ddc4e | ||
|
|
6ef9b921b1 | ||
|
|
4ffa2364a0 | ||
|
|
7e00290d34 | ||
|
|
259434501f | ||
|
|
28deaeda66 | ||
|
|
03c5d71c11 | ||
|
|
2a8cbadc02 | ||
|
|
95d52b7807 | ||
|
|
c9f0d30a86 | ||
|
|
f76eaf51a6 | ||
|
|
e63b3f5166 | ||
|
|
c0cffae534 | ||
|
|
7eaba0dbc6 | ||
|
|
d1c7d49753 | ||
|
|
4c3e536282 | ||
|
|
56dd02f26d | ||
|
|
192406dd84 | ||
|
|
c7dbb2084e | ||
|
|
9a45cd8c50 | ||
|
|
d26c46acea | ||
|
|
51c83e1588 | ||
|
|
8774e3f945 | ||
|
|
45775bd823 | ||
|
|
dd78aab407 | ||
|
|
e40af59174 | ||
|
|
a35ae8c380 | ||
|
|
5bddbeb2bf | ||
|
|
c7102cdca1 | ||
|
|
a1ca4846bc | ||
|
|
bb59df6c17 | ||
|
|
4b508f5964 | ||
|
|
ca00afb5f1 | ||
|
|
2969c78ce0 | ||
|
|
fc7e4a0fa0 | ||
|
|
be0175c800 | ||
|
|
a8be43c24e | ||
|
|
94102d99b0 | ||
|
|
fd8685f16e | ||
|
|
56feaac968 | ||
|
|
362ef4ce20 | ||
|
|
2b85c00718 | ||
|
|
41aa437638 | ||
|
|
92864f48b0 | ||
|
|
46fbf563e6 | ||
|
|
e13fe0dd2d | ||
|
|
4a19b5125b | ||
|
|
06703ce3e5 | ||
|
|
676a422916 | ||
|
|
498c7f37e8 | ||
|
|
efd29bef22 | ||
|
|
dab8a02091 | ||
|
|
10771737a9 | ||
|
|
17379bcd20 | ||
|
|
dbb232a3d8 | ||
|
|
4b72bef651 | ||
|
|
b53826d56d | ||
|
|
55ee663d5f | ||
|
|
a27e401674 | ||
|
|
a69f5113b7 | ||
|
|
b6f76bd566 | ||
|
|
01f1a1f2c9 | ||
|
|
efffb483ec | ||
|
|
f21cf0bbd7 | ||
|
|
72a2b1295e | ||
|
|
a022653e2d | ||
|
|
3c42562190 | ||
|
|
e4ca874973 | ||
|
|
e7f67e2e61 | ||
|
|
9f45e7498b | ||
|
|
73c938dbc0 | ||
|
|
2be6da694a | ||
|
|
76f9ed9cd9 | ||
|
|
71ab101d38 | ||
|
|
da967b1ade | ||
|
|
3c4533916b | ||
|
|
1994ea768e | ||
|
|
534bc63d5e | ||
|
|
3fbee52426 | ||
|
|
9bd18b486f | ||
|
|
0afd488dc1 | ||
|
|
c1fc897eb2 | ||
|
|
f88459c0a3 | ||
|
|
b22f3341fe | ||
|
|
486ab5a292 | ||
|
|
5275714183 | ||
|
|
08e5c8d618 | ||
|
|
be853de3b7 | ||
|
|
502426aa6b | ||
|
|
4cdde5c397 | ||
|
|
6ceaf4460c | ||
|
|
f15aac3db1 | ||
|
|
e149e39832 | ||
|
|
f313d62247 | ||
|
|
1b549b9259 | ||
|
|
82630c85f3 | ||
|
|
e0ea141027 | ||
|
|
b361a91508 | ||
|
|
bd1d9ab4ed | ||
|
|
b98ae6ca52 | ||
|
|
9825184a0a | ||
|
|
ac67cffe5c | ||
|
|
9c674ba4f5 | ||
|
|
d109dd5d33 | ||
|
|
3e5446c3d2 | ||
|
|
6adda79888 | ||
|
|
6be6984cc1 | ||
|
|
c50c157cc3 | ||
|
|
c74c378e29 | ||
|
|
d271bde0ec | ||
|
|
df9f80e0f0 | ||
|
|
46371933a7 | ||
|
|
ee6a063cbd | ||
|
|
5f8171a638 | ||
|
|
bb59f7707d | ||
|
|
8b0dccd066 | ||
|
|
6349095d19 | ||
|
|
d7d03fda12 | ||
|
|
4e3a5342c5 | ||
|
|
55f023701c | ||
|
|
6a151cd774 | ||
|
|
7866bcdb1b | ||
|
|
611289e0b0 | ||
|
|
4c409a5b66 | ||
|
|
70df9def86 | ||
|
|
5f98c40063 | ||
|
|
f338ec87a3 | ||
|
|
c31f6c89e8 | ||
|
|
251c7fdf5d | ||
|
|
afa3ed33bb | ||
|
|
f8367fb063 | ||
|
|
dc49dcabdb | ||
|
|
7254660adc | ||
|
|
13f2f96cdd | ||
|
|
0efe12d12c | ||
|
|
ff5f0b9efd | ||
|
|
270886f805 | ||
|
|
d3762699d1 | ||
|
|
b46b37a8a3 | ||
|
|
aecf01557d | ||
|
|
053e2184a0 | ||
|
|
248ab9b811 | ||
|
|
d76f393713 | ||
|
|
88676f2b14 | ||
|
|
b2e6519679 | ||
|
|
ff91c9db25 | ||
|
|
d1b3f740d8 | ||
|
|
6bb031afdd | ||
|
|
6bca7dd940 | ||
|
|
56b25d5d52 | ||
|
|
256aa16582 | ||
|
|
911d845ab6 | ||
|
|
7b7ed63503 | ||
|
|
608ccd6cd9 | ||
|
|
35d04d3627 | ||
|
|
ec3b22164b | ||
|
|
8dc01f6342 | ||
|
|
b378daf0bc | ||
|
|
80f9930395 | ||
|
|
f544ec5e4a | ||
|
|
d37931ae65 | ||
|
|
4b35b04661 | ||
|
|
1a69221aeb | ||
|
|
452ffd6e8e | ||
|
|
a8ade63a2f | ||
|
|
2db5b5a35f | ||
|
|
85e30fe57a | ||
|
|
c7c9a57be6 | ||
|
|
c29cab9aac | ||
|
|
83923549f6 | ||
|
|
96632630a9 | ||
|
|
97aac9bb56 | ||
|
|
d59d0eb99a | ||
|
|
0ae74e1ae0 | ||
|
|
146dd5cfb0 | ||
|
|
32505c6f2d | ||
|
|
8c69433c34 | ||
|
|
c4f2a076e5 | ||
|
|
a8849fbe63 | ||
|
|
628c1e669a | ||
|
|
e12eb8d7c1 | ||
|
|
3b348d9a54 | ||
|
|
7567eab606 | ||
|
|
a9f7529f47 | ||
|
|
5e88a178fe | ||
|
|
c0a8eb9a67 | ||
|
|
286fd68a67 | ||
|
|
d3c7d03197 | ||
|
|
03c921eac5 | ||
|
|
ff79de67cc | ||
|
|
5d1a3cb0ee | ||
|
|
2923046360 | ||
|
|
b56ba49b26 | ||
|
|
60c9c77c33 | ||
|
|
9856c48b1a | ||
|
|
9572e09da4 | ||
|
|
1a529366ac | ||
|
|
cf7e90952b | ||
|
|
b7006aab6d | ||
|
|
cfedae723e | ||
|
|
3971ed2a74 | ||
|
|
d38c6e60df | ||
|
|
c0d59dba56 | ||
|
|
c1745a9831 | ||
|
|
67e48c1eaf | ||
|
|
dbbcbe019d | ||
|
|
fb3e7cdd88 | ||
|
|
ff50469ca0 | ||
|
|
d0aab9fc20 | ||
|
|
c9ebc3bb8b | ||
|
|
a7b17782a9 | ||
|
|
f85d8b5a74 | ||
|
|
dae1626680 | ||
|
|
d99c7e8e5b | ||
|
|
eb88b40ca4 | ||
|
|
6b1da0d33e | ||
|
|
906452d251 | ||
|
|
0656d7fb91 | ||
|
|
1bb15d06a6 | ||
|
|
65a3aa1fbc | ||
|
|
acadfedea5 | ||
|
|
1930ca4359 | ||
|
|
1d4f241470 | ||
|
|
9dfa165835 | ||
|
|
47d5364431 | ||
|
|
30b1c2ae15 | ||
|
|
c4158ff890 | ||
|
|
2be5f244ff | ||
|
|
8c1551cdd4 | ||
|
|
fc4873bed7 | ||
|
|
c3ad6e9deb | ||
|
|
61c77a48ff | ||
|
|
4267fa66a2 | ||
|
|
c4a8587f45 | ||
|
|
77bc2a595e | ||
|
|
1c15a48f3f | ||
|
|
3df6d20d31 | ||
|
|
affec202b3 | ||
|
|
a963b41ebd | ||
|
|
683c0f5360 | ||
|
|
6063925771 | ||
|
|
67eb53aecb | ||
|
|
226ab86c29 | ||
|
|
078f43891a | ||
|
|
ccc5046d0b | ||
|
|
8c70d43f73 | ||
|
|
0a35e8f686 | ||
|
|
fb1a08b0c7 | ||
|
|
fc5ba27156 | ||
|
|
9e8d0789d4 | ||
|
|
43d9be6701 | ||
|
|
7b5dd253ad | ||
|
|
24e1c2d337 | ||
|
|
57a08c0c7f | ||
|
|
52189d23af | ||
|
|
08bc0cf022 | ||
|
|
cf7c687919 | ||
|
|
ad42dbd32d | ||
|
|
a8f5935da0 | ||
|
|
9660df3fcc | ||
|
|
3e913ef09d | ||
|
|
e456c53578 | ||
|
|
0701025a8b | ||
|
|
9a4ae2164a | ||
|
|
5be1eb0d46 | ||
|
|
dcf2d0d183 | ||
|
|
e9987ad0c1 | ||
|
|
50954e7f00 | ||
|
|
cf6550fa50 | ||
|
|
30ac3f3555 | ||
|
|
44dfd8f991 | ||
|
|
dd746615b3 | ||
|
|
3210a3cda6 | ||
|
|
72f9d0296b | ||
|
|
a91a3f7678 | ||
|
|
c520fb59d4 | ||
|
|
3879c57660 | ||
|
|
0c2193725f | ||
|
|
5a61bf07fa | ||
|
|
163d1195df | ||
|
|
bcf5cecbc6 | ||
|
|
6e54559041 | ||
|
|
cd346029a4 | ||
|
|
797fb30eda | ||
|
|
1b7bc4888b | ||
|
|
f98f14dd82 | ||
|
|
14b9c0ec59 | ||
|
|
7fdc1b8d67 | ||
|
|
54b1c84213 | ||
|
|
76622e7fee | ||
|
|
5f4f998a94 | ||
|
|
43cffee811 | ||
|
|
a5f217b812 | ||
|
|
c386dcd486 | ||
|
|
17a820bf2e | ||
|
|
3a4eae00ff | ||
|
|
4e83f6b818 | ||
|
|
e2f043dee4 | ||
|
|
64ad47c7c1 | ||
|
|
8aa028b476 | ||
|
|
b494190443 | ||
|
|
a879704805 | ||
|
|
62c322fad9 | ||
|
|
c6b286132e | ||
|
|
9ba5bca2ab | ||
|
|
297e89a0d9 | ||
|
|
357e0ceaa9 | ||
|
|
7fdbca3ba3 | ||
|
|
7c2eafa990 | ||
|
|
faa23b6fee | ||
|
|
a2c1b36bdf | ||
|
|
346d06794f | ||
|
|
f71067bd5f | ||
|
|
5ff24648ef | ||
|
|
2bab9f7984 | ||
|
|
de4457eac2 | ||
|
|
7d7758bb24 | ||
|
|
f6d19ed42e | ||
|
|
ecf723239a | ||
|
|
e7c0c9d71b | ||
|
|
51bb5eb99a | ||
|
|
4b8aeabbe4 | ||
|
|
336c69eec0 | ||
|
|
da67fa0eb5 | ||
|
|
f6091c0113 | ||
|
|
c22d1f36ab | ||
|
|
064af10f0d | ||
|
|
01f0019310 | ||
|
|
3b34c672ca | ||
|
|
9cd802ec12 | ||
|
|
d39065943f | ||
|
|
573ad887cd | ||
|
|
d7f39764f6 | ||
|
|
428975ce2c | ||
|
|
208091da0a | ||
|
|
7e3036b9cd | ||
|
|
e32a0d62d4 | ||
|
|
67c21e4084 | ||
|
|
ee117c905a | ||
|
|
377913f015 | ||
|
|
b44b19fe8d | ||
|
|
d7366a1e50 | ||
|
|
4872b26ff9 | ||
|
|
dd196fa9ce | ||
|
|
23d07bb885 | ||
|
|
23ec3afaf8 | ||
|
|
519de26711 | ||
|
|
7e4b683a3d | ||
|
|
3505f8142a | ||
|
|
1645dbd3bf | ||
|
|
4b7c237f3d | ||
|
|
924ef8f189 | ||
|
|
140c5ea762 | ||
|
|
c34eb63970 | ||
|
|
07d32980ce | ||
|
|
20bbc8f5b5 | ||
|
|
d23f49f56f | ||
|
|
f89b8a7d52 | ||
|
|
86400836d1 | ||
|
|
6fee807c9b | ||
|
|
d68b2d4edb | ||
|
|
ea23796445 | ||
|
|
a0c2b7d296 | ||
|
|
aa76523503 | ||
|
|
0d043c929c | ||
|
|
695f3263e3 | ||
|
|
7b4c9fef7d |
@@ -61,11 +61,12 @@ runs:
|
|||||||
- name: Check config
|
- name: Check config
|
||||||
working-directory: ${{ github.action_path }}
|
working-directory: ${{ github.action_path }}
|
||||||
shell: bash
|
shell: bash
|
||||||
run: ts-node ./index.ts "${{ runner.temp }}/user-config.yaml" '${{ inputs.expected-config-file-contents }}'
|
env:
|
||||||
|
EXPECTED_CONFIG_FILE_CONTENTS: '${{ inputs.expected-config-file-contents }}'
|
||||||
|
run: ts-node ./index.ts "$RUNNER_TEMP/user-config.yaml" "$EXPECTED_CONFIG_FILE_CONTENTS"
|
||||||
- name: Clean up
|
- name: Clean up
|
||||||
shell: bash
|
shell: bash
|
||||||
if: always()
|
if: always()
|
||||||
run: |
|
run: |
|
||||||
rm -rf ${{ runner.temp }}/codescanning-config-cli-test
|
rm -rf $RUNNER_TEMP/codescanning-config-cli-test
|
||||||
rm -rf ${{ runner.temp }}/user-config.yaml
|
rm -rf $RUNNER_TEMP/user-config.yaml
|
||||||
|
|||||||
@@ -8,7 +8,7 @@ const actualConfig = loadActualConfig()
|
|||||||
|
|
||||||
const rawExpectedConfig = process.argv[3].trim()
|
const rawExpectedConfig = process.argv[3].trim()
|
||||||
if (!rawExpectedConfig) {
|
if (!rawExpectedConfig) {
|
||||||
core.info('No expected configuration provided')
|
core.setFailed('No expected configuration provided')
|
||||||
} else {
|
} else {
|
||||||
core.startGroup('Expected generated user config')
|
core.startGroup('Expected generated user config')
|
||||||
core.info(yaml.dump(JSON.parse(rawExpectedConfig)))
|
core.info(yaml.dump(JSON.parse(rawExpectedConfig)))
|
||||||
|
|||||||
21
.github/actions/prepare-test/action.yml
vendored
21
.github/actions/prepare-test/action.yml
vendored
@@ -29,24 +29,27 @@ runs:
|
|||||||
- id: get-url
|
- id: get-url
|
||||||
name: Determine URL
|
name: Determine URL
|
||||||
shell: bash
|
shell: bash
|
||||||
|
env:
|
||||||
|
VERSION: ${{ inputs.version }}
|
||||||
|
USE_ALL_PLATFORM_BUNDLE: ${{ inputs.use-all-platform-bundle }}
|
||||||
run: |
|
run: |
|
||||||
set -e # Fail this Action if `gh release list` fails.
|
set -e # Fail this Action if `gh release list` fails.
|
||||||
|
|
||||||
if [[ ${{ inputs.version }} == "linked" ]]; then
|
if [[ "$VERSION" == "linked" ]]; then
|
||||||
echo "tools-url=linked" >> "$GITHUB_OUTPUT"
|
echo "tools-url=linked" >> "$GITHUB_OUTPUT"
|
||||||
exit 0
|
exit 0
|
||||||
elif [[ ${{ inputs.version }} == "default" ]]; then
|
elif [[ "$VERSION" == "default" ]]; then
|
||||||
echo "tools-url=" >> "$GITHUB_OUTPUT"
|
echo "tools-url=" >> "$GITHUB_OUTPUT"
|
||||||
exit 0
|
exit 0
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [[ ${{ inputs.version }} == "nightly-latest" && "$RUNNER_OS" != "Windows" ]]; then
|
if [[ "$VERSION" == "nightly-latest" && "$RUNNER_OS" != "Windows" ]]; then
|
||||||
extension="tar.zst"
|
extension="tar.zst"
|
||||||
else
|
else
|
||||||
extension="tar.gz"
|
extension="tar.gz"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [[ ${{ inputs.use-all-platform-bundle }} == "true" ]]; then
|
if [[ "$USE_ALL_PLATFORM_BUNDLE" == "true" ]]; then
|
||||||
artifact_name="codeql-bundle.$extension"
|
artifact_name="codeql-bundle.$extension"
|
||||||
elif [[ "$RUNNER_OS" == "Linux" ]]; then
|
elif [[ "$RUNNER_OS" == "Linux" ]]; then
|
||||||
artifact_name="codeql-bundle-linux64.$extension"
|
artifact_name="codeql-bundle-linux64.$extension"
|
||||||
@@ -59,14 +62,14 @@ runs:
|
|||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [[ ${{ inputs.version }} == "nightly-latest" ]]; then
|
if [[ "$VERSION" == "nightly-latest" ]]; then
|
||||||
tag=`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/$tag/$artifact_name" >> $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 [[ "$VERSION" == *"nightly"* ]]; then
|
||||||
version=`echo ${{ inputs.version }} | sed -e 's/^.*\-//'`
|
version=`echo "$VERSION" | sed -e 's/^.*\-//'`
|
||||||
echo "tools-url=https://github.com/dsp-testing/codeql-cli-nightlies/releases/download/codeql-bundle-$version/$artifact_name" >> $GITHUB_OUTPUT
|
echo "tools-url=https://github.com/dsp-testing/codeql-cli-nightlies/releases/download/codeql-bundle-$version/$artifact_name" >> $GITHUB_OUTPUT
|
||||||
elif [[ ${{ inputs.version }} == *"stable"* ]]; then
|
elif [[ "$VERSION" == *"stable"* ]]; then
|
||||||
version=`echo ${{ inputs.version }} | sed -e 's/^.*\-//'`
|
version=`echo "$VERSION" | sed -e 's/^.*\-//'`
|
||||||
echo "tools-url=https://github.com/github/codeql-action/releases/download/codeql-bundle-$version/$artifact_name" >> $GITHUB_OUTPUT
|
echo "tools-url=https://github.com/github/codeql-action/releases/download/codeql-bundle-$version/$artifact_name" >> $GITHUB_OUTPUT
|
||||||
else
|
else
|
||||||
echo "::error::Unrecognized version specified!"
|
echo "::error::Unrecognized version specified!"
|
||||||
|
|||||||
7
.github/actions/release-branches/action.yml
vendored
7
.github/actions/release-branches/action.yml
vendored
@@ -18,8 +18,11 @@ runs:
|
|||||||
using: "composite"
|
using: "composite"
|
||||||
steps:
|
steps:
|
||||||
- id: branches
|
- id: branches
|
||||||
|
env:
|
||||||
|
MAJOR_VERSION: ${{ inputs.major_version }}
|
||||||
|
LATEST_TAG: ${{ inputs.latest_tag }}
|
||||||
run: |
|
run: |
|
||||||
python ${{ github.action_path }}/release-branches.py \
|
python ${{ github.action_path }}/release-branches.py \
|
||||||
--major-version ${{ inputs.major_version }} \
|
--major-version "$MAJOR_VERSION" \
|
||||||
--latest-tag ${{ inputs.latest_tag }}
|
--latest-tag "$LATEST_TAG"
|
||||||
shell: bash
|
shell: bash
|
||||||
|
|||||||
4
.github/codeql/codeql-actions-config.yml
vendored
Normal file
4
.github/codeql/codeql-actions-config.yml
vendored
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
# Configuration for the CodeQL Actions Queries
|
||||||
|
name: "CodeQL Actions Queries config"
|
||||||
|
queries:
|
||||||
|
- uses: security-and-quality
|
||||||
5
.github/copilot-instructions.md
vendored
Normal file
5
.github/copilot-instructions.md
vendored
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
# CodeQL Action - Copilot Instructions
|
||||||
|
|
||||||
|
The CodeQL Action is written in TypeScript and compiled to JavaScript. Both the TypeScript sources and the **generated** JavaScript code are contained in this repository. The TypeScript sources are contained in the `src` directory and the JavaScript code is contained in the `lib` directory. A GitHub Actions workflow checks that the JavaScript code in `lib` is up-to-date. Therefore, you should not review any changes to the contents of the `lib` folder and it is expected that the JavaScript code in `lib` closely mirrors the TypeScript code it is generated from.
|
||||||
|
|
||||||
|
GitHub Actions workflows in the `.github/workflows` directory whose filenames start with two underscores (e.g. `__all-platform-bundle.yml`) are automatically generated using the `pr-checks/sync.sh` script from template files in the `pr-checks/checks` directory. Therefore, you do not need to review files in the `.github/workflows` directory that starts with two underscores. However, you should review changes to the `pr-checks` directory as well as workflows in the `.github/workflows` directory that do not start with underscores.
|
||||||
6
.github/dependabot.yml
vendored
6
.github/dependabot.yml
vendored
@@ -2,8 +2,6 @@ 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:
|
||||||
@@ -26,8 +24,6 @@ updates:
|
|||||||
- "*"
|
- "*"
|
||||||
- package-ecosystem: github-actions
|
- package-ecosystem: github-actions
|
||||||
directory: "/"
|
directory: "/"
|
||||||
reviewers:
|
|
||||||
- "github/codeql-production-shield"
|
|
||||||
schedule:
|
schedule:
|
||||||
interval: weekly
|
interval: weekly
|
||||||
groups:
|
groups:
|
||||||
@@ -36,8 +32,6 @@ updates:
|
|||||||
- "*"
|
- "*"
|
||||||
- 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:
|
groups:
|
||||||
|
|||||||
7
.github/workflows/__all-platform-bundle.yml
generated
vendored
7
.github/workflows/__all-platform-bundle.yml
generated
vendored
@@ -32,7 +32,7 @@ jobs:
|
|||||||
name: All-platform bundle
|
name: All-platform bundle
|
||||||
permissions:
|
permissions:
|
||||||
contents: read
|
contents: read
|
||||||
security-events: write
|
security-events: read
|
||||||
timeout-minutes: 45
|
timeout-minutes: 45
|
||||||
runs-on: ${{ matrix.os }}
|
runs-on: ${{ matrix.os }}
|
||||||
steps:
|
steps:
|
||||||
@@ -45,6 +45,11 @@ jobs:
|
|||||||
version: ${{ matrix.version }}
|
version: ${{ matrix.version }}
|
||||||
use-all-platform-bundle: 'true'
|
use-all-platform-bundle: 'true'
|
||||||
setup-kotlin: 'true'
|
setup-kotlin: 'true'
|
||||||
|
- name: Install Go
|
||||||
|
uses: actions/setup-go@v5
|
||||||
|
with:
|
||||||
|
go-version: '>=1.21.0'
|
||||||
|
cache: false
|
||||||
- id: init
|
- id: init
|
||||||
uses: ./../action/init
|
uses: ./../action/init
|
||||||
with:
|
with:
|
||||||
|
|||||||
7
.github/workflows/__analyze-ref-input.yml
generated
vendored
7
.github/workflows/__analyze-ref-input.yml
generated
vendored
@@ -36,7 +36,7 @@ jobs:
|
|||||||
name: "Analyze: 'ref' and 'sha' from inputs"
|
name: "Analyze: 'ref' and 'sha' from inputs"
|
||||||
permissions:
|
permissions:
|
||||||
contents: read
|
contents: read
|
||||||
security-events: write
|
security-events: read
|
||||||
timeout-minutes: 45
|
timeout-minutes: 45
|
||||||
runs-on: ${{ matrix.os }}
|
runs-on: ${{ matrix.os }}
|
||||||
steps:
|
steps:
|
||||||
@@ -49,6 +49,11 @@ jobs:
|
|||||||
version: ${{ matrix.version }}
|
version: ${{ matrix.version }}
|
||||||
use-all-platform-bundle: 'false'
|
use-all-platform-bundle: 'false'
|
||||||
setup-kotlin: 'true'
|
setup-kotlin: 'true'
|
||||||
|
- name: Install Go
|
||||||
|
uses: actions/setup-go@v5
|
||||||
|
with:
|
||||||
|
go-version: '>=1.21.0'
|
||||||
|
cache: false
|
||||||
- uses: ./../action/init
|
- uses: ./../action/init
|
||||||
with:
|
with:
|
||||||
tools: ${{ steps.prepare-test.outputs.tools-url }}
|
tools: ${{ steps.prepare-test.outputs.tools-url }}
|
||||||
|
|||||||
2
.github/workflows/__autobuild-action.yml
generated
vendored
2
.github/workflows/__autobuild-action.yml
generated
vendored
@@ -36,7 +36,7 @@ jobs:
|
|||||||
name: autobuild-action
|
name: autobuild-action
|
||||||
permissions:
|
permissions:
|
||||||
contents: read
|
contents: read
|
||||||
security-events: write
|
security-events: read
|
||||||
timeout-minutes: 45
|
timeout-minutes: 45
|
||||||
runs-on: ${{ matrix.os }}
|
runs-on: ${{ matrix.os }}
|
||||||
steps:
|
steps:
|
||||||
|
|||||||
2
.github/workflows/__autobuild-direct-tracing-with-working-dir.yml
generated
vendored
2
.github/workflows/__autobuild-direct-tracing-with-working-dir.yml
generated
vendored
@@ -38,7 +38,7 @@ jobs:
|
|||||||
name: Autobuild direct tracing (custom working directory)
|
name: Autobuild direct tracing (custom working directory)
|
||||||
permissions:
|
permissions:
|
||||||
contents: read
|
contents: read
|
||||||
security-events: write
|
security-events: read
|
||||||
timeout-minutes: 45
|
timeout-minutes: 45
|
||||||
runs-on: ${{ matrix.os }}
|
runs-on: ${{ matrix.os }}
|
||||||
steps:
|
steps:
|
||||||
|
|||||||
2
.github/workflows/__autobuild-direct-tracing.yml
generated
vendored
2
.github/workflows/__autobuild-direct-tracing.yml
generated
vendored
@@ -38,7 +38,7 @@ jobs:
|
|||||||
name: Autobuild direct tracing
|
name: Autobuild direct tracing
|
||||||
permissions:
|
permissions:
|
||||||
contents: read
|
contents: read
|
||||||
security-events: write
|
security-events: read
|
||||||
timeout-minutes: 45
|
timeout-minutes: 45
|
||||||
runs-on: ${{ matrix.os }}
|
runs-on: ${{ matrix.os }}
|
||||||
steps:
|
steps:
|
||||||
|
|||||||
2
.github/workflows/__build-mode-autobuild.yml
generated
vendored
2
.github/workflows/__build-mode-autobuild.yml
generated
vendored
@@ -32,7 +32,7 @@ jobs:
|
|||||||
name: Build mode autobuild
|
name: Build mode autobuild
|
||||||
permissions:
|
permissions:
|
||||||
contents: read
|
contents: read
|
||||||
security-events: write
|
security-events: read
|
||||||
timeout-minutes: 45
|
timeout-minutes: 45
|
||||||
runs-on: ${{ matrix.os }}
|
runs-on: ${{ matrix.os }}
|
||||||
steps:
|
steps:
|
||||||
|
|||||||
7
.github/workflows/__build-mode-manual.yml
generated
vendored
7
.github/workflows/__build-mode-manual.yml
generated
vendored
@@ -32,7 +32,7 @@ jobs:
|
|||||||
name: Build mode manual
|
name: Build mode manual
|
||||||
permissions:
|
permissions:
|
||||||
contents: read
|
contents: read
|
||||||
security-events: write
|
security-events: read
|
||||||
timeout-minutes: 45
|
timeout-minutes: 45
|
||||||
runs-on: ${{ matrix.os }}
|
runs-on: ${{ matrix.os }}
|
||||||
steps:
|
steps:
|
||||||
@@ -45,6 +45,11 @@ jobs:
|
|||||||
version: ${{ matrix.version }}
|
version: ${{ matrix.version }}
|
||||||
use-all-platform-bundle: 'false'
|
use-all-platform-bundle: 'false'
|
||||||
setup-kotlin: 'true'
|
setup-kotlin: 'true'
|
||||||
|
- name: Install Go
|
||||||
|
uses: actions/setup-go@v5
|
||||||
|
with:
|
||||||
|
go-version: '>=1.21.0'
|
||||||
|
cache: false
|
||||||
- uses: ./../action/init
|
- uses: ./../action/init
|
||||||
id: init
|
id: init
|
||||||
with:
|
with:
|
||||||
|
|||||||
2
.github/workflows/__build-mode-none.yml
generated
vendored
2
.github/workflows/__build-mode-none.yml
generated
vendored
@@ -34,7 +34,7 @@ jobs:
|
|||||||
name: Build mode none
|
name: Build mode none
|
||||||
permissions:
|
permissions:
|
||||||
contents: read
|
contents: read
|
||||||
security-events: write
|
security-events: read
|
||||||
timeout-minutes: 45
|
timeout-minutes: 45
|
||||||
runs-on: ${{ matrix.os }}
|
runs-on: ${{ matrix.os }}
|
||||||
steps:
|
steps:
|
||||||
|
|||||||
2
.github/workflows/__build-mode-rollback.yml
generated
vendored
2
.github/workflows/__build-mode-rollback.yml
generated
vendored
@@ -32,7 +32,7 @@ jobs:
|
|||||||
name: Build mode rollback
|
name: Build mode rollback
|
||||||
permissions:
|
permissions:
|
||||||
contents: read
|
contents: read
|
||||||
security-events: write
|
security-events: read
|
||||||
timeout-minutes: 45
|
timeout-minutes: 45
|
||||||
runs-on: ${{ matrix.os }}
|
runs-on: ${{ matrix.os }}
|
||||||
steps:
|
steps:
|
||||||
|
|||||||
2
.github/workflows/__cleanup-db-cluster-dir.yml
generated
vendored
2
.github/workflows/__cleanup-db-cluster-dir.yml
generated
vendored
@@ -32,7 +32,7 @@ jobs:
|
|||||||
name: Clean up database cluster directory
|
name: Clean up database cluster directory
|
||||||
permissions:
|
permissions:
|
||||||
contents: read
|
contents: read
|
||||||
security-events: write
|
security-events: read
|
||||||
timeout-minutes: 45
|
timeout-minutes: 45
|
||||||
runs-on: ${{ matrix.os }}
|
runs-on: ${{ matrix.os }}
|
||||||
steps:
|
steps:
|
||||||
|
|||||||
2
.github/workflows/__config-export.yml
generated
vendored
2
.github/workflows/__config-export.yml
generated
vendored
@@ -42,7 +42,7 @@ jobs:
|
|||||||
name: Config export
|
name: Config export
|
||||||
permissions:
|
permissions:
|
||||||
contents: read
|
contents: read
|
||||||
security-events: write
|
security-events: read
|
||||||
timeout-minutes: 45
|
timeout-minutes: 45
|
||||||
runs-on: ${{ matrix.os }}
|
runs-on: ${{ matrix.os }}
|
||||||
steps:
|
steps:
|
||||||
|
|||||||
2
.github/workflows/__config-input.yml
generated
vendored
2
.github/workflows/__config-input.yml
generated
vendored
@@ -32,7 +32,7 @@ jobs:
|
|||||||
name: Config input
|
name: Config input
|
||||||
permissions:
|
permissions:
|
||||||
contents: read
|
contents: read
|
||||||
security-events: write
|
security-events: read
|
||||||
timeout-minutes: 45
|
timeout-minutes: 45
|
||||||
runs-on: ${{ matrix.os }}
|
runs-on: ${{ matrix.os }}
|
||||||
steps:
|
steps:
|
||||||
|
|||||||
2
.github/workflows/__cpp-deptrace-disabled.yml
generated
vendored
2
.github/workflows/__cpp-deptrace-disabled.yml
generated
vendored
@@ -36,7 +36,7 @@ jobs:
|
|||||||
name: 'C/C++: disabling autoinstalling dependencies (Linux)'
|
name: 'C/C++: disabling autoinstalling dependencies (Linux)'
|
||||||
permissions:
|
permissions:
|
||||||
contents: read
|
contents: read
|
||||||
security-events: write
|
security-events: read
|
||||||
timeout-minutes: 45
|
timeout-minutes: 45
|
||||||
runs-on: ${{ matrix.os }}
|
runs-on: ${{ matrix.os }}
|
||||||
steps:
|
steps:
|
||||||
|
|||||||
4
.github/workflows/__cpp-deptrace-enabled-on-macos.yml
generated
vendored
4
.github/workflows/__cpp-deptrace-enabled-on-macos.yml
generated
vendored
@@ -27,12 +27,14 @@ jobs:
|
|||||||
fail-fast: false
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
include:
|
include:
|
||||||
|
- os: macos-latest
|
||||||
|
version: linked
|
||||||
- os: macos-latest
|
- os: macos-latest
|
||||||
version: nightly-latest
|
version: nightly-latest
|
||||||
name: 'C/C++: autoinstalling dependencies is skipped (macOS)'
|
name: 'C/C++: autoinstalling dependencies is skipped (macOS)'
|
||||||
permissions:
|
permissions:
|
||||||
contents: read
|
contents: read
|
||||||
security-events: write
|
security-events: read
|
||||||
timeout-minutes: 45
|
timeout-minutes: 45
|
||||||
runs-on: ${{ matrix.os }}
|
runs-on: ${{ matrix.os }}
|
||||||
steps:
|
steps:
|
||||||
|
|||||||
2
.github/workflows/__cpp-deptrace-enabled.yml
generated
vendored
2
.github/workflows/__cpp-deptrace-enabled.yml
generated
vendored
@@ -36,7 +36,7 @@ jobs:
|
|||||||
name: 'C/C++: autoinstalling dependencies (Linux)'
|
name: 'C/C++: autoinstalling dependencies (Linux)'
|
||||||
permissions:
|
permissions:
|
||||||
contents: read
|
contents: read
|
||||||
security-events: write
|
security-events: read
|
||||||
timeout-minutes: 45
|
timeout-minutes: 45
|
||||||
runs-on: ${{ matrix.os }}
|
runs-on: ${{ matrix.os }}
|
||||||
steps:
|
steps:
|
||||||
|
|||||||
2
.github/workflows/__diagnostics-export.yml
generated
vendored
2
.github/workflows/__diagnostics-export.yml
generated
vendored
@@ -42,7 +42,7 @@ jobs:
|
|||||||
name: Diagnostic export
|
name: Diagnostic export
|
||||||
permissions:
|
permissions:
|
||||||
contents: read
|
contents: read
|
||||||
security-events: write
|
security-events: read
|
||||||
timeout-minutes: 45
|
timeout-minutes: 45
|
||||||
runs-on: ${{ matrix.os }}
|
runs-on: ${{ matrix.os }}
|
||||||
steps:
|
steps:
|
||||||
|
|||||||
7
.github/workflows/__export-file-baseline-information.yml
generated
vendored
7
.github/workflows/__export-file-baseline-information.yml
generated
vendored
@@ -36,7 +36,7 @@ jobs:
|
|||||||
name: Export file baseline information
|
name: Export file baseline information
|
||||||
permissions:
|
permissions:
|
||||||
contents: read
|
contents: read
|
||||||
security-events: write
|
security-events: read
|
||||||
timeout-minutes: 45
|
timeout-minutes: 45
|
||||||
runs-on: ${{ matrix.os }}
|
runs-on: ${{ matrix.os }}
|
||||||
steps:
|
steps:
|
||||||
@@ -49,6 +49,11 @@ jobs:
|
|||||||
version: ${{ matrix.version }}
|
version: ${{ matrix.version }}
|
||||||
use-all-platform-bundle: 'false'
|
use-all-platform-bundle: 'false'
|
||||||
setup-kotlin: 'true'
|
setup-kotlin: 'true'
|
||||||
|
- name: Install Go
|
||||||
|
uses: actions/setup-go@v5
|
||||||
|
with:
|
||||||
|
go-version: '>=1.21.0'
|
||||||
|
cache: false
|
||||||
- uses: ./../action/init
|
- uses: ./../action/init
|
||||||
id: init
|
id: init
|
||||||
with:
|
with:
|
||||||
|
|||||||
2
.github/workflows/__extract-direct-to-toolcache.yml
generated
vendored
2
.github/workflows/__extract-direct-to-toolcache.yml
generated
vendored
@@ -36,7 +36,7 @@ jobs:
|
|||||||
name: Extract directly to toolcache
|
name: Extract directly to toolcache
|
||||||
permissions:
|
permissions:
|
||||||
contents: read
|
contents: read
|
||||||
security-events: write
|
security-events: read
|
||||||
timeout-minutes: 45
|
timeout-minutes: 45
|
||||||
runs-on: ${{ matrix.os }}
|
runs-on: ${{ matrix.os }}
|
||||||
steps:
|
steps:
|
||||||
|
|||||||
2
.github/workflows/__extractor-ram-threads.yml
generated
vendored
2
.github/workflows/__extractor-ram-threads.yml
generated
vendored
@@ -32,7 +32,7 @@ jobs:
|
|||||||
name: Extractor ram and threads options test
|
name: Extractor ram and threads options test
|
||||||
permissions:
|
permissions:
|
||||||
contents: read
|
contents: read
|
||||||
security-events: write
|
security-events: read
|
||||||
timeout-minutes: 45
|
timeout-minutes: 45
|
||||||
runs-on: ${{ matrix.os }}
|
runs-on: ${{ matrix.os }}
|
||||||
steps:
|
steps:
|
||||||
|
|||||||
6
.github/workflows/__go-custom-queries.yml
generated
vendored
6
.github/workflows/__go-custom-queries.yml
generated
vendored
@@ -34,7 +34,7 @@ jobs:
|
|||||||
name: 'Go: Custom queries'
|
name: 'Go: Custom queries'
|
||||||
permissions:
|
permissions:
|
||||||
contents: read
|
contents: read
|
||||||
security-events: write
|
security-events: read
|
||||||
timeout-minutes: 45
|
timeout-minutes: 45
|
||||||
runs-on: ${{ matrix.os }}
|
runs-on: ${{ matrix.os }}
|
||||||
steps:
|
steps:
|
||||||
@@ -47,9 +47,11 @@ jobs:
|
|||||||
version: ${{ matrix.version }}
|
version: ${{ matrix.version }}
|
||||||
use-all-platform-bundle: 'false'
|
use-all-platform-bundle: 'false'
|
||||||
setup-kotlin: 'true'
|
setup-kotlin: 'true'
|
||||||
- uses: actions/setup-go@v5
|
- name: Install Go
|
||||||
|
uses: actions/setup-go@v5
|
||||||
with:
|
with:
|
||||||
go-version: '>=1.21.0'
|
go-version: '>=1.21.0'
|
||||||
|
cache: false
|
||||||
- uses: ./../action/init
|
- uses: ./../action/init
|
||||||
with:
|
with:
|
||||||
languages: go
|
languages: go
|
||||||
|
|||||||
7
.github/workflows/__go-indirect-tracing-workaround-diagnostic.yml
generated
vendored
7
.github/workflows/__go-indirect-tracing-workaround-diagnostic.yml
generated
vendored
@@ -32,7 +32,7 @@ jobs:
|
|||||||
name: 'Go: diagnostic when Go is changed after init step'
|
name: 'Go: diagnostic when Go is changed after init step'
|
||||||
permissions:
|
permissions:
|
||||||
contents: read
|
contents: read
|
||||||
security-events: write
|
security-events: read
|
||||||
timeout-minutes: 45
|
timeout-minutes: 45
|
||||||
runs-on: ${{ matrix.os }}
|
runs-on: ${{ matrix.os }}
|
||||||
steps:
|
steps:
|
||||||
@@ -45,10 +45,11 @@ jobs:
|
|||||||
version: ${{ matrix.version }}
|
version: ${{ matrix.version }}
|
||||||
use-all-platform-bundle: 'false'
|
use-all-platform-bundle: 'false'
|
||||||
setup-kotlin: 'true'
|
setup-kotlin: 'true'
|
||||||
- uses: actions/setup-go@v5
|
- name: Install Go
|
||||||
|
uses: actions/setup-go@v5
|
||||||
with:
|
with:
|
||||||
# We need a Go version that ships with statically linked binaries on Linux
|
|
||||||
go-version: '>=1.21.0'
|
go-version: '>=1.21.0'
|
||||||
|
cache: false
|
||||||
- uses: ./../action/init
|
- uses: ./../action/init
|
||||||
with:
|
with:
|
||||||
languages: go
|
languages: go
|
||||||
|
|||||||
7
.github/workflows/__go-indirect-tracing-workaround-no-file-program.yml
generated
vendored
7
.github/workflows/__go-indirect-tracing-workaround-no-file-program.yml
generated
vendored
@@ -32,7 +32,7 @@ jobs:
|
|||||||
name: 'Go: diagnostic when `file` is not installed'
|
name: 'Go: diagnostic when `file` is not installed'
|
||||||
permissions:
|
permissions:
|
||||||
contents: read
|
contents: read
|
||||||
security-events: write
|
security-events: read
|
||||||
timeout-minutes: 45
|
timeout-minutes: 45
|
||||||
runs-on: ${{ matrix.os }}
|
runs-on: ${{ matrix.os }}
|
||||||
steps:
|
steps:
|
||||||
@@ -45,10 +45,11 @@ jobs:
|
|||||||
version: ${{ matrix.version }}
|
version: ${{ matrix.version }}
|
||||||
use-all-platform-bundle: 'false'
|
use-all-platform-bundle: 'false'
|
||||||
setup-kotlin: 'true'
|
setup-kotlin: 'true'
|
||||||
- uses: actions/setup-go@v5
|
- name: Install Go
|
||||||
|
uses: actions/setup-go@v5
|
||||||
with:
|
with:
|
||||||
# We need a Go version that ships with statically linked binaries on Linux
|
|
||||||
go-version: '>=1.21.0'
|
go-version: '>=1.21.0'
|
||||||
|
cache: false
|
||||||
- name: Remove `file` program
|
- name: Remove `file` program
|
||||||
run: |
|
run: |
|
||||||
echo $(which file)
|
echo $(which file)
|
||||||
|
|||||||
7
.github/workflows/__go-indirect-tracing-workaround.yml
generated
vendored
7
.github/workflows/__go-indirect-tracing-workaround.yml
generated
vendored
@@ -32,7 +32,7 @@ jobs:
|
|||||||
name: 'Go: workaround for indirect tracing'
|
name: 'Go: workaround for indirect tracing'
|
||||||
permissions:
|
permissions:
|
||||||
contents: read
|
contents: read
|
||||||
security-events: write
|
security-events: read
|
||||||
timeout-minutes: 45
|
timeout-minutes: 45
|
||||||
runs-on: ${{ matrix.os }}
|
runs-on: ${{ matrix.os }}
|
||||||
steps:
|
steps:
|
||||||
@@ -45,10 +45,11 @@ jobs:
|
|||||||
version: ${{ matrix.version }}
|
version: ${{ matrix.version }}
|
||||||
use-all-platform-bundle: 'false'
|
use-all-platform-bundle: 'false'
|
||||||
setup-kotlin: 'true'
|
setup-kotlin: 'true'
|
||||||
- uses: actions/setup-go@v5
|
- name: Install Go
|
||||||
|
uses: actions/setup-go@v5
|
||||||
with:
|
with:
|
||||||
# We need a Go version that ships with statically linked binaries on Linux
|
|
||||||
go-version: '>=1.21.0'
|
go-version: '>=1.21.0'
|
||||||
|
cache: false
|
||||||
- uses: ./../action/init
|
- uses: ./../action/init
|
||||||
with:
|
with:
|
||||||
languages: go
|
languages: go
|
||||||
|
|||||||
17
.github/workflows/__go-tracing-autobuilder.yml
generated
vendored
17
.github/workflows/__go-tracing-autobuilder.yml
generated
vendored
@@ -27,10 +27,6 @@ jobs:
|
|||||||
fail-fast: false
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
include:
|
include:
|
||||||
- os: ubuntu-latest
|
|
||||||
version: stable-v2.15.5
|
|
||||||
- os: macos-latest
|
|
||||||
version: stable-v2.15.5
|
|
||||||
- os: ubuntu-latest
|
- os: ubuntu-latest
|
||||||
version: stable-v2.16.6
|
version: stable-v2.16.6
|
||||||
- os: macos-latest
|
- os: macos-latest
|
||||||
@@ -47,6 +43,10 @@ jobs:
|
|||||||
version: stable-v2.19.4
|
version: stable-v2.19.4
|
||||||
- os: macos-latest
|
- os: macos-latest
|
||||||
version: stable-v2.19.4
|
version: stable-v2.19.4
|
||||||
|
- os: ubuntu-latest
|
||||||
|
version: stable-v2.20.7
|
||||||
|
- os: macos-latest
|
||||||
|
version: stable-v2.20.7
|
||||||
- os: ubuntu-latest
|
- os: ubuntu-latest
|
||||||
version: default
|
version: default
|
||||||
- os: macos-latest
|
- os: macos-latest
|
||||||
@@ -62,7 +62,7 @@ jobs:
|
|||||||
name: 'Go: tracing with autobuilder step'
|
name: 'Go: tracing with autobuilder step'
|
||||||
permissions:
|
permissions:
|
||||||
contents: read
|
contents: read
|
||||||
security-events: write
|
security-events: read
|
||||||
timeout-minutes: 45
|
timeout-minutes: 45
|
||||||
runs-on: ${{ matrix.os }}
|
runs-on: ${{ matrix.os }}
|
||||||
steps:
|
steps:
|
||||||
@@ -75,11 +75,10 @@ jobs:
|
|||||||
version: ${{ matrix.version }}
|
version: ${{ matrix.version }}
|
||||||
use-all-platform-bundle: 'false'
|
use-all-platform-bundle: 'false'
|
||||||
setup-kotlin: 'true'
|
setup-kotlin: 'true'
|
||||||
- uses: actions/setup-go@v5
|
- name: Install Go
|
||||||
|
uses: actions/setup-go@v5
|
||||||
with:
|
with:
|
||||||
go-version: ~1.23.0
|
go-version: '>=1.21.0'
|
||||||
# to avoid potentially misleading autobuilder results where we expect it to download
|
|
||||||
# dependencies successfully, but they actually come from a warm cache
|
|
||||||
cache: false
|
cache: false
|
||||||
- uses: ./../action/init
|
- uses: ./../action/init
|
||||||
with:
|
with:
|
||||||
|
|||||||
17
.github/workflows/__go-tracing-custom-build-steps.yml
generated
vendored
17
.github/workflows/__go-tracing-custom-build-steps.yml
generated
vendored
@@ -27,10 +27,6 @@ jobs:
|
|||||||
fail-fast: false
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
include:
|
include:
|
||||||
- os: ubuntu-latest
|
|
||||||
version: stable-v2.15.5
|
|
||||||
- os: macos-latest
|
|
||||||
version: stable-v2.15.5
|
|
||||||
- os: ubuntu-latest
|
- os: ubuntu-latest
|
||||||
version: stable-v2.16.6
|
version: stable-v2.16.6
|
||||||
- os: macos-latest
|
- os: macos-latest
|
||||||
@@ -47,6 +43,10 @@ jobs:
|
|||||||
version: stable-v2.19.4
|
version: stable-v2.19.4
|
||||||
- os: macos-latest
|
- os: macos-latest
|
||||||
version: stable-v2.19.4
|
version: stable-v2.19.4
|
||||||
|
- os: ubuntu-latest
|
||||||
|
version: stable-v2.20.7
|
||||||
|
- os: macos-latest
|
||||||
|
version: stable-v2.20.7
|
||||||
- os: ubuntu-latest
|
- os: ubuntu-latest
|
||||||
version: default
|
version: default
|
||||||
- os: macos-latest
|
- os: macos-latest
|
||||||
@@ -62,7 +62,7 @@ jobs:
|
|||||||
name: 'Go: tracing with custom build steps'
|
name: 'Go: tracing with custom build steps'
|
||||||
permissions:
|
permissions:
|
||||||
contents: read
|
contents: read
|
||||||
security-events: write
|
security-events: read
|
||||||
timeout-minutes: 45
|
timeout-minutes: 45
|
||||||
runs-on: ${{ matrix.os }}
|
runs-on: ${{ matrix.os }}
|
||||||
steps:
|
steps:
|
||||||
@@ -75,11 +75,10 @@ jobs:
|
|||||||
version: ${{ matrix.version }}
|
version: ${{ matrix.version }}
|
||||||
use-all-platform-bundle: 'false'
|
use-all-platform-bundle: 'false'
|
||||||
setup-kotlin: 'true'
|
setup-kotlin: 'true'
|
||||||
- uses: actions/setup-go@v5
|
- name: Install Go
|
||||||
|
uses: actions/setup-go@v5
|
||||||
with:
|
with:
|
||||||
go-version: ~1.23.0
|
go-version: '>=1.21.0'
|
||||||
# to avoid potentially misleading autobuilder results where we expect it to download
|
|
||||||
# dependencies successfully, but they actually come from a warm cache
|
|
||||||
cache: false
|
cache: false
|
||||||
- uses: ./../action/init
|
- uses: ./../action/init
|
||||||
with:
|
with:
|
||||||
|
|||||||
17
.github/workflows/__go-tracing-legacy-workflow.yml
generated
vendored
17
.github/workflows/__go-tracing-legacy-workflow.yml
generated
vendored
@@ -27,10 +27,6 @@ jobs:
|
|||||||
fail-fast: false
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
include:
|
include:
|
||||||
- os: ubuntu-latest
|
|
||||||
version: stable-v2.15.5
|
|
||||||
- os: macos-latest
|
|
||||||
version: stable-v2.15.5
|
|
||||||
- os: ubuntu-latest
|
- os: ubuntu-latest
|
||||||
version: stable-v2.16.6
|
version: stable-v2.16.6
|
||||||
- os: macos-latest
|
- os: macos-latest
|
||||||
@@ -47,6 +43,10 @@ jobs:
|
|||||||
version: stable-v2.19.4
|
version: stable-v2.19.4
|
||||||
- os: macos-latest
|
- os: macos-latest
|
||||||
version: stable-v2.19.4
|
version: stable-v2.19.4
|
||||||
|
- os: ubuntu-latest
|
||||||
|
version: stable-v2.20.7
|
||||||
|
- os: macos-latest
|
||||||
|
version: stable-v2.20.7
|
||||||
- os: ubuntu-latest
|
- os: ubuntu-latest
|
||||||
version: default
|
version: default
|
||||||
- os: macos-latest
|
- os: macos-latest
|
||||||
@@ -62,7 +62,7 @@ jobs:
|
|||||||
name: 'Go: tracing with legacy workflow'
|
name: 'Go: tracing with legacy workflow'
|
||||||
permissions:
|
permissions:
|
||||||
contents: read
|
contents: read
|
||||||
security-events: write
|
security-events: read
|
||||||
timeout-minutes: 45
|
timeout-minutes: 45
|
||||||
runs-on: ${{ matrix.os }}
|
runs-on: ${{ matrix.os }}
|
||||||
steps:
|
steps:
|
||||||
@@ -75,11 +75,10 @@ jobs:
|
|||||||
version: ${{ matrix.version }}
|
version: ${{ matrix.version }}
|
||||||
use-all-platform-bundle: 'false'
|
use-all-platform-bundle: 'false'
|
||||||
setup-kotlin: 'true'
|
setup-kotlin: 'true'
|
||||||
- uses: actions/setup-go@v5
|
- name: Install Go
|
||||||
|
uses: actions/setup-go@v5
|
||||||
with:
|
with:
|
||||||
go-version: ~1.23.0
|
go-version: '>=1.21.0'
|
||||||
# to avoid potentially misleading autobuilder results where we expect it to download
|
|
||||||
# dependencies successfully, but they actually come from a warm cache
|
|
||||||
cache: false
|
cache: false
|
||||||
- uses: ./../action/init
|
- uses: ./../action/init
|
||||||
with:
|
with:
|
||||||
|
|||||||
2
.github/workflows/__javascript-source-root.yml
generated
vendored
2
.github/workflows/__javascript-source-root.yml
generated
vendored
@@ -36,7 +36,7 @@ jobs:
|
|||||||
name: Custom source root
|
name: Custom source root
|
||||||
permissions:
|
permissions:
|
||||||
contents: read
|
contents: read
|
||||||
security-events: write
|
security-events: read
|
||||||
timeout-minutes: 45
|
timeout-minutes: 45
|
||||||
runs-on: ${{ matrix.os }}
|
runs-on: ${{ matrix.os }}
|
||||||
steps:
|
steps:
|
||||||
|
|||||||
2
.github/workflows/__job-run-uuid-sarif.yml
generated
vendored
2
.github/workflows/__job-run-uuid-sarif.yml
generated
vendored
@@ -32,7 +32,7 @@ jobs:
|
|||||||
name: Job run UUID added to SARIF
|
name: Job run UUID added to SARIF
|
||||||
permissions:
|
permissions:
|
||||||
contents: read
|
contents: read
|
||||||
security-events: write
|
security-events: read
|
||||||
timeout-minutes: 45
|
timeout-minutes: 45
|
||||||
runs-on: ${{ matrix.os }}
|
runs-on: ${{ matrix.os }}
|
||||||
steps:
|
steps:
|
||||||
|
|||||||
2
.github/workflows/__language-aliases.yml
generated
vendored
2
.github/workflows/__language-aliases.yml
generated
vendored
@@ -32,7 +32,7 @@ jobs:
|
|||||||
name: Language aliases
|
name: Language aliases
|
||||||
permissions:
|
permissions:
|
||||||
contents: read
|
contents: read
|
||||||
security-events: write
|
security-events: read
|
||||||
timeout-minutes: 45
|
timeout-minutes: 45
|
||||||
runs-on: ${{ matrix.os }}
|
runs-on: ${{ matrix.os }}
|
||||||
steps:
|
steps:
|
||||||
|
|||||||
15
.github/workflows/__multi-language-autodetect.yml
generated
vendored
15
.github/workflows/__multi-language-autodetect.yml
generated
vendored
@@ -27,10 +27,6 @@ jobs:
|
|||||||
fail-fast: false
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
include:
|
include:
|
||||||
- os: macos-latest
|
|
||||||
version: stable-v2.15.5
|
|
||||||
- os: ubuntu-latest
|
|
||||||
version: stable-v2.15.5
|
|
||||||
- os: macos-latest
|
- os: macos-latest
|
||||||
version: stable-v2.16.6
|
version: stable-v2.16.6
|
||||||
- os: ubuntu-latest
|
- os: ubuntu-latest
|
||||||
@@ -47,6 +43,10 @@ jobs:
|
|||||||
version: stable-v2.19.4
|
version: stable-v2.19.4
|
||||||
- os: ubuntu-latest
|
- os: ubuntu-latest
|
||||||
version: stable-v2.19.4
|
version: stable-v2.19.4
|
||||||
|
- os: macos-latest
|
||||||
|
version: stable-v2.20.7
|
||||||
|
- os: ubuntu-latest
|
||||||
|
version: stable-v2.20.7
|
||||||
- os: macos-latest
|
- os: macos-latest
|
||||||
version: default
|
version: default
|
||||||
- os: ubuntu-latest
|
- os: ubuntu-latest
|
||||||
@@ -62,7 +62,7 @@ jobs:
|
|||||||
name: Multi-language repository
|
name: Multi-language repository
|
||||||
permissions:
|
permissions:
|
||||||
contents: read
|
contents: read
|
||||||
security-events: write
|
security-events: read
|
||||||
timeout-minutes: 45
|
timeout-minutes: 45
|
||||||
runs-on: ${{ matrix.os }}
|
runs-on: ${{ matrix.os }}
|
||||||
steps:
|
steps:
|
||||||
@@ -75,10 +75,11 @@ jobs:
|
|||||||
version: ${{ matrix.version }}
|
version: ${{ matrix.version }}
|
||||||
use-all-platform-bundle: 'false'
|
use-all-platform-bundle: 'false'
|
||||||
setup-kotlin: 'true'
|
setup-kotlin: 'true'
|
||||||
- uses: actions/setup-go@v5
|
- name: Install Go
|
||||||
|
uses: actions/setup-go@v5
|
||||||
with:
|
with:
|
||||||
go-version: '>=1.21.0'
|
go-version: '>=1.21.0'
|
||||||
|
cache: false
|
||||||
- uses: ./../action/init
|
- uses: ./../action/init
|
||||||
id: init
|
id: init
|
||||||
with:
|
with:
|
||||||
|
|||||||
7
.github/workflows/__packaging-codescanning-config-inputs-js.yml
generated
vendored
7
.github/workflows/__packaging-codescanning-config-inputs-js.yml
generated
vendored
@@ -48,7 +48,7 @@ jobs:
|
|||||||
name: 'Packaging: Config and input passed to the CLI'
|
name: 'Packaging: Config and input passed to the CLI'
|
||||||
permissions:
|
permissions:
|
||||||
contents: read
|
contents: read
|
||||||
security-events: write
|
security-events: read
|
||||||
timeout-minutes: 45
|
timeout-minutes: 45
|
||||||
runs-on: ${{ matrix.os }}
|
runs-on: ${{ matrix.os }}
|
||||||
steps:
|
steps:
|
||||||
@@ -61,6 +61,11 @@ jobs:
|
|||||||
version: ${{ matrix.version }}
|
version: ${{ matrix.version }}
|
||||||
use-all-platform-bundle: 'false'
|
use-all-platform-bundle: 'false'
|
||||||
setup-kotlin: 'true'
|
setup-kotlin: 'true'
|
||||||
|
- name: Install Go
|
||||||
|
uses: actions/setup-go@v5
|
||||||
|
with:
|
||||||
|
go-version: '>=1.21.0'
|
||||||
|
cache: false
|
||||||
- uses: ./../action/init
|
- uses: ./../action/init
|
||||||
with:
|
with:
|
||||||
config-file: .github/codeql/codeql-config-packaging3.yml
|
config-file: .github/codeql/codeql-config-packaging3.yml
|
||||||
|
|||||||
7
.github/workflows/__packaging-config-inputs-js.yml
generated
vendored
7
.github/workflows/__packaging-config-inputs-js.yml
generated
vendored
@@ -48,7 +48,7 @@ jobs:
|
|||||||
name: 'Packaging: Config and input'
|
name: 'Packaging: Config and input'
|
||||||
permissions:
|
permissions:
|
||||||
contents: read
|
contents: read
|
||||||
security-events: write
|
security-events: read
|
||||||
timeout-minutes: 45
|
timeout-minutes: 45
|
||||||
runs-on: ${{ matrix.os }}
|
runs-on: ${{ matrix.os }}
|
||||||
steps:
|
steps:
|
||||||
@@ -61,6 +61,11 @@ jobs:
|
|||||||
version: ${{ matrix.version }}
|
version: ${{ matrix.version }}
|
||||||
use-all-platform-bundle: 'false'
|
use-all-platform-bundle: 'false'
|
||||||
setup-kotlin: 'true'
|
setup-kotlin: 'true'
|
||||||
|
- name: Install Go
|
||||||
|
uses: actions/setup-go@v5
|
||||||
|
with:
|
||||||
|
go-version: '>=1.21.0'
|
||||||
|
cache: false
|
||||||
- uses: ./../action/init
|
- uses: ./../action/init
|
||||||
with:
|
with:
|
||||||
config-file: .github/codeql/codeql-config-packaging3.yml
|
config-file: .github/codeql/codeql-config-packaging3.yml
|
||||||
|
|||||||
7
.github/workflows/__packaging-config-js.yml
generated
vendored
7
.github/workflows/__packaging-config-js.yml
generated
vendored
@@ -48,7 +48,7 @@ jobs:
|
|||||||
name: 'Packaging: Config file'
|
name: 'Packaging: Config file'
|
||||||
permissions:
|
permissions:
|
||||||
contents: read
|
contents: read
|
||||||
security-events: write
|
security-events: read
|
||||||
timeout-minutes: 45
|
timeout-minutes: 45
|
||||||
runs-on: ${{ matrix.os }}
|
runs-on: ${{ matrix.os }}
|
||||||
steps:
|
steps:
|
||||||
@@ -61,6 +61,11 @@ jobs:
|
|||||||
version: ${{ matrix.version }}
|
version: ${{ matrix.version }}
|
||||||
use-all-platform-bundle: 'false'
|
use-all-platform-bundle: 'false'
|
||||||
setup-kotlin: 'true'
|
setup-kotlin: 'true'
|
||||||
|
- name: Install Go
|
||||||
|
uses: actions/setup-go@v5
|
||||||
|
with:
|
||||||
|
go-version: '>=1.21.0'
|
||||||
|
cache: false
|
||||||
- uses: ./../action/init
|
- uses: ./../action/init
|
||||||
with:
|
with:
|
||||||
config-file: .github/codeql/codeql-config-packaging.yml
|
config-file: .github/codeql/codeql-config-packaging.yml
|
||||||
|
|||||||
7
.github/workflows/__packaging-inputs-js.yml
generated
vendored
7
.github/workflows/__packaging-inputs-js.yml
generated
vendored
@@ -48,7 +48,7 @@ jobs:
|
|||||||
name: 'Packaging: Action input'
|
name: 'Packaging: Action input'
|
||||||
permissions:
|
permissions:
|
||||||
contents: read
|
contents: read
|
||||||
security-events: write
|
security-events: read
|
||||||
timeout-minutes: 45
|
timeout-minutes: 45
|
||||||
runs-on: ${{ matrix.os }}
|
runs-on: ${{ matrix.os }}
|
||||||
steps:
|
steps:
|
||||||
@@ -61,6 +61,11 @@ jobs:
|
|||||||
version: ${{ matrix.version }}
|
version: ${{ matrix.version }}
|
||||||
use-all-platform-bundle: 'false'
|
use-all-platform-bundle: 'false'
|
||||||
setup-kotlin: 'true'
|
setup-kotlin: 'true'
|
||||||
|
- name: Install Go
|
||||||
|
uses: actions/setup-go@v5
|
||||||
|
with:
|
||||||
|
go-version: '>=1.21.0'
|
||||||
|
cache: false
|
||||||
- uses: ./../action/init
|
- uses: ./../action/init
|
||||||
with:
|
with:
|
||||||
config-file: .github/codeql/codeql-config-packaging2.yml
|
config-file: .github/codeql/codeql-config-packaging2.yml
|
||||||
|
|||||||
100
.github/workflows/__quality-queries.yml
generated
vendored
Normal file
100
.github/workflows/__quality-queries.yml
generated
vendored
Normal file
@@ -0,0 +1,100 @@
|
|||||||
|
# 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 - Quality queries input
|
||||||
|
env:
|
||||||
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
GO111MODULE: auto
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
branches:
|
||||||
|
- main
|
||||||
|
- releases/v*
|
||||||
|
pull_request:
|
||||||
|
types:
|
||||||
|
- opened
|
||||||
|
- synchronize
|
||||||
|
- reopened
|
||||||
|
- ready_for_review
|
||||||
|
schedule:
|
||||||
|
- cron: '0 5 * * *'
|
||||||
|
workflow_dispatch: {}
|
||||||
|
jobs:
|
||||||
|
quality-queries:
|
||||||
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
|
matrix:
|
||||||
|
include:
|
||||||
|
- os: ubuntu-latest
|
||||||
|
version: linked
|
||||||
|
- os: macos-latest
|
||||||
|
version: linked
|
||||||
|
- os: windows-latest
|
||||||
|
version: linked
|
||||||
|
- os: ubuntu-latest
|
||||||
|
version: nightly-latest
|
||||||
|
- os: macos-latest
|
||||||
|
version: nightly-latest
|
||||||
|
- os: windows-latest
|
||||||
|
version: nightly-latest
|
||||||
|
name: Quality queries input
|
||||||
|
permissions:
|
||||||
|
contents: read
|
||||||
|
security-events: read
|
||||||
|
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: 'false'
|
||||||
|
setup-kotlin: 'true'
|
||||||
|
- uses: ./../action/init
|
||||||
|
with:
|
||||||
|
languages: javascript
|
||||||
|
quality-queries: code-quality
|
||||||
|
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@v4
|
||||||
|
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: 'code-quality' }];
|
||||||
|
// 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:
|
||||||
|
CODEQL_ACTION_TEST_MODE: true
|
||||||
7
.github/workflows/__remote-config.yml
generated
vendored
7
.github/workflows/__remote-config.yml
generated
vendored
@@ -34,7 +34,7 @@ jobs:
|
|||||||
name: Remote config file
|
name: Remote config file
|
||||||
permissions:
|
permissions:
|
||||||
contents: read
|
contents: read
|
||||||
security-events: write
|
security-events: read
|
||||||
timeout-minutes: 45
|
timeout-minutes: 45
|
||||||
runs-on: ${{ matrix.os }}
|
runs-on: ${{ matrix.os }}
|
||||||
steps:
|
steps:
|
||||||
@@ -47,6 +47,11 @@ jobs:
|
|||||||
version: ${{ matrix.version }}
|
version: ${{ matrix.version }}
|
||||||
use-all-platform-bundle: 'false'
|
use-all-platform-bundle: 'false'
|
||||||
setup-kotlin: 'true'
|
setup-kotlin: 'true'
|
||||||
|
- name: Install Go
|
||||||
|
uses: actions/setup-go@v5
|
||||||
|
with:
|
||||||
|
go-version: '>=1.21.0'
|
||||||
|
cache: false
|
||||||
- uses: ./../action/init
|
- uses: ./../action/init
|
||||||
with:
|
with:
|
||||||
tools: ${{ steps.prepare-test.outputs.tools-url }}
|
tools: ${{ steps.prepare-test.outputs.tools-url }}
|
||||||
|
|||||||
2
.github/workflows/__resolve-environment-action.yml
generated
vendored
2
.github/workflows/__resolve-environment-action.yml
generated
vendored
@@ -48,7 +48,7 @@ jobs:
|
|||||||
name: Resolve environment
|
name: Resolve environment
|
||||||
permissions:
|
permissions:
|
||||||
contents: read
|
contents: read
|
||||||
security-events: write
|
security-events: read
|
||||||
timeout-minutes: 45
|
timeout-minutes: 45
|
||||||
runs-on: ${{ matrix.os }}
|
runs-on: ${{ matrix.os }}
|
||||||
steps:
|
steps:
|
||||||
|
|||||||
4
.github/workflows/__rubocop-multi-language.yml
generated
vendored
4
.github/workflows/__rubocop-multi-language.yml
generated
vendored
@@ -32,7 +32,7 @@ jobs:
|
|||||||
name: RuboCop multi-language
|
name: RuboCop multi-language
|
||||||
permissions:
|
permissions:
|
||||||
contents: read
|
contents: read
|
||||||
security-events: write
|
security-events: read
|
||||||
timeout-minutes: 45
|
timeout-minutes: 45
|
||||||
runs-on: ${{ matrix.os }}
|
runs-on: ${{ matrix.os }}
|
||||||
steps:
|
steps:
|
||||||
@@ -46,7 +46,7 @@ jobs:
|
|||||||
use-all-platform-bundle: 'false'
|
use-all-platform-bundle: 'false'
|
||||||
setup-kotlin: 'true'
|
setup-kotlin: 'true'
|
||||||
- name: Set up Ruby
|
- name: Set up Ruby
|
||||||
uses: ruby/setup-ruby@v1
|
uses: ruby/setup-ruby@a4effe49ee8ee5b8b5091268c473a4628afb5651 # v1.245.0
|
||||||
with:
|
with:
|
||||||
ruby-version: 2.6
|
ruby-version: 2.6
|
||||||
- name: Install Code Scanning integration
|
- name: Install Code Scanning integration
|
||||||
|
|||||||
2
.github/workflows/__ruby.yml
generated
vendored
2
.github/workflows/__ruby.yml
generated
vendored
@@ -42,7 +42,7 @@ jobs:
|
|||||||
name: Ruby analysis
|
name: Ruby analysis
|
||||||
permissions:
|
permissions:
|
||||||
contents: read
|
contents: read
|
||||||
security-events: write
|
security-events: read
|
||||||
timeout-minutes: 45
|
timeout-minutes: 45
|
||||||
runs-on: ${{ matrix.os }}
|
runs-on: ${{ matrix.os }}
|
||||||
steps:
|
steps:
|
||||||
|
|||||||
71
.github/workflows/__rust.yml
generated
vendored
Normal file
71
.github/workflows/__rust.yml
generated
vendored
Normal file
@@ -0,0 +1,71 @@
|
|||||||
|
# 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 - Rust analysis
|
||||||
|
env:
|
||||||
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
GO111MODULE: auto
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
branches:
|
||||||
|
- main
|
||||||
|
- releases/v*
|
||||||
|
pull_request:
|
||||||
|
types:
|
||||||
|
- opened
|
||||||
|
- synchronize
|
||||||
|
- reopened
|
||||||
|
- ready_for_review
|
||||||
|
schedule:
|
||||||
|
- cron: '0 5 * * *'
|
||||||
|
workflow_dispatch: {}
|
||||||
|
jobs:
|
||||||
|
rust:
|
||||||
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
|
matrix:
|
||||||
|
include:
|
||||||
|
- os: ubuntu-latest
|
||||||
|
version: linked
|
||||||
|
- os: ubuntu-latest
|
||||||
|
version: default
|
||||||
|
- os: ubuntu-latest
|
||||||
|
version: nightly-latest
|
||||||
|
name: Rust analysis
|
||||||
|
permissions:
|
||||||
|
contents: read
|
||||||
|
security-events: read
|
||||||
|
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: 'false'
|
||||||
|
setup-kotlin: 'true'
|
||||||
|
- uses: ./../action/init
|
||||||
|
with:
|
||||||
|
languages: rust
|
||||||
|
tools: ${{ steps.prepare-test.outputs.tools-url }}
|
||||||
|
env:
|
||||||
|
CODEQL_ACTION_RUST_ANALYSIS: true
|
||||||
|
- uses: ./../action/analyze
|
||||||
|
id: analysis
|
||||||
|
with:
|
||||||
|
upload-database: false
|
||||||
|
- name: Check database
|
||||||
|
shell: bash
|
||||||
|
run: |
|
||||||
|
RUST_DB="${{ fromJson(steps.analysis.outputs.db-locations).rust }}"
|
||||||
|
if [[ ! -d "$RUST_DB" ]]; then
|
||||||
|
echo "Did not create a database for Rust."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
env:
|
||||||
|
CODEQL_ACTION_TEST_MODE: true
|
||||||
7
.github/workflows/__split-workflow.yml
generated
vendored
7
.github/workflows/__split-workflow.yml
generated
vendored
@@ -42,7 +42,7 @@ jobs:
|
|||||||
name: Split workflow
|
name: Split workflow
|
||||||
permissions:
|
permissions:
|
||||||
contents: read
|
contents: read
|
||||||
security-events: write
|
security-events: read
|
||||||
timeout-minutes: 45
|
timeout-minutes: 45
|
||||||
runs-on: ${{ matrix.os }}
|
runs-on: ${{ matrix.os }}
|
||||||
steps:
|
steps:
|
||||||
@@ -55,6 +55,11 @@ jobs:
|
|||||||
version: ${{ matrix.version }}
|
version: ${{ matrix.version }}
|
||||||
use-all-platform-bundle: 'false'
|
use-all-platform-bundle: 'false'
|
||||||
setup-kotlin: 'true'
|
setup-kotlin: 'true'
|
||||||
|
- name: Install Go
|
||||||
|
uses: actions/setup-go@v5
|
||||||
|
with:
|
||||||
|
go-version: '>=1.21.0'
|
||||||
|
cache: false
|
||||||
- uses: ./../action/init
|
- uses: ./../action/init
|
||||||
with:
|
with:
|
||||||
config-file: .github/codeql/codeql-config-packaging3.yml
|
config-file: .github/codeql/codeql-config-packaging3.yml
|
||||||
|
|||||||
2
.github/workflows/__start-proxy.yml
generated
vendored
2
.github/workflows/__start-proxy.yml
generated
vendored
@@ -36,7 +36,7 @@ jobs:
|
|||||||
name: Start proxy
|
name: Start proxy
|
||||||
permissions:
|
permissions:
|
||||||
contents: read
|
contents: read
|
||||||
security-events: write
|
security-events: read
|
||||||
timeout-minutes: 45
|
timeout-minutes: 45
|
||||||
runs-on: ${{ matrix.os }}
|
runs-on: ${{ matrix.os }}
|
||||||
steps:
|
steps:
|
||||||
|
|||||||
3
.github/workflows/__submit-sarif-failure.yml
generated
vendored
3
.github/workflows/__submit-sarif-failure.yml
generated
vendored
@@ -36,7 +36,8 @@ jobs:
|
|||||||
name: Submit SARIF after failure
|
name: Submit SARIF after failure
|
||||||
permissions:
|
permissions:
|
||||||
contents: read
|
contents: read
|
||||||
security-events: write
|
security-events: write # needed to upload the SARIF file
|
||||||
|
|
||||||
timeout-minutes: 45
|
timeout-minutes: 45
|
||||||
runs-on: ${{ matrix.os }}
|
runs-on: ${{ matrix.os }}
|
||||||
steps:
|
steps:
|
||||||
|
|||||||
2
.github/workflows/__swift-autobuild.yml
generated
vendored
2
.github/workflows/__swift-autobuild.yml
generated
vendored
@@ -32,7 +32,7 @@ jobs:
|
|||||||
name: Swift analysis using autobuild
|
name: Swift analysis using autobuild
|
||||||
permissions:
|
permissions:
|
||||||
contents: read
|
contents: read
|
||||||
security-events: write
|
security-events: read
|
||||||
timeout-minutes: 45
|
timeout-minutes: 45
|
||||||
runs-on: ${{ matrix.os }}
|
runs-on: ${{ matrix.os }}
|
||||||
steps:
|
steps:
|
||||||
|
|||||||
7
.github/workflows/__swift-custom-build.yml
generated
vendored
7
.github/workflows/__swift-custom-build.yml
generated
vendored
@@ -36,7 +36,7 @@ jobs:
|
|||||||
name: Swift analysis using a custom build command
|
name: Swift analysis using a custom build command
|
||||||
permissions:
|
permissions:
|
||||||
contents: read
|
contents: read
|
||||||
security-events: write
|
security-events: read
|
||||||
timeout-minutes: 45
|
timeout-minutes: 45
|
||||||
runs-on: ${{ matrix.os }}
|
runs-on: ${{ matrix.os }}
|
||||||
steps:
|
steps:
|
||||||
@@ -49,6 +49,11 @@ jobs:
|
|||||||
version: ${{ matrix.version }}
|
version: ${{ matrix.version }}
|
||||||
use-all-platform-bundle: 'false'
|
use-all-platform-bundle: 'false'
|
||||||
setup-kotlin: 'true'
|
setup-kotlin: 'true'
|
||||||
|
- name: Install Go
|
||||||
|
uses: actions/setup-go@v5
|
||||||
|
with:
|
||||||
|
go-version: '>=1.21.0'
|
||||||
|
cache: false
|
||||||
- uses: ./../action/init
|
- uses: ./../action/init
|
||||||
id: init
|
id: init
|
||||||
with:
|
with:
|
||||||
|
|||||||
2
.github/workflows/__test-autobuild-working-dir.yml
generated
vendored
2
.github/workflows/__test-autobuild-working-dir.yml
generated
vendored
@@ -32,7 +32,7 @@ jobs:
|
|||||||
name: Autobuild working directory
|
name: Autobuild working directory
|
||||||
permissions:
|
permissions:
|
||||||
contents: read
|
contents: read
|
||||||
security-events: write
|
security-events: read
|
||||||
timeout-minutes: 45
|
timeout-minutes: 45
|
||||||
runs-on: ${{ matrix.os }}
|
runs-on: ${{ matrix.os }}
|
||||||
steps:
|
steps:
|
||||||
|
|||||||
7
.github/workflows/__test-local-codeql.yml
generated
vendored
7
.github/workflows/__test-local-codeql.yml
generated
vendored
@@ -32,7 +32,7 @@ jobs:
|
|||||||
name: Local CodeQL bundle
|
name: Local CodeQL bundle
|
||||||
permissions:
|
permissions:
|
||||||
contents: read
|
contents: read
|
||||||
security-events: write
|
security-events: read
|
||||||
timeout-minutes: 45
|
timeout-minutes: 45
|
||||||
runs-on: ${{ matrix.os }}
|
runs-on: ${{ matrix.os }}
|
||||||
steps:
|
steps:
|
||||||
@@ -45,6 +45,11 @@ jobs:
|
|||||||
version: ${{ matrix.version }}
|
version: ${{ matrix.version }}
|
||||||
use-all-platform-bundle: 'false'
|
use-all-platform-bundle: 'false'
|
||||||
setup-kotlin: 'true'
|
setup-kotlin: 'true'
|
||||||
|
- name: Install Go
|
||||||
|
uses: actions/setup-go@v5
|
||||||
|
with:
|
||||||
|
go-version: '>=1.21.0'
|
||||||
|
cache: false
|
||||||
- name: Fetch a CodeQL bundle
|
- name: Fetch a CodeQL bundle
|
||||||
shell: bash
|
shell: bash
|
||||||
env:
|
env:
|
||||||
|
|||||||
2
.github/workflows/__test-proxy.yml
generated
vendored
2
.github/workflows/__test-proxy.yml
generated
vendored
@@ -34,7 +34,7 @@ jobs:
|
|||||||
name: Proxy test
|
name: Proxy test
|
||||||
permissions:
|
permissions:
|
||||||
contents: read
|
contents: read
|
||||||
security-events: write
|
security-events: read
|
||||||
timeout-minutes: 45
|
timeout-minutes: 45
|
||||||
runs-on: ${{ matrix.os }}
|
runs-on: ${{ matrix.os }}
|
||||||
steps:
|
steps:
|
||||||
|
|||||||
10
.github/workflows/__unset-environment.yml
generated
vendored
10
.github/workflows/__unset-environment.yml
generated
vendored
@@ -34,7 +34,7 @@ jobs:
|
|||||||
name: Test unsetting environment variables
|
name: Test unsetting environment variables
|
||||||
permissions:
|
permissions:
|
||||||
contents: read
|
contents: read
|
||||||
security-events: write
|
security-events: read
|
||||||
timeout-minutes: 45
|
timeout-minutes: 45
|
||||||
runs-on: ${{ matrix.os }}
|
runs-on: ${{ matrix.os }}
|
||||||
steps:
|
steps:
|
||||||
@@ -47,6 +47,11 @@ jobs:
|
|||||||
version: ${{ matrix.version }}
|
version: ${{ matrix.version }}
|
||||||
use-all-platform-bundle: 'false'
|
use-all-platform-bundle: 'false'
|
||||||
setup-kotlin: 'true'
|
setup-kotlin: 'true'
|
||||||
|
- name: Install Go
|
||||||
|
uses: actions/setup-go@v5
|
||||||
|
with:
|
||||||
|
go-version: '>=1.21.0'
|
||||||
|
cache: false
|
||||||
- uses: ./../action/init
|
- uses: ./../action/init
|
||||||
id: init
|
id: init
|
||||||
with:
|
with:
|
||||||
@@ -54,9 +59,6 @@ jobs:
|
|||||||
# Swift is not supported on Ubuntu so we manually exclude it from the list here
|
# Swift is not supported on Ubuntu so we manually exclude it from the list here
|
||||||
languages: cpp,csharp,go,java,javascript,python,ruby
|
languages: cpp,csharp,go,java,javascript,python,ruby
|
||||||
tools: ${{ steps.prepare-test.outputs.tools-url }}
|
tools: ${{ steps.prepare-test.outputs.tools-url }}
|
||||||
- uses: actions/setup-go@v5
|
|
||||||
with:
|
|
||||||
go-version: '>=1.21.0'
|
|
||||||
- name: Build code
|
- name: Build code
|
||||||
shell: bash
|
shell: bash
|
||||||
run: env -i PATH="$PATH" HOME="$HOME" ./build.sh
|
run: env -i PATH="$PATH" HOME="$HOME" ./build.sh
|
||||||
|
|||||||
7
.github/workflows/__upload-ref-sha-input.yml
generated
vendored
7
.github/workflows/__upload-ref-sha-input.yml
generated
vendored
@@ -36,7 +36,7 @@ jobs:
|
|||||||
name: "Upload-sarif: 'ref' and 'sha' from inputs"
|
name: "Upload-sarif: 'ref' and 'sha' from inputs"
|
||||||
permissions:
|
permissions:
|
||||||
contents: read
|
contents: read
|
||||||
security-events: write
|
security-events: read
|
||||||
timeout-minutes: 45
|
timeout-minutes: 45
|
||||||
runs-on: ${{ matrix.os }}
|
runs-on: ${{ matrix.os }}
|
||||||
steps:
|
steps:
|
||||||
@@ -49,6 +49,11 @@ jobs:
|
|||||||
version: ${{ matrix.version }}
|
version: ${{ matrix.version }}
|
||||||
use-all-platform-bundle: 'false'
|
use-all-platform-bundle: 'false'
|
||||||
setup-kotlin: 'true'
|
setup-kotlin: 'true'
|
||||||
|
- name: Install Go
|
||||||
|
uses: actions/setup-go@v5
|
||||||
|
with:
|
||||||
|
go-version: '>=1.21.0'
|
||||||
|
cache: false
|
||||||
- uses: ./../action/init
|
- uses: ./../action/init
|
||||||
with:
|
with:
|
||||||
tools: ${{ steps.prepare-test.outputs.tools-url }}
|
tools: ${{ steps.prepare-test.outputs.tools-url }}
|
||||||
|
|||||||
7
.github/workflows/__with-checkout-path.yml
generated
vendored
7
.github/workflows/__with-checkout-path.yml
generated
vendored
@@ -36,7 +36,7 @@ jobs:
|
|||||||
name: Use a custom `checkout_path`
|
name: Use a custom `checkout_path`
|
||||||
permissions:
|
permissions:
|
||||||
contents: read
|
contents: read
|
||||||
security-events: write
|
security-events: read
|
||||||
timeout-minutes: 45
|
timeout-minutes: 45
|
||||||
runs-on: ${{ matrix.os }}
|
runs-on: ${{ matrix.os }}
|
||||||
steps:
|
steps:
|
||||||
@@ -49,6 +49,11 @@ jobs:
|
|||||||
version: ${{ matrix.version }}
|
version: ${{ matrix.version }}
|
||||||
use-all-platform-bundle: 'false'
|
use-all-platform-bundle: 'false'
|
||||||
setup-kotlin: 'true'
|
setup-kotlin: 'true'
|
||||||
|
- name: Install Go
|
||||||
|
uses: actions/setup-go@v5
|
||||||
|
with:
|
||||||
|
go-version: '>=1.21.0'
|
||||||
|
cache: false
|
||||||
- name: Delete original checkout
|
- name: Delete original checkout
|
||||||
shell: bash
|
shell: bash
|
||||||
run: |
|
run: |
|
||||||
|
|||||||
2
.github/workflows/__zstd-bundle-streaming.yml
generated
vendored
2
.github/workflows/__zstd-bundle-streaming.yml
generated
vendored
@@ -34,7 +34,7 @@ jobs:
|
|||||||
name: Zstandard bundle (streaming)
|
name: Zstandard bundle (streaming)
|
||||||
permissions:
|
permissions:
|
||||||
contents: read
|
contents: read
|
||||||
security-events: write
|
security-events: read
|
||||||
timeout-minutes: 45
|
timeout-minutes: 45
|
||||||
runs-on: ${{ matrix.os }}
|
runs-on: ${{ matrix.os }}
|
||||||
steps:
|
steps:
|
||||||
|
|||||||
2
.github/workflows/__zstd-bundle.yml
generated
vendored
2
.github/workflows/__zstd-bundle.yml
generated
vendored
@@ -36,7 +36,7 @@ jobs:
|
|||||||
name: Zstandard bundle
|
name: Zstandard bundle
|
||||||
permissions:
|
permissions:
|
||||||
contents: read
|
contents: read
|
||||||
security-events: write
|
security-events: read
|
||||||
timeout-minutes: 45
|
timeout-minutes: 45
|
||||||
runs-on: ${{ matrix.os }}
|
runs-on: ${{ matrix.os }}
|
||||||
steps:
|
steps:
|
||||||
|
|||||||
@@ -13,6 +13,9 @@ jobs:
|
|||||||
check-expected-release-files:
|
check-expected-release-files:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
|
|
||||||
|
permissions:
|
||||||
|
contents: read
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout CodeQL Action
|
- name: Checkout CodeQL Action
|
||||||
uses: actions/checkout@v4
|
uses: actions/checkout@v4
|
||||||
|
|||||||
31
.github/workflows/codeql.yml
vendored
31
.github/workflows/codeql.yml
vendored
@@ -24,7 +24,7 @@ jobs:
|
|||||||
versions: ${{ steps.compare.outputs.versions }}
|
versions: ${{ steps.compare.outputs.versions }}
|
||||||
|
|
||||||
permissions:
|
permissions:
|
||||||
security-events: write
|
contents: read
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v4
|
- uses: actions/checkout@v4
|
||||||
@@ -70,16 +70,17 @@ jobs:
|
|||||||
echo "Suggested matrix config for analysis job: $VERSIONS_JSON"
|
echo "Suggested matrix config for analysis job: $VERSIONS_JSON"
|
||||||
echo "versions=${VERSIONS_JSON}" >> $GITHUB_OUTPUT
|
echo "versions=${VERSIONS_JSON}" >> $GITHUB_OUTPUT
|
||||||
|
|
||||||
build:
|
analyze-javascript:
|
||||||
needs: [check-codeql-versions]
|
needs: [check-codeql-versions]
|
||||||
strategy:
|
strategy:
|
||||||
fail-fast: false
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
os: [ubuntu-20.04,ubuntu-22.04,windows-2019,windows-2022,macos-13,macos-14]
|
os: [ubuntu-22.04,ubuntu-24.04,windows-2022,windows-2025,macos-13,macos-14,macos-15]
|
||||||
tools: ${{ fromJson(needs.check-codeql-versions.outputs.versions) }}
|
tools: ${{ fromJson(needs.check-codeql-versions.outputs.versions) }}
|
||||||
runs-on: ${{ matrix.os }}
|
runs-on: ${{ matrix.os }}
|
||||||
|
|
||||||
permissions:
|
permissions:
|
||||||
|
contents: read
|
||||||
security-events: write
|
security-events: write
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
@@ -99,3 +100,27 @@ jobs:
|
|||||||
uses: ./analyze
|
uses: ./analyze
|
||||||
with:
|
with:
|
||||||
category: "/language:javascript"
|
category: "/language:javascript"
|
||||||
|
|
||||||
|
|
||||||
|
analyze-actions:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
|
||||||
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
|
|
||||||
|
permissions:
|
||||||
|
contents: read
|
||||||
|
security-events: write
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- name: Checkout
|
||||||
|
uses: actions/checkout@v4
|
||||||
|
- name: Initialize CodeQL
|
||||||
|
uses: ./init
|
||||||
|
with:
|
||||||
|
languages: actions
|
||||||
|
config-file: ./.github/codeql/codeql-actions-config.yml
|
||||||
|
- name: Perform CodeQL Analysis
|
||||||
|
uses: ./analyze
|
||||||
|
with:
|
||||||
|
category: "/language:actions"
|
||||||
|
|||||||
@@ -3,6 +3,9 @@
|
|||||||
name: Code-Scanning config CLI tests
|
name: Code-Scanning config CLI tests
|
||||||
env:
|
env:
|
||||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
# Diff informed queries add an additional query filter which is not yet
|
||||||
|
# taken into account by these tests.
|
||||||
|
CODEQL_ACTION_DIFF_INFORMED_QUERIES: false
|
||||||
|
|
||||||
on:
|
on:
|
||||||
push:
|
push:
|
||||||
@@ -23,6 +26,11 @@ jobs:
|
|||||||
code-scanning-config-tests:
|
code-scanning-config-tests:
|
||||||
continue-on-error: true
|
continue-on-error: true
|
||||||
|
|
||||||
|
permissions:
|
||||||
|
contents: read
|
||||||
|
packages: read
|
||||||
|
security-events: read
|
||||||
|
|
||||||
strategy:
|
strategy:
|
||||||
fail-fast: false
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
|
|||||||
102
.github/workflows/debug-artifacts-failure-safe.yml
vendored
Normal file
102
.github/workflows/debug-artifacts-failure-safe.yml
vendored
Normal file
@@ -0,0 +1,102 @@
|
|||||||
|
# Checks logs, SARIF, and database bundle debug artifacts exist
|
||||||
|
# when the analyze step fails.
|
||||||
|
name: PR Check - Debug artifacts after failure
|
||||||
|
env:
|
||||||
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
branches:
|
||||||
|
- main
|
||||||
|
- releases/v*
|
||||||
|
pull_request:
|
||||||
|
types:
|
||||||
|
- opened
|
||||||
|
- synchronize
|
||||||
|
- reopened
|
||||||
|
- ready_for_review
|
||||||
|
schedule:
|
||||||
|
- cron: '0 5 * * *'
|
||||||
|
workflow_dispatch: {}
|
||||||
|
jobs:
|
||||||
|
upload-artifacts:
|
||||||
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
|
matrix:
|
||||||
|
version:
|
||||||
|
- stable-v2.20.3
|
||||||
|
- default
|
||||||
|
- linked
|
||||||
|
- nightly-latest
|
||||||
|
name: Upload debug artifacts after failure in analyze
|
||||||
|
continue-on-error: true
|
||||||
|
env:
|
||||||
|
CODEQL_ACTION_TEST_MODE: true
|
||||||
|
permissions:
|
||||||
|
contents: read
|
||||||
|
timeout-minutes: 45
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- name: Dump GitHub event
|
||||||
|
run: cat "${GITHUB_EVENT_PATH}"
|
||||||
|
- name: Check out repository
|
||||||
|
uses: actions/checkout@v4
|
||||||
|
- name: Prepare test
|
||||||
|
id: prepare-test
|
||||||
|
uses: ./.github/actions/prepare-test
|
||||||
|
with:
|
||||||
|
version: ${{ matrix.version }}
|
||||||
|
- uses: actions/setup-go@v5
|
||||||
|
with:
|
||||||
|
go-version: ^1.13.1
|
||||||
|
- uses: ./../action/init
|
||||||
|
with:
|
||||||
|
tools: ${{ steps.prepare-test.outputs.tools-url }}
|
||||||
|
debug: true
|
||||||
|
debug-artifact-name: my-debug-artifacts
|
||||||
|
debug-database-name: my-db
|
||||||
|
- name: Build code
|
||||||
|
shell: bash
|
||||||
|
run: ./build.sh
|
||||||
|
- uses: ./../action/analyze
|
||||||
|
id: analysis
|
||||||
|
env:
|
||||||
|
# Forces a failure in this step.
|
||||||
|
CODEQL_ACTION_EXTRA_OPTIONS: '{ "database": { "finalize": ["--invalid-option"] } }'
|
||||||
|
with:
|
||||||
|
expect-error: true
|
||||||
|
download-and-check-artifacts:
|
||||||
|
name: Download and check debug artifacts after failure in analyze
|
||||||
|
needs: upload-artifacts
|
||||||
|
timeout-minutes: 45
|
||||||
|
permissions:
|
||||||
|
contents: read
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- name: Download all artifacts
|
||||||
|
uses: actions/download-artifact@v4
|
||||||
|
- name: Check expected artifacts exist
|
||||||
|
shell: bash
|
||||||
|
run: |
|
||||||
|
LANGUAGES="cpp csharp go java javascript python"
|
||||||
|
for version in $VERSIONS; do
|
||||||
|
echo "Artifacts from version $version:"
|
||||||
|
pushd "./my-debug-artifacts-${version//./}"
|
||||||
|
for language in $LANGUAGES; do
|
||||||
|
echo "- Checking $language"
|
||||||
|
if [[ ! -f "my-db-$language-partial.zip" ]] ; then
|
||||||
|
echo "Missing a partial database bundle for $language"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
if [[ ! -d "log" ]] ; then
|
||||||
|
echo "Missing database initialization logs"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
if [[ ! "$language" == "go" ]] && [[ ! -d "$language/log" ]] ; then
|
||||||
|
echo "Missing logs for $language"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
popd
|
||||||
|
done
|
||||||
|
env:
|
||||||
|
GO111MODULE: auto
|
||||||
87
.github/workflows/debug-artifacts-failure.yml
vendored
87
.github/workflows/debug-artifacts-failure.yml
vendored
@@ -1,87 +0,0 @@
|
|||||||
# Checks logs, SARIF, and database bundle debug artifacts exist
|
|
||||||
# when the analyze step fails.
|
|
||||||
name: PR Check - Debug artifacts after failure
|
|
||||||
env:
|
|
||||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
||||||
on:
|
|
||||||
push:
|
|
||||||
branches:
|
|
||||||
- main
|
|
||||||
- releases/v*
|
|
||||||
pull_request:
|
|
||||||
types:
|
|
||||||
- opened
|
|
||||||
- synchronize
|
|
||||||
- reopened
|
|
||||||
- ready_for_review
|
|
||||||
schedule:
|
|
||||||
- cron: '0 5 * * *'
|
|
||||||
workflow_dispatch: {}
|
|
||||||
jobs:
|
|
||||||
upload-artifacts:
|
|
||||||
name: Upload debug artifacts after failure in analyze
|
|
||||||
continue-on-error: true
|
|
||||||
env:
|
|
||||||
CODEQL_ACTION_TEST_MODE: true
|
|
||||||
timeout-minutes: 45
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
steps:
|
|
||||||
- name: Dump GitHub event
|
|
||||||
run: cat "${GITHUB_EVENT_PATH}"
|
|
||||||
- name: Check out repository
|
|
||||||
uses: actions/checkout@v4
|
|
||||||
- name: Prepare test
|
|
||||||
id: prepare-test
|
|
||||||
uses: ./.github/actions/prepare-test
|
|
||||||
with:
|
|
||||||
version: linked
|
|
||||||
- uses: actions/setup-go@v5
|
|
||||||
with:
|
|
||||||
go-version: ^1.13.1
|
|
||||||
- uses: ./../action/init
|
|
||||||
with:
|
|
||||||
tools: ${{ steps.prepare-test.outputs.tools-url }}
|
|
||||||
debug: true
|
|
||||||
debug-artifact-name: my-debug-artifacts
|
|
||||||
debug-database-name: my-db
|
|
||||||
- name: Build code
|
|
||||||
shell: bash
|
|
||||||
run: ./build.sh
|
|
||||||
- uses: ./../action/analyze
|
|
||||||
id: analysis
|
|
||||||
env:
|
|
||||||
# Forces a failure in this step.
|
|
||||||
CODEQL_ACTION_EXTRA_OPTIONS: '{ "database": { "finalize": ["--invalid-option"] } }'
|
|
||||||
with:
|
|
||||||
expect-error: true
|
|
||||||
download-and-check-artifacts:
|
|
||||||
name: Download and check debug artifacts after failure in analyze
|
|
||||||
needs: upload-artifacts
|
|
||||||
timeout-minutes: 45
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
steps:
|
|
||||||
- name: Download all artifacts
|
|
||||||
uses: actions/download-artifact@v4
|
|
||||||
- name: Check expected artifacts exist
|
|
||||||
shell: bash
|
|
||||||
run: |
|
|
||||||
LANGUAGES="cpp csharp go java javascript python"
|
|
||||||
cd "./my-debug-artifacts"
|
|
||||||
echo "Artifacts from run:"
|
|
||||||
for language in $LANGUAGES; do
|
|
||||||
echo "- Checking $language"
|
|
||||||
if [[ ! -f "my-db-$language-partial.zip" ]] ; then
|
|
||||||
echo "Missing a partial database bundle for $language"
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
if [[ ! -d "log" ]] ; then
|
|
||||||
echo "Missing database initialization logs"
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
if [[ ! "$language" == "go" ]] && [[ ! -d "$language/log" ]] ; then
|
|
||||||
echo "Missing logs for $language"
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
env:
|
|
||||||
GO111MODULE: auto
|
|
||||||
97
.github/workflows/debug-artifacts-safe.yml
vendored
Normal file
97
.github/workflows/debug-artifacts-safe.yml
vendored
Normal file
@@ -0,0 +1,97 @@
|
|||||||
|
# Checks logs, SARIF, and database bundle debug artifacts exist.
|
||||||
|
name: PR Check - Debug artifact upload
|
||||||
|
env:
|
||||||
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
branches:
|
||||||
|
- main
|
||||||
|
- releases/v*
|
||||||
|
pull_request:
|
||||||
|
types:
|
||||||
|
- opened
|
||||||
|
- synchronize
|
||||||
|
- reopened
|
||||||
|
- ready_for_review
|
||||||
|
schedule:
|
||||||
|
- cron: '0 5 * * *'
|
||||||
|
workflow_dispatch: {}
|
||||||
|
jobs:
|
||||||
|
upload-artifacts:
|
||||||
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
|
matrix:
|
||||||
|
version:
|
||||||
|
- stable-v2.20.3
|
||||||
|
- default
|
||||||
|
- linked
|
||||||
|
- nightly-latest
|
||||||
|
name: Upload debug artifacts
|
||||||
|
env:
|
||||||
|
CODEQL_ACTION_TEST_MODE: true
|
||||||
|
timeout-minutes: 45
|
||||||
|
permissions:
|
||||||
|
contents: read
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- name: Check out repository
|
||||||
|
uses: actions/checkout@v4
|
||||||
|
- name: Prepare test
|
||||||
|
id: prepare-test
|
||||||
|
uses: ./.github/actions/prepare-test
|
||||||
|
with:
|
||||||
|
version: ${{ matrix.version }}
|
||||||
|
- uses: actions/setup-go@v5
|
||||||
|
with:
|
||||||
|
go-version: ^1.13.1
|
||||||
|
- uses: ./../action/init
|
||||||
|
id: init
|
||||||
|
with:
|
||||||
|
tools: ${{ steps.prepare-test.outputs.tools-url }}
|
||||||
|
debug: true
|
||||||
|
debug-artifact-name: my-debug-artifacts
|
||||||
|
debug-database-name: my-db
|
||||||
|
# We manually exclude Swift from the languages list here, as it is not supported on Ubuntu
|
||||||
|
languages: cpp,csharp,go,java,javascript,python,ruby
|
||||||
|
- name: Build code
|
||||||
|
shell: bash
|
||||||
|
run: ./build.sh
|
||||||
|
- uses: ./../action/analyze
|
||||||
|
id: analysis
|
||||||
|
download-and-check-artifacts:
|
||||||
|
name: Download and check debug artifacts
|
||||||
|
needs: upload-artifacts
|
||||||
|
timeout-minutes: 45
|
||||||
|
permissions:
|
||||||
|
contents: read
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- name: Download all artifacts
|
||||||
|
uses: actions/download-artifact@v4
|
||||||
|
- name: Check expected artifacts exist
|
||||||
|
shell: bash
|
||||||
|
run: |
|
||||||
|
VERSIONS="stable-v2.20.3 default linked nightly-latest"
|
||||||
|
LANGUAGES="cpp csharp go java javascript python"
|
||||||
|
for version in $VERSIONS; do
|
||||||
|
pushd "./my-debug-artifacts-${version//./}"
|
||||||
|
echo "Artifacts from version $version:"
|
||||||
|
for language in $LANGUAGES; do
|
||||||
|
echo "- Checking $language"
|
||||||
|
if [[ ! -f "$language.sarif" ]] ; then
|
||||||
|
echo "Missing a SARIF file for $language"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
if [[ ! -f "my-db-$language.zip" ]] ; then
|
||||||
|
echo "Missing a database bundle for $language"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
if [[ ! -d "$language/log" ]] ; then
|
||||||
|
echo "Missing logs for $language"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
popd
|
||||||
|
done
|
||||||
|
env:
|
||||||
|
GO111MODULE: auto
|
||||||
97
.github/workflows/debug-artifacts.yml
vendored
97
.github/workflows/debug-artifacts.yml
vendored
@@ -1,97 +0,0 @@
|
|||||||
# Checks logs, SARIF, and database bundle debug artifacts exist.
|
|
||||||
name: PR Check - Debug artifact upload
|
|
||||||
env:
|
|
||||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
||||||
on:
|
|
||||||
push:
|
|
||||||
branches:
|
|
||||||
- main
|
|
||||||
- releases/v*
|
|
||||||
pull_request:
|
|
||||||
types:
|
|
||||||
- opened
|
|
||||||
- synchronize
|
|
||||||
- reopened
|
|
||||||
- ready_for_review
|
|
||||||
schedule:
|
|
||||||
- cron: '0 5 * * *'
|
|
||||||
workflow_dispatch: {}
|
|
||||||
jobs:
|
|
||||||
upload-artifacts:
|
|
||||||
strategy:
|
|
||||||
fail-fast: false
|
|
||||||
matrix:
|
|
||||||
version:
|
|
||||||
- stable-v2.15.5
|
|
||||||
- stable-v2.16.6
|
|
||||||
- stable-v2.17.6
|
|
||||||
- stable-v2.18.4
|
|
||||||
- stable-v2.19.4
|
|
||||||
- default
|
|
||||||
- linked
|
|
||||||
- nightly-latest
|
|
||||||
name: Upload debug artifacts
|
|
||||||
env:
|
|
||||||
CODEQL_ACTION_TEST_MODE: true
|
|
||||||
timeout-minutes: 45
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
steps:
|
|
||||||
- name: Check out repository
|
|
||||||
uses: actions/checkout@v4
|
|
||||||
- name: Prepare test
|
|
||||||
id: prepare-test
|
|
||||||
uses: ./.github/actions/prepare-test
|
|
||||||
with:
|
|
||||||
version: ${{ matrix.version }}
|
|
||||||
- uses: actions/setup-go@v5
|
|
||||||
with:
|
|
||||||
go-version: ^1.13.1
|
|
||||||
- uses: ./../action/init
|
|
||||||
id: init
|
|
||||||
with:
|
|
||||||
tools: ${{ steps.prepare-test.outputs.tools-url }}
|
|
||||||
debug: true
|
|
||||||
debug-artifact-name: my-debug-artifacts
|
|
||||||
debug-database-name: my-db
|
|
||||||
# We manually exclude Swift from the languages list here, as it is not supported on Ubuntu
|
|
||||||
languages: cpp,csharp,go,java,javascript,python,ruby
|
|
||||||
- name: Build code
|
|
||||||
shell: bash
|
|
||||||
run: ./build.sh
|
|
||||||
- uses: ./../action/analyze
|
|
||||||
id: analysis
|
|
||||||
download-and-check-artifacts:
|
|
||||||
name: Download and check debug artifacts
|
|
||||||
needs: upload-artifacts
|
|
||||||
timeout-minutes: 45
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
steps:
|
|
||||||
- name: Download all artifacts
|
|
||||||
uses: actions/download-artifact@v4
|
|
||||||
- name: Check expected artifacts exist
|
|
||||||
shell: bash
|
|
||||||
run: |
|
|
||||||
VERSIONS="stable-v2.15.5 stable-v2.16.6 stable-v2.17.6 stable-v2.18.4 stable-v2.19.4 default linked nightly-latest"
|
|
||||||
LANGUAGES="cpp csharp go java javascript python"
|
|
||||||
for version in $VERSIONS; do
|
|
||||||
pushd "./my-debug-artifacts-${version//./}"
|
|
||||||
echo "Artifacts from version $version:"
|
|
||||||
for language in $LANGUAGES; do
|
|
||||||
echo "- Checking $language"
|
|
||||||
if [[ ! -f "$language.sarif" ]] ; then
|
|
||||||
echo "Missing a SARIF file for $language"
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
if [[ ! -f "my-db-$language.zip" ]] ; then
|
|
||||||
echo "Missing a database bundle for $language"
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
if [[ ! -d "$language/log" ]] ; then
|
|
||||||
echo "Missing logs for $language"
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
popd
|
|
||||||
done
|
|
||||||
env:
|
|
||||||
GO111MODULE: auto
|
|
||||||
2
.github/workflows/expected-queries-runs.yml
vendored
2
.github/workflows/expected-queries-runs.yml
vendored
@@ -24,7 +24,7 @@ jobs:
|
|||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
permissions:
|
permissions:
|
||||||
contents: read
|
contents: read
|
||||||
security-events: write
|
security-events: read
|
||||||
steps:
|
steps:
|
||||||
- name: Check out repository
|
- name: Check out repository
|
||||||
uses: actions/checkout@v4
|
uses: actions/checkout@v4
|
||||||
|
|||||||
6
.github/workflows/post-release-mergeback.yml
vendored
6
.github/workflows/post-release-mergeback.yml
vendored
@@ -27,6 +27,10 @@ jobs:
|
|||||||
BASE_BRANCH: "${{ github.event.inputs.baseBranch || 'main' }}"
|
BASE_BRANCH: "${{ github.event.inputs.baseBranch || 'main' }}"
|
||||||
HEAD_BRANCH: "${{ github.head_ref || github.ref }}"
|
HEAD_BRANCH: "${{ github.head_ref || github.ref }}"
|
||||||
|
|
||||||
|
permissions:
|
||||||
|
contents: write # needed to create tags and push commits
|
||||||
|
pull-requests: write
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: Dump environment
|
- name: Dump environment
|
||||||
run: env
|
run: env
|
||||||
@@ -164,7 +168,7 @@ jobs:
|
|||||||
--draft
|
--draft
|
||||||
|
|
||||||
- name: Generate token
|
- name: Generate token
|
||||||
uses: actions/create-github-app-token@c1a285145b9d317df6ced56c09f525b5c2b6f755
|
uses: actions/create-github-app-token@v2.0.6
|
||||||
id: app-token
|
id: app-token
|
||||||
with:
|
with:
|
||||||
app-id: ${{ vars.AUTOMATION_APP_ID }}
|
app-id: ${{ vars.AUTOMATION_APP_ID }}
|
||||||
|
|||||||
11
.github/workflows/pr-checks.yml
vendored
11
.github/workflows/pr-checks.yml
vendored
@@ -15,7 +15,7 @@ jobs:
|
|||||||
timeout-minutes: 45
|
timeout-minutes: 45
|
||||||
permissions:
|
permissions:
|
||||||
contents: read
|
contents: read
|
||||||
security-events: write
|
security-events: write # needed to upload ESLint results
|
||||||
|
|
||||||
strategy:
|
strategy:
|
||||||
fail-fast: false
|
fail-fast: false
|
||||||
@@ -40,6 +40,8 @@ jobs:
|
|||||||
check-node-modules:
|
check-node-modules:
|
||||||
if: github.event_name != 'push' || github.ref == 'refs/heads/main' || startsWith(github.ref, 'refs/heads/releases/v')
|
if: github.event_name != 'push' || github.ref == 'refs/heads/main' || startsWith(github.ref, 'refs/heads/releases/v')
|
||||||
name: Check modules up to date
|
name: Check modules up to date
|
||||||
|
permissions:
|
||||||
|
contents: read
|
||||||
runs-on: macos-latest
|
runs-on: macos-latest
|
||||||
timeout-minutes: 45
|
timeout-minutes: 45
|
||||||
|
|
||||||
@@ -51,6 +53,8 @@ jobs:
|
|||||||
check-file-contents:
|
check-file-contents:
|
||||||
if: github.event_name != 'push' || github.ref == 'refs/heads/main' || startsWith(github.ref, 'refs/heads/releases/v')
|
if: github.event_name != 'push' || github.ref == 'refs/heads/main' || startsWith(github.ref, 'refs/heads/releases/v')
|
||||||
name: Check file contents
|
name: Check file contents
|
||||||
|
permissions:
|
||||||
|
contents: read
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
timeout-minutes: 45
|
timeout-minutes: 45
|
||||||
|
|
||||||
@@ -81,6 +85,8 @@ jobs:
|
|||||||
fail-fast: false
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
os: [ubuntu-latest, macos-latest, windows-latest]
|
os: [ubuntu-latest, macos-latest, windows-latest]
|
||||||
|
permissions:
|
||||||
|
contents: read
|
||||||
runs-on: ${{ matrix.os }}
|
runs-on: ${{ matrix.os }}
|
||||||
timeout-minutes: 45
|
timeout-minutes: 45
|
||||||
|
|
||||||
@@ -101,6 +107,9 @@ jobs:
|
|||||||
env:
|
env:
|
||||||
BASE_REF: ${{ github.base_ref }}
|
BASE_REF: ${{ github.base_ref }}
|
||||||
|
|
||||||
|
permissions:
|
||||||
|
contents: read
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v4
|
- uses: actions/checkout@v4
|
||||||
- id: head-version
|
- id: head-version
|
||||||
|
|||||||
2
.github/workflows/python312-windows.yml
vendored
2
.github/workflows/python312-windows.yml
vendored
@@ -17,6 +17,8 @@ jobs:
|
|||||||
env:
|
env:
|
||||||
CODEQL_ACTION_TEST_MODE: true
|
CODEQL_ACTION_TEST_MODE: true
|
||||||
timeout-minutes: 45
|
timeout-minutes: 45
|
||||||
|
permissions:
|
||||||
|
contents: read
|
||||||
runs-on: windows-latest
|
runs-on: windows-latest
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
|
|||||||
2
.github/workflows/query-filters.yml
vendored
2
.github/workflows/query-filters.yml
vendored
@@ -20,6 +20,8 @@ jobs:
|
|||||||
name: Query Filters Tests
|
name: Query Filters Tests
|
||||||
timeout-minutes: 45
|
timeout-minutes: 45
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
|
permissions:
|
||||||
|
contents: read # This permission is needed to allow the GitHub Actions workflow to read the contents of the repository.
|
||||||
steps:
|
steps:
|
||||||
- name: Check out repository
|
- name: Check out repository
|
||||||
uses: actions/checkout@v4
|
uses: actions/checkout@v4
|
||||||
|
|||||||
3
.github/workflows/rebuild.yml
vendored
3
.github/workflows/rebuild.yml
vendored
@@ -11,6 +11,9 @@ jobs:
|
|||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
if: github.event.label.name == 'Rebuild'
|
if: github.event.label.name == 'Rebuild'
|
||||||
|
|
||||||
|
permissions:
|
||||||
|
contents: write # needed to push rebuilt commit
|
||||||
|
pull-requests: write # needed to comment on the PR
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout
|
- name: Checkout
|
||||||
uses: actions/checkout@v4
|
uses: actions/checkout@v4
|
||||||
|
|||||||
2
.github/workflows/test-codeql-bundle-all.yml
vendored
2
.github/workflows/test-codeql-bundle-all.yml
vendored
@@ -27,7 +27,7 @@ jobs:
|
|||||||
name: 'CodeQL Bundle All'
|
name: 'CodeQL Bundle All'
|
||||||
permissions:
|
permissions:
|
||||||
contents: read
|
contents: read
|
||||||
security-events: write
|
security-events: read
|
||||||
timeout-minutes: 45
|
timeout-minutes: 45
|
||||||
runs-on: ${{ matrix.os }}
|
runs-on: ${{ matrix.os }}
|
||||||
steps:
|
steps:
|
||||||
|
|||||||
3
.github/workflows/update-bundle.yml
vendored
3
.github/workflows/update-bundle.yml
vendored
@@ -17,6 +17,9 @@ jobs:
|
|||||||
update-bundle:
|
update-bundle:
|
||||||
if: github.event.release.prerelease && startsWith(github.event.release.tag_name, 'codeql-bundle-')
|
if: github.event.release.prerelease && startsWith(github.event.release.tag_name, 'codeql-bundle-')
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
|
permissions:
|
||||||
|
contents: write # needed to push commits
|
||||||
|
pull-requests: write # needed to create pull requests
|
||||||
steps:
|
steps:
|
||||||
- name: Dump environment
|
- name: Dump environment
|
||||||
run: env
|
run: env
|
||||||
|
|||||||
3
.github/workflows/update-dependencies.yml
vendored
3
.github/workflows/update-dependencies.yml
vendored
@@ -9,6 +9,9 @@ jobs:
|
|||||||
timeout-minutes: 45
|
timeout-minutes: 45
|
||||||
runs-on: macos-latest
|
runs-on: macos-latest
|
||||||
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')
|
||||||
|
permissions:
|
||||||
|
contents: write # needed to push the updated dependencies
|
||||||
|
pull-requests: write # needed to comment on the PR
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout repository
|
- name: Checkout repository
|
||||||
uses: actions/checkout@v4
|
uses: actions/checkout@v4
|
||||||
|
|||||||
101
.github/workflows/update-proxy-release.yml
vendored
Normal file
101
.github/workflows/update-proxy-release.yml
vendored
Normal file
@@ -0,0 +1,101 @@
|
|||||||
|
name: Update dependency proxy release assets
|
||||||
|
on:
|
||||||
|
workflow_dispatch:
|
||||||
|
inputs:
|
||||||
|
tag:
|
||||||
|
description: "The tag of CodeQL Bundle release that contains the proxy binaries as release assets"
|
||||||
|
type: string
|
||||||
|
required: true
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
update:
|
||||||
|
name: Update code and create PR
|
||||||
|
timeout-minutes: 15
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
permissions:
|
||||||
|
contents: write # needed to push the updated files
|
||||||
|
pull-requests: write # needed to create the PR
|
||||||
|
env:
|
||||||
|
RELEASE_TAG: ${{ inputs.tag }}
|
||||||
|
steps:
|
||||||
|
- name: Check release tag format
|
||||||
|
id: checks
|
||||||
|
shell: bash
|
||||||
|
run: |
|
||||||
|
if ! [[ $RELEASE_TAG =~ ^codeql-bundle-v[0-9]+\.[0-9]+\.[0-9]+$ ]]; then
|
||||||
|
echo "Invalid release tag: expected a CodeQL bundle tag in the 'codeql-bundle-vM.N.P' format."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo "target_branch=dependency-proxy/$RELEASE_TAG" >> $GITHUB_OUTPUT
|
||||||
|
|
||||||
|
- name: Check that the release exists
|
||||||
|
shell: bash
|
||||||
|
env:
|
||||||
|
GITHUB_TOKEN: "${{ secrets.GITHUB_TOKEN }}"
|
||||||
|
run: |
|
||||||
|
(gh release view --repo "$GITHUB_REPOSITORY" --json "assets" "$RELEASE_TAG" && echo "Release found.") || exit 1
|
||||||
|
|
||||||
|
- name: Install Node
|
||||||
|
uses: actions/setup-node@v4
|
||||||
|
|
||||||
|
- name: Checkout repository
|
||||||
|
uses: actions/checkout@v4
|
||||||
|
with:
|
||||||
|
fetch-depth: 0 # ensure we have all tags and can push commits
|
||||||
|
ref: main
|
||||||
|
|
||||||
|
- name: Update git config
|
||||||
|
shell: bash
|
||||||
|
run: |
|
||||||
|
git config --global user.email "41898282+github-actions[bot]@users.noreply.github.com"
|
||||||
|
git config --global user.name "github-actions[bot]"
|
||||||
|
|
||||||
|
- name: Update release tag and version
|
||||||
|
shell: bash
|
||||||
|
run: |
|
||||||
|
NOW=$(date +"%Y%m%d%H%M%S") # only used to make sure we don't fetch stale binaries from the toolcache
|
||||||
|
sed -i "s|https://github.com/github/codeql-action/releases/download/codeql-bundle-v[0-9.]\+/|https://github.com/github/codeql-action/releases/download/$RELEASE_TAG/|g" ./src/start-proxy-action.ts
|
||||||
|
sed -i "s/\"v2.0.[0-9]\+\"/\"v2.0.$NOW\"/g" ./src/start-proxy-action.ts
|
||||||
|
|
||||||
|
- name: Compile TypeScript and commit changes
|
||||||
|
shell: bash
|
||||||
|
env:
|
||||||
|
TARGET_BRANCH: ${{ steps.checks.outputs.target_branch }}
|
||||||
|
run: |
|
||||||
|
set -exu
|
||||||
|
git checkout -b "$TARGET_BRANCH"
|
||||||
|
|
||||||
|
npm run build
|
||||||
|
git add ./src/start-proxy-action.ts
|
||||||
|
git add ./lib
|
||||||
|
git commit -m "Update release used by \`start-proxy\` action"
|
||||||
|
|
||||||
|
- name: Push changes and open PR
|
||||||
|
shell: bash
|
||||||
|
env:
|
||||||
|
GITHUB_TOKEN: "${{ secrets.GITHUB_TOKEN }}"
|
||||||
|
TARGET_BRANCH: ${{ steps.checks.outputs.target_branch }}
|
||||||
|
PR_FLAG: ${{ (github.event_name == 'workflow_dispatch' && '--draft') || '--dry-run' }}
|
||||||
|
run: |
|
||||||
|
set -exu
|
||||||
|
pr_title="Update release used by \`start-proxy\` to \`$RELEASE_TAG\`"
|
||||||
|
pr_body=$(cat << EOF
|
||||||
|
This PR updates the \`start-proxy\` action to use the private registry proxy binaries that
|
||||||
|
are attached as release assets to the \`$RELEASE_TAG\` release.
|
||||||
|
|
||||||
|
|
||||||
|
Please do the following before merging:
|
||||||
|
|
||||||
|
- [ ] Verify that the changes to the code are correct.
|
||||||
|
- [ ] Mark the PR as ready for review to trigger the CI.
|
||||||
|
EOF
|
||||||
|
)
|
||||||
|
|
||||||
|
git push origin "$TARGET_BRANCH"
|
||||||
|
gh pr create \
|
||||||
|
--head "$TARGET_BRANCH" \
|
||||||
|
--base "main" \
|
||||||
|
--title "${pr_title}" \
|
||||||
|
--body "${pr_body}" \
|
||||||
|
$PR_FLAG
|
||||||
10
.github/workflows/update-release-branch.yml
vendored
10
.github/workflows/update-release-branch.yml
vendored
@@ -22,6 +22,8 @@ jobs:
|
|||||||
latest_tag: ${{ steps.versions.outputs.latest_tag }}
|
latest_tag: ${{ steps.versions.outputs.latest_tag }}
|
||||||
backport_source_branch: ${{ steps.branches.outputs.backport_source_branch }}
|
backport_source_branch: ${{ steps.branches.outputs.backport_source_branch }}
|
||||||
backport_target_branches: ${{ steps.branches.outputs.backport_target_branches }}
|
backport_target_branches: ${{ steps.branches.outputs.backport_target_branches }}
|
||||||
|
permissions:
|
||||||
|
contents: read
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v4
|
- uses: actions/checkout@v4
|
||||||
with:
|
with:
|
||||||
@@ -63,6 +65,9 @@ jobs:
|
|||||||
REPOSITORY: "${{ github.repository }}"
|
REPOSITORY: "${{ github.repository }}"
|
||||||
MAJOR_VERSION: "${{ needs.prepare.outputs.major_version }}"
|
MAJOR_VERSION: "${{ needs.prepare.outputs.major_version }}"
|
||||||
LATEST_TAG: "${{ needs.prepare.outputs.latest_tag }}"
|
LATEST_TAG: "${{ needs.prepare.outputs.latest_tag }}"
|
||||||
|
permissions:
|
||||||
|
contents: write # needed to push commits
|
||||||
|
pull-requests: write # needed to create pull request
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v4
|
- uses: actions/checkout@v4
|
||||||
with:
|
with:
|
||||||
@@ -114,9 +119,12 @@ jobs:
|
|||||||
env:
|
env:
|
||||||
SOURCE_BRANCH: ${{ needs.prepare.outputs.backport_source_branch }}
|
SOURCE_BRANCH: ${{ needs.prepare.outputs.backport_source_branch }}
|
||||||
TARGET_BRANCH: ${{ matrix.target_branch }}
|
TARGET_BRANCH: ${{ matrix.target_branch }}
|
||||||
|
permissions:
|
||||||
|
contents: write # needed to push commits
|
||||||
|
pull-requests: write # needed to create pull request
|
||||||
steps:
|
steps:
|
||||||
- name: Generate token
|
- name: Generate token
|
||||||
uses: actions/create-github-app-token@c1a285145b9d317df6ced56c09f525b5c2b6f755
|
uses: actions/create-github-app-token@v2.0.6
|
||||||
id: app-token
|
id: app-token
|
||||||
with:
|
with:
|
||||||
app-id: ${{ vars.AUTOMATION_APP_ID }}
|
app-id: ${{ vars.AUTOMATION_APP_ID }}
|
||||||
|
|||||||
@@ -10,20 +10,23 @@ jobs:
|
|||||||
name: Update Supported Enterprise Server Versions
|
name: Update Supported Enterprise Server Versions
|
||||||
timeout-minutes: 45
|
timeout-minutes: 45
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
if: ${{ github.repository == 'github/codeql-action' }}
|
if: github.repository == 'github/codeql-action'
|
||||||
|
permissions:
|
||||||
|
contents: write # needed to push commits
|
||||||
|
pull-requests: write # needed to create pull request
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: Setup Python
|
- name: Setup Python
|
||||||
uses: actions/setup-python@v5
|
uses: actions/setup-python@v5
|
||||||
with:
|
with:
|
||||||
python-version: "3.7"
|
python-version: "3.13"
|
||||||
- name: Checkout CodeQL Action
|
- name: Checkout CodeQL Action
|
||||||
uses: actions/checkout@v4
|
uses: actions/checkout@v4
|
||||||
- name: Checkout Enterprise Releases
|
- name: Checkout Enterprise Releases
|
||||||
uses: actions/checkout@v4
|
uses: actions/checkout@v4
|
||||||
with:
|
with:
|
||||||
repository: github/enterprise-releases
|
repository: github/enterprise-releases
|
||||||
ssh-key: ${{ secrets.ENTERPRISE_RELEASES_SSH_KEY }}
|
token: ${{ secrets.ENTERPRISE_RELEASE_TOKEN }}
|
||||||
path: ${{ github.workspace }}/enterprise-releases/
|
path: ${{ github.workspace }}/enterprise-releases/
|
||||||
- name: Update Supported Enterprise Server Versions
|
- name: Update Supported Enterprise Server Versions
|
||||||
run: |
|
run: |
|
||||||
|
|||||||
@@ -1,20 +1,20 @@
|
|||||||
repos:
|
repos:
|
||||||
- repo: local
|
- repo: local
|
||||||
hooks:
|
hooks:
|
||||||
|
- id: lint-ts
|
||||||
|
name: Lint typescript code
|
||||||
|
files: \.ts$
|
||||||
|
language: system
|
||||||
|
entry: npm run lint -- --fix
|
||||||
- id: compile-ts
|
- id: compile-ts
|
||||||
name: Compile typescript
|
name: Compile typescript
|
||||||
files: \.[tj]s$
|
files: \.[tj]s$
|
||||||
language: system
|
language: system
|
||||||
entry: npm run build
|
entry: npm run build
|
||||||
pass_filenames: false
|
pass_filenames: false
|
||||||
- id: lint-ts
|
|
||||||
name: Lint typescript code
|
|
||||||
files: \.ts$
|
|
||||||
language: system
|
|
||||||
entry: npm run lint -- --fix
|
|
||||||
- id: pr-checks-sync
|
- id: pr-checks-sync
|
||||||
name: Synchronize PR check workflows
|
name: Synchronize PR check workflows
|
||||||
files: ^.github/workflows/__.*\.yml$|^pr-checks
|
files: ^.github/workflows/__.*\.yml$|^pr-checks
|
||||||
language: system
|
language: system
|
||||||
entry: python3 pr-checks/sync.py
|
entry: pr-checks/sync.sh
|
||||||
pass_filenames: false
|
pass_filenames: false
|
||||||
|
|||||||
87
CHANGELOG.md
87
CHANGELOG.md
@@ -4,6 +4,93 @@ See the [releases page](https://github.com/github/codeql-action/releases) for th
|
|||||||
|
|
||||||
## [UNRELEASED]
|
## [UNRELEASED]
|
||||||
|
|
||||||
|
- Fix bug in PR analysis where user-provided `include` query filter fails to exclude non-included queries. [#2938](https://github.com/github/codeql-action/pull/2938)
|
||||||
|
|
||||||
|
## 3.29.0 - 11 Jun 2025
|
||||||
|
|
||||||
|
- Update default CodeQL bundle version to 2.22.0. [#2925](https://github.com/github/codeql-action/pull/2925)
|
||||||
|
- Bump minimum CodeQL bundle version to 2.16.6. [#2912](https://github.com/github/codeql-action/pull/2912)
|
||||||
|
|
||||||
|
## 3.28.19 - 03 Jun 2025
|
||||||
|
|
||||||
|
- The CodeQL Action no longer includes its own copy of the extractor for the `actions` language, which is currently in public preview.
|
||||||
|
The `actions` extractor has been included in the CodeQL CLI since v2.20.6. If your workflow has enabled the `actions` language _and_ you have pinned
|
||||||
|
your `tools:` property to a specific version of the CodeQL CLI earlier than v2.20.6, you will need to update to at least CodeQL v2.20.6 or disable
|
||||||
|
`actions` analysis.
|
||||||
|
- Update default CodeQL bundle version to 2.21.4. [#2910](https://github.com/github/codeql-action/pull/2910)
|
||||||
|
|
||||||
|
## 3.28.18 - 16 May 2025
|
||||||
|
|
||||||
|
- Update default CodeQL bundle version to 2.21.3. [#2893](https://github.com/github/codeql-action/pull/2893)
|
||||||
|
- Skip validating SARIF produced by CodeQL for improved performance. [#2894](https://github.com/github/codeql-action/pull/2894)
|
||||||
|
- The number of threads and amount of RAM used by CodeQL can now be set via the `CODEQL_THREADS` and `CODEQL_RAM` runner environment variables. If set, these environment variables override the `threads` and `ram` inputs respectively. [#2891](https://github.com/github/codeql-action/pull/2891)
|
||||||
|
|
||||||
|
## 3.28.17 - 02 May 2025
|
||||||
|
|
||||||
|
- Update default CodeQL bundle version to 2.21.2. [#2872](https://github.com/github/codeql-action/pull/2872)
|
||||||
|
|
||||||
|
## 3.28.16 - 23 Apr 2025
|
||||||
|
|
||||||
|
- Update default CodeQL bundle version to 2.21.1. [#2863](https://github.com/github/codeql-action/pull/2863)
|
||||||
|
|
||||||
|
## 3.28.15 - 07 Apr 2025
|
||||||
|
|
||||||
|
- Fix bug where the action would fail if it tried to produce a debug artifact with more than 65535 files. [#2842](https://github.com/github/codeql-action/pull/2842)
|
||||||
|
|
||||||
|
## 3.28.14 - 07 Apr 2025
|
||||||
|
|
||||||
|
- Update default CodeQL bundle version to 2.21.0. [#2838](https://github.com/github/codeql-action/pull/2838)
|
||||||
|
|
||||||
|
## 3.28.13 - 24 Mar 2025
|
||||||
|
|
||||||
|
No user facing changes.
|
||||||
|
|
||||||
|
## 3.28.12 - 19 Mar 2025
|
||||||
|
|
||||||
|
- Dependency caching should now cache more dependencies for Java `build-mode: none` extractions. This should speed up workflows and avoid inconsistent alerts in some cases.
|
||||||
|
- Update default CodeQL bundle version to 2.20.7. [#2810](https://github.com/github/codeql-action/pull/2810)
|
||||||
|
|
||||||
|
## 3.28.11 - 07 Mar 2025
|
||||||
|
|
||||||
|
- Update default CodeQL bundle version to 2.20.6. [#2793](https://github.com/github/codeql-action/pull/2793)
|
||||||
|
|
||||||
|
## 3.28.10 - 21 Feb 2025
|
||||||
|
|
||||||
|
- Update default CodeQL bundle version to 2.20.5. [#2772](https://github.com/github/codeql-action/pull/2772)
|
||||||
|
- Address an issue where the CodeQL Bundle would occasionally fail to decompress on macOS. [#2768](https://github.com/github/codeql-action/pull/2768)
|
||||||
|
|
||||||
|
## 3.28.9 - 07 Feb 2025
|
||||||
|
|
||||||
|
- Update default CodeQL bundle version to 2.20.4. [#2753](https://github.com/github/codeql-action/pull/2753)
|
||||||
|
|
||||||
|
## 3.28.8 - 29 Jan 2025
|
||||||
|
|
||||||
|
- Enable support for Kotlin 2.1.10 when running with CodeQL CLI v2.20.3. [#2744](https://github.com/github/codeql-action/pull/2744)
|
||||||
|
|
||||||
|
## 3.28.7 - 29 Jan 2025
|
||||||
|
|
||||||
|
No user facing changes.
|
||||||
|
|
||||||
|
## 3.28.6 - 27 Jan 2025
|
||||||
|
|
||||||
|
- Re-enable debug artifact upload for CLI versions 2.20.3 or greater. [#2726](https://github.com/github/codeql-action/pull/2726)
|
||||||
|
|
||||||
|
## 3.28.5 - 24 Jan 2025
|
||||||
|
|
||||||
|
- Update default CodeQL bundle version to 2.20.3. [#2717](https://github.com/github/codeql-action/pull/2717)
|
||||||
|
|
||||||
|
## 3.28.4 - 23 Jan 2025
|
||||||
|
|
||||||
|
No user facing changes.
|
||||||
|
|
||||||
|
## 3.28.3 - 22 Jan 2025
|
||||||
|
|
||||||
|
- Update default CodeQL bundle version to 2.20.2. [#2707](https://github.com/github/codeql-action/pull/2707)
|
||||||
|
- Fix an issue downloading the CodeQL Bundle from a GitHub Enterprise Server instance which occurred when the CodeQL Bundle had been synced to the instance using the [CodeQL Action sync tool](https://github.com/github/codeql-action-sync-tool) and the Actions runner did not have Zstandard installed. [#2710](https://github.com/github/codeql-action/pull/2710)
|
||||||
|
- Uploading debug artifacts for CodeQL analysis is temporarily disabled. [#2712](https://github.com/github/codeql-action/pull/2712)
|
||||||
|
|
||||||
|
## 3.28.2 - 21 Jan 2025
|
||||||
|
|
||||||
No user facing changes.
|
No user facing changes.
|
||||||
|
|
||||||
## 3.28.1 - 10 Jan 2025
|
## 3.28.1 - 10 Jan 2025
|
||||||
|
|||||||
11
README.md
11
README.md
@@ -55,7 +55,7 @@ For compiled languages:
|
|||||||
|
|
||||||
- `manual` build mode will typically produce the most precise results, but it is more difficult to set up and will cause the analysis to take slightly more time to run.
|
- `manual` build mode will typically produce the most precise results, but it is more difficult to set up and will cause the analysis to take slightly more time to run.
|
||||||
- `autobuild` build mode is simpler to set up, but will only work for projects with generic build steps that can be guessed by the heuristics of the autobuild scripts. If `autobuild` fails, then you must switch to `manual` or `none`. If `autobuild` succeeds, then the results and run time will be the same as `manual` mode.
|
- `autobuild` build mode is simpler to set up, but will only work for projects with generic build steps that can be guessed by the heuristics of the autobuild scripts. If `autobuild` fails, then you must switch to `manual` or `none`. If `autobuild` succeeds, then the results and run time will be the same as `manual` mode.
|
||||||
- `none` build mode is also simpler to set up and is slightly faster to run, but there is a possibility that some alerts will be missed. This may happen if your repository does any code generation during compilation or if there are any dependencies downloaded from registries that the workflow does not have access to. `none` is not yet supported by C/C++, Swift, Go, or Kotlin.
|
- `none` build mode is also simpler to set up and is slightly faster to run, but there is a possibility that some alerts will be missed. This may happen if your repository does any code generation during compilation or if there are any dependencies downloaded from registries that the workflow does not have access to. `none` is not yet supported by Swift, Go, or Kotlin. It is in public preview for C/C++.
|
||||||
|
|
||||||
|
|
||||||
## Supported versions of the CodeQL Action
|
## Supported versions of the CodeQL Action
|
||||||
@@ -70,10 +70,11 @@ We typically release new minor versions of the CodeQL Action and Bundle when a n
|
|||||||
|
|
||||||
| Minimum CodeQL Action | Minimum CodeQL Bundle Version | GitHub Environment | Notes |
|
| Minimum CodeQL Action | Minimum CodeQL Bundle Version | GitHub Environment | Notes |
|
||||||
|-----------------------|-------------------------------|--------------------|-------|
|
|-----------------------|-------------------------------|--------------------|-------|
|
||||||
| `v3.26.6` | `2.18.4` | Enterprise Server 3.15 | |
|
| `v3.28.12` | `2.20.7` | Enterprise Server 3.17 | |
|
||||||
| `v3.25.11` | `2.17.6` | Enterprise Server 3.14 | |
|
| `v3.28.6` | `2.20.3` | Enterprise Server 3.16 | |
|
||||||
| `v3.24.11` | `2.16.6` | Enterprise Server 3.13 | |
|
| `v3.28.6` | `2.20.3` | Enterprise Server 3.15 | |
|
||||||
| `v3.22.12` | `2.15.5` | Enterprise Server 3.12 | |
|
| `v3.28.6` | `2.20.3` | Enterprise Server 3.14 | |
|
||||||
|
| `v3.28.6` | `2.20.3` | Enterprise Server 3.13 | |
|
||||||
|
|
||||||
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).
|
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).
|
||||||
|
|
||||||
|
|||||||
@@ -1,44 +0,0 @@
|
|||||||
name: "actions"
|
|
||||||
aliases: []
|
|
||||||
display_name: "GitHub Actions"
|
|
||||||
version: 0.0.1
|
|
||||||
column_kind: "utf16"
|
|
||||||
unicode_newlines: true
|
|
||||||
build_modes:
|
|
||||||
- none
|
|
||||||
file_coverage_languages: []
|
|
||||||
github_api_languages: []
|
|
||||||
scc_languages: []
|
|
||||||
file_types:
|
|
||||||
- name: workflow
|
|
||||||
display_name: GitHub Actions workflow files
|
|
||||||
extensions:
|
|
||||||
- .yml
|
|
||||||
- .yaml
|
|
||||||
forwarded_extractor_name: javascript
|
|
||||||
options:
|
|
||||||
trap:
|
|
||||||
title: TRAP options
|
|
||||||
description: Options about how the extractor handles TRAP files
|
|
||||||
type: object
|
|
||||||
visibility: 3
|
|
||||||
properties:
|
|
||||||
cache:
|
|
||||||
title: TRAP cache options
|
|
||||||
description: Options about how the extractor handles its TRAP cache
|
|
||||||
type: object
|
|
||||||
properties:
|
|
||||||
dir:
|
|
||||||
title: TRAP cache directory
|
|
||||||
description: The directory of the TRAP cache to use
|
|
||||||
type: string
|
|
||||||
bound:
|
|
||||||
title: TRAP cache bound
|
|
||||||
description: A soft limit (in MB) on the size of the TRAP cache
|
|
||||||
type: string
|
|
||||||
pattern: "[0-9]+"
|
|
||||||
write:
|
|
||||||
title: TRAP cache writeable
|
|
||||||
description: Whether to write to the TRAP cache as well as reading it
|
|
||||||
type: string
|
|
||||||
pattern: "(true|TRUE|false|FALSE)"
|
|
||||||
@@ -1,40 +0,0 @@
|
|||||||
if (($null -ne $env:LGTM_INDEX_INCLUDE) -or ($null -ne $env:LGTM_INDEX_EXCLUDE) -or ($null -ne $env:LGTM_INDEX_FILTERS)) {
|
|
||||||
Write-Output 'Path filters set. Passing them through to the JavaScript extractor.'
|
|
||||||
} else {
|
|
||||||
Write-Output 'No path filters set. Using the default filters.'
|
|
||||||
$DefaultPathFilters = @(
|
|
||||||
'exclude:**/*',
|
|
||||||
'include:.github/workflows/**/*.yml',
|
|
||||||
'include:.github/workflows/**/*.yaml',
|
|
||||||
'include:**/action.yml',
|
|
||||||
'include:**/action.yaml'
|
|
||||||
)
|
|
||||||
|
|
||||||
$env:LGTM_INDEX_FILTERS = $DefaultPathFilters -join "`n"
|
|
||||||
}
|
|
||||||
|
|
||||||
# Find the JavaScript extractor directory via `codeql resolve extractor`.
|
|
||||||
$CodeQL = Join-Path $env:CODEQL_DIST 'codeql.exe'
|
|
||||||
$env:CODEQL_EXTRACTOR_JAVASCRIPT_ROOT = &$CodeQL resolve extractor --language javascript
|
|
||||||
if ($LASTEXITCODE -ne 0) {
|
|
||||||
throw 'Failed to resolve JavaScript extractor.'
|
|
||||||
}
|
|
||||||
|
|
||||||
Write-Output "Found JavaScript extractor at '${env:CODEQL_EXTRACTOR_JAVASCRIPT_ROOT}'."
|
|
||||||
|
|
||||||
# Run the JavaScript autobuilder.
|
|
||||||
$JavaScriptAutoBuild = Join-Path $env:CODEQL_EXTRACTOR_JAVASCRIPT_ROOT 'tools\autobuild.cmd'
|
|
||||||
Write-Output "Running JavaScript autobuilder at '${JavaScriptAutoBuild}'."
|
|
||||||
|
|
||||||
# Copy the values of the Actions extractor environment variables to the JavaScript extractor environment variables.
|
|
||||||
$env:CODEQL_EXTRACTOR_JAVASCRIPT_DIAGNOSTIC_DIR = $env:CODEQL_EXTRACTOR_ACTIONS_DIAGNOSTIC_DIR
|
|
||||||
$env:CODEQL_EXTRACTOR_JAVASCRIPT_LOG_DIR = $env:CODEQL_EXTRACTOR_ACTIONS_LOG_DIR
|
|
||||||
$env:CODEQL_EXTRACTOR_JAVASCRIPT_SCRATCH_DIR = $env:CODEQL_EXTRACTOR_ACTIONS_SCRATCH_DIR
|
|
||||||
$env:CODEQL_EXTRACTOR_JAVASCRIPT_SOURCE_ARCHIVE_DIR = $env:CODEQL_EXTRACTOR_ACTIONS_SOURCE_ARCHIVE_DIR
|
|
||||||
$env:CODEQL_EXTRACTOR_JAVASCRIPT_TRAP_DIR = $env:CODEQL_EXTRACTOR_ACTIONS_TRAP_DIR
|
|
||||||
$env:CODEQL_EXTRACTOR_JAVASCRIPT_WIP_DATABASE = $env:CODEQL_EXTRACTOR_ACTIONS_WIP_DATABASE
|
|
||||||
|
|
||||||
&$JavaScriptAutoBuild
|
|
||||||
if ($LASTEXITCODE -ne 0) {
|
|
||||||
throw "JavaScript autobuilder failed."
|
|
||||||
}
|
|
||||||
@@ -1,3 +0,0 @@
|
|||||||
@echo off
|
|
||||||
rem All of the work is done in the PowerShell script
|
|
||||||
powershell.exe %~dp0autobuild-impl.ps1
|
|
||||||
@@ -1,39 +0,0 @@
|
|||||||
#!/bin/sh
|
|
||||||
|
|
||||||
set -eu
|
|
||||||
|
|
||||||
DEFAULT_PATH_FILTERS=$(cat << END
|
|
||||||
exclude:**/*
|
|
||||||
include:.github/workflows/**/*.yml
|
|
||||||
include:.github/workflows/**/*.yaml
|
|
||||||
include:**/action.yml
|
|
||||||
include:**/action.yaml
|
|
||||||
END
|
|
||||||
)
|
|
||||||
|
|
||||||
if [ -n "${LGTM_INDEX_INCLUDE:-}" ] || [ -n "${LGTM_INDEX_EXCLUDE:-}" ] || [ -n "${LGTM_INDEX_FILTERS:-}" ] ; then
|
|
||||||
echo "Path filters set. Passing them through to the JavaScript extractor."
|
|
||||||
else
|
|
||||||
echo "No path filters set. Using the default filters."
|
|
||||||
LGTM_INDEX_FILTERS="${DEFAULT_PATH_FILTERS}"
|
|
||||||
export LGTM_INDEX_FILTERS
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Find the JavaScript extractor directory via `codeql resolve extractor`.
|
|
||||||
CODEQL_EXTRACTOR_JAVASCRIPT_ROOT="$($CODEQL_DIST/codeql resolve extractor --language javascript)"
|
|
||||||
export CODEQL_EXTRACTOR_JAVASCRIPT_ROOT
|
|
||||||
|
|
||||||
echo "Found JavaScript extractor at '${CODEQL_EXTRACTOR_JAVASCRIPT_ROOT}'."
|
|
||||||
|
|
||||||
# Run the JavaScript autobuilder
|
|
||||||
JAVASCRIPT_AUTO_BUILD="${CODEQL_EXTRACTOR_JAVASCRIPT_ROOT}/tools/autobuild.sh"
|
|
||||||
echo "Running JavaScript autobuilder at '${JAVASCRIPT_AUTO_BUILD}'."
|
|
||||||
|
|
||||||
# Copy the values of the Actions extractor environment variables to the JavaScript extractor environment variables.
|
|
||||||
env CODEQL_EXTRACTOR_JAVASCRIPT_DIAGNOSTIC_DIR="${CODEQL_EXTRACTOR_ACTIONS_DIAGNOSTIC_DIR}" \
|
|
||||||
CODEQL_EXTRACTOR_JAVASCRIPT_LOG_DIR="${CODEQL_EXTRACTOR_ACTIONS_LOG_DIR}" \
|
|
||||||
CODEQL_EXTRACTOR_JAVASCRIPT_SCRATCH_DIR="${CODEQL_EXTRACTOR_ACTIONS_SCRATCH_DIR}" \
|
|
||||||
CODEQL_EXTRACTOR_JAVASCRIPT_SOURCE_ARCHIVE_DIR="${CODEQL_EXTRACTOR_ACTIONS_SOURCE_ARCHIVE_DIR}" \
|
|
||||||
CODEQL_EXTRACTOR_JAVASCRIPT_TRAP_DIR="${CODEQL_EXTRACTOR_ACTIONS_TRAP_DIR}" \
|
|
||||||
CODEQL_EXTRACTOR_JAVASCRIPT_WIP_DATABASE="${CODEQL_EXTRACTOR_ACTIONS_WIP_DATABASE}" \
|
|
||||||
${JAVASCRIPT_AUTO_BUILD}
|
|
||||||
@@ -83,6 +83,9 @@ inputs:
|
|||||||
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
|
||||||
|
quality-queries:
|
||||||
|
description: '[Internal] Comma-separated list of code quality queries to run.'
|
||||||
|
required: false
|
||||||
packs:
|
packs:
|
||||||
description: >-
|
description: >-
|
||||||
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
|
||||||
|
|||||||
30
justfile
Normal file
30
justfile
Normal file
@@ -0,0 +1,30 @@
|
|||||||
|
# Perform all working copy cleanup operations
|
||||||
|
all: lint sync
|
||||||
|
|
||||||
|
# Lint source typescript
|
||||||
|
lint:
|
||||||
|
npm run lint-fix
|
||||||
|
|
||||||
|
# Sync generated files (javascript and PR checks)
|
||||||
|
sync: build update-pr-checks
|
||||||
|
|
||||||
|
# Perform all necessary steps to update the PR checks
|
||||||
|
update-pr-checks:
|
||||||
|
pr-checks/sync.sh
|
||||||
|
|
||||||
|
# Transpile typescript code into javascript
|
||||||
|
build:
|
||||||
|
npm run build
|
||||||
|
|
||||||
|
# Build then run all the tests
|
||||||
|
test: build
|
||||||
|
npm run test
|
||||||
|
|
||||||
|
# Run the tests for a single file
|
||||||
|
test_file filename: build
|
||||||
|
npx ava --verbose {{filename}}
|
||||||
|
|
||||||
|
[doc("Refresh the .js build artefacts in the lib directory")]
|
||||||
|
[confirm]
|
||||||
|
refresh-lib:
|
||||||
|
rm -rf lib && npm run build
|
||||||
19
lib/analyze-action-post.js
generated
19
lib/analyze-action-post.js
generated
@@ -38,11 +38,14 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|||||||
* It will run after the all steps in this job, in reverse order in relation to
|
* It will run after the all steps in this job, in reverse order in relation to
|
||||||
* other `post:` hooks.
|
* other `post:` hooks.
|
||||||
*/
|
*/
|
||||||
|
const fs = __importStar(require("fs"));
|
||||||
const core = __importStar(require("@actions/core"));
|
const core = __importStar(require("@actions/core"));
|
||||||
const actionsUtil = __importStar(require("./actions-util"));
|
const actionsUtil = __importStar(require("./actions-util"));
|
||||||
const api_client_1 = require("./api-client");
|
const api_client_1 = require("./api-client");
|
||||||
|
const codeql_1 = require("./codeql");
|
||||||
const config_utils_1 = require("./config-utils");
|
const config_utils_1 = require("./config-utils");
|
||||||
const debugArtifacts = __importStar(require("./debug-artifacts"));
|
const debugArtifacts = __importStar(require("./debug-artifacts"));
|
||||||
|
const dependency_caching_1 = require("./dependency-caching");
|
||||||
const environment_1 = require("./environment");
|
const environment_1 = require("./environment");
|
||||||
const logging_1 = require("./logging");
|
const logging_1 = require("./logging");
|
||||||
const util_1 = require("./util");
|
const util_1 = require("./util");
|
||||||
@@ -57,7 +60,21 @@ async function runWrapper() {
|
|||||||
if (process.env[environment_1.EnvVar.INIT_ACTION_HAS_RUN] === "true") {
|
if (process.env[environment_1.EnvVar.INIT_ACTION_HAS_RUN] === "true") {
|
||||||
const config = await (0, config_utils_1.getConfig)(actionsUtil.getTemporaryDirectory(), logger);
|
const config = await (0, config_utils_1.getConfig)(actionsUtil.getTemporaryDirectory(), logger);
|
||||||
if (config !== undefined) {
|
if (config !== undefined) {
|
||||||
await (0, logging_1.withGroup)("Uploading combined SARIF debug artifact", () => debugArtifacts.uploadCombinedSarifArtifacts(logger, config.gitHubVersion.type));
|
const codeql = await (0, codeql_1.getCodeQL)(config.codeQLCmd);
|
||||||
|
const version = await codeql.getVersion();
|
||||||
|
await debugArtifacts.uploadCombinedSarifArtifacts(logger, config.gitHubVersion.type, version.version);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// If we analysed Java in build-mode: none, we may have downloaded dependencies
|
||||||
|
// to the temp directory. Clean these up so they don't persist unnecessarily
|
||||||
|
// long on self-hosted runners.
|
||||||
|
const javaTempDependencyDir = (0, dependency_caching_1.getJavaTempDependencyDir)();
|
||||||
|
if (fs.existsSync(javaTempDependencyDir)) {
|
||||||
|
try {
|
||||||
|
fs.rmSync(javaTempDependencyDir, { recursive: true });
|
||||||
|
}
|
||||||
|
catch (error) {
|
||||||
|
logger.info(`Failed to remove temporary Java dependencies directory: ${(0, util_1.getErrorMessage)(error)}`);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1 +1 @@
|
|||||||
{"version":3,"file":"analyze-action-post.js","sourceRoot":"","sources":["../src/analyze-action-post.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;;;GAIG;AACH,oDAAsC;AAEtC,4DAA8C;AAC9C,6CAAgD;AAChD,iDAA2C;AAC3C,kEAAoD;AACpD,+CAAuC;AACvC,uCAAwD;AACxD,iCAAoE;AAEpE,KAAK,UAAU,UAAU;IACvB,IAAI,CAAC;QACH,WAAW,CAAC,aAAa,EAAE,CAAC;QAC5B,MAAM,MAAM,GAAG,IAAA,0BAAgB,GAAE,CAAC;QAClC,MAAM,aAAa,GAAG,MAAM,IAAA,6BAAgB,GAAE,CAAC;QAC/C,IAAA,gCAAyB,EAAC,aAAa,EAAE,MAAM,CAAC,CAAC;QAEjD,kFAAkF;QAClF,wFAAwF;QACxF,IAAI,OAAO,CAAC,GAAG,CAAC,oBAAM,CAAC,mBAAmB,CAAC,KAAK,MAAM,EAAE,CAAC;YACvD,MAAM,MAAM,GAAG,MAAM,IAAA,wBAAS,EAC5B,WAAW,CAAC,qBAAqB,EAAE,EACnC,MAAM,CACP,CAAC;YACF,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;gBACzB,MAAM,IAAA,mBAAS,EAAC,yCAAyC,EAAE,GAAG,EAAE,CAC9D,cAAc,CAAC,4BAA4B,CACzC,MAAM,EACN,MAAM,CAAC,aAAa,CAAC,IAAI,CAC1B,CACF,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,CAAC,SAAS,CACZ,oCAAoC,IAAA,sBAAe,EAAC,KAAK,CAAC,EAAE,CAC7D,CAAC;IACJ,CAAC;AACH,CAAC;AAED,KAAK,UAAU,EAAE,CAAC"}
|
{"version":3,"file":"analyze-action-post.js","sourceRoot":"","sources":["../src/analyze-action-post.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;;;GAIG;AACH,uCAAyB;AAEzB,oDAAsC;AAEtC,4DAA8C;AAC9C,6CAAgD;AAChD,qCAAqC;AACrC,iDAA2C;AAC3C,kEAAoD;AACpD,6DAAgE;AAChE,+CAAuC;AACvC,uCAA6C;AAC7C,iCAAoE;AAEpE,KAAK,UAAU,UAAU;IACvB,IAAI,CAAC;QACH,WAAW,CAAC,aAAa,EAAE,CAAC;QAC5B,MAAM,MAAM,GAAG,IAAA,0BAAgB,GAAE,CAAC;QAClC,MAAM,aAAa,GAAG,MAAM,IAAA,6BAAgB,GAAE,CAAC;QAC/C,IAAA,gCAAyB,EAAC,aAAa,EAAE,MAAM,CAAC,CAAC;QAEjD,kFAAkF;QAClF,wFAAwF;QACxF,IAAI,OAAO,CAAC,GAAG,CAAC,oBAAM,CAAC,mBAAmB,CAAC,KAAK,MAAM,EAAE,CAAC;YACvD,MAAM,MAAM,GAAG,MAAM,IAAA,wBAAS,EAC5B,WAAW,CAAC,qBAAqB,EAAE,EACnC,MAAM,CACP,CAAC;YACF,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;gBACzB,MAAM,MAAM,GAAG,MAAM,IAAA,kBAAS,EAAC,MAAM,CAAC,SAAS,CAAC,CAAC;gBACjD,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,UAAU,EAAE,CAAC;gBAC1C,MAAM,cAAc,CAAC,4BAA4B,CAC/C,MAAM,EACN,MAAM,CAAC,aAAa,CAAC,IAAI,EACzB,OAAO,CAAC,OAAO,CAChB,CAAC;YACJ,CAAC;QACH,CAAC;QAED,+EAA+E;QAC/E,4EAA4E;QAC5E,+BAA+B;QAC/B,MAAM,qBAAqB,GAAG,IAAA,6CAAwB,GAAE,CAAC;QACzD,IAAI,EAAE,CAAC,UAAU,CAAC,qBAAqB,CAAC,EAAE,CAAC;YACzC,IAAI,CAAC;gBACH,EAAE,CAAC,MAAM,CAAC,qBAAqB,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YACxD,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,CAAC,IAAI,CACT,2DAA2D,IAAA,sBAAe,EAAC,KAAK,CAAC,EAAE,CACpF,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,CAAC,SAAS,CACZ,oCAAoC,IAAA,sBAAe,EAAC,KAAK,CAAC,EAAE,CAC7D,CAAC;IACJ,CAAC;AACH,CAAC;AAED,KAAK,UAAU,EAAE,CAAC"}
|
||||||
28
lib/analyze-action.js
generated
28
lib/analyze-action.js
generated
@@ -41,7 +41,6 @@ const fs = __importStar(require("fs"));
|
|||||||
const path_1 = __importDefault(require("path"));
|
const path_1 = __importDefault(require("path"));
|
||||||
const perf_hooks_1 = require("perf_hooks");
|
const perf_hooks_1 = require("perf_hooks");
|
||||||
const core = __importStar(require("@actions/core"));
|
const core = __importStar(require("@actions/core"));
|
||||||
const github = __importStar(require("@actions/github"));
|
|
||||||
const actionsUtil = __importStar(require("./actions-util"));
|
const actionsUtil = __importStar(require("./actions-util"));
|
||||||
const analyze_1 = require("./analyze");
|
const analyze_1 = require("./analyze");
|
||||||
const api_client_1 = require("./api-client");
|
const api_client_1 = require("./api-client");
|
||||||
@@ -51,6 +50,7 @@ const codeql_1 = require("./codeql");
|
|||||||
const config_utils_1 = require("./config-utils");
|
const config_utils_1 = require("./config-utils");
|
||||||
const database_upload_1 = require("./database-upload");
|
const database_upload_1 = require("./database-upload");
|
||||||
const dependency_caching_1 = require("./dependency-caching");
|
const dependency_caching_1 = require("./dependency-caching");
|
||||||
|
const diff_informed_analysis_utils_1 = require("./diff-informed-analysis-utils");
|
||||||
const environment_1 = require("./environment");
|
const environment_1 = require("./environment");
|
||||||
const feature_flags_1 = require("./feature-flags");
|
const feature_flags_1 = require("./feature-flags");
|
||||||
const languages_1 = require("./languages");
|
const languages_1 = require("./languages");
|
||||||
@@ -160,6 +160,14 @@ async function run() {
|
|||||||
let dbCreationTimings = undefined;
|
let dbCreationTimings = undefined;
|
||||||
let didUploadTrapCaches = false;
|
let didUploadTrapCaches = false;
|
||||||
util.initializeEnvironment(actionsUtil.getActionVersion());
|
util.initializeEnvironment(actionsUtil.getActionVersion());
|
||||||
|
// Unset the CODEQL_PROXY_* environment variables, as they are not needed
|
||||||
|
// and can cause issues with the CodeQL CLI
|
||||||
|
// Check for CODEQL_PROXY_HOST: and if it is empty but set, unset it
|
||||||
|
if (process.env.CODEQL_PROXY_HOST === "") {
|
||||||
|
delete process.env.CODEQL_PROXY_HOST;
|
||||||
|
delete process.env.CODEQL_PROXY_PORT;
|
||||||
|
delete process.env.CODEQL_PROXY_CA_CERTIFICATE;
|
||||||
|
}
|
||||||
// Make inputs accessible in the `post` step, details at
|
// Make inputs accessible in the `post` step, details at
|
||||||
// https://github.com/github/codeql-action/issues/2553
|
// https://github.com/github/codeql-action/issues/2553
|
||||||
actionsUtil.persistInputs();
|
actionsUtil.persistInputs();
|
||||||
@@ -181,22 +189,24 @@ async function run() {
|
|||||||
const outputDir = actionsUtil.getRequiredInput("output");
|
const outputDir = actionsUtil.getRequiredInput("output");
|
||||||
core.exportVariable(environment_1.EnvVar.SARIF_RESULTS_OUTPUT_DIR, outputDir);
|
core.exportVariable(environment_1.EnvVar.SARIF_RESULTS_OUTPUT_DIR, outputDir);
|
||||||
const threads = util.getThreadsFlag(actionsUtil.getOptionalInput("threads") || process.env["CODEQL_THREADS"], logger);
|
const threads = util.getThreadsFlag(actionsUtil.getOptionalInput("threads") || process.env["CODEQL_THREADS"], logger);
|
||||||
const repositoryNwo = (0, repository_1.parseRepositoryNwo)(util.getRequiredEnvParam("GITHUB_REPOSITORY"));
|
const repositoryNwo = (0, repository_1.getRepositoryNwo)();
|
||||||
const gitHubVersion = await (0, api_client_1.getGitHubVersion)();
|
const gitHubVersion = await (0, api_client_1.getGitHubVersion)();
|
||||||
util.checkActionVersion(actionsUtil.getActionVersion(), gitHubVersion);
|
util.checkActionVersion(actionsUtil.getActionVersion(), gitHubVersion);
|
||||||
const features = new feature_flags_1.Features(gitHubVersion, repositoryNwo, actionsUtil.getTemporaryDirectory(), logger);
|
const features = new feature_flags_1.Features(gitHubVersion, repositoryNwo, actionsUtil.getTemporaryDirectory(), logger);
|
||||||
const memory = util.getMemoryFlag(actionsUtil.getOptionalInput("ram") || process.env["CODEQL_RAM"], logger);
|
const memory = util.getMemoryFlag(actionsUtil.getOptionalInput("ram") || process.env["CODEQL_RAM"], logger);
|
||||||
const pull_request = github.context.payload.pull_request;
|
const branches = await (0, diff_informed_analysis_utils_1.getDiffInformedAnalysisBranches)(codeql, features, logger);
|
||||||
const diffRangePackDir = pull_request &&
|
const diffRangePackDir = branches
|
||||||
(await (0, analyze_1.setupDiffInformedQueryRun)(pull_request.base.ref, pull_request.head.label, codeql, logger, features));
|
? await (0, analyze_1.setupDiffInformedQueryRun)(branches, logger)
|
||||||
|
: undefined;
|
||||||
await (0, analyze_1.warnIfGoInstalledAfterInit)(config, logger);
|
await (0, analyze_1.warnIfGoInstalledAfterInit)(config, logger);
|
||||||
await runAutobuildIfLegacyGoWorkflow(config, logger);
|
await runAutobuildIfLegacyGoWorkflow(config, logger);
|
||||||
dbCreationTimings = await (0, analyze_1.runFinalize)(outputDir, threads, memory, codeql, config, logger);
|
dbCreationTimings = await (0, analyze_1.runFinalize)(outputDir, threads, memory, codeql, config, logger);
|
||||||
|
const cleanupLevel = actionsUtil.getOptionalInput("cleanup-level") || "brutal";
|
||||||
if (actionsUtil.getRequiredInput("skip-queries") !== "true") {
|
if (actionsUtil.getRequiredInput("skip-queries") !== "true") {
|
||||||
runStats = await (0, analyze_1.runQueries)(outputDir, memory, util.getAddSnippetsFlag(actionsUtil.getRequiredInput("add-snippets")), threads, diffRangePackDir, actionsUtil.getOptionalInput("category"), config, logger, features);
|
runStats = await (0, analyze_1.runQueries)(outputDir, memory, util.getAddSnippetsFlag(actionsUtil.getRequiredInput("add-snippets")), threads, cleanupLevel, diffRangePackDir, actionsUtil.getOptionalInput("category"), config, logger, features);
|
||||||
}
|
}
|
||||||
if (actionsUtil.getOptionalInput("cleanup-level") !== "none") {
|
if (cleanupLevel !== "none") {
|
||||||
await (0, analyze_1.runCleanup)(config, actionsUtil.getOptionalInput("cleanup-level") || "brutal", logger);
|
await (0, analyze_1.runCleanup)(config, cleanupLevel, logger);
|
||||||
}
|
}
|
||||||
const dbLocations = {};
|
const dbLocations = {};
|
||||||
for (const language of config.languages) {
|
for (const language of config.languages) {
|
||||||
@@ -230,7 +240,7 @@ async function run() {
|
|||||||
}
|
}
|
||||||
else if (uploadResult !== undefined &&
|
else if (uploadResult !== undefined &&
|
||||||
actionsUtil.getRequiredInput("wait-for-processing") === "true") {
|
actionsUtil.getRequiredInput("wait-for-processing") === "true") {
|
||||||
await uploadLib.waitForProcessing((0, repository_1.parseRepositoryNwo)(util.getRequiredEnvParam("GITHUB_REPOSITORY")), uploadResult.sarifID, (0, logging_1.getActionsLogger)());
|
await uploadLib.waitForProcessing((0, repository_1.getRepositoryNwo)(), uploadResult.sarifID, (0, logging_1.getActionsLogger)());
|
||||||
}
|
}
|
||||||
// If we did not throw an error yet here, but we expect one, throw it.
|
// If we did not throw an error yet here, but we expect one, throw it.
|
||||||
if (actionsUtil.getOptionalInput("expect-error") === "true") {
|
if (actionsUtil.getOptionalInput("expect-error") === "true") {
|
||||||
|
|||||||
File diff suppressed because one or more lines are too long
93
lib/analyze.js
generated
93
lib/analyze.js
generated
@@ -54,14 +54,15 @@ const actionsUtil = __importStar(require("./actions-util"));
|
|||||||
const api_client_1 = require("./api-client");
|
const api_client_1 = require("./api-client");
|
||||||
const autobuild_1 = require("./autobuild");
|
const autobuild_1 = require("./autobuild");
|
||||||
const codeql_1 = require("./codeql");
|
const codeql_1 = require("./codeql");
|
||||||
|
const dependency_caching_1 = require("./dependency-caching");
|
||||||
const diagnostics_1 = require("./diagnostics");
|
const diagnostics_1 = require("./diagnostics");
|
||||||
|
const diff_informed_analysis_utils_1 = require("./diff-informed-analysis-utils");
|
||||||
const environment_1 = require("./environment");
|
const environment_1 = require("./environment");
|
||||||
const feature_flags_1 = require("./feature-flags");
|
const feature_flags_1 = require("./feature-flags");
|
||||||
const languages_1 = require("./languages");
|
const languages_1 = require("./languages");
|
||||||
const logging_1 = require("./logging");
|
const logging_1 = require("./logging");
|
||||||
const tools_features_1 = require("./tools-features");
|
const repository_1 = require("./repository");
|
||||||
const tracer_config_1 = require("./tracer-config");
|
const tracer_config_1 = require("./tracer-config");
|
||||||
const upload_lib_1 = require("./upload-lib");
|
|
||||||
const util = __importStar(require("./util"));
|
const util = __importStar(require("./util"));
|
||||||
const util_1 = require("./util");
|
const util_1 = require("./util");
|
||||||
class CodeQLAnalysisError extends Error {
|
class CodeQLAnalysisError extends Error {
|
||||||
@@ -95,12 +96,19 @@ async function runExtraction(codeql, config, logger) {
|
|||||||
if (language === languages_1.Language.python) {
|
if (language === languages_1.Language.python) {
|
||||||
await setupPythonExtractor(logger);
|
await setupPythonExtractor(logger);
|
||||||
}
|
}
|
||||||
if (config.buildMode &&
|
if (config.buildMode) {
|
||||||
(await codeql.supportsFeature(tools_features_1.ToolsFeature.TraceCommandUseBuildMode))) {
|
|
||||||
if (language === languages_1.Language.cpp &&
|
if (language === languages_1.Language.cpp &&
|
||||||
config.buildMode === util_1.BuildMode.Autobuild) {
|
config.buildMode === util_1.BuildMode.Autobuild) {
|
||||||
await (0, autobuild_1.setupCppAutobuild)(codeql, logger);
|
await (0, autobuild_1.setupCppAutobuild)(codeql, logger);
|
||||||
}
|
}
|
||||||
|
// The Java `build-mode: none` extractor places dependencies (.jar files) in the
|
||||||
|
// database scratch directory by default. For dependency caching purposes, we want
|
||||||
|
// a stable path that caches can be restored into and that we can cache at the
|
||||||
|
// end of the workflow (i.e. that does not get removed when the scratch directory is).
|
||||||
|
if (language === languages_1.Language.java && config.buildMode === util_1.BuildMode.None) {
|
||||||
|
process.env["CODEQL_EXTRACTOR_JAVA_OPTION_BUILDLESS_DEPENDENCY_DIR"] =
|
||||||
|
(0, dependency_caching_1.getJavaTempDependencyDir)();
|
||||||
|
}
|
||||||
await codeql.extractUsingBuildMode(config, language);
|
await codeql.extractUsingBuildMode(config, language);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
@@ -151,21 +159,13 @@ async function finalizeDatabaseCreation(codeql, config, threadsFlag, memoryFlag,
|
|||||||
/**
|
/**
|
||||||
* Set up the diff-informed analysis feature.
|
* Set up the diff-informed analysis feature.
|
||||||
*
|
*
|
||||||
* @param baseRef The base branch name, used for calculating the diff range.
|
|
||||||
* @param headLabel The label that uniquely identifies the head branch across
|
|
||||||
* repositories, used for calculating the diff range.
|
|
||||||
* @param codeql
|
|
||||||
* @param logger
|
|
||||||
* @param features
|
|
||||||
* @returns Absolute path to the directory containing the extension pack for
|
* @returns Absolute path to the directory containing the extension pack for
|
||||||
* the diff range information, or `undefined` if the feature is disabled.
|
* the diff range information, or `undefined` if the feature is disabled.
|
||||||
*/
|
*/
|
||||||
async function setupDiffInformedQueryRun(baseRef, headLabel, codeql, logger, features) {
|
async function setupDiffInformedQueryRun(branches, logger) {
|
||||||
if (!(await features.getValue(feature_flags_1.Feature.DiffInformedQueries, codeql))) {
|
|
||||||
return undefined;
|
|
||||||
}
|
|
||||||
return await (0, logging_1.withGroupAsync)("Generating diff range extension pack", async () => {
|
return await (0, logging_1.withGroupAsync)("Generating diff range extension pack", async () => {
|
||||||
const diffRanges = await getPullRequestEditedDiffRanges(baseRef, headLabel, logger);
|
logger.info(`Calculating diff ranges for ${branches.base}...${branches.head}`);
|
||||||
|
const diffRanges = await getPullRequestEditedDiffRanges(branches, logger);
|
||||||
const packDir = writeDiffRangeDataExtensionPack(logger, diffRanges);
|
const packDir = writeDiffRangeDataExtensionPack(logger, diffRanges);
|
||||||
if (packDir === undefined) {
|
if (packDir === undefined) {
|
||||||
logger.warning("Cannot create diff range extension pack for diff-informed queries; " +
|
logger.warning("Cannot create diff range extension pack for diff-informed queries; " +
|
||||||
@@ -180,17 +180,15 @@ async function setupDiffInformedQueryRun(baseRef, headLabel, codeql, logger, fea
|
|||||||
/**
|
/**
|
||||||
* Return the file line ranges that were added or modified in the pull request.
|
* Return the file line ranges that were added or modified in the pull request.
|
||||||
*
|
*
|
||||||
* @param baseRef The base branch name, used for calculating the diff range.
|
* @param branches The base and head branches of the pull request.
|
||||||
* @param headLabel The label that uniquely identifies the head branch across
|
|
||||||
* repositories, used for calculating the diff range.
|
|
||||||
* @param logger
|
* @param logger
|
||||||
* @returns An array of tuples, where each tuple contains the absolute path of a
|
* @returns An array of tuples, where each tuple contains the absolute path of a
|
||||||
* file, the start line and the end line (both 1-based and inclusive) of an
|
* file, the start line and the end line (both 1-based and inclusive) of an
|
||||||
* added or modified range in that file. Returns `undefined` if the action was
|
* added or modified range in that file. Returns `undefined` if the action was
|
||||||
* not triggered by a pull request or if there was an error.
|
* not triggered by a pull request or if there was an error.
|
||||||
*/
|
*/
|
||||||
async function getPullRequestEditedDiffRanges(baseRef, headLabel, logger) {
|
async function getPullRequestEditedDiffRanges(branches, logger) {
|
||||||
const fileDiffs = await getFileDiffsWithBasehead(baseRef, headLabel, logger);
|
const fileDiffs = await getFileDiffsWithBasehead(branches, logger);
|
||||||
if (fileDiffs === undefined) {
|
if (fileDiffs === undefined) {
|
||||||
return undefined;
|
return undefined;
|
||||||
}
|
}
|
||||||
@@ -213,15 +211,15 @@ async function getPullRequestEditedDiffRanges(baseRef, headLabel, logger) {
|
|||||||
}
|
}
|
||||||
return results;
|
return results;
|
||||||
}
|
}
|
||||||
async function getFileDiffsWithBasehead(baseRef, headLabel, logger) {
|
async function getFileDiffsWithBasehead(branches, logger) {
|
||||||
const ownerRepo = util.getRequiredEnvParam("GITHUB_REPOSITORY").split("/");
|
// Check CODE_SCANNING_REPOSITORY first. If it is empty or not set, fall back
|
||||||
const owner = ownerRepo[0];
|
// to GITHUB_REPOSITORY.
|
||||||
const repo = ownerRepo[1];
|
const repositoryNwo = (0, repository_1.getRepositoryNwoFromEnv)("CODE_SCANNING_REPOSITORY", "GITHUB_REPOSITORY");
|
||||||
const basehead = `${baseRef}...${headLabel}`;
|
const basehead = `${branches.base}...${branches.head}`;
|
||||||
try {
|
try {
|
||||||
const response = await (0, api_client_1.getApiClient)().rest.repos.compareCommitsWithBasehead({
|
const response = await (0, api_client_1.getApiClient)().rest.repos.compareCommitsWithBasehead({
|
||||||
owner,
|
owner: repositoryNwo.owner,
|
||||||
repo,
|
repo: repositoryNwo.repo,
|
||||||
basehead,
|
basehead,
|
||||||
per_page: 1,
|
per_page: 1,
|
||||||
});
|
});
|
||||||
@@ -333,8 +331,21 @@ function writeDiffRangeDataExtensionPack(logger, ranges) {
|
|||||||
if (ranges === undefined) {
|
if (ranges === undefined) {
|
||||||
return undefined;
|
return undefined;
|
||||||
}
|
}
|
||||||
|
if (ranges.length === 0) {
|
||||||
|
// An empty diff range means that there are no added or modified lines in
|
||||||
|
// the pull request. But the `restrictAlertsTo` extensible predicate
|
||||||
|
// interprets an empty data extension differently, as an indication that
|
||||||
|
// all alerts should be included. So we need to specifically set the diff
|
||||||
|
// range to a non-empty list that cannot match any alert location.
|
||||||
|
ranges = [{ path: "", startLine: 0, endLine: 0 }];
|
||||||
|
}
|
||||||
const diffRangeDir = path.join(actionsUtil.getTemporaryDirectory(), "pr-diff-range");
|
const diffRangeDir = path.join(actionsUtil.getTemporaryDirectory(), "pr-diff-range");
|
||||||
fs.mkdirSync(diffRangeDir);
|
// We expect the Actions temporary directory to already exist, so are mainly
|
||||||
|
// using `recursive: true` to avoid errors if the directory already exists,
|
||||||
|
// for example if the analyze Action is run multiple times in the same job.
|
||||||
|
// This is not really something that is supported, but we make use of it in
|
||||||
|
// tests.
|
||||||
|
fs.mkdirSync(diffRangeDir, { recursive: true });
|
||||||
fs.writeFileSync(path.join(diffRangeDir, "qlpack.yml"), `
|
fs.writeFileSync(path.join(diffRangeDir, "qlpack.yml"), `
|
||||||
name: codeql-action/pr-diff-range
|
name: codeql-action/pr-diff-range
|
||||||
version: 0.0.0
|
version: 0.0.0
|
||||||
@@ -349,6 +360,7 @@ extensions:
|
|||||||
- addsTo:
|
- addsTo:
|
||||||
pack: codeql/util
|
pack: codeql/util
|
||||||
extensible: restrictAlertsTo
|
extensible: restrictAlertsTo
|
||||||
|
checkPresence: false
|
||||||
data:
|
data:
|
||||||
`;
|
`;
|
||||||
let data = ranges
|
let data = ranges
|
||||||
@@ -368,23 +380,27 @@ extensions:
|
|||||||
const extensionFilePath = path.join(diffRangeDir, "pr-diff-range.yml");
|
const extensionFilePath = path.join(diffRangeDir, "pr-diff-range.yml");
|
||||||
fs.writeFileSync(extensionFilePath, extensionContents);
|
fs.writeFileSync(extensionFilePath, extensionContents);
|
||||||
logger.debug(`Wrote pr-diff-range extension pack to ${extensionFilePath}:\n${extensionContents}`);
|
logger.debug(`Wrote pr-diff-range extension pack to ${extensionFilePath}:\n${extensionContents}`);
|
||||||
|
// Write the diff ranges to a JSON file, for action-side alert filtering by the
|
||||||
|
// upload-lib module.
|
||||||
|
(0, diff_informed_analysis_utils_1.writeDiffRangesJsonFile)(logger, ranges);
|
||||||
return diffRangeDir;
|
return diffRangeDir;
|
||||||
}
|
}
|
||||||
// Runs queries and creates sarif files in the given folder
|
// Runs queries and creates sarif files in the given folder
|
||||||
async function runQueries(sarifFolder, memoryFlag, addSnippetsFlag, threadsFlag, diffRangePackDir, automationDetailsId, config, logger, features) {
|
async function runQueries(sarifFolder, memoryFlag, addSnippetsFlag, threadsFlag, cleanupLevel, diffRangePackDir, automationDetailsId, config, logger, features) {
|
||||||
const statusReport = {};
|
const statusReport = {};
|
||||||
|
const queryFlags = [memoryFlag, threadsFlag];
|
||||||
|
if (cleanupLevel !== "overlay") {
|
||||||
|
queryFlags.push("--expect-discarded-cache");
|
||||||
|
}
|
||||||
statusReport.analysis_is_diff_informed = diffRangePackDir !== undefined;
|
statusReport.analysis_is_diff_informed = diffRangePackDir !== undefined;
|
||||||
const dataExtensionFlags = diffRangePackDir
|
if (diffRangePackDir) {
|
||||||
? [
|
queryFlags.push(`--additional-packs=${diffRangePackDir}`);
|
||||||
`--additional-packs=${diffRangePackDir}`,
|
queryFlags.push("--extension-packs=codeql-action/pr-diff-range");
|
||||||
"--extension-packs=codeql-action/pr-diff-range",
|
}
|
||||||
]
|
|
||||||
: [];
|
|
||||||
const sarifRunPropertyFlag = diffRangePackDir
|
const sarifRunPropertyFlag = diffRangePackDir
|
||||||
? "--sarif-run-property=incrementalMode=diff-informed"
|
? "--sarif-run-property=incrementalMode=diff-informed"
|
||||||
: undefined;
|
: undefined;
|
||||||
const codeql = await (0, codeql_1.getCodeQL)(config.codeQLCmd);
|
const codeql = await (0, codeql_1.getCodeQL)(config.codeQLCmd);
|
||||||
const queryFlags = [memoryFlag, threadsFlag, ...dataExtensionFlags];
|
|
||||||
for (const language of config.languages) {
|
for (const language of config.languages) {
|
||||||
try {
|
try {
|
||||||
const sarifFile = path.join(sarifFolder, `${language}.sarif`);
|
const sarifFile = path.join(sarifFolder, `${language}.sarif`);
|
||||||
@@ -410,7 +426,7 @@ async function runQueries(sarifFolder, memoryFlag, addSnippetsFlag, threadsFlag,
|
|||||||
logger.endGroup();
|
logger.endGroup();
|
||||||
logger.info(analysisSummary);
|
logger.info(analysisSummary);
|
||||||
if (await features.getValue(feature_flags_1.Feature.QaTelemetryEnabled)) {
|
if (await features.getValue(feature_flags_1.Feature.QaTelemetryEnabled)) {
|
||||||
const perQueryAlertCounts = getPerQueryAlertCounts(sarifFile, logger);
|
const perQueryAlertCounts = getPerQueryAlertCounts(sarifFile);
|
||||||
const perQueryAlertCountEventReport = {
|
const perQueryAlertCountEventReport = {
|
||||||
event: "codeql database interpret-results",
|
event: "codeql database interpret-results",
|
||||||
started_at: startTimeInterpretResults.toISOString(),
|
started_at: startTimeInterpretResults.toISOString(),
|
||||||
@@ -438,8 +454,7 @@ async function runQueries(sarifFolder, memoryFlag, addSnippetsFlag, threadsFlag,
|
|||||||
return await codeql.databaseInterpretResults(databasePath, queries, sarifFile, addSnippetsFlag, threadsFlag, enableDebugLogging ? "-vv" : "-v", sarifRunPropertyFlag, automationDetailsId, config, features);
|
return await codeql.databaseInterpretResults(databasePath, queries, sarifFile, addSnippetsFlag, threadsFlag, enableDebugLogging ? "-vv" : "-v", sarifRunPropertyFlag, automationDetailsId, config, features);
|
||||||
}
|
}
|
||||||
/** Get an object with all queries and their counts parsed from a SARIF file path. */
|
/** Get an object with all queries and their counts parsed from a SARIF file path. */
|
||||||
function getPerQueryAlertCounts(sarifPath, log) {
|
function getPerQueryAlertCounts(sarifPath) {
|
||||||
(0, upload_lib_1.validateSarifFileSchema)(sarifPath, log);
|
|
||||||
const sarifObject = JSON.parse(fs.readFileSync(sarifPath, "utf8"));
|
const sarifObject = JSON.parse(fs.readFileSync(sarifPath, "utf8"));
|
||||||
// We do not need to compute fingerprints because we are not sending data based off of locations.
|
// We do not need to compute fingerprints because we are not sending data based off of locations.
|
||||||
// Generate the query: alert count object
|
// Generate the query: alert count object
|
||||||
|
|||||||
File diff suppressed because one or more lines are too long
2
lib/analyze.test.js
generated
2
lib/analyze.test.js
generated
@@ -114,7 +114,7 @@ const util = __importStar(require("./util"));
|
|||||||
fs.mkdirSync(util.getCodeQLDatabasePath(config, language), {
|
fs.mkdirSync(util.getCodeQLDatabasePath(config, language), {
|
||||||
recursive: true,
|
recursive: true,
|
||||||
});
|
});
|
||||||
const statusReport = await (0, analyze_1.runQueries)(tmpDir, memoryFlag, addSnippetsFlag, threadsFlag, undefined, undefined, config, (0, logging_1.getRunnerLogger)(true), (0, testing_utils_1.createFeatures)([feature_flags_1.Feature.QaTelemetryEnabled]));
|
const statusReport = await (0, analyze_1.runQueries)(tmpDir, memoryFlag, addSnippetsFlag, threadsFlag, "brutal", undefined, undefined, config, (0, logging_1.getRunnerLogger)(true), (0, testing_utils_1.createFeatures)([feature_flags_1.Feature.QaTelemetryEnabled]));
|
||||||
t.deepEqual(Object.keys(statusReport).sort(), [
|
t.deepEqual(Object.keys(statusReport).sort(), [
|
||||||
"analysis_is_diff_informed",
|
"analysis_is_diff_informed",
|
||||||
`analyze_builtin_queries_${language}_duration_ms`,
|
`analyze_builtin_queries_${language}_duration_ms`,
|
||||||
|
|||||||
File diff suppressed because one or more lines are too long
21
lib/api-client.js
generated
21
lib/api-client.js
generated
@@ -122,14 +122,12 @@ async function getGitHubVersion() {
|
|||||||
* Get the path of the currently executing workflow relative to the repository root.
|
* Get the path of the currently executing workflow relative to the repository root.
|
||||||
*/
|
*/
|
||||||
async function getWorkflowRelativePath() {
|
async function getWorkflowRelativePath() {
|
||||||
const repo_nwo = (0, util_1.getRequiredEnvParam)("GITHUB_REPOSITORY").split("/");
|
const repo_nwo = (0, repository_1.getRepositoryNwo)();
|
||||||
const owner = repo_nwo[0];
|
|
||||||
const repo = repo_nwo[1];
|
|
||||||
const run_id = Number((0, util_1.getRequiredEnvParam)("GITHUB_RUN_ID"));
|
const run_id = Number((0, util_1.getRequiredEnvParam)("GITHUB_RUN_ID"));
|
||||||
const apiClient = getApiClient();
|
const apiClient = getApiClient();
|
||||||
const runsResponse = await apiClient.request("GET /repos/:owner/:repo/actions/runs/:run_id?exclude_pull_requests=true", {
|
const runsResponse = await apiClient.request("GET /repos/:owner/:repo/actions/runs/:run_id?exclude_pull_requests=true", {
|
||||||
owner,
|
owner: repo_nwo.owner,
|
||||||
repo,
|
repo: repo_nwo.repo,
|
||||||
run_id,
|
run_id,
|
||||||
});
|
});
|
||||||
const workflowUrl = runsResponse.data.workflow_url;
|
const workflowUrl = runsResponse.data.workflow_url;
|
||||||
@@ -187,7 +185,7 @@ function computeAutomationID(analysis_key, environment) {
|
|||||||
}
|
}
|
||||||
/** List all Actions cache entries matching the provided key and ref. */
|
/** List all Actions cache entries matching the provided key and ref. */
|
||||||
async function listActionsCaches(key, ref) {
|
async function listActionsCaches(key, ref) {
|
||||||
const repositoryNwo = (0, repository_1.parseRepositoryNwo)((0, util_1.getRequiredEnvParam)("GITHUB_REPOSITORY"));
|
const repositoryNwo = (0, repository_1.getRepositoryNwo)();
|
||||||
return await getApiClient().paginate("GET /repos/{owner}/{repo}/actions/caches", {
|
return await getApiClient().paginate("GET /repos/{owner}/{repo}/actions/caches", {
|
||||||
owner: repositoryNwo.owner,
|
owner: repositoryNwo.owner,
|
||||||
repo: repositoryNwo.repo,
|
repo: repositoryNwo.repo,
|
||||||
@@ -197,7 +195,7 @@ async function listActionsCaches(key, ref) {
|
|||||||
}
|
}
|
||||||
/** Delete an Actions cache item by its ID. */
|
/** Delete an Actions cache item by its ID. */
|
||||||
async function deleteActionsCache(id) {
|
async function deleteActionsCache(id) {
|
||||||
const repositoryNwo = (0, repository_1.parseRepositoryNwo)((0, util_1.getRequiredEnvParam)("GITHUB_REPOSITORY"));
|
const repositoryNwo = (0, repository_1.getRepositoryNwo)();
|
||||||
await getApiClient().rest.actions.deleteActionsCacheById({
|
await getApiClient().rest.actions.deleteActionsCacheById({
|
||||||
owner: repositoryNwo.owner,
|
owner: repositoryNwo.owner,
|
||||||
repo: repositoryNwo.repo,
|
repo: repositoryNwo.repo,
|
||||||
@@ -206,11 +204,16 @@ async function deleteActionsCache(id) {
|
|||||||
}
|
}
|
||||||
function wrapApiConfigurationError(e) {
|
function wrapApiConfigurationError(e) {
|
||||||
if ((0, util_1.isHTTPError)(e)) {
|
if ((0, util_1.isHTTPError)(e)) {
|
||||||
if (e.message.includes("API rate limit exceeded for site ID installation") ||
|
if (e.message.includes("API rate limit exceeded for installation") ||
|
||||||
e.message.includes("commit not found") ||
|
e.message.includes("commit not found") ||
|
||||||
/^ref .* not found in this repository$/.test(e.message)) {
|
e.message.includes("Resource not accessible by integration") ||
|
||||||
|
/ref .* not found in this repository/.test(e.message)) {
|
||||||
return new util_1.ConfigurationError(e.message);
|
return new util_1.ConfigurationError(e.message);
|
||||||
}
|
}
|
||||||
|
else if (e.message.includes("Bad credentials") ||
|
||||||
|
e.message.includes("Not Found")) {
|
||||||
|
return new util_1.ConfigurationError("Please check that your token is valid and has the required permissions: contents: read, security-events: write");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
return e;
|
return e;
|
||||||
}
|
}
|
||||||
|
|||||||
File diff suppressed because one or more lines are too long
36
lib/api-client.test.js
generated
36
lib/api-client.test.js
generated
@@ -120,4 +120,40 @@ function mockGetMetaVersionHeader(versionHeader) {
|
|||||||
});
|
});
|
||||||
t.deepEqual({ type: util.GitHubVariant.GHE_DOTCOM }, gheDotcom);
|
t.deepEqual({ type: util.GitHubVariant.GHE_DOTCOM }, gheDotcom);
|
||||||
});
|
});
|
||||||
|
(0, ava_1.default)("wrapApiConfigurationError correctly wraps specific configuration errors", (t) => {
|
||||||
|
// We don't reclassify arbitrary errors
|
||||||
|
const arbitraryError = new Error("arbitrary error");
|
||||||
|
let res = api.wrapApiConfigurationError(arbitraryError);
|
||||||
|
t.is(res, arbitraryError);
|
||||||
|
// Same goes for arbitrary errors
|
||||||
|
const configError = new util.ConfigurationError("arbitrary error");
|
||||||
|
res = api.wrapApiConfigurationError(configError);
|
||||||
|
t.is(res, configError);
|
||||||
|
// If an HTTP error doesn't contain a specific error message, we don't
|
||||||
|
// wrap is an an API error.
|
||||||
|
const httpError = new util.HTTPError("arbitrary HTTP error", 456);
|
||||||
|
res = api.wrapApiConfigurationError(httpError);
|
||||||
|
t.is(res, httpError);
|
||||||
|
// For other HTTP errors, we wrap them as Configuration errors if they contain
|
||||||
|
// specific error messages.
|
||||||
|
const httpNotFoundError = new util.HTTPError("commit not found", 404);
|
||||||
|
res = api.wrapApiConfigurationError(httpNotFoundError);
|
||||||
|
t.deepEqual(res, new util.ConfigurationError("commit not found"));
|
||||||
|
const refNotFoundError = new util.HTTPError("ref 'refs/heads/jitsi' not found in this repository - https://docs.github.com/rest", 404);
|
||||||
|
res = api.wrapApiConfigurationError(refNotFoundError);
|
||||||
|
t.deepEqual(res, new util.ConfigurationError("ref 'refs/heads/jitsi' not found in this repository - https://docs.github.com/rest"));
|
||||||
|
const apiRateLimitError = new util.HTTPError("API rate limit exceeded for installation", 403);
|
||||||
|
res = api.wrapApiConfigurationError(apiRateLimitError);
|
||||||
|
t.deepEqual(res, new util.ConfigurationError("API rate limit exceeded for installation"));
|
||||||
|
const tokenSuggestionMessage = "Please check that your token is valid and has the required permissions: contents: read, security-events: write";
|
||||||
|
const badCredentialsError = new util.HTTPError("Bad credentials", 401);
|
||||||
|
res = api.wrapApiConfigurationError(badCredentialsError);
|
||||||
|
t.deepEqual(res, new util.ConfigurationError(tokenSuggestionMessage));
|
||||||
|
const notFoundError = new util.HTTPError("Not Found", 404);
|
||||||
|
res = api.wrapApiConfigurationError(notFoundError);
|
||||||
|
t.deepEqual(res, new util.ConfigurationError(tokenSuggestionMessage));
|
||||||
|
const resourceNotAccessibleError = new util.HTTPError("Resource not accessible by integration", 403);
|
||||||
|
res = api.wrapApiConfigurationError(resourceNotAccessibleError);
|
||||||
|
t.deepEqual(res, new util.ConfigurationError("Resource not accessible by integration"));
|
||||||
|
});
|
||||||
//# sourceMappingURL=api-client.test.js.map
|
//# sourceMappingURL=api-client.test.js.map
|
||||||
File diff suppressed because one or more lines are too long
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user