mirror of
https://github.com/github/codeql-action.git
synced 2025-12-10 17:54:36 +08:00
Compare commits
218 Commits
codeql-bun
...
codeql-bun
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
1bb15d06a6 | ||
|
|
acadfedea5 | ||
|
|
1930ca4359 | ||
|
|
1d4f241470 | ||
|
|
9dfa165835 | ||
|
|
47d5364431 | ||
|
|
30b1c2ae15 | ||
|
|
c4158ff890 | ||
|
|
2be5f244ff | ||
|
|
8c1551cdd4 | ||
|
|
fc4873bed7 | ||
|
|
c3ad6e9deb | ||
|
|
61c77a48ff | ||
|
|
4267fa66a2 | ||
|
|
c4a8587f45 | ||
|
|
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 | ||
|
|
d90e07f32e | ||
|
|
7b7562b176 | ||
|
|
c16863838b | ||
|
|
0d043c929c | ||
|
|
0f1559aeaf | ||
|
|
2d608a3097 | ||
|
|
94f08f339e | ||
|
|
071996fbe2 | ||
|
|
5889cfd499 | ||
|
|
7ae5fc37a2 | ||
|
|
40a203a0ea | ||
|
|
bd76a92ebe | ||
|
|
93da9f25ab | ||
|
|
4de061d85d | ||
|
|
b40fa61fd6 | ||
|
|
fc8d71f801 | ||
|
|
048b0a2fc9 | ||
|
|
02dfacf1c1 | ||
|
|
3b4f4d94c0 | ||
|
|
1efc6bb9ce | ||
|
|
31d11b19a0 | ||
|
|
ae19466961 | ||
|
|
3548ff54b5 | ||
|
|
52315a9f7d | ||
|
|
784896750f | ||
|
|
d4c56bbb31 | ||
|
|
63d1f4f8a2 | ||
|
|
68b1b4e9eb | ||
|
|
10a3f072a0 | ||
|
|
e5a7c904c1 | ||
|
|
7269bf610b | ||
|
|
a082142a01 | ||
|
|
2584941842 | ||
|
|
cecb471d0a | ||
|
|
de0f9cf316 | ||
|
|
68378a359a | ||
|
|
1f86f55dce | ||
|
|
e02d65ac18 | ||
|
|
c0addecf24 | ||
|
|
a477602004 | ||
|
|
db7177a1c6 | ||
|
|
79c94942ec | ||
|
|
fe593c34e6 | ||
|
|
87fc816d25 | ||
|
|
47835cd7ea | ||
|
|
c050c40379 | ||
|
|
2b9e645437 | ||
|
|
fd3c034df5 | ||
|
|
18c1cbf7f6 | ||
|
|
b6a472f63d | ||
|
|
bb999b434f | ||
|
|
ea6acbfeae | ||
|
|
4df151edec | ||
|
|
a05a7eb09c | ||
|
|
8d2753b250 | ||
|
|
e83e0a4f58 | ||
|
|
b7ff30899f | ||
|
|
1aa16c2c36 | ||
|
|
fb65b6ce78 | ||
|
|
b25558b211 | ||
|
|
9dab6bb65d | ||
|
|
4daa59537b | ||
|
|
03d573167f | ||
|
|
66f5682768 | ||
|
|
4541c135a4 | ||
|
|
913d60579d | ||
|
|
04b5afaa72 | ||
|
|
a06dbc607d | ||
|
|
07a86f82ca | ||
|
|
cf733fe86d | ||
|
|
97aec69211 | ||
|
|
a5a85242b9 | ||
|
|
695f3263e3 | ||
|
|
7b4c9fef7d |
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
|
||||||
2
.github/releases.ini
vendored
2
.github/releases.ini
vendored
@@ -1 +1 @@
|
|||||||
OLDEST_SUPPORTED_MAJOR_VERSION=2
|
OLDEST_SUPPORTED_MAJOR_VERSION=3
|
||||||
|
|||||||
7
.github/workflows/__all-platform-bundle.yml
generated
vendored
7
.github/workflows/__all-platform-bundle.yml
generated
vendored
@@ -32,15 +32,10 @@ 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:
|
||||||
- name: Setup Python on macOS
|
|
||||||
uses: actions/setup-python@v5
|
|
||||||
if: runner.os == 'macOS' && matrix.version == 'stable-v2.14.6'
|
|
||||||
with:
|
|
||||||
python-version: '3.11'
|
|
||||||
- name: Check out repository
|
- name: Check out repository
|
||||||
uses: actions/checkout@v4
|
uses: actions/checkout@v4
|
||||||
- name: Prepare test
|
- name: Prepare test
|
||||||
|
|||||||
7
.github/workflows/__analyze-ref-input.yml
generated
vendored
7
.github/workflows/__analyze-ref-input.yml
generated
vendored
@@ -36,15 +36,10 @@ 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:
|
||||||
- name: Setup Python on macOS
|
|
||||||
uses: actions/setup-python@v5
|
|
||||||
if: runner.os == 'macOS' && matrix.version == 'stable-v2.14.6'
|
|
||||||
with:
|
|
||||||
python-version: '3.11'
|
|
||||||
- name: Check out repository
|
- name: Check out repository
|
||||||
uses: actions/checkout@v4
|
uses: actions/checkout@v4
|
||||||
- name: Prepare test
|
- name: Prepare test
|
||||||
|
|||||||
7
.github/workflows/__autobuild-action.yml
generated
vendored
7
.github/workflows/__autobuild-action.yml
generated
vendored
@@ -36,15 +36,10 @@ 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:
|
||||||
- name: Setup Python on macOS
|
|
||||||
uses: actions/setup-python@v5
|
|
||||||
if: runner.os == 'macOS' && matrix.version == 'stable-v2.14.6'
|
|
||||||
with:
|
|
||||||
python-version: '3.11'
|
|
||||||
- name: Check out repository
|
- name: Check out repository
|
||||||
uses: actions/checkout@v4
|
uses: actions/checkout@v4
|
||||||
- name: Prepare test
|
- name: Prepare test
|
||||||
|
|||||||
7
.github/workflows/__autobuild-direct-tracing-with-working-dir.yml
generated
vendored
7
.github/workflows/__autobuild-direct-tracing-with-working-dir.yml
generated
vendored
@@ -38,15 +38,10 @@ 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:
|
||||||
- name: Setup Python on macOS
|
|
||||||
uses: actions/setup-python@v5
|
|
||||||
if: runner.os == 'macOS' && matrix.version == 'stable-v2.14.6'
|
|
||||||
with:
|
|
||||||
python-version: '3.11'
|
|
||||||
- name: Check out repository
|
- name: Check out repository
|
||||||
uses: actions/checkout@v4
|
uses: actions/checkout@v4
|
||||||
- name: Prepare test
|
- name: Prepare test
|
||||||
|
|||||||
7
.github/workflows/__autobuild-direct-tracing.yml
generated
vendored
7
.github/workflows/__autobuild-direct-tracing.yml
generated
vendored
@@ -38,15 +38,10 @@ 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:
|
||||||
- name: Setup Python on macOS
|
|
||||||
uses: actions/setup-python@v5
|
|
||||||
if: runner.os == 'macOS' && matrix.version == 'stable-v2.14.6'
|
|
||||||
with:
|
|
||||||
python-version: '3.11'
|
|
||||||
- name: Check out repository
|
- name: Check out repository
|
||||||
uses: actions/checkout@v4
|
uses: actions/checkout@v4
|
||||||
- name: Prepare test
|
- name: Prepare test
|
||||||
|
|||||||
7
.github/workflows/__build-mode-autobuild.yml
generated
vendored
7
.github/workflows/__build-mode-autobuild.yml
generated
vendored
@@ -32,15 +32,10 @@ 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:
|
||||||
- name: Setup Python on macOS
|
|
||||||
uses: actions/setup-python@v5
|
|
||||||
if: runner.os == 'macOS' && matrix.version == 'stable-v2.14.6'
|
|
||||||
with:
|
|
||||||
python-version: '3.11'
|
|
||||||
- name: Check out repository
|
- name: Check out repository
|
||||||
uses: actions/checkout@v4
|
uses: actions/checkout@v4
|
||||||
- name: Prepare test
|
- name: Prepare test
|
||||||
|
|||||||
7
.github/workflows/__build-mode-manual.yml
generated
vendored
7
.github/workflows/__build-mode-manual.yml
generated
vendored
@@ -32,15 +32,10 @@ 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:
|
||||||
- name: Setup Python on macOS
|
|
||||||
uses: actions/setup-python@v5
|
|
||||||
if: runner.os == 'macOS' && matrix.version == 'stable-v2.14.6'
|
|
||||||
with:
|
|
||||||
python-version: '3.11'
|
|
||||||
- name: Check out repository
|
- name: Check out repository
|
||||||
uses: actions/checkout@v4
|
uses: actions/checkout@v4
|
||||||
- name: Prepare test
|
- name: Prepare test
|
||||||
|
|||||||
7
.github/workflows/__build-mode-none.yml
generated
vendored
7
.github/workflows/__build-mode-none.yml
generated
vendored
@@ -34,15 +34,10 @@ 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:
|
||||||
- name: Setup Python on macOS
|
|
||||||
uses: actions/setup-python@v5
|
|
||||||
if: runner.os == 'macOS' && matrix.version == 'stable-v2.14.6'
|
|
||||||
with:
|
|
||||||
python-version: '3.11'
|
|
||||||
- name: Check out repository
|
- name: Check out repository
|
||||||
uses: actions/checkout@v4
|
uses: actions/checkout@v4
|
||||||
- name: Prepare test
|
- name: Prepare test
|
||||||
|
|||||||
7
.github/workflows/__build-mode-rollback.yml
generated
vendored
7
.github/workflows/__build-mode-rollback.yml
generated
vendored
@@ -32,15 +32,10 @@ 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:
|
||||||
- name: Setup Python on macOS
|
|
||||||
uses: actions/setup-python@v5
|
|
||||||
if: runner.os == 'macOS' && matrix.version == 'stable-v2.14.6'
|
|
||||||
with:
|
|
||||||
python-version: '3.11'
|
|
||||||
- name: Check out repository
|
- name: Check out repository
|
||||||
uses: actions/checkout@v4
|
uses: actions/checkout@v4
|
||||||
- name: Prepare test
|
- name: Prepare test
|
||||||
|
|||||||
7
.github/workflows/__cleanup-db-cluster-dir.yml
generated
vendored
7
.github/workflows/__cleanup-db-cluster-dir.yml
generated
vendored
@@ -32,15 +32,10 @@ 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:
|
||||||
- name: Setup Python on macOS
|
|
||||||
uses: actions/setup-python@v5
|
|
||||||
if: runner.os == 'macOS' && matrix.version == 'stable-v2.14.6'
|
|
||||||
with:
|
|
||||||
python-version: '3.11'
|
|
||||||
- name: Check out repository
|
- name: Check out repository
|
||||||
uses: actions/checkout@v4
|
uses: actions/checkout@v4
|
||||||
- name: Prepare test
|
- name: Prepare test
|
||||||
|
|||||||
7
.github/workflows/__config-export.yml
generated
vendored
7
.github/workflows/__config-export.yml
generated
vendored
@@ -42,15 +42,10 @@ 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:
|
||||||
- name: Setup Python on macOS
|
|
||||||
uses: actions/setup-python@v5
|
|
||||||
if: runner.os == 'macOS' && matrix.version == 'stable-v2.14.6'
|
|
||||||
with:
|
|
||||||
python-version: '3.11'
|
|
||||||
- name: Check out repository
|
- name: Check out repository
|
||||||
uses: actions/checkout@v4
|
uses: actions/checkout@v4
|
||||||
- name: Prepare test
|
- name: Prepare test
|
||||||
|
|||||||
7
.github/workflows/__config-input.yml
generated
vendored
7
.github/workflows/__config-input.yml
generated
vendored
@@ -32,15 +32,10 @@ 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:
|
||||||
- name: Setup Python on macOS
|
|
||||||
uses: actions/setup-python@v5
|
|
||||||
if: runner.os == 'macOS' && matrix.version == 'stable-v2.14.6'
|
|
||||||
with:
|
|
||||||
python-version: '3.11'
|
|
||||||
- name: Check out repository
|
- name: Check out repository
|
||||||
uses: actions/checkout@v4
|
uses: actions/checkout@v4
|
||||||
- name: Prepare test
|
- name: Prepare test
|
||||||
|
|||||||
7
.github/workflows/__cpp-deptrace-disabled.yml
generated
vendored
7
.github/workflows/__cpp-deptrace-disabled.yml
generated
vendored
@@ -36,15 +36,10 @@ 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:
|
||||||
- name: Setup Python on macOS
|
|
||||||
uses: actions/setup-python@v5
|
|
||||||
if: runner.os == 'macOS' && matrix.version == 'stable-v2.14.6'
|
|
||||||
with:
|
|
||||||
python-version: '3.11'
|
|
||||||
- name: Check out repository
|
- name: Check out repository
|
||||||
uses: actions/checkout@v4
|
uses: actions/checkout@v4
|
||||||
- name: Prepare test
|
- name: Prepare test
|
||||||
|
|||||||
7
.github/workflows/__cpp-deptrace-enabled-on-macos.yml
generated
vendored
7
.github/workflows/__cpp-deptrace-enabled-on-macos.yml
generated
vendored
@@ -32,15 +32,10 @@ jobs:
|
|||||||
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:
|
||||||
- name: Setup Python on macOS
|
|
||||||
uses: actions/setup-python@v5
|
|
||||||
if: runner.os == 'macOS' && matrix.version == 'stable-v2.14.6'
|
|
||||||
with:
|
|
||||||
python-version: '3.11'
|
|
||||||
- name: Check out repository
|
- name: Check out repository
|
||||||
uses: actions/checkout@v4
|
uses: actions/checkout@v4
|
||||||
- name: Prepare test
|
- name: Prepare test
|
||||||
|
|||||||
7
.github/workflows/__cpp-deptrace-enabled.yml
generated
vendored
7
.github/workflows/__cpp-deptrace-enabled.yml
generated
vendored
@@ -36,15 +36,10 @@ 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:
|
||||||
- name: Setup Python on macOS
|
|
||||||
uses: actions/setup-python@v5
|
|
||||||
if: runner.os == 'macOS' && matrix.version == 'stable-v2.14.6'
|
|
||||||
with:
|
|
||||||
python-version: '3.11'
|
|
||||||
- name: Check out repository
|
- name: Check out repository
|
||||||
uses: actions/checkout@v4
|
uses: actions/checkout@v4
|
||||||
- name: Prepare test
|
- name: Prepare test
|
||||||
|
|||||||
7
.github/workflows/__diagnostics-export.yml
generated
vendored
7
.github/workflows/__diagnostics-export.yml
generated
vendored
@@ -42,15 +42,10 @@ 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:
|
||||||
- name: Setup Python on macOS
|
|
||||||
uses: actions/setup-python@v5
|
|
||||||
if: runner.os == 'macOS' && matrix.version == 'stable-v2.14.6'
|
|
||||||
with:
|
|
||||||
python-version: '3.11'
|
|
||||||
- name: Check out repository
|
- name: Check out repository
|
||||||
uses: actions/checkout@v4
|
uses: actions/checkout@v4
|
||||||
- name: Prepare test
|
- name: Prepare test
|
||||||
|
|||||||
7
.github/workflows/__export-file-baseline-information.yml
generated
vendored
7
.github/workflows/__export-file-baseline-information.yml
generated
vendored
@@ -36,15 +36,10 @@ 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:
|
||||||
- name: Setup Python on macOS
|
|
||||||
uses: actions/setup-python@v5
|
|
||||||
if: runner.os == 'macOS' && matrix.version == 'stable-v2.14.6'
|
|
||||||
with:
|
|
||||||
python-version: '3.11'
|
|
||||||
- name: Check out repository
|
- name: Check out repository
|
||||||
uses: actions/checkout@v4
|
uses: actions/checkout@v4
|
||||||
- name: Prepare test
|
- name: Prepare test
|
||||||
|
|||||||
7
.github/workflows/__extract-direct-to-toolcache.yml
generated
vendored
7
.github/workflows/__extract-direct-to-toolcache.yml
generated
vendored
@@ -36,15 +36,10 @@ 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:
|
||||||
- name: Setup Python on macOS
|
|
||||||
uses: actions/setup-python@v5
|
|
||||||
if: runner.os == 'macOS' && matrix.version == 'stable-v2.14.6'
|
|
||||||
with:
|
|
||||||
python-version: '3.11'
|
|
||||||
- name: Check out repository
|
- name: Check out repository
|
||||||
uses: actions/checkout@v4
|
uses: actions/checkout@v4
|
||||||
- name: Prepare test
|
- name: Prepare test
|
||||||
|
|||||||
7
.github/workflows/__extractor-ram-threads.yml
generated
vendored
7
.github/workflows/__extractor-ram-threads.yml
generated
vendored
@@ -32,15 +32,10 @@ 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:
|
||||||
- name: Setup Python on macOS
|
|
||||||
uses: actions/setup-python@v5
|
|
||||||
if: runner.os == 'macOS' && matrix.version == 'stable-v2.14.6'
|
|
||||||
with:
|
|
||||||
python-version: '3.11'
|
|
||||||
- name: Check out repository
|
- name: Check out repository
|
||||||
uses: actions/checkout@v4
|
uses: actions/checkout@v4
|
||||||
- name: Prepare test
|
- name: Prepare test
|
||||||
|
|||||||
7
.github/workflows/__go-custom-queries.yml
generated
vendored
7
.github/workflows/__go-custom-queries.yml
generated
vendored
@@ -34,15 +34,10 @@ 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:
|
||||||
- name: Setup Python on macOS
|
|
||||||
uses: actions/setup-python@v5
|
|
||||||
if: runner.os == 'macOS' && matrix.version == 'stable-v2.14.6'
|
|
||||||
with:
|
|
||||||
python-version: '3.11'
|
|
||||||
- name: Check out repository
|
- name: Check out repository
|
||||||
uses: actions/checkout@v4
|
uses: actions/checkout@v4
|
||||||
- name: Prepare test
|
- name: Prepare test
|
||||||
|
|||||||
7
.github/workflows/__go-indirect-tracing-workaround-diagnostic.yml
generated
vendored
7
.github/workflows/__go-indirect-tracing-workaround-diagnostic.yml
generated
vendored
@@ -32,15 +32,10 @@ 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:
|
||||||
- name: Setup Python on macOS
|
|
||||||
uses: actions/setup-python@v5
|
|
||||||
if: runner.os == 'macOS' && matrix.version == 'stable-v2.14.6'
|
|
||||||
with:
|
|
||||||
python-version: '3.11'
|
|
||||||
- name: Check out repository
|
- name: Check out repository
|
||||||
uses: actions/checkout@v4
|
uses: actions/checkout@v4
|
||||||
- name: Prepare test
|
- name: Prepare test
|
||||||
|
|||||||
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,15 +32,10 @@ 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:
|
||||||
- name: Setup Python on macOS
|
|
||||||
uses: actions/setup-python@v5
|
|
||||||
if: runner.os == 'macOS' && matrix.version == 'stable-v2.14.6'
|
|
||||||
with:
|
|
||||||
python-version: '3.11'
|
|
||||||
- name: Check out repository
|
- name: Check out repository
|
||||||
uses: actions/checkout@v4
|
uses: actions/checkout@v4
|
||||||
- name: Prepare test
|
- name: Prepare test
|
||||||
|
|||||||
7
.github/workflows/__go-indirect-tracing-workaround.yml
generated
vendored
7
.github/workflows/__go-indirect-tracing-workaround.yml
generated
vendored
@@ -32,15 +32,10 @@ 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:
|
||||||
- name: Setup Python on macOS
|
|
||||||
uses: actions/setup-python@v5
|
|
||||||
if: runner.os == 'macOS' && matrix.version == 'stable-v2.14.6'
|
|
||||||
with:
|
|
||||||
python-version: '3.11'
|
|
||||||
- name: Check out repository
|
- name: Check out repository
|
||||||
uses: actions/checkout@v4
|
uses: actions/checkout@v4
|
||||||
- name: Prepare test
|
- name: Prepare test
|
||||||
|
|||||||
9
.github/workflows/__go-tracing-autobuilder.yml
generated
vendored
9
.github/workflows/__go-tracing-autobuilder.yml
generated
vendored
@@ -62,15 +62,10 @@ 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:
|
||||||
- name: Setup Python on macOS
|
|
||||||
uses: actions/setup-python@v5
|
|
||||||
if: runner.os == 'macOS' && matrix.version == 'stable-v2.14.6'
|
|
||||||
with:
|
|
||||||
python-version: '3.11'
|
|
||||||
- name: Check out repository
|
- name: Check out repository
|
||||||
uses: actions/checkout@v4
|
uses: actions/checkout@v4
|
||||||
- name: Prepare test
|
- name: Prepare test
|
||||||
@@ -82,7 +77,7 @@ jobs:
|
|||||||
setup-kotlin: 'true'
|
setup-kotlin: 'true'
|
||||||
- uses: actions/setup-go@v5
|
- uses: actions/setup-go@v5
|
||||||
with:
|
with:
|
||||||
go-version: ~1.23.0
|
go-version: ~1.24.0
|
||||||
# to avoid potentially misleading autobuilder results where we expect it to download
|
# to avoid potentially misleading autobuilder results where we expect it to download
|
||||||
# dependencies successfully, but they actually come from a warm cache
|
# dependencies successfully, but they actually come from a warm cache
|
||||||
cache: false
|
cache: false
|
||||||
|
|||||||
9
.github/workflows/__go-tracing-custom-build-steps.yml
generated
vendored
9
.github/workflows/__go-tracing-custom-build-steps.yml
generated
vendored
@@ -62,15 +62,10 @@ 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:
|
||||||
- name: Setup Python on macOS
|
|
||||||
uses: actions/setup-python@v5
|
|
||||||
if: runner.os == 'macOS' && matrix.version == 'stable-v2.14.6'
|
|
||||||
with:
|
|
||||||
python-version: '3.11'
|
|
||||||
- name: Check out repository
|
- name: Check out repository
|
||||||
uses: actions/checkout@v4
|
uses: actions/checkout@v4
|
||||||
- name: Prepare test
|
- name: Prepare test
|
||||||
@@ -82,7 +77,7 @@ jobs:
|
|||||||
setup-kotlin: 'true'
|
setup-kotlin: 'true'
|
||||||
- uses: actions/setup-go@v5
|
- uses: actions/setup-go@v5
|
||||||
with:
|
with:
|
||||||
go-version: ~1.23.0
|
go-version: ~1.24.0
|
||||||
# to avoid potentially misleading autobuilder results where we expect it to download
|
# to avoid potentially misleading autobuilder results where we expect it to download
|
||||||
# dependencies successfully, but they actually come from a warm cache
|
# dependencies successfully, but they actually come from a warm cache
|
||||||
cache: false
|
cache: false
|
||||||
|
|||||||
9
.github/workflows/__go-tracing-legacy-workflow.yml
generated
vendored
9
.github/workflows/__go-tracing-legacy-workflow.yml
generated
vendored
@@ -62,15 +62,10 @@ 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:
|
||||||
- name: Setup Python on macOS
|
|
||||||
uses: actions/setup-python@v5
|
|
||||||
if: runner.os == 'macOS' && matrix.version == 'stable-v2.14.6'
|
|
||||||
with:
|
|
||||||
python-version: '3.11'
|
|
||||||
- name: Check out repository
|
- name: Check out repository
|
||||||
uses: actions/checkout@v4
|
uses: actions/checkout@v4
|
||||||
- name: Prepare test
|
- name: Prepare test
|
||||||
@@ -82,7 +77,7 @@ jobs:
|
|||||||
setup-kotlin: 'true'
|
setup-kotlin: 'true'
|
||||||
- uses: actions/setup-go@v5
|
- uses: actions/setup-go@v5
|
||||||
with:
|
with:
|
||||||
go-version: ~1.23.0
|
go-version: ~1.24.0
|
||||||
# to avoid potentially misleading autobuilder results where we expect it to download
|
# to avoid potentially misleading autobuilder results where we expect it to download
|
||||||
# dependencies successfully, but they actually come from a warm cache
|
# dependencies successfully, but they actually come from a warm cache
|
||||||
cache: false
|
cache: false
|
||||||
|
|||||||
5
.github/workflows/__init-with-registries.yml
generated
vendored
5
.github/workflows/__init-with-registries.yml
generated
vendored
@@ -53,11 +53,6 @@ jobs:
|
|||||||
timeout-minutes: 45
|
timeout-minutes: 45
|
||||||
runs-on: ${{ matrix.os }}
|
runs-on: ${{ matrix.os }}
|
||||||
steps:
|
steps:
|
||||||
- name: Setup Python on macOS
|
|
||||||
uses: actions/setup-python@v5
|
|
||||||
if: runner.os == 'macOS' && matrix.version == 'stable-v2.14.6'
|
|
||||||
with:
|
|
||||||
python-version: '3.11'
|
|
||||||
- name: Check out repository
|
- name: Check out repository
|
||||||
uses: actions/checkout@v4
|
uses: actions/checkout@v4
|
||||||
- name: Prepare test
|
- name: Prepare test
|
||||||
|
|||||||
7
.github/workflows/__javascript-source-root.yml
generated
vendored
7
.github/workflows/__javascript-source-root.yml
generated
vendored
@@ -36,15 +36,10 @@ 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:
|
||||||
- name: Setup Python on macOS
|
|
||||||
uses: actions/setup-python@v5
|
|
||||||
if: runner.os == 'macOS' && matrix.version == 'stable-v2.14.6'
|
|
||||||
with:
|
|
||||||
python-version: '3.11'
|
|
||||||
- name: Check out repository
|
- name: Check out repository
|
||||||
uses: actions/checkout@v4
|
uses: actions/checkout@v4
|
||||||
- name: Prepare test
|
- name: Prepare test
|
||||||
|
|||||||
7
.github/workflows/__job-run-uuid-sarif.yml
generated
vendored
7
.github/workflows/__job-run-uuid-sarif.yml
generated
vendored
@@ -32,15 +32,10 @@ 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:
|
||||||
- name: Setup Python on macOS
|
|
||||||
uses: actions/setup-python@v5
|
|
||||||
if: runner.os == 'macOS' && matrix.version == 'stable-v2.14.6'
|
|
||||||
with:
|
|
||||||
python-version: '3.11'
|
|
||||||
- name: Check out repository
|
- name: Check out repository
|
||||||
uses: actions/checkout@v4
|
uses: actions/checkout@v4
|
||||||
- name: Prepare test
|
- name: Prepare test
|
||||||
|
|||||||
7
.github/workflows/__language-aliases.yml
generated
vendored
7
.github/workflows/__language-aliases.yml
generated
vendored
@@ -32,15 +32,10 @@ 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:
|
||||||
- name: Setup Python on macOS
|
|
||||||
uses: actions/setup-python@v5
|
|
||||||
if: runner.os == 'macOS' && matrix.version == 'stable-v2.14.6'
|
|
||||||
with:
|
|
||||||
python-version: '3.11'
|
|
||||||
- name: Check out repository
|
- name: Check out repository
|
||||||
uses: actions/checkout@v4
|
uses: actions/checkout@v4
|
||||||
- name: Prepare test
|
- name: Prepare test
|
||||||
|
|||||||
7
.github/workflows/__multi-language-autodetect.yml
generated
vendored
7
.github/workflows/__multi-language-autodetect.yml
generated
vendored
@@ -62,15 +62,10 @@ 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:
|
||||||
- name: Setup Python on macOS
|
|
||||||
uses: actions/setup-python@v5
|
|
||||||
if: runner.os == 'macOS' && matrix.version == 'stable-v2.14.6'
|
|
||||||
with:
|
|
||||||
python-version: '3.11'
|
|
||||||
- name: Check out repository
|
- name: Check out repository
|
||||||
uses: actions/checkout@v4
|
uses: actions/checkout@v4
|
||||||
- name: Prepare test
|
- name: Prepare test
|
||||||
|
|||||||
7
.github/workflows/__packaging-codescanning-config-inputs-js.yml
generated
vendored
7
.github/workflows/__packaging-codescanning-config-inputs-js.yml
generated
vendored
@@ -48,15 +48,10 @@ 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:
|
||||||
- name: Setup Python on macOS
|
|
||||||
uses: actions/setup-python@v5
|
|
||||||
if: runner.os == 'macOS' && matrix.version == 'stable-v2.14.6'
|
|
||||||
with:
|
|
||||||
python-version: '3.11'
|
|
||||||
- name: Check out repository
|
- name: Check out repository
|
||||||
uses: actions/checkout@v4
|
uses: actions/checkout@v4
|
||||||
- name: Prepare test
|
- name: Prepare test
|
||||||
|
|||||||
7
.github/workflows/__packaging-config-inputs-js.yml
generated
vendored
7
.github/workflows/__packaging-config-inputs-js.yml
generated
vendored
@@ -48,15 +48,10 @@ 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:
|
||||||
- name: Setup Python on macOS
|
|
||||||
uses: actions/setup-python@v5
|
|
||||||
if: runner.os == 'macOS' && matrix.version == 'stable-v2.14.6'
|
|
||||||
with:
|
|
||||||
python-version: '3.11'
|
|
||||||
- name: Check out repository
|
- name: Check out repository
|
||||||
uses: actions/checkout@v4
|
uses: actions/checkout@v4
|
||||||
- name: Prepare test
|
- name: Prepare test
|
||||||
|
|||||||
7
.github/workflows/__packaging-config-js.yml
generated
vendored
7
.github/workflows/__packaging-config-js.yml
generated
vendored
@@ -48,15 +48,10 @@ 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:
|
||||||
- name: Setup Python on macOS
|
|
||||||
uses: actions/setup-python@v5
|
|
||||||
if: runner.os == 'macOS' && matrix.version == 'stable-v2.14.6'
|
|
||||||
with:
|
|
||||||
python-version: '3.11'
|
|
||||||
- name: Check out repository
|
- name: Check out repository
|
||||||
uses: actions/checkout@v4
|
uses: actions/checkout@v4
|
||||||
- name: Prepare test
|
- name: Prepare test
|
||||||
|
|||||||
7
.github/workflows/__packaging-inputs-js.yml
generated
vendored
7
.github/workflows/__packaging-inputs-js.yml
generated
vendored
@@ -48,15 +48,10 @@ 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:
|
||||||
- name: Setup Python on macOS
|
|
||||||
uses: actions/setup-python@v5
|
|
||||||
if: runner.os == 'macOS' && matrix.version == 'stable-v2.14.6'
|
|
||||||
with:
|
|
||||||
python-version: '3.11'
|
|
||||||
- name: Check out repository
|
- name: Check out repository
|
||||||
uses: actions/checkout@v4
|
uses: actions/checkout@v4
|
||||||
- name: Prepare test
|
- name: Prepare test
|
||||||
|
|||||||
7
.github/workflows/__remote-config.yml
generated
vendored
7
.github/workflows/__remote-config.yml
generated
vendored
@@ -34,15 +34,10 @@ 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:
|
||||||
- name: Setup Python on macOS
|
|
||||||
uses: actions/setup-python@v5
|
|
||||||
if: runner.os == 'macOS' && matrix.version == 'stable-v2.14.6'
|
|
||||||
with:
|
|
||||||
python-version: '3.11'
|
|
||||||
- name: Check out repository
|
- name: Check out repository
|
||||||
uses: actions/checkout@v4
|
uses: actions/checkout@v4
|
||||||
- name: Prepare test
|
- name: Prepare test
|
||||||
|
|||||||
7
.github/workflows/__resolve-environment-action.yml
generated
vendored
7
.github/workflows/__resolve-environment-action.yml
generated
vendored
@@ -48,15 +48,10 @@ 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:
|
||||||
- name: Setup Python on macOS
|
|
||||||
uses: actions/setup-python@v5
|
|
||||||
if: runner.os == 'macOS' && matrix.version == 'stable-v2.14.6'
|
|
||||||
with:
|
|
||||||
python-version: '3.11'
|
|
||||||
- name: Check out repository
|
- name: Check out repository
|
||||||
uses: actions/checkout@v4
|
uses: actions/checkout@v4
|
||||||
- name: Prepare test
|
- name: Prepare test
|
||||||
|
|||||||
9
.github/workflows/__rubocop-multi-language.yml
generated
vendored
9
.github/workflows/__rubocop-multi-language.yml
generated
vendored
@@ -32,15 +32,10 @@ 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:
|
||||||
- name: Setup Python on macOS
|
|
||||||
uses: actions/setup-python@v5
|
|
||||||
if: runner.os == 'macOS' && matrix.version == 'stable-v2.14.6'
|
|
||||||
with:
|
|
||||||
python-version: '3.11'
|
|
||||||
- name: Check out repository
|
- name: Check out repository
|
||||||
uses: actions/checkout@v4
|
uses: actions/checkout@v4
|
||||||
- name: Prepare test
|
- name: Prepare test
|
||||||
@@ -51,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@32110d4e311bd8996b2a82bf2a43b714ccc91777 # v1.221.0
|
||||||
with:
|
with:
|
||||||
ruby-version: 2.6
|
ruby-version: 2.6
|
||||||
- name: Install Code Scanning integration
|
- name: Install Code Scanning integration
|
||||||
|
|||||||
7
.github/workflows/__ruby.yml
generated
vendored
7
.github/workflows/__ruby.yml
generated
vendored
@@ -42,15 +42,10 @@ 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:
|
||||||
- name: Setup Python on macOS
|
|
||||||
uses: actions/setup-python@v5
|
|
||||||
if: runner.os == 'macOS' && matrix.version == 'stable-v2.14.6'
|
|
||||||
with:
|
|
||||||
python-version: '3.11'
|
|
||||||
- name: Check out repository
|
- name: Check out repository
|
||||||
uses: actions/checkout@v4
|
uses: actions/checkout@v4
|
||||||
- name: Prepare test
|
- name: Prepare test
|
||||||
|
|||||||
7
.github/workflows/__split-workflow.yml
generated
vendored
7
.github/workflows/__split-workflow.yml
generated
vendored
@@ -42,15 +42,10 @@ 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:
|
||||||
- name: Setup Python on macOS
|
|
||||||
uses: actions/setup-python@v5
|
|
||||||
if: runner.os == 'macOS' && matrix.version == 'stable-v2.14.6'
|
|
||||||
with:
|
|
||||||
python-version: '3.11'
|
|
||||||
- name: Check out repository
|
- name: Check out repository
|
||||||
uses: actions/checkout@v4
|
uses: actions/checkout@v4
|
||||||
- name: Prepare test
|
- name: Prepare test
|
||||||
|
|||||||
7
.github/workflows/__start-proxy.yml
generated
vendored
7
.github/workflows/__start-proxy.yml
generated
vendored
@@ -36,15 +36,10 @@ 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:
|
||||||
- name: Setup Python on macOS
|
|
||||||
uses: actions/setup-python@v5
|
|
||||||
if: runner.os == 'macOS' && matrix.version == 'stable-v2.14.6'
|
|
||||||
with:
|
|
||||||
python-version: '3.11'
|
|
||||||
- name: Check out repository
|
- name: Check out repository
|
||||||
uses: actions/checkout@v4
|
uses: actions/checkout@v4
|
||||||
- name: Prepare test
|
- name: Prepare test
|
||||||
|
|||||||
8
.github/workflows/__submit-sarif-failure.yml
generated
vendored
8
.github/workflows/__submit-sarif-failure.yml
generated
vendored
@@ -36,15 +36,11 @@ 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:
|
||||||
- name: Setup Python on macOS
|
|
||||||
uses: actions/setup-python@v5
|
|
||||||
if: runner.os == 'macOS' && matrix.version == 'stable-v2.14.6'
|
|
||||||
with:
|
|
||||||
python-version: '3.11'
|
|
||||||
- name: Check out repository
|
- name: Check out repository
|
||||||
uses: actions/checkout@v4
|
uses: actions/checkout@v4
|
||||||
- name: Prepare test
|
- name: Prepare test
|
||||||
|
|||||||
7
.github/workflows/__swift-autobuild.yml
generated
vendored
7
.github/workflows/__swift-autobuild.yml
generated
vendored
@@ -32,15 +32,10 @@ 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:
|
||||||
- name: Setup Python on macOS
|
|
||||||
uses: actions/setup-python@v5
|
|
||||||
if: runner.os == 'macOS' && matrix.version == 'stable-v2.14.6'
|
|
||||||
with:
|
|
||||||
python-version: '3.11'
|
|
||||||
- name: Check out repository
|
- name: Check out repository
|
||||||
uses: actions/checkout@v4
|
uses: actions/checkout@v4
|
||||||
- name: Prepare test
|
- name: Prepare test
|
||||||
|
|||||||
7
.github/workflows/__swift-custom-build.yml
generated
vendored
7
.github/workflows/__swift-custom-build.yml
generated
vendored
@@ -36,15 +36,10 @@ 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:
|
||||||
- name: Setup Python on macOS
|
|
||||||
uses: actions/setup-python@v5
|
|
||||||
if: runner.os == 'macOS' && matrix.version == 'stable-v2.14.6'
|
|
||||||
with:
|
|
||||||
python-version: '3.11'
|
|
||||||
- name: Check out repository
|
- name: Check out repository
|
||||||
uses: actions/checkout@v4
|
uses: actions/checkout@v4
|
||||||
- name: Prepare test
|
- name: Prepare test
|
||||||
|
|||||||
7
.github/workflows/__test-autobuild-working-dir.yml
generated
vendored
7
.github/workflows/__test-autobuild-working-dir.yml
generated
vendored
@@ -32,15 +32,10 @@ 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:
|
||||||
- name: Setup Python on macOS
|
|
||||||
uses: actions/setup-python@v5
|
|
||||||
if: runner.os == 'macOS' && matrix.version == 'stable-v2.14.6'
|
|
||||||
with:
|
|
||||||
python-version: '3.11'
|
|
||||||
- name: Check out repository
|
- name: Check out repository
|
||||||
uses: actions/checkout@v4
|
uses: actions/checkout@v4
|
||||||
- name: Prepare test
|
- name: Prepare test
|
||||||
|
|||||||
7
.github/workflows/__test-local-codeql.yml
generated
vendored
7
.github/workflows/__test-local-codeql.yml
generated
vendored
@@ -32,15 +32,10 @@ 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:
|
||||||
- name: Setup Python on macOS
|
|
||||||
uses: actions/setup-python@v5
|
|
||||||
if: runner.os == 'macOS' && matrix.version == 'stable-v2.14.6'
|
|
||||||
with:
|
|
||||||
python-version: '3.11'
|
|
||||||
- name: Check out repository
|
- name: Check out repository
|
||||||
uses: actions/checkout@v4
|
uses: actions/checkout@v4
|
||||||
- name: Prepare test
|
- name: Prepare test
|
||||||
|
|||||||
7
.github/workflows/__test-proxy.yml
generated
vendored
7
.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:
|
||||||
@@ -50,11 +50,6 @@ jobs:
|
|||||||
apt-add-repository https://cli.github.com/packages
|
apt-add-repository https://cli.github.com/packages
|
||||||
apt install -y gh
|
apt install -y gh
|
||||||
env: {}
|
env: {}
|
||||||
- name: Setup Python on macOS
|
|
||||||
uses: actions/setup-python@v5
|
|
||||||
if: runner.os == 'macOS' && matrix.version == 'stable-v2.14.6'
|
|
||||||
with:
|
|
||||||
python-version: '3.11'
|
|
||||||
- name: Check out repository
|
- name: Check out repository
|
||||||
uses: actions/checkout@v4
|
uses: actions/checkout@v4
|
||||||
- name: Prepare test
|
- name: Prepare test
|
||||||
|
|||||||
7
.github/workflows/__unset-environment.yml
generated
vendored
7
.github/workflows/__unset-environment.yml
generated
vendored
@@ -34,15 +34,10 @@ 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:
|
||||||
- name: Setup Python on macOS
|
|
||||||
uses: actions/setup-python@v5
|
|
||||||
if: runner.os == 'macOS' && matrix.version == 'stable-v2.14.6'
|
|
||||||
with:
|
|
||||||
python-version: '3.11'
|
|
||||||
- name: Check out repository
|
- name: Check out repository
|
||||||
uses: actions/checkout@v4
|
uses: actions/checkout@v4
|
||||||
- name: Prepare test
|
- name: Prepare test
|
||||||
|
|||||||
7
.github/workflows/__upload-ref-sha-input.yml
generated
vendored
7
.github/workflows/__upload-ref-sha-input.yml
generated
vendored
@@ -36,15 +36,10 @@ 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:
|
||||||
- name: Setup Python on macOS
|
|
||||||
uses: actions/setup-python@v5
|
|
||||||
if: runner.os == 'macOS' && matrix.version == 'stable-v2.14.6'
|
|
||||||
with:
|
|
||||||
python-version: '3.11'
|
|
||||||
- name: Check out repository
|
- name: Check out repository
|
||||||
uses: actions/checkout@v4
|
uses: actions/checkout@v4
|
||||||
- name: Prepare test
|
- name: Prepare test
|
||||||
|
|||||||
7
.github/workflows/__with-checkout-path.yml
generated
vendored
7
.github/workflows/__with-checkout-path.yml
generated
vendored
@@ -36,15 +36,10 @@ 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:
|
||||||
- name: Setup Python on macOS
|
|
||||||
uses: actions/setup-python@v5
|
|
||||||
if: runner.os == 'macOS' && matrix.version == 'stable-v2.14.6'
|
|
||||||
with:
|
|
||||||
python-version: '3.11'
|
|
||||||
- name: Check out repository
|
- name: Check out repository
|
||||||
uses: actions/checkout@v4
|
uses: actions/checkout@v4
|
||||||
- name: Prepare test
|
- name: Prepare test
|
||||||
|
|||||||
7
.github/workflows/__zstd-bundle-streaming.yml
generated
vendored
7
.github/workflows/__zstd-bundle-streaming.yml
generated
vendored
@@ -34,15 +34,10 @@ 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:
|
||||||
- name: Setup Python on macOS
|
|
||||||
uses: actions/setup-python@v5
|
|
||||||
if: runner.os == 'macOS' && matrix.version == 'stable-v2.14.6'
|
|
||||||
with:
|
|
||||||
python-version: '3.11'
|
|
||||||
- name: Check out repository
|
- name: Check out repository
|
||||||
uses: actions/checkout@v4
|
uses: actions/checkout@v4
|
||||||
- name: Prepare test
|
- name: Prepare test
|
||||||
|
|||||||
7
.github/workflows/__zstd-bundle.yml
generated
vendored
7
.github/workflows/__zstd-bundle.yml
generated
vendored
@@ -36,15 +36,10 @@ 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:
|
||||||
- name: Setup Python on macOS
|
|
||||||
uses: actions/setup-python@v5
|
|
||||||
if: runner.os == 'macOS' && matrix.version == 'stable-v2.14.6'
|
|
||||||
with:
|
|
||||||
python-version: '3.11'
|
|
||||||
- name: Check out repository
|
- name: Check out repository
|
||||||
uses: actions/checkout@v4
|
uses: actions/checkout@v4
|
||||||
- name: Prepare test
|
- name: Prepare test
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
29
.github/workflows/codeql.yml
vendored
29
.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,7 +70,7 @@ 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
|
||||||
@@ -80,6 +80,7 @@ jobs:
|
|||||||
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"
|
||||||
|
|||||||
@@ -23,6 +23,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:
|
||||||
|
|||||||
@@ -19,10 +19,20 @@ on:
|
|||||||
workflow_dispatch: {}
|
workflow_dispatch: {}
|
||||||
jobs:
|
jobs:
|
||||||
upload-artifacts:
|
upload-artifacts:
|
||||||
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
|
matrix:
|
||||||
|
version:
|
||||||
|
- stable-v2.20.3
|
||||||
|
- default
|
||||||
|
- linked
|
||||||
|
- nightly-latest
|
||||||
name: Upload debug artifacts after failure in analyze
|
name: Upload debug artifacts after failure in analyze
|
||||||
continue-on-error: true
|
continue-on-error: true
|
||||||
env:
|
env:
|
||||||
CODEQL_ACTION_TEST_MODE: true
|
CODEQL_ACTION_TEST_MODE: true
|
||||||
|
permissions:
|
||||||
|
contents: read
|
||||||
timeout-minutes: 45
|
timeout-minutes: 45
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
@@ -34,7 +44,7 @@ jobs:
|
|||||||
id: prepare-test
|
id: prepare-test
|
||||||
uses: ./.github/actions/prepare-test
|
uses: ./.github/actions/prepare-test
|
||||||
with:
|
with:
|
||||||
version: linked
|
version: ${{ matrix.version }}
|
||||||
- uses: actions/setup-go@v5
|
- uses: actions/setup-go@v5
|
||||||
with:
|
with:
|
||||||
go-version: ^1.13.1
|
go-version: ^1.13.1
|
||||||
@@ -58,6 +68,8 @@ jobs:
|
|||||||
name: Download and check debug artifacts after failure in analyze
|
name: Download and check debug artifacts after failure in analyze
|
||||||
needs: upload-artifacts
|
needs: upload-artifacts
|
||||||
timeout-minutes: 45
|
timeout-minutes: 45
|
||||||
|
permissions:
|
||||||
|
contents: read
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- name: Download all artifacts
|
- name: Download all artifacts
|
||||||
@@ -66,22 +78,25 @@ jobs:
|
|||||||
shell: bash
|
shell: bash
|
||||||
run: |
|
run: |
|
||||||
LANGUAGES="cpp csharp go java javascript python"
|
LANGUAGES="cpp csharp go java javascript python"
|
||||||
cd "./my-debug-artifacts"
|
for version in $VERSIONS; do
|
||||||
echo "Artifacts from run:"
|
echo "Artifacts from version $version:"
|
||||||
for language in $LANGUAGES; do
|
pushd "./my-debug-artifacts-${version//./}"
|
||||||
echo "- Checking $language"
|
for language in $LANGUAGES; do
|
||||||
if [[ ! -f "my-db-$language-partial.zip" ]] ; then
|
echo "- Checking $language"
|
||||||
echo "Missing a partial database bundle for $language"
|
if [[ ! -f "my-db-$language-partial.zip" ]] ; then
|
||||||
exit 1
|
echo "Missing a partial database bundle for $language"
|
||||||
fi
|
exit 1
|
||||||
if [[ ! -d "log" ]] ; then
|
fi
|
||||||
echo "Missing database initialization logs"
|
if [[ ! -d "log" ]] ; then
|
||||||
exit 1
|
echo "Missing database initialization logs"
|
||||||
fi
|
exit 1
|
||||||
if [[ ! "$language" == "go" ]] && [[ ! -d "$language/log" ]] ; then
|
fi
|
||||||
echo "Missing logs for $language"
|
if [[ ! "$language" == "go" ]] && [[ ! -d "$language/log" ]] ; then
|
||||||
exit 1
|
echo "Missing logs for $language"
|
||||||
fi
|
exit 1
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
popd
|
||||||
done
|
done
|
||||||
env:
|
env:
|
||||||
GO111MODULE: auto
|
GO111MODULE: auto
|
||||||
@@ -22,11 +22,7 @@ jobs:
|
|||||||
fail-fast: false
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
version:
|
version:
|
||||||
- stable-v2.15.5
|
- stable-v2.20.3
|
||||||
- stable-v2.16.6
|
|
||||||
- stable-v2.17.6
|
|
||||||
- stable-v2.18.4
|
|
||||||
- stable-v2.19.4
|
|
||||||
- default
|
- default
|
||||||
- linked
|
- linked
|
||||||
- nightly-latest
|
- nightly-latest
|
||||||
@@ -34,6 +30,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: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- name: Check out repository
|
- name: Check out repository
|
||||||
@@ -64,6 +62,8 @@ jobs:
|
|||||||
name: Download and check debug artifacts
|
name: Download and check debug artifacts
|
||||||
needs: upload-artifacts
|
needs: upload-artifacts
|
||||||
timeout-minutes: 45
|
timeout-minutes: 45
|
||||||
|
permissions:
|
||||||
|
contents: read
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- name: Download all artifacts
|
- name: Download all artifacts
|
||||||
@@ -71,7 +71,7 @@ jobs:
|
|||||||
- name: Check expected artifacts exist
|
- name: Check expected artifacts exist
|
||||||
shell: bash
|
shell: bash
|
||||||
run: |
|
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"
|
VERSIONS="stable-v2.20.3 default linked nightly-latest"
|
||||||
LANGUAGES="cpp csharp go java javascript python"
|
LANGUAGES="cpp csharp go java javascript python"
|
||||||
for version in $VERSIONS; do
|
for version in $VERSIONS; do
|
||||||
pushd "./my-debug-artifacts-${version//./}"
|
pushd "./my-debug-artifacts-${version//./}"
|
||||||
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@0d564482f06ca65fa9e77e2510873638c82206f2
|
||||||
id: app-token
|
id: app-token
|
||||||
with:
|
with:
|
||||||
app-id: ${{ vars.AUTOMATION_APP_ID }}
|
app-id: ${{ vars.AUTOMATION_APP_ID }}
|
||||||
|
|||||||
37
.github/workflows/pr-checks.yml
vendored
37
.github/workflows/pr-checks.yml
vendored
@@ -15,12 +15,10 @@ 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
|
||||||
matrix:
|
|
||||||
node-types-version: [16.11, current] # run tests on 16.11 while CodeQL Action v2 is still supported
|
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout
|
- name: Checkout
|
||||||
@@ -32,40 +30,18 @@ jobs:
|
|||||||
|
|
||||||
- name: Upload sarif
|
- name: Upload sarif
|
||||||
uses: github/codeql-action/upload-sarif@v3
|
uses: github/codeql-action/upload-sarif@v3
|
||||||
# Only upload SARIF for the latest version of Node.js
|
|
||||||
if: "!cancelled() && matrix.node-types-version == 'current' && !startsWith(github.head_ref, 'dependabot/')"
|
|
||||||
with:
|
with:
|
||||||
sarif_file: eslint.sarif
|
sarif_file: eslint.sarif
|
||||||
category: eslint
|
category: eslint
|
||||||
|
|
||||||
- name: Update version of @types/node
|
|
||||||
if: matrix.node-types-version != 'current'
|
|
||||||
env:
|
|
||||||
NODE_TYPES_VERSION: ${{ matrix.node-types-version }}
|
|
||||||
run: |
|
|
||||||
# Export `NODE_TYPES_VERSION` so it's available to jq
|
|
||||||
export NODE_TYPES_VERSION="${NODE_TYPES_VERSION}"
|
|
||||||
contents=$(jq '.devDependencies."@types/node" = env.NODE_TYPES_VERSION' package.json)
|
|
||||||
echo "${contents}" > package.json
|
|
||||||
# Usually we run `npm install` on macOS to ensure that we pick up macOS-only dependencies.
|
|
||||||
# However we're not checking in the updated lockfile here, so it's fine to run
|
|
||||||
# `npm install` on Linux.
|
|
||||||
npm install
|
|
||||||
|
|
||||||
if [ ! -z "$(git status --porcelain)" ]; then
|
|
||||||
git config --global user.email "github-actions@github.com"
|
|
||||||
git config --global user.name "github-actions[bot]"
|
|
||||||
# The period in `git add --all .` ensures that we stage deleted files too.
|
|
||||||
git add --all .
|
|
||||||
git commit -m "Use @types/node=${NODE_TYPES_VERSION}"
|
|
||||||
fi
|
|
||||||
|
|
||||||
- name: Check generated JS
|
- name: Check generated JS
|
||||||
run: .github/workflows/script/check-js.sh
|
run: .github/workflows/script/check-js.sh
|
||||||
|
|
||||||
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
|
||||||
|
|
||||||
@@ -77,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
|
||||||
|
|
||||||
@@ -107,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
|
||||||
|
|
||||||
@@ -127,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
|
||||||
|
|||||||
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@0d564482f06ca65fa9e77e2510873638c82206f2
|
||||||
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: |
|
||||||
|
|||||||
43
CHANGELOG.md
43
CHANGELOG.md
@@ -2,12 +2,49 @@
|
|||||||
|
|
||||||
See the [releases page](https://github.com/github/codeql-action/releases) for the relevant changes to the CodeQL CLI and language packs.
|
See the [releases page](https://github.com/github/codeql-action/releases) for the relevant changes to the CodeQL CLI and language packs.
|
||||||
|
|
||||||
Note that the only difference between `v2` and `v3` of the CodeQL Action is the node version they support, with `v3` running on node 20 while we continue to release `v2` to support running on node 16. For example `3.22.11` was the first `v3` release and is functionally identical to `2.22.11`. This approach ensures an easy way to track exactly which features are included in different versions, indicated by the minor and patch version numbers.
|
|
||||||
|
|
||||||
## [UNRELEASED]
|
## [UNRELEASED]
|
||||||
|
|
||||||
|
- Update the action to prefer `gtar` over `tar` to make zstd archive extraction more robust. [2767](https://github.com/github/codeql-action/pull/2767)
|
||||||
|
|
||||||
|
## 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.
|
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.
|
||||||
|
|
||||||
|
## 3.28.1 - 10 Jan 2025
|
||||||
|
|
||||||
|
- CodeQL Action v2 is now deprecated, and is no longer updated or supported. For better performance, improved security, and new features, upgrade to v3. For more information, see [this changelog post](https://github.blog/changelog/2025-01-10-code-scanning-codeql-action-v2-is-now-deprecated/). [#2677](https://github.com/github/codeql-action/pull/2677)
|
||||||
|
- Update default CodeQL bundle version to 2.20.1. [#2678](https://github.com/github/codeql-action/pull/2678)
|
||||||
|
|
||||||
## 3.28.0 - 20 Dec 2024
|
## 3.28.0 - 20 Dec 2024
|
||||||
|
|
||||||
- Bump the minimum CodeQL bundle version to 2.15.5. [#2655](https://github.com/github/codeql-action/pull/2655)
|
- Bump the minimum CodeQL bundle version to 2.15.5. [#2655](https://github.com/github/codeql-action/pull/2655)
|
||||||
@@ -73,7 +110,7 @@ No user facing changes.
|
|||||||
|
|
||||||
- _Upcoming breaking change_: Add support for using `actions/download-artifact@v4` to programmatically consume CodeQL Action debug artifacts.
|
- _Upcoming breaking change_: Add support for using `actions/download-artifact@v4` to programmatically consume CodeQL Action debug artifacts.
|
||||||
|
|
||||||
Starting November 30, 2024, GitHub.com customers will [no longer be able to use `actions/download-artifact@v3`](https://github.blog/changelog/2024-04-16-deprecation-notice-v3-of-the-artifact-actions/). Therefore, to avoid breakage, customers who programmatically download the CodeQL Action debug artifacts should set the `CODEQL_ACTION_ARTIFACT_V4_UPGRADE` environment variable to `true` and bump `actions/download-artifact@v3` to `actions/download-artifact@v4` in their workflows. The CodeQL Action will enable this behavior by default in early November and workflows that have not yet bumped to `actions/download-artifact@v3` to `actions/download-artifact@v4` will begin failing then.
|
Starting November 30, 2024, GitHub.com customers will [no longer be able to use `actions/download-artifact@v3`](https://github.blog/changelog/2024-04-16-deprecation-notice-v3-of-the-artifact-actions/). Therefore, to avoid breakage, customers who programmatically download the CodeQL Action debug artifacts should set the `CODEQL_ACTION_ARTIFACT_V4_UPGRADE` environment variable to `true` and bump `actions/download-artifact@v3` to `actions/download-artifact@v4` in their workflows. The CodeQL Action will enable this behavior by default in early November and workflows that have not yet bumped `actions/download-artifact@v3` to `actions/download-artifact@v4` will begin failing then.
|
||||||
|
|
||||||
This change is currently unavailable for GitHub Enterprise Server customers, as `actions/upload-artifact@v4` and `actions/download-artifact@v4` are not yet compatible with GHES.
|
This change is currently unavailable for GitHub Enterprise Server customers, as `actions/upload-artifact@v4` and `actions/download-artifact@v4` are not yet compatible with GHES.
|
||||||
- Update default CodeQL bundle version to 2.19.1. [#2519](https://github.com/github/codeql-action/pull/2519)
|
- Update default CodeQL bundle version to 2.19.1. [#2519](https://github.com/github/codeql-action/pull/2519)
|
||||||
|
|||||||
@@ -27,7 +27,7 @@ You may want to run `tsc --watch` from the command line or inside of vscode in o
|
|||||||
|
|
||||||
### Checking in compiled artifacts and `node_modules`
|
### Checking in compiled artifacts and `node_modules`
|
||||||
|
|
||||||
Because CodeQL Action users consume the code directly from this repository, and there can be no build step during an GitHub Actions run, this repository contains all compiled artifacts and node modules. There is a PR check that will fail if any of the compiled artifacts are not up to date. Compiled artifacts are stored in the `lib/` directory. For all day-to-day development purposes, this folder can be ignored.
|
Because CodeQL Action users consume the code directly from this repository, and there can be no build step during a GitHub Actions run, this repository contains all compiled artifacts and node modules. There is a PR check that will fail if any of the compiled artifacts are not up to date. Compiled artifacts are stored in the `lib/` directory. For all day-to-day development purposes, this folder can be ignored.
|
||||||
|
|
||||||
Only run `npm install` if you are explicitly changing the set of dependencies in `package.json`. The `node_modules` directory should be up to date when you check out, but if for some reason, there is an inconsistency use `npm ci && npm run removeNPMAbsolutePaths` to ensure the directory is in a state consistent with the `package-lock.json`. Note that due to a macOS-specific dependency, this command should be run on a macOS machine. There is a PR check to ensure the consistency of the `node_modules` directory.
|
Only run `npm install` if you are explicitly changing the set of dependencies in `package.json`. The `node_modules` directory should be up to date when you check out, but if for some reason, there is an inconsistency use `npm ci && npm run removeNPMAbsolutePaths` to ensure the directory is in a state consistent with the `package-lock.json`. Note that due to a macOS-specific dependency, this command should be run on a macOS machine. There is a PR check to ensure the consistency of the `node_modules` directory.
|
||||||
|
|
||||||
@@ -62,8 +62,9 @@ Here are a few things you can do that will increase the likelihood of your pull
|
|||||||
|
|
||||||
You can start a release by triggering this workflow via [workflow dispatch](https://github.com/github/codeql-action/actions/workflows/update-release-branch.yml).
|
You can start a release by triggering this workflow via [workflow dispatch](https://github.com/github/codeql-action/actions/workflows/update-release-branch.yml).
|
||||||
1. The workflow run will open a pull request titled "Merge main into releases/v3". Follow the steps on the checklist in the pull request. Once you've checked off all but the last two of these, approve the PR and automerge it.
|
1. The workflow run will open a pull request titled "Merge main into releases/v3". Follow the steps on the checklist in the pull request. Once you've checked off all but the last two of these, approve the PR and automerge it.
|
||||||
1. When the "Merge main into releases/v3" pull request is merged into the `releases/v3` branch, a mergeback pull request to `main` and a backport pull request to `releases/v2` will both be automatically created. This mergeback pull request incorporates the changelog updates into `main`, tags the release using the merge commit of the "Merge main into releases/v3" pull request, and bumps the patch version of the CodeQL Action. The backport pull request will incorporate the updates into `releases/v2`.
|
1. When the "Merge main into releases/v3" pull request is merged into the `releases/v3` branch, a mergeback pull request to `main` will be automatically created. This mergeback pull request incorporates the changelog updates into `main`, tags the release using the merge commit of the "Merge main into releases/v3" pull request, and bumps the patch version of the CodeQL Action.
|
||||||
1. Approve the mergeback and backport pull requests and automerge them.
|
1. If a backport to an older major version is required, a pull request targeting that version's branch will also be automatically created.
|
||||||
|
1. Approve the mergeback and backport pull request (if applicable) and automerge them.
|
||||||
|
|
||||||
Once the mergeback and backport pull request have been merged, the release is complete.
|
Once the mergeback and backport pull request have been merged, the release is complete.
|
||||||
|
|
||||||
@@ -73,9 +74,9 @@ Since the `codeql-action` runs most of its testing through individual Actions wo
|
|||||||
|
|
||||||
1. By default, this script retrieves the checks from the latest SHA on `main`, so make sure that your `main` branch is up to date.
|
1. By default, this script retrieves the checks from the latest SHA on `main`, so make sure that your `main` branch is up to date.
|
||||||
2. Run the script. If there's a reason to, you can pass in a different SHA as a CLI argument.
|
2. Run the script. If there's a reason to, you can pass in a different SHA as a CLI argument.
|
||||||
3. After running, go to the [branch protection rules settings page](https://github.com/github/codeql-action/settings/branches) and validate that the rules for `main`, `v2`, and `v3` have been updated.
|
3. After running, go to the [branch protection rules settings page](https://github.com/github/codeql-action/settings/branches) and validate that the rules for `main`, `v3`, and any other currently supported major versions have been updated.
|
||||||
|
|
||||||
Note that any updates to checks need to be backported to the `releases/v2` branch, in order to maintain the same set of names for required checks.
|
Note that any updates to checks on `main` need to be backported to all currently supported major version branches, in order to maintain the same set of names for required checks.
|
||||||
|
|
||||||
## Deprecating a CodeQL version (write access required)
|
## Deprecating a CodeQL version (write access required)
|
||||||
|
|
||||||
@@ -99,10 +100,19 @@ We typically deprecate a version of CodeQL when the GitHub Enterprise Server (GH
|
|||||||
- Add a changelog note announcing the new minimum version of CodeQL that is now required.
|
- Add a changelog note announcing the new minimum version of CodeQL that is now required.
|
||||||
- Example PR: https://github.com/github/codeql-action/pull/1907
|
- Example PR: https://github.com/github/codeql-action/pull/1907
|
||||||
|
|
||||||
## Deprecating a CodeQL Action version (write access required)
|
## Adding a new CodeQL Action major version
|
||||||
|
|
||||||
We sometimes maintain multiple versions of the CodeQL Action to enable customers on older but still supported versions of GitHub Enterprise Server (GHES) to continue to benefit from the latest CodeQL improvements. To accomplish this, the release process automation listens to updates to the release branch for the newest supported version. When this branch is updated, the release process automatically opens backport PRs to update the release branches for older versions.
|
We sometimes maintain multiple versions of the CodeQL Action to enable customers on older but still supported versions of GitHub Enterprise Server (GHES) to continue to benefit from the latest CodeQL improvements. To accomplish this, the release process automation listens to updates to the release branch for the newest supported version. When this branch is updated, the release process automatically opens backport PRs to update the release branches for older versions.
|
||||||
|
|
||||||
|
To add a new major version of the Action:
|
||||||
|
|
||||||
|
1. Change the `version` field of `package.json` by running `npm version x.y.z` where `x` is the new major version, and `y` and `z` match the latest minor and patch versions of the last release.
|
||||||
|
1. Update appropriate documentation to explain the reasoning behind the releases: see [the diff](https://github.com/github/codeql-action/pull/2677/commits/913d60579d4b560addf53ec3c493d491dd3c1378) in our last major version deprecation for examples on which parts of the documentation should be updated.
|
||||||
|
1. Consider the timeline behind deprecating the prior Action version: see [CodeQL Action deprecation documentation](#deprecating-a-codeql-action-major-version-write-access-required)
|
||||||
|
1. If the new major version runs on a new version of Node, add a PR check to ensure the codebase continues to compile against the previous version of Node. See [Remove Node 16 compilation PR check](https://github.com/github/codeql-action/pull/2695) for an example.
|
||||||
|
|
||||||
|
## Deprecating a CodeQL Action major version (write access required)
|
||||||
|
|
||||||
We typically deprecate older versions of the Action once all supported GHES versions are compatible with the version of Node.js we are using on `main`.
|
We typically deprecate older versions of the Action once all supported GHES versions are compatible with the version of Node.js we are using on `main`.
|
||||||
|
|
||||||
To deprecate an older version of the Action:
|
To deprecate an older version of the Action:
|
||||||
|
|||||||
11
README.md
11
README.md
@@ -63,13 +63,6 @@ For compiled languages:
|
|||||||
The following versions of the CodeQL Action are currently supported:
|
The following versions of the CodeQL Action are currently supported:
|
||||||
|
|
||||||
- v3 (latest)
|
- v3 (latest)
|
||||||
- v2 (deprecated, support will end on December 5th, 2024)
|
|
||||||
|
|
||||||
The only difference between CodeQL Action v2 and v3 is the version of Node.js on which they run. CodeQL Action v3 runs on Node 20, while CodeQL Action v2 runs on Node 16.
|
|
||||||
|
|
||||||
To provide the best experience to customers using older versions of GitHub Enterprise Server, we will continue to release CodeQL Action v2 so that these customers can continue to run the latest version of CodeQL as long as their version of GitHub Enterprise Server is supported. For example CodeQL Action v3.22.11 was the first release of CodeQL Action v3 and is functionally identical to v2.22.11. This approach provides an easy way to track exactly which features are included in different versions by looking at the minor and patch version numbers.
|
|
||||||
|
|
||||||
For more information, see "[Code scanning: deprecation of CodeQL Action v2](https://github.blog/changelog/2024-01-12-code-scanning-deprecation-of-codeql-action-v2/)."
|
|
||||||
|
|
||||||
## Supported versions of the CodeQL Bundle on GitHub Enterprise Server
|
## Supported versions of the CodeQL Bundle on GitHub Enterprise Server
|
||||||
|
|
||||||
@@ -77,13 +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.26.6` | `2.18.4` | Enterprise Server 3.15 | |
|
||||||
| `v3.25.11` | `2.17.6` | Enterprise Server 3.14 | |
|
| `v3.25.11` | `2.17.6` | Enterprise Server 3.14 | |
|
||||||
| `v3.24.11` | `2.16.6` | Enterprise Server 3.13 | |
|
| `v3.24.11` | `2.16.6` | Enterprise Server 3.13 | |
|
||||||
| `v3.22.12` | `2.15.5` | Enterprise Server 3.12 | |
|
| `v3.22.12` | `2.15.5` | Enterprise Server 3.12 | |
|
||||||
|
|
||||||
CodeQL Action v2 has stopped receiving updates now that GHES 3.11 is deprecated.
|
|
||||||
|
|
||||||
See the full list of GHES release and deprecation dates at [GitHub Enterprise Server releases](https://docs.github.com/en/enterprise-server/admin/all-releases#releases-of-github-enterprise-server).
|
See the full list of GHES release and deprecation dates at [GitHub Enterprise Server releases](https://docs.github.com/en/enterprise-server/admin/all-releases#releases-of-github-enterprise-server).
|
||||||
|
|
||||||
## Troubleshooting
|
## Troubleshooting
|
||||||
|
|||||||
5
lib/analyze-action-post.js
generated
5
lib/analyze-action-post.js
generated
@@ -41,6 +41,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|||||||
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 environment_1 = require("./environment");
|
const environment_1 = require("./environment");
|
||||||
@@ -57,7 +58,9 @@ 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);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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,oDAAsC;AAEtC,4DAA8C;AAC9C,6CAAgD;AAChD,qCAAqC;AACrC,iDAA2C;AAC3C,kEAAoD;AACpD,+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;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"}
|
||||||
10
lib/analyze-action.js
generated
10
lib/analyze-action.js
generated
@@ -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();
|
||||||
@@ -188,7 +196,7 @@ async function run() {
|
|||||||
const memory = util.getMemoryFlag(actionsUtil.getOptionalInput("ram") || process.env["CODEQL_RAM"], logger);
|
const memory = util.getMemoryFlag(actionsUtil.getOptionalInput("ram") || process.env["CODEQL_RAM"], logger);
|
||||||
const pull_request = github.context.payload.pull_request;
|
const pull_request = github.context.payload.pull_request;
|
||||||
const diffRangePackDir = pull_request &&
|
const diffRangePackDir = pull_request &&
|
||||||
(await (0, analyze_1.setupDiffInformedQueryRun)(pull_request.base.ref, pull_request.head.ref, codeql, logger, features));
|
(await (0, analyze_1.setupDiffInformedQueryRun)(pull_request.base.ref, pull_request.head.label, codeql, logger, features));
|
||||||
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);
|
||||||
|
|||||||
File diff suppressed because one or more lines are too long
247
lib/analyze.js
generated
247
lib/analyze.js
generated
@@ -36,7 +36,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|||||||
return (mod && mod.__esModule) ? mod : { "default": mod };
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
||||||
};
|
};
|
||||||
Object.defineProperty(exports, "__esModule", { value: true });
|
Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
exports.CodeQLAnalysisError = void 0;
|
exports.exportedForTesting = exports.CodeQLAnalysisError = void 0;
|
||||||
exports.runExtraction = runExtraction;
|
exports.runExtraction = runExtraction;
|
||||||
exports.dbIsFinalized = dbIsFinalized;
|
exports.dbIsFinalized = dbIsFinalized;
|
||||||
exports.setupDiffInformedQueryRun = setupDiffInformedQueryRun;
|
exports.setupDiffInformedQueryRun = setupDiffInformedQueryRun;
|
||||||
@@ -51,12 +51,12 @@ const io = __importStar(require("@actions/io"));
|
|||||||
const del_1 = __importDefault(require("del"));
|
const del_1 = __importDefault(require("del"));
|
||||||
const yaml = __importStar(require("js-yaml"));
|
const yaml = __importStar(require("js-yaml"));
|
||||||
const actionsUtil = __importStar(require("./actions-util"));
|
const actionsUtil = __importStar(require("./actions-util"));
|
||||||
|
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 diagnostics_1 = require("./diagnostics");
|
const diagnostics_1 = require("./diagnostics");
|
||||||
const environment_1 = require("./environment");
|
const environment_1 = require("./environment");
|
||||||
const feature_flags_1 = require("./feature-flags");
|
const feature_flags_1 = require("./feature-flags");
|
||||||
const gitUtils = __importStar(require("./git-utils"));
|
|
||||||
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 tools_features_1 = require("./tools-features");
|
||||||
@@ -152,124 +152,173 @@ 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 baseRef The base branch name, used for calculating the diff range.
|
||||||
* @param headRef The head 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 codeql
|
||||||
* @param logger
|
* @param logger
|
||||||
* @param features
|
* @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, headRef, codeql, logger, features) {
|
async function setupDiffInformedQueryRun(baseRef, headLabel, codeql, logger, features) {
|
||||||
if (!(await features.getValue(feature_flags_1.Feature.DiffInformedQueries, codeql))) {
|
if (!(await features.getValue(feature_flags_1.Feature.DiffInformedQueries, codeql))) {
|
||||||
return undefined;
|
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, headRef, logger);
|
const diffRanges = await getPullRequestEditedDiffRanges(baseRef, headLabel, logger);
|
||||||
return writeDiffRangeDataExtensionPack(logger, diffRanges);
|
const packDir = writeDiffRangeDataExtensionPack(logger, diffRanges);
|
||||||
|
if (packDir === undefined) {
|
||||||
|
logger.warning("Cannot create diff range extension pack for diff-informed queries; " +
|
||||||
|
"reverting to performing full analysis.");
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
logger.info(`Successfully created diff range extension pack at ${packDir}.`);
|
||||||
|
}
|
||||||
|
return packDir;
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
/**
|
/**
|
||||||
* 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 baseRef The base branch name, used for calculating the diff range.
|
||||||
* @param headRef The head 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 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, headRef, logger) {
|
async function getPullRequestEditedDiffRanges(baseRef, headLabel, logger) {
|
||||||
const checkoutPath = actionsUtil.getOptionalInput("checkout_path");
|
const fileDiffs = await getFileDiffsWithBasehead(baseRef, headLabel, logger);
|
||||||
if (checkoutPath === undefined) {
|
if (fileDiffs === undefined) {
|
||||||
return undefined;
|
return undefined;
|
||||||
}
|
}
|
||||||
// To compute the merge bases between the base branch and the PR topic branch,
|
if (fileDiffs.length >= 300) {
|
||||||
// we need to fetch the commit graph from the branch heads to those merge
|
// The "compare two commits" API returns a maximum of 300 changed files. If
|
||||||
// babes. The following 6-step procedure does so while limiting the amount of
|
// we see that many changed files, it is possible that there could be more,
|
||||||
// history fetched.
|
// with the rest being truncated. In this case, we should not attempt to
|
||||||
// Step 1: Deepen from the PR merge commit to the base branch head and the PR
|
// compute the diff ranges, as the result would be incomplete.
|
||||||
// topic branch head, so that the PR merge commit is no longer considered a
|
logger.warning(`Cannot retrieve the full diff because there are too many ` +
|
||||||
// grafted commit.
|
`(${fileDiffs.length}) changed files in the pull request.`);
|
||||||
await gitUtils.deepenGitHistory();
|
|
||||||
// Step 2: Fetch the base branch shallow history. This step ensures that the
|
|
||||||
// base branch name is present in the local repository. Normally the base
|
|
||||||
// branch name would be added by Step 4. However, if the base branch head is
|
|
||||||
// an ancestor of the PR topic branch head, Step 4 would fail without doing
|
|
||||||
// anything, so we need to fetch the base branch explicitly.
|
|
||||||
await gitUtils.gitFetch(baseRef, ["--depth=1"]);
|
|
||||||
// Step 3: Fetch the PR topic branch history, stopping when we reach commits
|
|
||||||
// that are reachable from the base branch head.
|
|
||||||
await gitUtils.gitFetch(headRef, [`--shallow-exclude=${baseRef}`]);
|
|
||||||
// Step 4: Fetch the base branch history, stopping when we reach commits that
|
|
||||||
// are reachable from the PR topic branch head.
|
|
||||||
await gitUtils.gitFetch(baseRef, [`--shallow-exclude=${headRef}`]);
|
|
||||||
// Step 5: Repack the history to remove the shallow grafts that were added by
|
|
||||||
// the previous fetches. This step works around a bug that causes subsequent
|
|
||||||
// deepening fetches to fail with "fatal: error in object: unshallow <SHA>".
|
|
||||||
// See https://stackoverflow.com/q/63878612
|
|
||||||
await gitUtils.gitRepack(["-d"]);
|
|
||||||
// Step 6: Deepen the history so that we have the merge bases between the base
|
|
||||||
// branch and the PR topic branch.
|
|
||||||
await gitUtils.deepenGitHistory();
|
|
||||||
// To compute the exact same diff as GitHub would compute for the PR, we need
|
|
||||||
// to use the same merge base as GitHub. That is easy to do if there is only
|
|
||||||
// one merge base, which is by far the most common case. If there are multiple
|
|
||||||
// merge bases, we stop without producing a diff range.
|
|
||||||
const mergeBases = await gitUtils.getAllGitMergeBases([baseRef, headRef]);
|
|
||||||
logger.info(`Merge bases: ${mergeBases.join(", ")}`);
|
|
||||||
if (mergeBases.length !== 1) {
|
|
||||||
logger.info("Cannot compute diff range because baseRef and headRef " +
|
|
||||||
`have ${mergeBases.length} merge bases (instead of exactly 1).`);
|
|
||||||
return undefined;
|
return undefined;
|
||||||
}
|
}
|
||||||
const diffHunkHeaders = await gitUtils.getGitDiffHunkHeaders(mergeBases[0], headRef);
|
const results = [];
|
||||||
if (diffHunkHeaders === undefined) {
|
for (const filediff of fileDiffs) {
|
||||||
return undefined;
|
const diffRanges = getDiffRanges(filediff, logger);
|
||||||
}
|
if (diffRanges === undefined) {
|
||||||
const results = new Array();
|
return undefined;
|
||||||
let changedFile = "";
|
|
||||||
for (const line of diffHunkHeaders) {
|
|
||||||
if (line.startsWith("+++ ")) {
|
|
||||||
const filePath = gitUtils.decodeGitFilePath(line.substring(4));
|
|
||||||
if (filePath.startsWith("b/")) {
|
|
||||||
// The file was edited: track all hunks in the file
|
|
||||||
changedFile = filePath.substring(2);
|
|
||||||
}
|
|
||||||
else if (filePath === "/dev/null") {
|
|
||||||
// The file was deleted: skip all hunks in the file
|
|
||||||
changedFile = "";
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
logger.warning(`Failed to parse diff hunk header line: ${line}`);
|
|
||||||
return undefined;
|
|
||||||
}
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
if (line.startsWith("@@ ")) {
|
|
||||||
if (changedFile === "")
|
|
||||||
continue;
|
|
||||||
const match = line.match(/^@@ -\d+(?:,\d+)? \+(\d+)(?:,(\d+))? @@/);
|
|
||||||
if (match === null) {
|
|
||||||
logger.warning(`Failed to parse diff hunk header line: ${line}`);
|
|
||||||
return undefined;
|
|
||||||
}
|
|
||||||
const startLine = parseInt(match[1], 10);
|
|
||||||
const numLines = parseInt(match[2], 10);
|
|
||||||
if (numLines === 0) {
|
|
||||||
// The hunk was a deletion: skip it
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
const endLine = startLine + (numLines || 1) - 1;
|
|
||||||
results.push({
|
|
||||||
path: path.join(checkoutPath, changedFile),
|
|
||||||
startLine,
|
|
||||||
endLine,
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
|
results.push(...diffRanges);
|
||||||
}
|
}
|
||||||
return results;
|
return results;
|
||||||
}
|
}
|
||||||
|
async function getFileDiffsWithBasehead(baseRef, headLabel, logger) {
|
||||||
|
const ownerRepo = util.getRequiredEnvParam("GITHUB_REPOSITORY").split("/");
|
||||||
|
const owner = ownerRepo[0];
|
||||||
|
const repo = ownerRepo[1];
|
||||||
|
const basehead = `${baseRef}...${headLabel}`;
|
||||||
|
try {
|
||||||
|
const response = await (0, api_client_1.getApiClient)().rest.repos.compareCommitsWithBasehead({
|
||||||
|
owner,
|
||||||
|
repo,
|
||||||
|
basehead,
|
||||||
|
per_page: 1,
|
||||||
|
});
|
||||||
|
logger.debug(`Response from compareCommitsWithBasehead(${basehead}):` +
|
||||||
|
`\n${JSON.stringify(response, null, 2)}`);
|
||||||
|
return response.data.files;
|
||||||
|
}
|
||||||
|
catch (error) {
|
||||||
|
if (error.status) {
|
||||||
|
logger.warning(`Error retrieving diff ${basehead}: ${error.message}`);
|
||||||
|
logger.debug(`Error running compareCommitsWithBasehead(${basehead}):` +
|
||||||
|
`\nRequest: ${JSON.stringify(error.request, null, 2)}` +
|
||||||
|
`\nError Response: ${JSON.stringify(error.response, null, 2)}`);
|
||||||
|
return undefined;
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
throw error;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
function getDiffRanges(fileDiff, logger) {
|
||||||
|
// Diff-informed queries expect the file path to be absolute. CodeQL always
|
||||||
|
// uses forward slashes as the path separator, so on Windows we need to
|
||||||
|
// replace any backslashes with forward slashes.
|
||||||
|
const filename = path
|
||||||
|
.join(actionsUtil.getRequiredInput("checkout_path"), fileDiff.filename)
|
||||||
|
.replaceAll(path.sep, "/");
|
||||||
|
if (fileDiff.patch === undefined) {
|
||||||
|
if (fileDiff.changes === 0) {
|
||||||
|
// There are situations where a changed file legitimately has no diff.
|
||||||
|
// For example, the file may be a binary file, or that the file may have
|
||||||
|
// been renamed with no changes to its contents. In these cases, the
|
||||||
|
// file would be reported as having 0 changes, and we can return an empty
|
||||||
|
// array to indicate no diff range in this file.
|
||||||
|
return [];
|
||||||
|
}
|
||||||
|
// If a file is reported to have nonzero changes but no patch, that may be
|
||||||
|
// due to the file diff being too large. In this case, we should fall back
|
||||||
|
// to a special diff range that covers the entire file.
|
||||||
|
return [
|
||||||
|
{
|
||||||
|
path: filename,
|
||||||
|
startLine: 0,
|
||||||
|
endLine: 0,
|
||||||
|
},
|
||||||
|
];
|
||||||
|
}
|
||||||
|
// The 1-based file line number of the current line
|
||||||
|
let currentLine = 0;
|
||||||
|
// The 1-based file line number that starts the current range of added lines
|
||||||
|
let additionRangeStartLine = undefined;
|
||||||
|
const diffRanges = [];
|
||||||
|
const diffLines = fileDiff.patch.split("\n");
|
||||||
|
// Adding a fake context line at the end ensures that the following loop will
|
||||||
|
// always terminate the last range of added lines.
|
||||||
|
diffLines.push(" ");
|
||||||
|
for (const diffLine of diffLines) {
|
||||||
|
if (diffLine.startsWith("-")) {
|
||||||
|
// Ignore deletions completely -- we do not even want to consider them when
|
||||||
|
// calculating consecutive ranges of added lines.
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
if (diffLine.startsWith("+")) {
|
||||||
|
if (additionRangeStartLine === undefined) {
|
||||||
|
additionRangeStartLine = currentLine;
|
||||||
|
}
|
||||||
|
currentLine++;
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
if (additionRangeStartLine !== undefined) {
|
||||||
|
// Any line that does not start with a "+" or "-" terminates the current
|
||||||
|
// range of added lines.
|
||||||
|
diffRanges.push({
|
||||||
|
path: filename,
|
||||||
|
startLine: additionRangeStartLine,
|
||||||
|
endLine: currentLine - 1,
|
||||||
|
});
|
||||||
|
additionRangeStartLine = undefined;
|
||||||
|
}
|
||||||
|
if (diffLine.startsWith("@@ ")) {
|
||||||
|
// A new hunk header line resets the current line number.
|
||||||
|
const match = diffLine.match(/^@@ -\d+(?:,\d+)? \+(\d+)(?:,\d+)? @@/);
|
||||||
|
if (match === null) {
|
||||||
|
logger.warning(`Cannot parse diff hunk header for ${fileDiff.filename}: ${diffLine}`);
|
||||||
|
return undefined;
|
||||||
|
}
|
||||||
|
currentLine = parseInt(match[1], 10);
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
if (diffLine.startsWith(" ")) {
|
||||||
|
// An unchanged context line advances the current line number.
|
||||||
|
currentLine++;
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return diffRanges;
|
||||||
|
}
|
||||||
/**
|
/**
|
||||||
* Create an extension pack in the temporary directory that contains the file
|
* Create an extension pack in the temporary directory that contains the file
|
||||||
* line ranges that were added or modified in the pull request.
|
* line ranges that were added or modified in the pull request.
|
||||||
@@ -303,7 +352,12 @@ extensions:
|
|||||||
data:
|
data:
|
||||||
`;
|
`;
|
||||||
let data = ranges
|
let data = ranges
|
||||||
.map((range) => ` - ["${range.path}", ${range.startLine}, ${range.endLine}]\n`)
|
.map((range) =>
|
||||||
|
// Using yaml.dump() with `forceQuotes: true` ensures that all special
|
||||||
|
// characters are escaped, and that the path is always rendered as a
|
||||||
|
// quoted string on a single line.
|
||||||
|
` - [${yaml.dump(range.path, { forceQuotes: true }).trim()}, ` +
|
||||||
|
`${range.startLine}, ${range.endLine}]\n`)
|
||||||
.join("");
|
.join("");
|
||||||
if (!data) {
|
if (!data) {
|
||||||
// Ensure that the data extension is not empty, so that a pull request with
|
// Ensure that the data extension is not empty, so that a pull request with
|
||||||
@@ -319,6 +373,7 @@ extensions:
|
|||||||
// 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, diffRangePackDir, automationDetailsId, config, logger, features) {
|
||||||
const statusReport = {};
|
const statusReport = {};
|
||||||
|
statusReport.analysis_is_diff_informed = diffRangePackDir !== undefined;
|
||||||
const dataExtensionFlags = diffRangePackDir
|
const dataExtensionFlags = diffRangePackDir
|
||||||
? [
|
? [
|
||||||
`--additional-packs=${diffRangePackDir}`,
|
`--additional-packs=${diffRangePackDir}`,
|
||||||
@@ -371,9 +426,6 @@ async function runQueries(sarifFolder, memoryFlag, addSnippetsFlag, threadsFlag,
|
|||||||
}
|
}
|
||||||
statusReport["event_reports"].push(perQueryAlertCountEventReport);
|
statusReport["event_reports"].push(perQueryAlertCountEventReport);
|
||||||
}
|
}
|
||||||
if (!(await util.codeQlVersionAtLeast(codeql, codeql_1.CODEQL_VERSION_ANALYSIS_SUMMARY_V2))) {
|
|
||||||
await runPrintLinesOfCode(language);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
catch (e) {
|
catch (e) {
|
||||||
statusReport.analyze_failure_language = language;
|
statusReport.analyze_failure_language = language;
|
||||||
@@ -405,10 +457,6 @@ async function runQueries(sarifFolder, memoryFlag, addSnippetsFlag, threadsFlag,
|
|||||||
}
|
}
|
||||||
return perQueryAlertCounts;
|
return perQueryAlertCounts;
|
||||||
}
|
}
|
||||||
async function runPrintLinesOfCode(language) {
|
|
||||||
const databasePath = util.getCodeQLDatabasePath(config, language);
|
|
||||||
return await codeql.databasePrintBaseline(databasePath);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
async function runFinalize(outputDir, threadsFlag, memoryFlag, codeql, config, logger) {
|
async function runFinalize(outputDir, threadsFlag, memoryFlag, codeql, config, logger) {
|
||||||
try {
|
try {
|
||||||
@@ -461,4 +509,7 @@ async function runCleanup(config, cleanupLevel, logger) {
|
|||||||
}
|
}
|
||||||
logger.endGroup();
|
logger.endGroup();
|
||||||
}
|
}
|
||||||
|
exports.exportedForTesting = {
|
||||||
|
getDiffRanges,
|
||||||
|
};
|
||||||
//# sourceMappingURL=analyze.js.map
|
//# sourceMappingURL=analyze.js.map
|
||||||
File diff suppressed because one or more lines are too long
186
lib/analyze.test.js
generated
186
lib/analyze.test.js
generated
@@ -40,6 +40,7 @@ const fs = __importStar(require("fs"));
|
|||||||
const path = __importStar(require("path"));
|
const path = __importStar(require("path"));
|
||||||
const ava_1 = __importDefault(require("ava"));
|
const ava_1 = __importDefault(require("ava"));
|
||||||
const sinon = __importStar(require("sinon"));
|
const sinon = __importStar(require("sinon"));
|
||||||
|
const actionsUtil = __importStar(require("./actions-util"));
|
||||||
const analyze_1 = require("./analyze");
|
const analyze_1 = require("./analyze");
|
||||||
const codeql_1 = require("./codeql");
|
const codeql_1 = require("./codeql");
|
||||||
const feature_flags_1 = require("./feature-flags");
|
const feature_flags_1 = require("./feature-flags");
|
||||||
@@ -115,6 +116,7 @@ const util = __importStar(require("./util"));
|
|||||||
});
|
});
|
||||||
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, 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",
|
||||||
`analyze_builtin_queries_${language}_duration_ms`,
|
`analyze_builtin_queries_${language}_duration_ms`,
|
||||||
"event_reports",
|
"event_reports",
|
||||||
`interpret_results_${language}_duration_ms`,
|
`interpret_results_${language}_duration_ms`,
|
||||||
@@ -127,4 +129,188 @@ const util = __importStar(require("./util"));
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
function runGetDiffRanges(changes, patch) {
|
||||||
|
sinon
|
||||||
|
.stub(actionsUtil, "getRequiredInput")
|
||||||
|
.withArgs("checkout_path")
|
||||||
|
.returns("/checkout/path");
|
||||||
|
return analyze_1.exportedForTesting.getDiffRanges({
|
||||||
|
filename: "test.txt",
|
||||||
|
changes,
|
||||||
|
patch: patch?.join("\n"),
|
||||||
|
}, (0, logging_1.getRunnerLogger)(true));
|
||||||
|
}
|
||||||
|
(0, ava_1.default)("getDiffRanges: file unchanged", async (t) => {
|
||||||
|
const diffRanges = runGetDiffRanges(0, undefined);
|
||||||
|
t.deepEqual(diffRanges, []);
|
||||||
|
});
|
||||||
|
(0, ava_1.default)("getDiffRanges: file diff too large", async (t) => {
|
||||||
|
const diffRanges = runGetDiffRanges(1000000, undefined);
|
||||||
|
t.deepEqual(diffRanges, [
|
||||||
|
{
|
||||||
|
path: "/checkout/path/test.txt",
|
||||||
|
startLine: 0,
|
||||||
|
endLine: 0,
|
||||||
|
},
|
||||||
|
]);
|
||||||
|
});
|
||||||
|
(0, ava_1.default)("getDiffRanges: diff thunk with single addition range", async (t) => {
|
||||||
|
const diffRanges = runGetDiffRanges(2, [
|
||||||
|
"@@ -30,6 +50,8 @@",
|
||||||
|
" a",
|
||||||
|
" b",
|
||||||
|
" c",
|
||||||
|
"+1",
|
||||||
|
"+2",
|
||||||
|
" d",
|
||||||
|
" e",
|
||||||
|
" f",
|
||||||
|
]);
|
||||||
|
t.deepEqual(diffRanges, [
|
||||||
|
{
|
||||||
|
path: "/checkout/path/test.txt",
|
||||||
|
startLine: 53,
|
||||||
|
endLine: 54,
|
||||||
|
},
|
||||||
|
]);
|
||||||
|
});
|
||||||
|
(0, ava_1.default)("getDiffRanges: diff thunk with single deletion range", async (t) => {
|
||||||
|
const diffRanges = runGetDiffRanges(2, [
|
||||||
|
"@@ -30,8 +50,6 @@",
|
||||||
|
" a",
|
||||||
|
" b",
|
||||||
|
" c",
|
||||||
|
"-1",
|
||||||
|
"-2",
|
||||||
|
" d",
|
||||||
|
" e",
|
||||||
|
" f",
|
||||||
|
]);
|
||||||
|
t.deepEqual(diffRanges, []);
|
||||||
|
});
|
||||||
|
(0, ava_1.default)("getDiffRanges: diff thunk with single update range", async (t) => {
|
||||||
|
const diffRanges = runGetDiffRanges(2, [
|
||||||
|
"@@ -30,7 +50,7 @@",
|
||||||
|
" a",
|
||||||
|
" b",
|
||||||
|
" c",
|
||||||
|
"-1",
|
||||||
|
"+2",
|
||||||
|
" d",
|
||||||
|
" e",
|
||||||
|
" f",
|
||||||
|
]);
|
||||||
|
t.deepEqual(diffRanges, [
|
||||||
|
{
|
||||||
|
path: "/checkout/path/test.txt",
|
||||||
|
startLine: 53,
|
||||||
|
endLine: 53,
|
||||||
|
},
|
||||||
|
]);
|
||||||
|
});
|
||||||
|
(0, ava_1.default)("getDiffRanges: diff thunk with addition ranges", async (t) => {
|
||||||
|
const diffRanges = runGetDiffRanges(2, [
|
||||||
|
"@@ -30,7 +50,9 @@",
|
||||||
|
" a",
|
||||||
|
" b",
|
||||||
|
" c",
|
||||||
|
"+1",
|
||||||
|
" c",
|
||||||
|
"+2",
|
||||||
|
" d",
|
||||||
|
" e",
|
||||||
|
" f",
|
||||||
|
]);
|
||||||
|
t.deepEqual(diffRanges, [
|
||||||
|
{
|
||||||
|
path: "/checkout/path/test.txt",
|
||||||
|
startLine: 53,
|
||||||
|
endLine: 53,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
path: "/checkout/path/test.txt",
|
||||||
|
startLine: 55,
|
||||||
|
endLine: 55,
|
||||||
|
},
|
||||||
|
]);
|
||||||
|
});
|
||||||
|
(0, ava_1.default)("getDiffRanges: diff thunk with mixed ranges", async (t) => {
|
||||||
|
const diffRanges = runGetDiffRanges(2, [
|
||||||
|
"@@ -30,7 +50,7 @@",
|
||||||
|
" a",
|
||||||
|
" b",
|
||||||
|
" c",
|
||||||
|
"-1",
|
||||||
|
" d",
|
||||||
|
"-2",
|
||||||
|
"+3",
|
||||||
|
" e",
|
||||||
|
" f",
|
||||||
|
"+4",
|
||||||
|
"+5",
|
||||||
|
" g",
|
||||||
|
" h",
|
||||||
|
" i",
|
||||||
|
]);
|
||||||
|
t.deepEqual(diffRanges, [
|
||||||
|
{
|
||||||
|
path: "/checkout/path/test.txt",
|
||||||
|
startLine: 54,
|
||||||
|
endLine: 54,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
path: "/checkout/path/test.txt",
|
||||||
|
startLine: 57,
|
||||||
|
endLine: 58,
|
||||||
|
},
|
||||||
|
]);
|
||||||
|
});
|
||||||
|
(0, ava_1.default)("getDiffRanges: multiple diff thunks", async (t) => {
|
||||||
|
const diffRanges = runGetDiffRanges(2, [
|
||||||
|
"@@ -30,6 +50,8 @@",
|
||||||
|
" a",
|
||||||
|
" b",
|
||||||
|
" c",
|
||||||
|
"+1",
|
||||||
|
"+2",
|
||||||
|
" d",
|
||||||
|
" e",
|
||||||
|
" f",
|
||||||
|
"@@ -130,6 +150,8 @@",
|
||||||
|
" a",
|
||||||
|
" b",
|
||||||
|
" c",
|
||||||
|
"+1",
|
||||||
|
"+2",
|
||||||
|
" d",
|
||||||
|
" e",
|
||||||
|
" f",
|
||||||
|
]);
|
||||||
|
t.deepEqual(diffRanges, [
|
||||||
|
{
|
||||||
|
path: "/checkout/path/test.txt",
|
||||||
|
startLine: 53,
|
||||||
|
endLine: 54,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
path: "/checkout/path/test.txt",
|
||||||
|
startLine: 153,
|
||||||
|
endLine: 154,
|
||||||
|
},
|
||||||
|
]);
|
||||||
|
});
|
||||||
|
(0, ava_1.default)("getDiffRanges: no diff context lines", async (t) => {
|
||||||
|
const diffRanges = runGetDiffRanges(2, ["@@ -30 +50,2 @@", "+1", "+2"]);
|
||||||
|
t.deepEqual(diffRanges, [
|
||||||
|
{
|
||||||
|
path: "/checkout/path/test.txt",
|
||||||
|
startLine: 50,
|
||||||
|
endLine: 51,
|
||||||
|
},
|
||||||
|
]);
|
||||||
|
});
|
||||||
|
(0, ava_1.default)("getDiffRanges: malformed thunk header", async (t) => {
|
||||||
|
const diffRanges = runGetDiffRanges(2, ["@@ 30 +50,2 @@", "+1", "+2"]);
|
||||||
|
t.deepEqual(diffRanges, undefined);
|
||||||
|
});
|
||||||
//# sourceMappingURL=analyze.test.js.map
|
//# sourceMappingURL=analyze.test.js.map
|
||||||
File diff suppressed because one or more lines are too long
@@ -1 +1 @@
|
|||||||
{ "maximumVersion": "3.16", "minimumVersion": "3.11" }
|
{ "maximumVersion": "3.16", "minimumVersion": "3.12" }
|
||||||
|
|||||||
6
lib/cli-errors.js
generated
6
lib/cli-errors.js
generated
@@ -115,6 +115,7 @@ var CliConfigErrorCategory;
|
|||||||
CliConfigErrorCategory["IncompatibleWithActionVersion"] = "IncompatibleWithActionVersion";
|
CliConfigErrorCategory["IncompatibleWithActionVersion"] = "IncompatibleWithActionVersion";
|
||||||
CliConfigErrorCategory["InitCalledTwice"] = "InitCalledTwice";
|
CliConfigErrorCategory["InitCalledTwice"] = "InitCalledTwice";
|
||||||
CliConfigErrorCategory["InvalidConfigFile"] = "InvalidConfigFile";
|
CliConfigErrorCategory["InvalidConfigFile"] = "InvalidConfigFile";
|
||||||
|
CliConfigErrorCategory["InvalidExternalRepoSpecifier"] = "InvalidExternalRepoSpecifier";
|
||||||
CliConfigErrorCategory["InvalidSourceRoot"] = "InvalidSourceRoot";
|
CliConfigErrorCategory["InvalidSourceRoot"] = "InvalidSourceRoot";
|
||||||
CliConfigErrorCategory["MavenBuildFailed"] = "MavenBuildFailed";
|
CliConfigErrorCategory["MavenBuildFailed"] = "MavenBuildFailed";
|
||||||
CliConfigErrorCategory["NoBuildCommandAutodetected"] = "NoBuildCommandAutodetected";
|
CliConfigErrorCategory["NoBuildCommandAutodetected"] = "NoBuildCommandAutodetected";
|
||||||
@@ -166,6 +167,11 @@ exports.cliErrorsConfig = {
|
|||||||
new RegExp("The supplied config file is empty"),
|
new RegExp("The supplied config file is empty"),
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
|
[CliConfigErrorCategory.InvalidExternalRepoSpecifier]: {
|
||||||
|
cliErrorMessageCandidates: [
|
||||||
|
new RegExp("Specifier for external repository is invalid"),
|
||||||
|
],
|
||||||
|
},
|
||||||
// Expected source location for database creation does not exist
|
// Expected source location for database creation does not exist
|
||||||
[CliConfigErrorCategory.InvalidSourceRoot]: {
|
[CliConfigErrorCategory.InvalidSourceRoot]: {
|
||||||
cliErrorMessageCandidates: [new RegExp("Invalid source root")],
|
cliErrorMessageCandidates: [new RegExp("Invalid source root")],
|
||||||
|
|||||||
File diff suppressed because one or more lines are too long
52
lib/codeql.js
generated
52
lib/codeql.js
generated
@@ -33,7 +33,6 @@ var __importStar = (this && this.__importStar) || (function () {
|
|||||||
};
|
};
|
||||||
})();
|
})();
|
||||||
Object.defineProperty(exports, "__esModule", { value: true });
|
Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
exports.CODEQL_VERSION_SUBLANGUAGE_FILE_COVERAGE = exports.CODEQL_VERSION_ANALYSIS_SUMMARY_V2 = void 0;
|
|
||||||
exports.setupCodeQL = setupCodeQL;
|
exports.setupCodeQL = setupCodeQL;
|
||||||
exports.getCodeQL = getCodeQL;
|
exports.getCodeQL = getCodeQL;
|
||||||
exports.setCodeQL = setCodeQL;
|
exports.setCodeQL = setCodeQL;
|
||||||
@@ -49,7 +48,6 @@ const path = __importStar(require("path"));
|
|||||||
const core = __importStar(require("@actions/core"));
|
const core = __importStar(require("@actions/core"));
|
||||||
const toolrunner = __importStar(require("@actions/exec/lib/toolrunner"));
|
const toolrunner = __importStar(require("@actions/exec/lib/toolrunner"));
|
||||||
const yaml = __importStar(require("js-yaml"));
|
const yaml = __importStar(require("js-yaml"));
|
||||||
const semver = __importStar(require("semver"));
|
|
||||||
const actions_util_1 = require("./actions-util");
|
const actions_util_1 = require("./actions-util");
|
||||||
const cli_errors_1 = require("./cli-errors");
|
const cli_errors_1 = require("./cli-errors");
|
||||||
const doc_url_1 = require("./doc-url");
|
const doc_url_1 = require("./doc-url");
|
||||||
@@ -97,18 +95,6 @@ const EXTRACTION_DEBUG_MODE_VERBOSITY = "progress++";
|
|||||||
* For convenience, please keep these in descending order. Once a version
|
* For convenience, please keep these in descending order. Once a version
|
||||||
* flag is older than the oldest supported version above, it may be removed.
|
* flag is older than the oldest supported version above, it may be removed.
|
||||||
*/
|
*/
|
||||||
/**
|
|
||||||
* Versions 2.15.0+ of the CodeQL CLI support new analysis summaries.
|
|
||||||
*/
|
|
||||||
exports.CODEQL_VERSION_ANALYSIS_SUMMARY_V2 = "2.15.0";
|
|
||||||
/**
|
|
||||||
* Versions 2.15.0+ of the CodeQL CLI support sub-language file coverage information.
|
|
||||||
*/
|
|
||||||
exports.CODEQL_VERSION_SUBLANGUAGE_FILE_COVERAGE = "2.15.0";
|
|
||||||
/**
|
|
||||||
* Versions 2.15.2+ of the CodeQL CLI support the `--sarif-include-query-help` option.
|
|
||||||
*/
|
|
||||||
const CODEQL_VERSION_INCLUDE_QUERY_HELP = "2.15.2";
|
|
||||||
/**
|
/**
|
||||||
* Versions 2.17.1+ of the CodeQL CLI support the `--cache-cleanup` option.
|
* Versions 2.17.1+ of the CodeQL CLI support the `--cache-cleanup` option.
|
||||||
*/
|
*/
|
||||||
@@ -289,13 +275,6 @@ async function getCodeQLForCmd(cmd, checkVersion) {
|
|||||||
if (qlconfigFile !== undefined) {
|
if (qlconfigFile !== undefined) {
|
||||||
extraArgs.push(`--qlconfig-file=${qlconfigFile}`);
|
extraArgs.push(`--qlconfig-file=${qlconfigFile}`);
|
||||||
}
|
}
|
||||||
extraArgs.push("--calculate-language-specific-baseline");
|
|
||||||
if (await isSublanguageFileCoverageEnabled(config, this)) {
|
|
||||||
extraArgs.push("--sublanguage-file-coverage");
|
|
||||||
}
|
|
||||||
else if (await util.codeQlVersionAtLeast(this, exports.CODEQL_VERSION_SUBLANGUAGE_FILE_COVERAGE)) {
|
|
||||||
extraArgs.push("--no-sublanguage-file-coverage");
|
|
||||||
}
|
|
||||||
const overwriteFlag = (0, tools_features_1.isSupportedToolsFeature)(await this.getVersion(), tools_features_1.ToolsFeature.ForceOverwrite)
|
const overwriteFlag = (0, tools_features_1.isSupportedToolsFeature)(await this.getVersion(), tools_features_1.ToolsFeature.ForceOverwrite)
|
||||||
? "--force-overwrite"
|
? "--force-overwrite"
|
||||||
: "--overwrite";
|
: "--overwrite";
|
||||||
@@ -306,7 +285,9 @@ async function getCodeQLForCmd(cmd, checkVersion) {
|
|||||||
"--db-cluster",
|
"--db-cluster",
|
||||||
config.dbLocation,
|
config.dbLocation,
|
||||||
`--source-root=${sourceRoot}`,
|
`--source-root=${sourceRoot}`,
|
||||||
|
"--calculate-language-specific-baseline",
|
||||||
"--extractor-include-aliases",
|
"--extractor-include-aliases",
|
||||||
|
"--sublanguage-file-coverage",
|
||||||
...extraArgs,
|
...extraArgs,
|
||||||
...getExtraOptionsFromEnv(["database", "init"], {
|
...getExtraOptionsFromEnv(["database", "init"], {
|
||||||
ignoringOptions: ["--overwrite"],
|
ignoringOptions: ["--overwrite"],
|
||||||
@@ -466,15 +447,13 @@ async function getCodeQLForCmd(cmd, checkVersion) {
|
|||||||
...flags,
|
...flags,
|
||||||
databasePath,
|
databasePath,
|
||||||
"--expect-discarded-cache",
|
"--expect-discarded-cache",
|
||||||
|
"--intra-layer-parallelism",
|
||||||
"--min-disk-free=1024", // Try to leave at least 1GB free
|
"--min-disk-free=1024", // Try to leave at least 1GB free
|
||||||
"-v",
|
"-v",
|
||||||
...getExtraOptionsFromEnv(["database", "run-queries"], {
|
...getExtraOptionsFromEnv(["database", "run-queries"], {
|
||||||
ignoringOptions: ["--expect-discarded-cache"],
|
ignoringOptions: ["--expect-discarded-cache"],
|
||||||
}),
|
}),
|
||||||
];
|
];
|
||||||
if (await util.codeQlVersionAtLeast(this, feature_flags_1.CODEQL_VERSION_FINE_GRAINED_PARALLELISM)) {
|
|
||||||
codeqlArgs.push("--intra-layer-parallelism");
|
|
||||||
}
|
|
||||||
await runCli(cmd, codeqlArgs);
|
await runCli(cmd, codeqlArgs);
|
||||||
},
|
},
|
||||||
async databaseInterpretResults(databasePath, querySuitePaths, sarifFile, addSnippetsFlag, threadsFlag, verbosityFlag, sarifRunPropertyFlag, automationDetailsId, config, features) {
|
async databaseInterpretResults(databasePath, querySuitePaths, sarifFile, addSnippetsFlag, threadsFlag, verbosityFlag, sarifRunPropertyFlag, automationDetailsId, config, features) {
|
||||||
@@ -492,7 +471,8 @@ async function getCodeQLForCmd(cmd, checkVersion) {
|
|||||||
"--sarif-add-baseline-file-info",
|
"--sarif-add-baseline-file-info",
|
||||||
`--sarif-codescanning-config=${getGeneratedCodeScanningConfigPath(config)}`,
|
`--sarif-codescanning-config=${getGeneratedCodeScanningConfigPath(config)}`,
|
||||||
"--sarif-group-rules-by-pack",
|
"--sarif-group-rules-by-pack",
|
||||||
...(await getCodeScanningQueryHelpArguments(this)),
|
"--sarif-include-query-help=always",
|
||||||
|
"--sublanguage-file-coverage",
|
||||||
...(await getJobRunUuidSarifOptions(this)),
|
...(await getJobRunUuidSarifOptions(this)),
|
||||||
...getExtraOptionsFromEnv(["database", "interpret-results"]),
|
...getExtraOptionsFromEnv(["database", "interpret-results"]),
|
||||||
];
|
];
|
||||||
@@ -502,20 +482,13 @@ async function getCodeQLForCmd(cmd, checkVersion) {
|
|||||||
if (automationDetailsId !== undefined) {
|
if (automationDetailsId !== undefined) {
|
||||||
codeqlArgs.push("--sarif-category", automationDetailsId);
|
codeqlArgs.push("--sarif-category", automationDetailsId);
|
||||||
}
|
}
|
||||||
if (await isSublanguageFileCoverageEnabled(config, this)) {
|
|
||||||
codeqlArgs.push("--sublanguage-file-coverage");
|
|
||||||
}
|
|
||||||
else if (await util.codeQlVersionAtLeast(this, exports.CODEQL_VERSION_SUBLANGUAGE_FILE_COVERAGE)) {
|
|
||||||
codeqlArgs.push("--no-sublanguage-file-coverage");
|
|
||||||
}
|
|
||||||
if (shouldExportDiagnostics) {
|
if (shouldExportDiagnostics) {
|
||||||
codeqlArgs.push("--sarif-include-diagnostics");
|
codeqlArgs.push("--sarif-include-diagnostics");
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
codeqlArgs.push("--no-sarif-include-diagnostics");
|
codeqlArgs.push("--no-sarif-include-diagnostics");
|
||||||
}
|
}
|
||||||
if ((await util.codeQlVersionAtLeast(this, exports.CODEQL_VERSION_ANALYSIS_SUMMARY_V2)) &&
|
if (!(0, tools_features_1.isSupportedToolsFeature)(await this.getVersion(), tools_features_1.ToolsFeature.AnalysisSummaryV2IsDefault)) {
|
||||||
!(0, tools_features_1.isSupportedToolsFeature)(await this.getVersion(), tools_features_1.ToolsFeature.AnalysisSummaryV2IsDefault)) {
|
|
||||||
codeqlArgs.push("--new-analysis-summary");
|
codeqlArgs.push("--new-analysis-summary");
|
||||||
}
|
}
|
||||||
codeqlArgs.push(databasePath);
|
codeqlArgs.push(databasePath);
|
||||||
@@ -846,19 +819,6 @@ async function getTrapCachingExtractorConfigArgsForLang(config, language) {
|
|||||||
function getGeneratedCodeScanningConfigPath(config) {
|
function getGeneratedCodeScanningConfigPath(config) {
|
||||||
return path.resolve(config.tempDir, "user-config.yaml");
|
return path.resolve(config.tempDir, "user-config.yaml");
|
||||||
}
|
}
|
||||||
async function isSublanguageFileCoverageEnabled(config, codeql) {
|
|
||||||
return (
|
|
||||||
// Sub-language file coverage is first supported in GHES 3.12.
|
|
||||||
(config.gitHubVersion.type !== util.GitHubVariant.GHES ||
|
|
||||||
semver.gte(config.gitHubVersion.version, "3.12.0")) &&
|
|
||||||
(await util.codeQlVersionAtLeast(codeql, exports.CODEQL_VERSION_SUBLANGUAGE_FILE_COVERAGE)));
|
|
||||||
}
|
|
||||||
async function getCodeScanningQueryHelpArguments(codeql) {
|
|
||||||
if (await util.codeQlVersionAtLeast(codeql, CODEQL_VERSION_INCLUDE_QUERY_HELP)) {
|
|
||||||
return ["--sarif-include-query-help=always"];
|
|
||||||
}
|
|
||||||
return ["--sarif-add-query-help"];
|
|
||||||
}
|
|
||||||
function getExtractionVerbosityArguments(enableDebugLogging) {
|
function getExtractionVerbosityArguments(enableDebugLogging) {
|
||||||
return enableDebugLogging
|
return enableDebugLogging
|
||||||
? [`--verbosity=${EXTRACTION_DEBUG_MODE_VERBOSITY}`]
|
? [`--verbosity=${EXTRACTION_DEBUG_MODE_VERBOSITY}`]
|
||||||
|
|||||||
File diff suppressed because one or more lines are too long
10
lib/codeql.test.js
generated
10
lib/codeql.test.js
generated
@@ -521,14 +521,6 @@ const NEW_ANALYSIS_SUMMARY_TEST_CASES = [
|
|||||||
flagPassed: true,
|
flagPassed: true,
|
||||||
negativeFlagPassed: false,
|
negativeFlagPassed: false,
|
||||||
},
|
},
|
||||||
{
|
|
||||||
codeqlVersion: (0, testing_utils_1.makeVersionInfo)("2.14.6"),
|
|
||||||
githubVersion: {
|
|
||||||
type: util.GitHubVariant.DOTCOM,
|
|
||||||
},
|
|
||||||
flagPassed: false,
|
|
||||||
negativeFlagPassed: false,
|
|
||||||
},
|
|
||||||
];
|
];
|
||||||
for (const { codeqlVersion, flagPassed, githubVersion, negativeFlagPassed, } of NEW_ANALYSIS_SUMMARY_TEST_CASES) {
|
for (const { codeqlVersion, flagPassed, githubVersion, negativeFlagPassed, } of NEW_ANALYSIS_SUMMARY_TEST_CASES) {
|
||||||
(0, ava_1.default)(`database interpret-results passes ${flagPassed
|
(0, ava_1.default)(`database interpret-results passes ${flagPassed
|
||||||
@@ -620,7 +612,7 @@ for (const { codeqlVersion, flagPassed, githubVersion, negativeFlagPassed, } of
|
|||||||
sinon.stub(io, "which").resolves("");
|
sinon.stub(io, "which").resolves("");
|
||||||
await t.throwsAsync(async () => await codeqlObject.databaseRunQueries(stubConfig.dbLocation, []), {
|
await t.throwsAsync(async () => await codeqlObject.databaseRunQueries(stubConfig.dbLocation, []), {
|
||||||
instanceOf: cli_errors_1.CliError,
|
instanceOf: cli_errors_1.CliError,
|
||||||
message: `Encountered a fatal error while running "codeql-for-testing database run-queries --expect-discarded-cache --min-disk-free=1024 -v --intra-layer-parallelism". Exit code was 1 and error was: Oops! A fatal internal error occurred. Details:
|
message: `Encountered a fatal error while running "codeql-for-testing database run-queries --expect-discarded-cache --intra-layer-parallelism --min-disk-free=1024 -v". Exit code was 1 and error was: Oops! A fatal internal error occurred. Details:
|
||||||
com.semmle.util.exception.CatastrophicError: An error occurred while evaluating ControlFlowGraph::ControlFlow::Root.isRootOf/1#dispred#f610e6ed/2@86282cc8
|
com.semmle.util.exception.CatastrophicError: An error occurred while evaluating ControlFlowGraph::ControlFlow::Root.isRootOf/1#dispred#f610e6ed/2@86282cc8
|
||||||
Severe disk cache trouble (corruption or out of space) at /home/runner/work/_temp/codeql_databases/go/db-go/default/cache/pages/28/33.pack: Failed to write item to disk. See the logs for more details.`,
|
Severe disk cache trouble (corruption or out of space) at /home/runner/work/_temp/codeql_databases/go/db-go/default/cache/pages/28/33.pack: Failed to write item to disk. See the logs for more details.`,
|
||||||
});
|
});
|
||||||
|
|||||||
File diff suppressed because one or more lines are too long
58
lib/debug-artifacts.js
generated
58
lib/debug-artifacts.js
generated
@@ -53,6 +53,7 @@ const analyze_1 = require("./analyze");
|
|||||||
const codeql_1 = require("./codeql");
|
const codeql_1 = require("./codeql");
|
||||||
const environment_1 = require("./environment");
|
const environment_1 = require("./environment");
|
||||||
const logging_1 = require("./logging");
|
const logging_1 = require("./logging");
|
||||||
|
const tools_features_1 = require("./tools-features");
|
||||||
const util_1 = require("./util");
|
const util_1 = require("./util");
|
||||||
function sanitizeArtifactName(name) {
|
function sanitizeArtifactName(name) {
|
||||||
return name.replace(/[^a-zA-Z0-9_\\-]+/g, "");
|
return name.replace(/[^a-zA-Z0-9_\\-]+/g, "");
|
||||||
@@ -61,30 +62,32 @@ function sanitizeArtifactName(name) {
|
|||||||
* Upload Actions SARIF artifacts for debugging when CODEQL_ACTION_DEBUG_COMBINED_SARIF
|
* Upload Actions SARIF artifacts for debugging when CODEQL_ACTION_DEBUG_COMBINED_SARIF
|
||||||
* environment variable is set
|
* environment variable is set
|
||||||
*/
|
*/
|
||||||
async function uploadCombinedSarifArtifacts(logger, gitHubVariant) {
|
async function uploadCombinedSarifArtifacts(logger, gitHubVariant, codeQlVersion) {
|
||||||
const tempDir = (0, actions_util_1.getTemporaryDirectory)();
|
const tempDir = (0, actions_util_1.getTemporaryDirectory)();
|
||||||
// Upload Actions SARIF artifacts for debugging when environment variable is set
|
// Upload Actions SARIF artifacts for debugging when environment variable is set
|
||||||
if (process.env["CODEQL_ACTION_DEBUG_COMBINED_SARIF"] === "true") {
|
if (process.env["CODEQL_ACTION_DEBUG_COMBINED_SARIF"] === "true") {
|
||||||
logger.info("Uploading available combined SARIF files as Actions debugging artifact...");
|
await (0, logging_1.withGroup)("Uploading combined SARIF debug artifact", async () => {
|
||||||
const baseTempDir = path.resolve(tempDir, "combined-sarif");
|
logger.info("Uploading available combined SARIF files as Actions debugging artifact...");
|
||||||
const toUpload = [];
|
const baseTempDir = path.resolve(tempDir, "combined-sarif");
|
||||||
if (fs.existsSync(baseTempDir)) {
|
const toUpload = [];
|
||||||
const outputDirs = fs.readdirSync(baseTempDir);
|
if (fs.existsSync(baseTempDir)) {
|
||||||
for (const outputDir of outputDirs) {
|
const outputDirs = fs.readdirSync(baseTempDir);
|
||||||
const sarifFiles = fs
|
for (const outputDir of outputDirs) {
|
||||||
.readdirSync(path.resolve(baseTempDir, outputDir))
|
const sarifFiles = fs
|
||||||
.filter((f) => f.endsWith(".sarif"));
|
.readdirSync(path.resolve(baseTempDir, outputDir))
|
||||||
for (const sarifFile of sarifFiles) {
|
.filter((f) => f.endsWith(".sarif"));
|
||||||
toUpload.push(path.resolve(baseTempDir, outputDir, sarifFile));
|
for (const sarifFile of sarifFiles) {
|
||||||
|
toUpload.push(path.resolve(baseTempDir, outputDir, sarifFile));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
try {
|
||||||
try {
|
await uploadDebugArtifacts(logger, toUpload, baseTempDir, "combined-sarif-artifacts", gitHubVariant, codeQlVersion);
|
||||||
await uploadDebugArtifacts(logger, toUpload, baseTempDir, "combined-sarif-artifacts", gitHubVariant);
|
}
|
||||||
}
|
catch (e) {
|
||||||
catch (e) {
|
logger.warning(`Failed to upload combined SARIF files as Actions debugging artifact. Reason: ${(0, util_1.getErrorMessage)(e)}`);
|
||||||
logger.warning(`Failed to upload combined SARIF files as Actions debugging artifact. Reason: ${(0, util_1.getErrorMessage)(e)}`);
|
}
|
||||||
}
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
/**
|
/**
|
||||||
@@ -140,7 +143,7 @@ async function tryBundleDatabase(config, language, logger) {
|
|||||||
*
|
*
|
||||||
* Logs and suppresses any errors that occur.
|
* Logs and suppresses any errors that occur.
|
||||||
*/
|
*/
|
||||||
async function tryUploadAllAvailableDebugArtifacts(config, logger) {
|
async function tryUploadAllAvailableDebugArtifacts(config, logger, codeQlVersion) {
|
||||||
const filesToUpload = [];
|
const filesToUpload = [];
|
||||||
try {
|
try {
|
||||||
for (const language of config.languages) {
|
for (const language of config.languages) {
|
||||||
@@ -180,18 +183,23 @@ async function tryUploadAllAvailableDebugArtifacts(config, logger) {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
try {
|
try {
|
||||||
await (0, logging_1.withGroup)("Uploading debug artifacts", async () => uploadDebugArtifacts(logger, filesToUpload, config.dbLocation, config.debugArtifactName, config.gitHubVersion.type));
|
await (0, logging_1.withGroup)("Uploading debug artifacts", async () => uploadDebugArtifacts(logger, filesToUpload, config.dbLocation, config.debugArtifactName, config.gitHubVersion.type, codeQlVersion));
|
||||||
}
|
}
|
||||||
catch (e) {
|
catch (e) {
|
||||||
logger.warning(`Failed to upload debug artifacts. Reason: ${(0, util_1.getErrorMessage)(e)}`);
|
logger.warning(`Failed to upload debug artifacts. Reason: ${(0, util_1.getErrorMessage)(e)}`);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
async function uploadDebugArtifacts(logger, toUpload, rootDir, artifactName, ghVariant) {
|
async function uploadDebugArtifacts(logger, toUpload, rootDir, artifactName, ghVariant, codeQlVersion) {
|
||||||
if (toUpload.length === 0) {
|
if (toUpload.length === 0) {
|
||||||
return;
|
return "no-artifacts-to-upload";
|
||||||
|
}
|
||||||
|
const uploadSupported = (0, tools_features_1.isSafeArtifactUpload)(codeQlVersion);
|
||||||
|
if (!uploadSupported) {
|
||||||
|
core.info(`Skipping debug artifact upload because the current CLI does not support safe upload. Please upgrade to CLI v${tools_features_1.SafeArtifactUploadVersion} or later.`);
|
||||||
|
return "upload-not-supported";
|
||||||
}
|
}
|
||||||
let suffix = "";
|
let suffix = "";
|
||||||
const matrix = (0, actions_util_1.getRequiredInput)("matrix");
|
const matrix = (0, actions_util_1.getOptionalInput)("matrix");
|
||||||
if (matrix) {
|
if (matrix) {
|
||||||
try {
|
try {
|
||||||
for (const [, matrixVal] of Object.entries(JSON.parse(matrix)).sort())
|
for (const [, matrixVal] of Object.entries(JSON.parse(matrix)).sort())
|
||||||
@@ -207,10 +215,12 @@ async function uploadDebugArtifacts(logger, toUpload, rootDir, artifactName, ghV
|
|||||||
// ensure we don't keep the debug artifacts around for too long since they can be large.
|
// ensure we don't keep the debug artifacts around for too long since they can be large.
|
||||||
retentionDays: 7,
|
retentionDays: 7,
|
||||||
});
|
});
|
||||||
|
return "upload-successful";
|
||||||
}
|
}
|
||||||
catch (e) {
|
catch (e) {
|
||||||
// A failure to upload debug artifacts should not fail the entire action.
|
// A failure to upload debug artifacts should not fail the entire action.
|
||||||
core.warning(`Failed to upload debug artifacts: ${e}`);
|
core.warning(`Failed to upload debug artifacts: ${e}`);
|
||||||
|
return "upload-failed";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// `@actions/artifact@v2` is not yet supported on GHES so the legacy version of the client will be used on GHES
|
// `@actions/artifact@v2` is not yet supported on GHES so the legacy version of the client will be used on GHES
|
||||||
|
|||||||
File diff suppressed because one or more lines are too long
42
lib/debug-artifacts.test.js
generated
42
lib/debug-artifacts.test.js
generated
@@ -46,9 +46,47 @@ const util_1 = require("./util");
|
|||||||
t.deepEqual(debugArtifacts.sanitizeArtifactName("hello===123"), "hello123");
|
t.deepEqual(debugArtifacts.sanitizeArtifactName("hello===123"), "hello123");
|
||||||
t.deepEqual(debugArtifacts.sanitizeArtifactName("*m)a&n^y%i££n+v!a:l[i]d"), "manyinvalid");
|
t.deepEqual(debugArtifacts.sanitizeArtifactName("*m)a&n^y%i££n+v!a:l[i]d"), "manyinvalid");
|
||||||
});
|
});
|
||||||
(0, ava_1.default)("uploadDebugArtifacts", async (t) => {
|
// These next tests check the correctness of the logic to determine whether or not
|
||||||
|
// artifacts are uploaded in debug mode. Since it's not easy to mock the actual
|
||||||
|
// call to upload an artifact, we just check that we get an "upload-failed" result,
|
||||||
|
// instead of actually uploading the artifact.
|
||||||
|
//
|
||||||
|
// For tests where we expect artifact upload to be blocked, we check for a different
|
||||||
|
// response from the function.
|
||||||
|
(0, ava_1.default)("uploadDebugArtifacts when artifacts empty should emit 'no-artifacts-to-upload'", async (t) => {
|
||||||
// Test that no error is thrown if artifacts list is empty.
|
// Test that no error is thrown if artifacts list is empty.
|
||||||
const logger = (0, logging_1.getActionsLogger)();
|
const logger = (0, logging_1.getActionsLogger)();
|
||||||
await t.notThrowsAsync(debugArtifacts.uploadDebugArtifacts(logger, [], "rootDir", "artifactName", util_1.GitHubVariant.DOTCOM));
|
await t.notThrowsAsync(async () => {
|
||||||
|
const uploaded = await debugArtifacts.uploadDebugArtifacts(logger, [], "i-dont-exist", "artifactName", util_1.GitHubVariant.DOTCOM, undefined);
|
||||||
|
t.is(uploaded, "no-artifacts-to-upload", "Should not have uploaded any artifacts");
|
||||||
|
});
|
||||||
|
});
|
||||||
|
(0, ava_1.default)("uploadDebugArtifacts when no codeql version is used should invoke artifact upload", async (t) => {
|
||||||
|
// Test that the artifact is uploaded.
|
||||||
|
const logger = (0, logging_1.getActionsLogger)();
|
||||||
|
await t.notThrowsAsync(async () => {
|
||||||
|
const uploaded = await debugArtifacts.uploadDebugArtifacts(logger, ["hucairz"], "i-dont-exist", "artifactName", util_1.GitHubVariant.DOTCOM, undefined);
|
||||||
|
t.is(uploaded,
|
||||||
|
// The failure is expected since we don't want to actually upload any artifacts in unit tests.
|
||||||
|
"upload-failed", "Expect failure to upload artifacts since root dir does not exist");
|
||||||
|
});
|
||||||
|
});
|
||||||
|
(0, ava_1.default)("uploadDebugArtifacts when new codeql version is used should invoke artifact upload", async (t) => {
|
||||||
|
// Test that the artifact is uploaded.
|
||||||
|
const logger = (0, logging_1.getActionsLogger)();
|
||||||
|
await t.notThrowsAsync(async () => {
|
||||||
|
const uploaded = await debugArtifacts.uploadDebugArtifacts(logger, ["hucairz"], "i-dont-exist", "artifactName", util_1.GitHubVariant.DOTCOM, "2.20.3");
|
||||||
|
t.is(uploaded,
|
||||||
|
// The failure is expected since we don't want to actually upload any artifacts in unit tests.
|
||||||
|
"upload-failed", "Expect failure to upload artifacts since root dir does not exist");
|
||||||
|
});
|
||||||
|
});
|
||||||
|
(0, ava_1.default)("uploadDebugArtifacts when old codeql is used should avoid trying to upload artifacts", async (t) => {
|
||||||
|
// Test that the artifact is not uploaded.
|
||||||
|
const logger = (0, logging_1.getActionsLogger)();
|
||||||
|
await t.notThrowsAsync(async () => {
|
||||||
|
const uploaded = await debugArtifacts.uploadDebugArtifacts(logger, ["hucairz"], "i-dont-exist", "artifactName", util_1.GitHubVariant.DOTCOM, "2.20.2");
|
||||||
|
t.is(uploaded, "upload-not-supported", "Expected artifact upload to be blocked because of old CodeQL version");
|
||||||
|
});
|
||||||
});
|
});
|
||||||
//# sourceMappingURL=debug-artifacts.test.js.map
|
//# sourceMappingURL=debug-artifacts.test.js.map
|
||||||
@@ -1 +1 @@
|
|||||||
{"version":3,"file":"debug-artifacts.test.js","sourceRoot":"","sources":["../src/debug-artifacts.test.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,8CAAuB;AAEvB,kEAAoD;AACpD,uCAA6C;AAC7C,iCAAuC;AAEvC,IAAA,aAAI,EAAC,sBAAsB,EAAE,CAAC,CAAC,EAAE,EAAE;IACjC,CAAC,CAAC,SAAS,CACT,cAAc,CAAC,oBAAoB,CAAC,cAAc,CAAC,EACnD,cAAc,CACf,CAAC;IACF,CAAC,CAAC,SAAS,CACT,cAAc,CAAC,oBAAoB,CAAC,cAAc,CAAC,EACnD,YAAY,CACb,CAAC;IACF,CAAC,CAAC,SAAS,CAAC,cAAc,CAAC,oBAAoB,CAAC,aAAa,CAAC,EAAE,UAAU,CAAC,CAAC;IAC5E,CAAC,CAAC,SAAS,CACT,cAAc,CAAC,oBAAoB,CAAC,yBAAyB,CAAC,EAC9D,aAAa,CACd,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,IAAA,aAAI,EAAC,sBAAsB,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;IACvC,2DAA2D;IAC3D,MAAM,MAAM,GAAG,IAAA,0BAAgB,GAAE,CAAC;IAClC,MAAM,CAAC,CAAC,cAAc,CACpB,cAAc,CAAC,oBAAoB,CACjC,MAAM,EACN,EAAE,EACF,SAAS,EACT,cAAc,EACd,oBAAa,CAAC,MAAM,CACrB,CACF,CAAC;AACJ,CAAC,CAAC,CAAC"}
|
{"version":3,"file":"debug-artifacts.test.js","sourceRoot":"","sources":["../src/debug-artifacts.test.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,8CAAuB;AAEvB,kEAAoD;AACpD,uCAA6C;AAC7C,iCAAuC;AAEvC,IAAA,aAAI,EAAC,sBAAsB,EAAE,CAAC,CAAC,EAAE,EAAE;IACjC,CAAC,CAAC,SAAS,CACT,cAAc,CAAC,oBAAoB,CAAC,cAAc,CAAC,EACnD,cAAc,CACf,CAAC;IACF,CAAC,CAAC,SAAS,CACT,cAAc,CAAC,oBAAoB,CAAC,cAAc,CAAC,EACnD,YAAY,CACb,CAAC;IACF,CAAC,CAAC,SAAS,CAAC,cAAc,CAAC,oBAAoB,CAAC,aAAa,CAAC,EAAE,UAAU,CAAC,CAAC;IAC5E,CAAC,CAAC,SAAS,CACT,cAAc,CAAC,oBAAoB,CAAC,yBAAyB,CAAC,EAC9D,aAAa,CACd,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,kFAAkF;AAClF,+EAA+E;AAC/E,mFAAmF;AACnF,8CAA8C;AAC9C,EAAE;AACF,oFAAoF;AACpF,8BAA8B;AAE9B,IAAA,aAAI,EAAC,gFAAgF,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;IACjG,2DAA2D;IAC3D,MAAM,MAAM,GAAG,IAAA,0BAAgB,GAAE,CAAC;IAClC,MAAM,CAAC,CAAC,cAAc,CAAC,KAAK,IAAI,EAAE;QAChC,MAAM,QAAQ,GAAG,MAAM,cAAc,CAAC,oBAAoB,CACxD,MAAM,EACN,EAAE,EACF,cAAc,EACd,cAAc,EACd,oBAAa,CAAC,MAAM,EACpB,SAAS,CACV,CAAC;QACF,CAAC,CAAC,EAAE,CACF,QAAQ,EACR,wBAAwB,EACxB,wCAAwC,CACzC,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,IAAA,aAAI,EAAC,mFAAmF,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;IACpG,sCAAsC;IACtC,MAAM,MAAM,GAAG,IAAA,0BAAgB,GAAE,CAAC;IAClC,MAAM,CAAC,CAAC,cAAc,CAAC,KAAK,IAAI,EAAE;QAChC,MAAM,QAAQ,GAAG,MAAM,cAAc,CAAC,oBAAoB,CACxD,MAAM,EACN,CAAC,SAAS,CAAC,EACX,cAAc,EACd,cAAc,EACd,oBAAa,CAAC,MAAM,EACpB,SAAS,CACV,CAAC;QACF,CAAC,CAAC,EAAE,CACF,QAAQ;QACR,8FAA8F;QAC9F,eAAe,EACf,kEAAkE,CACnE,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,IAAA,aAAI,EAAC,oFAAoF,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;IACrG,sCAAsC;IACtC,MAAM,MAAM,GAAG,IAAA,0BAAgB,GAAE,CAAC;IAClC,MAAM,CAAC,CAAC,cAAc,CAAC,KAAK,IAAI,EAAE;QAChC,MAAM,QAAQ,GAAG,MAAM,cAAc,CAAC,oBAAoB,CACxD,MAAM,EACN,CAAC,SAAS,CAAC,EACX,cAAc,EACd,cAAc,EACd,oBAAa,CAAC,MAAM,EACpB,QAAQ,CACT,CAAC;QACF,CAAC,CAAC,EAAE,CACF,QAAQ;QACR,8FAA8F;QAC9F,eAAe,EACf,kEAAkE,CACnE,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,IAAA,aAAI,EAAC,sFAAsF,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;IACvG,0CAA0C;IAC1C,MAAM,MAAM,GAAG,IAAA,0BAAgB,GAAE,CAAC;IAClC,MAAM,CAAC,CAAC,cAAc,CAAC,KAAK,IAAI,EAAE;QAChC,MAAM,QAAQ,GAAG,MAAM,cAAc,CAAC,oBAAoB,CACxD,MAAM,EACN,CAAC,SAAS,CAAC,EACX,cAAc,EACd,cAAc,EACd,oBAAa,CAAC,MAAM,EACpB,QAAQ,CACT,CAAC;QACF,CAAC,CAAC,EAAE,CACF,QAAQ,EACR,sBAAsB,EACtB,sEAAsE,CACvE,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"bundleVersion": "codeql-bundle-v2.20.0",
|
"bundleVersion": "codeql-bundle-v2.20.4",
|
||||||
"cliVersion": "2.20.0",
|
"cliVersion": "2.20.4",
|
||||||
"priorBundleVersion": "codeql-bundle-v2.19.4",
|
"priorBundleVersion": "codeql-bundle-v2.20.3",
|
||||||
"priorCliVersion": "2.19.4"
|
"priorCliVersion": "2.20.3"
|
||||||
}
|
}
|
||||||
|
|||||||
2
lib/environment.js
generated
2
lib/environment.js
generated
@@ -43,6 +43,8 @@ var EnvVar;
|
|||||||
EnvVar["HAS_WARNED_ABOUT_DISK_SPACE"] = "CODEQL_ACTION_HAS_WARNED_ABOUT_DISK_SPACE";
|
EnvVar["HAS_WARNED_ABOUT_DISK_SPACE"] = "CODEQL_ACTION_HAS_WARNED_ABOUT_DISK_SPACE";
|
||||||
/** Whether the init action has been run. */
|
/** Whether the init action has been run. */
|
||||||
EnvVar["INIT_ACTION_HAS_RUN"] = "CODEQL_ACTION_INIT_HAS_RUN";
|
EnvVar["INIT_ACTION_HAS_RUN"] = "CODEQL_ACTION_INIT_HAS_RUN";
|
||||||
|
/** Whether the error for a deprecated version of the CodeQL Action was logged. */
|
||||||
|
EnvVar["LOG_VERSION_DEPRECATION"] = "CODEQL_ACTION_DID_LOG_VERSION_DEPRECATION";
|
||||||
/**
|
/**
|
||||||
* For macOS. Result of `csrutil status` to determine whether System Integrity
|
* For macOS. Result of `csrutil status` to determine whether System Integrity
|
||||||
* Protection is enabled.
|
* Protection is enabled.
|
||||||
|
|||||||
@@ -1 +1 @@
|
|||||||
{"version":3,"file":"environment.js","sourceRoot":"","sources":["../src/environment.ts"],"names":[],"mappings":";;;AAAA;;;;;GAKG;AACH,IAAY,MA2GX;AA3GD,WAAY,MAAM;IAChB,2DAA2D;IAC3D,+FAAqF,CAAA;IAErF,6DAA6D;IAC7D,mGAAyF,CAAA;IAEzF;;;OAGG;IACH,4CAAkC,CAAA;IAElC,gEAAgE;IAChE,qEAA2D,CAAA;IAE3D;;;OAGG;IACH,yFAA+E,CAAA;IAE/E;;;OAGG;IACH,yEAA+D,CAAA;IAE/D,gFAAgF;IAChF,6DAAmD,CAAA;IAEnD;;;OAGG;IACH,uEAA6D,CAAA;IAE7D,gEAAgE;IAChE,mEAAyD,CAAA;IAEzD,kFAAkF;IAClF,mFAAyE,CAAA;IAEzE,4CAA4C;IAC5C,4DAAkD,CAAA;IAElD;;;OAGG;IACH,yDAA+C,CAAA;IAE/C,6CAA6C;IAC7C,uCAA6B,CAAA;IAE7B,+EAA+E;IAC/E,iDAAuC,CAAA;IAEvC,mEAAyD,CAAA;IAEzD,8DAA8D;IAC9D,6EAAmE,CAAA;IAEnE;;;OAGG;IACH,2FAAiF,CAAA;IAEjF,mFAAmF;IACnF,6FAAmF,CAAA;IAEnF,qFAAqF;IACrF,+CAAqC,CAAA;IAErC,mEAAyD,CAAA;IAEzD,kEAAkE;IAClE,2CAAiC,CAAA;IAEjC;;;;;;OAMG;IACH,4DAAkD,CAAA;IAElD;;;OAGG;IACH,wDAA8C,CAAA;IAE9C;;;;OAIG;IACH,iEAAuD,CAAA;IAEvD;;;OAGG;IACH,6EAAmE,CAAA;AACrE,CAAC,EA3GW,MAAM,sBAAN,MAAM,QA2GjB"}
|
{"version":3,"file":"environment.js","sourceRoot":"","sources":["../src/environment.ts"],"names":[],"mappings":";;;AAAA;;;;;GAKG;AACH,IAAY,MA8GX;AA9GD,WAAY,MAAM;IAChB,2DAA2D;IAC3D,+FAAqF,CAAA;IAErF,6DAA6D;IAC7D,mGAAyF,CAAA;IAEzF;;;OAGG;IACH,4CAAkC,CAAA;IAElC,gEAAgE;IAChE,qEAA2D,CAAA;IAE3D;;;OAGG;IACH,yFAA+E,CAAA;IAE/E;;;OAGG;IACH,yEAA+D,CAAA;IAE/D,gFAAgF;IAChF,6DAAmD,CAAA;IAEnD;;;OAGG;IACH,uEAA6D,CAAA;IAE7D,gEAAgE;IAChE,mEAAyD,CAAA;IAEzD,kFAAkF;IAClF,mFAAyE,CAAA;IAEzE,4CAA4C;IAC5C,4DAAkD,CAAA;IAElD,kFAAkF;IAClF,+EAAqE,CAAA;IAErE;;;OAGG;IACH,yDAA+C,CAAA;IAE/C,6CAA6C;IAC7C,uCAA6B,CAAA;IAE7B,+EAA+E;IAC/E,iDAAuC,CAAA;IAEvC,mEAAyD,CAAA;IAEzD,8DAA8D;IAC9D,6EAAmE,CAAA;IAEnE;;;OAGG;IACH,2FAAiF,CAAA;IAEjF,mFAAmF;IACnF,6FAAmF,CAAA;IAEnF,qFAAqF;IACrF,+CAAqC,CAAA;IAErC,mEAAyD,CAAA;IAEzD,kEAAkE;IAClE,2CAAiC,CAAA;IAEjC;;;;;;OAMG;IACH,4DAAkD,CAAA;IAElD;;;OAGG;IACH,wDAA8C,CAAA;IAE9C;;;;OAIG;IACH,iEAAuD,CAAA;IAEvD;;;OAGG;IACH,6EAAmE,CAAA;AACrE,CAAC,EA9GW,MAAM,sBAAN,MAAM,QA8GjB"}
|
||||||
7
lib/feature-flags.js
generated
7
lib/feature-flags.js
generated
@@ -33,7 +33,7 @@ var __importStar = (this && this.__importStar) || (function () {
|
|||||||
};
|
};
|
||||||
})();
|
})();
|
||||||
Object.defineProperty(exports, "__esModule", { value: true });
|
Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
exports.Features = exports.FEATURE_FLAGS_FILE_NAME = exports.featureConfig = exports.Feature = exports.CODEQL_VERSION_ZSTD_BUNDLE = exports.CODEQL_VERSION_FINE_GRAINED_PARALLELISM = void 0;
|
exports.Features = exports.FEATURE_FLAGS_FILE_NAME = exports.featureConfig = exports.Feature = exports.CODEQL_VERSION_ZSTD_BUNDLE = void 0;
|
||||||
const fs = __importStar(require("fs"));
|
const fs = __importStar(require("fs"));
|
||||||
const path = __importStar(require("path"));
|
const path = __importStar(require("path"));
|
||||||
const semver = __importStar(require("semver"));
|
const semver = __importStar(require("semver"));
|
||||||
@@ -43,11 +43,6 @@ const tools_features_1 = require("./tools-features");
|
|||||||
const util = __importStar(require("./util"));
|
const util = __importStar(require("./util"));
|
||||||
const DEFAULT_VERSION_FEATURE_FLAG_PREFIX = "default_codeql_version_";
|
const DEFAULT_VERSION_FEATURE_FLAG_PREFIX = "default_codeql_version_";
|
||||||
const DEFAULT_VERSION_FEATURE_FLAG_SUFFIX = "_enabled";
|
const DEFAULT_VERSION_FEATURE_FLAG_SUFFIX = "_enabled";
|
||||||
/**
|
|
||||||
* Evaluator fine-grained parallelism (aka intra-layer parallelism) is only safe to enable in 2.15.1 onwards.
|
|
||||||
* (Some earlier versions recognize the command-line flag, but they contain a bug which makes it unsafe to use).
|
|
||||||
*/
|
|
||||||
exports.CODEQL_VERSION_FINE_GRAINED_PARALLELISM = "2.15.1";
|
|
||||||
/**
|
/**
|
||||||
* The first version of the CodeQL Bundle that shipped with zstd-compressed bundles.
|
* The first version of the CodeQL Bundle that shipped with zstd-compressed bundles.
|
||||||
*/
|
*/
|
||||||
|
|||||||
File diff suppressed because one or more lines are too long
4
lib/init-action-post-helper.js
generated
4
lib/init-action-post-helper.js
generated
@@ -142,7 +142,9 @@ async function run(uploadAllAvailableDebugArtifacts, printDebugLogs, config, rep
|
|||||||
// Upload appropriate Actions artifacts for debugging
|
// Upload appropriate Actions artifacts for debugging
|
||||||
if (config.debugMode) {
|
if (config.debugMode) {
|
||||||
logger.info("Debug mode is on. Uploading available database bundles and logs as Actions debugging artifacts...");
|
logger.info("Debug mode is on. Uploading available database bundles and logs as Actions debugging artifacts...");
|
||||||
await uploadAllAvailableDebugArtifacts(config, logger, features);
|
const codeql = await (0, codeql_1.getCodeQL)(config.codeQLCmd);
|
||||||
|
const version = await codeql.getVersion();
|
||||||
|
await uploadAllAvailableDebugArtifacts(config, logger, version.version);
|
||||||
await printDebugLogs(config);
|
await printDebugLogs(config);
|
||||||
}
|
}
|
||||||
if (actionsUtil.isSelfHostedRunner()) {
|
if (actionsUtil.isSelfHostedRunner()) {
|
||||||
|
|||||||
File diff suppressed because one or more lines are too long
6
lib/init-action-post-helper.test.js
generated
6
lib/init-action-post-helper.test.js
generated
@@ -343,12 +343,12 @@ async function testFailedSarifUpload(t, actionsWorkflow, { category, databaseExi
|
|||||||
zipped_upload_size_bytes: 10,
|
zipped_upload_size_bytes: 10,
|
||||||
});
|
});
|
||||||
if (databaseExists && exportDiagnosticsEnabled) {
|
if (databaseExists && exportDiagnosticsEnabled) {
|
||||||
t.true(databaseExportDiagnosticsStub.calledOnceWith(config.dbLocation, sinon.match.string, category), `Actual args were: ${databaseExportDiagnosticsStub.args}`);
|
t.true(databaseExportDiagnosticsStub.calledOnceWith(config.dbLocation, sinon.match.string, category), `Actual args were: ${JSON.stringify(databaseExportDiagnosticsStub.args)}`);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
t.true(diagnosticsExportStub.calledOnceWith(sinon.match.string, category, config), `Actual args were: ${diagnosticsExportStub.args}`);
|
t.true(diagnosticsExportStub.calledOnceWith(sinon.match.string, category, config), `Actual args were: ${JSON.stringify(diagnosticsExportStub.args)}`);
|
||||||
}
|
}
|
||||||
t.true(uploadFiles.calledOnceWith(sinon.match.string, sinon.match.string, category, sinon.match.any, sinon.match.any), `Actual args were: ${uploadFiles.args}`);
|
t.true(uploadFiles.calledOnceWith(sinon.match.string, sinon.match.string, category, sinon.match.any, sinon.match.any), `Actual args were: ${JSON.stringify(uploadFiles.args)}`);
|
||||||
t.true(waitForProcessing.calledOnceWith(sinon.match.any, "42", sinon.match.any, {
|
t.true(waitForProcessing.calledOnceWith(sinon.match.any, "42", sinon.match.any, {
|
||||||
isUnsuccessfulExecution: true,
|
isUnsuccessfulExecution: true,
|
||||||
}));
|
}));
|
||||||
|
|||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user