mirror of
https://github.com/github/codeql-action.git
synced 2025-12-17 21:09:40 +08:00
Compare commits
200 Commits
henrymerce
...
mbg/ignore
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
b4db38273c | ||
|
|
846f8590dc | ||
|
|
3eaf00092b | ||
|
|
1512f400b3 | ||
|
|
0b4317954f | ||
|
|
e818008b54 | ||
|
|
90871e185b | ||
|
|
a102014397 | ||
|
|
de74d762a3 | ||
|
|
ce07e7d196 | ||
|
|
86d2aa55c0 | ||
|
|
4eccb3798e | ||
|
|
ed80d6e5e9 | ||
|
|
378219ced2 | ||
|
|
c649c5993d | ||
|
|
31042e9879 | ||
|
|
5da2098551 | ||
|
|
ce9b526448 | ||
|
|
28f4a61417 | ||
|
|
fea250010c | ||
|
|
e12f017898 | ||
|
|
249458aab2 | ||
|
|
c9cb6f9c13 | ||
|
|
726a2a01b8 | ||
|
|
70434f6dd2 | ||
|
|
528362a7c1 | ||
|
|
de12435376 | ||
|
|
4f746e4a60 | ||
|
|
ffa63f0dac | ||
|
|
7bcdb4bc66 | ||
|
|
07eae6420a | ||
|
|
e546fff076 | ||
|
|
c418a0fc93 | ||
|
|
fc329e3bb5 | ||
|
|
b595847fa5 | ||
|
|
4f39cef4c6 | ||
|
|
d4a7ccd1f0 | ||
|
|
cd808e1260 | ||
|
|
01577d4797 | ||
|
|
3b635815d6 | ||
|
|
023fd08cc9 | ||
|
|
ed3a01336f | ||
|
|
c1a2b73420 | ||
|
|
8c254d05f3 | ||
|
|
b9620e1249 | ||
|
|
1ed85b4501 | ||
|
|
51c9af3a3b | ||
|
|
594c0cc369 | ||
|
|
11889c27fd | ||
|
|
85f1517bb4 | ||
|
|
86b7d4fc36 | ||
|
|
246edb9b1d | ||
|
|
497c7f627a | ||
|
|
014f16e7ab | ||
|
|
14d898ef09 | ||
|
|
8c10e89c78 | ||
|
|
9777b01a49 | ||
|
|
456a74a6fa | ||
|
|
3fac49c140 | ||
|
|
38a3a7258f | ||
|
|
58c9eb6c03 | ||
|
|
f20e02164a | ||
|
|
8d3d4001e3 | ||
|
|
362f8d1d2d | ||
|
|
5091e42a03 | ||
|
|
ba454b8ab4 | ||
|
|
7a7cd8565c | ||
|
|
fd830db27b | ||
|
|
a7e52b690b | ||
|
|
71c3720f43 | ||
|
|
534824ea1b | ||
|
|
1d9f357d01 | ||
|
|
3d7be7bf78 | ||
|
|
63bb415fff | ||
|
|
04bd5c6aab | ||
|
|
48a56f6b93 | ||
|
|
4885eb2ad9 | ||
|
|
a47d5507cf | ||
|
|
b0e9dfce55 | ||
|
|
35c91ef0af | ||
|
|
71abac76d2 | ||
|
|
5b58b8f9c5 | ||
|
|
46e03b48bc | ||
|
|
71d0a56d44 | ||
|
|
04285cbe85 | ||
|
|
26804552e4 | ||
|
|
03b2dc2a3f | ||
|
|
0cbd930deb | ||
|
|
0324490286 | ||
|
|
6b48207907 | ||
|
|
320a6b661b | ||
|
|
ab1c84236a | ||
|
|
2a7680fca6 | ||
|
|
2aa1f55f3d | ||
|
|
1ca20ab026 | ||
|
|
b5e5a258e6 | ||
|
|
74f662193b | ||
|
|
ecee3ea8f5 | ||
|
|
6a63bc6af3 | ||
|
|
e2ef519c75 | ||
|
|
423d14e583 | ||
|
|
6dd11f73d3 | ||
|
|
c9f82f2adf | ||
|
|
33684ef869 | ||
|
|
5aa2d63d5b | ||
|
|
862f5666b3 | ||
|
|
b00addd1d3 | ||
|
|
d03fd76232 | ||
|
|
9d5565fba2 | ||
|
|
a570795dfc | ||
|
|
9366f80399 | ||
|
|
c443dff433 | ||
|
|
b32a1e0627 | ||
|
|
08dc635f27 | ||
|
|
f1ca6a4f47 | ||
|
|
ba82f9bd34 | ||
|
|
5a9b49de7e | ||
|
|
1aade295bc | ||
|
|
95b1867cf7 | ||
|
|
238f5f2946 | ||
|
|
a53b4967d7 | ||
|
|
493ffd8e5c | ||
|
|
f23547cd26 | ||
|
|
58f5e3dab8 | ||
|
|
98e0ffef96 | ||
|
|
85eb524170 | ||
|
|
a3ea4ef532 | ||
|
|
97580d7533 | ||
|
|
7ad64f0258 | ||
|
|
61bcb70dce | ||
|
|
5313cd14a8 | ||
|
|
8fa298d060 | ||
|
|
7d1bed2dd0 | ||
|
|
338146ca93 | ||
|
|
64db1da706 | ||
|
|
9bd8638576 | ||
|
|
65da12b256 | ||
|
|
c228fecc25 | ||
|
|
0499de31b9 | ||
|
|
3b96745d2b | ||
|
|
8a06050a8c | ||
|
|
752a642cb2 | ||
|
|
9576b5cbe8 | ||
|
|
cc8843728c | ||
|
|
f0e9bf07f4 | ||
|
|
2a3599c520 | ||
|
|
514ff4d116 | ||
|
|
aab1c2f931 | ||
|
|
b2bffa615d | ||
|
|
e7811794d3 | ||
|
|
c7a5b09374 | ||
|
|
cbcb06a3ae | ||
|
|
5fe9434cd2 | ||
|
|
8d50be301c | ||
|
|
237497c8f0 | ||
|
|
777daa0c71 | ||
|
|
74c8748a6f | ||
|
|
34c50c1d29 | ||
|
|
4ae68afd84 | ||
|
|
52a7bd7b6e | ||
|
|
194ba0ee2d | ||
|
|
53acf0b8aa | ||
|
|
ac9aeee226 | ||
|
|
d49e837b8c | ||
|
|
3d988b275a | ||
|
|
8cc18acfa4 | ||
|
|
ea5cb4a016 | ||
|
|
e1c8976a56 | ||
|
|
4256e2e2a0 | ||
|
|
66459ea37c | ||
|
|
1af9394995 | ||
|
|
311fc42780 | ||
|
|
284bf9b047 | ||
|
|
a53e78ee2a | ||
|
|
d84f470a9a | ||
|
|
41c0a26213 | ||
|
|
d4ba404a20 | ||
|
|
55895ef678 | ||
|
|
fe16891f40 | ||
|
|
57c7b6afb6 | ||
|
|
44aeac1a37 | ||
|
|
8b1e55d11e | ||
|
|
20900ee769 | ||
|
|
ad8ad9829e | ||
|
|
9c39f0afb0 | ||
|
|
fcc1377ac6 | ||
|
|
b5bbb5ab73 | ||
|
|
723a9469fd | ||
|
|
f9eed03ba2 | ||
|
|
df9e49e9e8 | ||
|
|
c9d47e2ee9 | ||
|
|
714962e17a | ||
|
|
42f957bb51 | ||
|
|
52cec4178d | ||
|
|
55c083790a | ||
|
|
50601762ea | ||
|
|
06fbd897c4 | ||
|
|
127851b399 | ||
|
|
db47d17142 | ||
|
|
a691497d40 |
@@ -16,9 +16,9 @@ runs:
|
|||||||
shell: bash
|
shell: bash
|
||||||
|
|
||||||
- name: Set up Python
|
- name: Set up Python
|
||||||
uses: actions/setup-python@v5
|
uses: actions/setup-python@v6
|
||||||
with:
|
with:
|
||||||
python-version: 3.12
|
python-version: '3.12'
|
||||||
|
|
||||||
- name: Install dependencies
|
- name: Install dependencies
|
||||||
run: |
|
run: |
|
||||||
|
|||||||
34
.github/pull_request_template.md
vendored
34
.github/pull_request_template.md
vendored
@@ -18,14 +18,25 @@ For internal use only. Please select the risk level of this change:
|
|||||||
|
|
||||||
#### Which use cases does this change impact?
|
#### Which use cases does this change impact?
|
||||||
|
|
||||||
<!-- Delete options that don't apply. -->
|
<!-- Delete options that don't apply. If in doubt, do not delete an option. -->
|
||||||
|
|
||||||
- **Advanced setup** - Impacts users who have custom workflows.
|
Workflow types:
|
||||||
- **Default setup** - Impacts users who use default setup.
|
|
||||||
- **Code Scanning** - Impacts Code Scanning (i.e. `analysis-kinds: code-scanning`).
|
- **Advanced setup** - Impacts users who have custom CodeQL workflows.
|
||||||
- **Code Quality** - Impacts Code Quality (i.e. `analysis-kinds: code-quality`).
|
- **Managed** - Impacts users with `dynamic` workflows (Default Setup, CCR, ...).
|
||||||
- **Third-party analyses** - Impacts third-party analyses (i.e. `upload-sarif`).
|
|
||||||
- **GHES** - Impacts GitHub Enterprise Server.
|
Products:
|
||||||
|
|
||||||
|
- **Code Scanning** - The changes impact analyses when `analysis-kinds: code-scanning`.
|
||||||
|
- **Code Quality** - The changes impact analyses when `analysis-kinds: code-quality`.
|
||||||
|
- **CCR** - The changes impact analyses for Copilot Code Reviews.
|
||||||
|
- **Third-party analyses** - The changes affect the `upload-sarif` action.
|
||||||
|
|
||||||
|
Environments:
|
||||||
|
|
||||||
|
- **Dotcom** - Impacts CodeQL workflows on `github.com`.
|
||||||
|
- **GHES** - Impacts CodeQL workflows on GitHub Enterprise Server.
|
||||||
|
- **Testing/None** - This change does not impact any CodeQL workflows in production.
|
||||||
|
|
||||||
#### How did/will you validate this change?
|
#### How did/will you validate this change?
|
||||||
|
|
||||||
@@ -54,6 +65,15 @@ For internal use only. Please select the risk level of this change:
|
|||||||
- **Alerts** - New or existing monitors will trip if something goes wrong with this change.
|
- **Alerts** - New or existing monitors will trip if something goes wrong with this change.
|
||||||
- **Other** - Please provide details.
|
- **Other** - Please provide details.
|
||||||
|
|
||||||
|
#### Are there any special considerations for merging or releasing this change?
|
||||||
|
|
||||||
|
<!--
|
||||||
|
Consider whether this change depends on a different change in another repository that should be released first.
|
||||||
|
-->
|
||||||
|
|
||||||
|
- **No special considerations** - This change can be merged at any time.
|
||||||
|
- **Special considerations** - This change should only be merged once certain preconditions are met. Please provide details of those or link to this PR from an internal issue.
|
||||||
|
|
||||||
### Merge / deployment checklist
|
### Merge / deployment checklist
|
||||||
|
|
||||||
- Confirm this change is backwards compatible with existing workflows.
|
- Confirm this change is backwards compatible with existing workflows.
|
||||||
|
|||||||
14
.github/workflows/__all-platform-bundle.yml
generated
vendored
14
.github/workflows/__all-platform-bundle.yml
generated
vendored
@@ -27,6 +27,11 @@ on:
|
|||||||
description: The version of Go to install
|
description: The version of Go to install
|
||||||
required: false
|
required: false
|
||||||
default: '>=1.21.0'
|
default: '>=1.21.0'
|
||||||
|
dotnet-version:
|
||||||
|
type: string
|
||||||
|
description: The version of .NET to install
|
||||||
|
required: false
|
||||||
|
default: 9.x
|
||||||
workflow_call:
|
workflow_call:
|
||||||
inputs:
|
inputs:
|
||||||
go-version:
|
go-version:
|
||||||
@@ -34,6 +39,11 @@ on:
|
|||||||
description: The version of Go to install
|
description: The version of Go to install
|
||||||
required: false
|
required: false
|
||||||
default: '>=1.21.0'
|
default: '>=1.21.0'
|
||||||
|
dotnet-version:
|
||||||
|
type: string
|
||||||
|
description: The version of .NET to install
|
||||||
|
required: false
|
||||||
|
default: 9.x
|
||||||
defaults:
|
defaults:
|
||||||
run:
|
run:
|
||||||
shell: bash
|
shell: bash
|
||||||
@@ -74,6 +84,10 @@ jobs:
|
|||||||
with:
|
with:
|
||||||
go-version: ${{ inputs.go-version || '>=1.21.0' }}
|
go-version: ${{ inputs.go-version || '>=1.21.0' }}
|
||||||
cache: false
|
cache: false
|
||||||
|
- name: Install .NET
|
||||||
|
uses: actions/setup-dotnet@v5
|
||||||
|
with:
|
||||||
|
dotnet-version: ${{ inputs.dotnet-version || '9.x' }}
|
||||||
- id: init
|
- id: init
|
||||||
uses: ./../action/init
|
uses: ./../action/init
|
||||||
with:
|
with:
|
||||||
|
|||||||
14
.github/workflows/__analyze-ref-input.yml
generated
vendored
14
.github/workflows/__analyze-ref-input.yml
generated
vendored
@@ -32,6 +32,11 @@ on:
|
|||||||
description: The version of Python to install
|
description: The version of Python to install
|
||||||
required: false
|
required: false
|
||||||
default: '3.13'
|
default: '3.13'
|
||||||
|
dotnet-version:
|
||||||
|
type: string
|
||||||
|
description: The version of .NET to install
|
||||||
|
required: false
|
||||||
|
default: 9.x
|
||||||
workflow_call:
|
workflow_call:
|
||||||
inputs:
|
inputs:
|
||||||
go-version:
|
go-version:
|
||||||
@@ -44,6 +49,11 @@ on:
|
|||||||
description: The version of Python to install
|
description: The version of Python to install
|
||||||
required: false
|
required: false
|
||||||
default: '3.13'
|
default: '3.13'
|
||||||
|
dotnet-version:
|
||||||
|
type: string
|
||||||
|
description: The version of .NET to install
|
||||||
|
required: false
|
||||||
|
default: 9.x
|
||||||
defaults:
|
defaults:
|
||||||
run:
|
run:
|
||||||
shell: bash
|
shell: bash
|
||||||
@@ -85,6 +95,10 @@ jobs:
|
|||||||
uses: actions/setup-python@v6
|
uses: actions/setup-python@v6
|
||||||
with:
|
with:
|
||||||
python-version: ${{ inputs.python-version || '3.13' }}
|
python-version: ${{ inputs.python-version || '3.13' }}
|
||||||
|
- name: Install .NET
|
||||||
|
uses: actions/setup-dotnet@v5
|
||||||
|
with:
|
||||||
|
dotnet-version: ${{ inputs.dotnet-version || '9.x' }}
|
||||||
- uses: ./../action/init
|
- uses: ./../action/init
|
||||||
with:
|
with:
|
||||||
tools: ${{ steps.prepare-test.outputs.tools-url }}
|
tools: ${{ steps.prepare-test.outputs.tools-url }}
|
||||||
|
|||||||
18
.github/workflows/__autobuild-action.yml
generated
vendored
18
.github/workflows/__autobuild-action.yml
generated
vendored
@@ -21,9 +21,19 @@ on:
|
|||||||
schedule:
|
schedule:
|
||||||
- cron: '0 5 * * *'
|
- cron: '0 5 * * *'
|
||||||
workflow_dispatch:
|
workflow_dispatch:
|
||||||
inputs: {}
|
inputs:
|
||||||
|
dotnet-version:
|
||||||
|
type: string
|
||||||
|
description: The version of .NET to install
|
||||||
|
required: false
|
||||||
|
default: 9.x
|
||||||
workflow_call:
|
workflow_call:
|
||||||
inputs: {}
|
inputs:
|
||||||
|
dotnet-version:
|
||||||
|
type: string
|
||||||
|
description: The version of .NET to install
|
||||||
|
required: false
|
||||||
|
default: 9.x
|
||||||
defaults:
|
defaults:
|
||||||
run:
|
run:
|
||||||
shell: bash
|
shell: bash
|
||||||
@@ -59,6 +69,10 @@ jobs:
|
|||||||
version: ${{ matrix.version }}
|
version: ${{ matrix.version }}
|
||||||
use-all-platform-bundle: 'false'
|
use-all-platform-bundle: 'false'
|
||||||
setup-kotlin: 'true'
|
setup-kotlin: 'true'
|
||||||
|
- name: Install .NET
|
||||||
|
uses: actions/setup-dotnet@v5
|
||||||
|
with:
|
||||||
|
dotnet-version: ${{ inputs.dotnet-version || '9.x' }}
|
||||||
- uses: ./../action/init
|
- uses: ./../action/init
|
||||||
with:
|
with:
|
||||||
languages: csharp
|
languages: csharp
|
||||||
|
|||||||
14
.github/workflows/__build-mode-manual.yml
generated
vendored
14
.github/workflows/__build-mode-manual.yml
generated
vendored
@@ -27,6 +27,11 @@ on:
|
|||||||
description: The version of Go to install
|
description: The version of Go to install
|
||||||
required: false
|
required: false
|
||||||
default: '>=1.21.0'
|
default: '>=1.21.0'
|
||||||
|
dotnet-version:
|
||||||
|
type: string
|
||||||
|
description: The version of .NET to install
|
||||||
|
required: false
|
||||||
|
default: 9.x
|
||||||
workflow_call:
|
workflow_call:
|
||||||
inputs:
|
inputs:
|
||||||
go-version:
|
go-version:
|
||||||
@@ -34,6 +39,11 @@ on:
|
|||||||
description: The version of Go to install
|
description: The version of Go to install
|
||||||
required: false
|
required: false
|
||||||
default: '>=1.21.0'
|
default: '>=1.21.0'
|
||||||
|
dotnet-version:
|
||||||
|
type: string
|
||||||
|
description: The version of .NET to install
|
||||||
|
required: false
|
||||||
|
default: 9.x
|
||||||
defaults:
|
defaults:
|
||||||
run:
|
run:
|
||||||
shell: bash
|
shell: bash
|
||||||
@@ -70,6 +80,10 @@ jobs:
|
|||||||
with:
|
with:
|
||||||
go-version: ${{ inputs.go-version || '>=1.21.0' }}
|
go-version: ${{ inputs.go-version || '>=1.21.0' }}
|
||||||
cache: false
|
cache: false
|
||||||
|
- name: Install .NET
|
||||||
|
uses: actions/setup-dotnet@v5
|
||||||
|
with:
|
||||||
|
dotnet-version: ${{ inputs.dotnet-version || '9.x' }}
|
||||||
- uses: ./../action/init
|
- uses: ./../action/init
|
||||||
id: init
|
id: init
|
||||||
with:
|
with:
|
||||||
|
|||||||
2
.github/workflows/__bundle-zstd.yml
generated
vendored
2
.github/workflows/__bundle-zstd.yml
generated
vendored
@@ -79,7 +79,7 @@ jobs:
|
|||||||
output: ${{ runner.temp }}/results
|
output: ${{ runner.temp }}/results
|
||||||
upload-database: false
|
upload-database: false
|
||||||
- name: Upload SARIF
|
- name: Upload SARIF
|
||||||
uses: actions/upload-artifact@v4
|
uses: actions/upload-artifact@v5
|
||||||
with:
|
with:
|
||||||
name: ${{ matrix.os }}-zstd-bundle.sarif
|
name: ${{ matrix.os }}-zstd-bundle.sarif
|
||||||
path: ${{ runner.temp }}/results/javascript.sarif
|
path: ${{ runner.temp }}/results/javascript.sarif
|
||||||
|
|||||||
2
.github/workflows/__config-export.yml
generated
vendored
2
.github/workflows/__config-export.yml
generated
vendored
@@ -67,7 +67,7 @@ jobs:
|
|||||||
output: ${{ runner.temp }}/results
|
output: ${{ runner.temp }}/results
|
||||||
upload-database: false
|
upload-database: false
|
||||||
- name: Upload SARIF
|
- name: Upload SARIF
|
||||||
uses: actions/upload-artifact@v4
|
uses: actions/upload-artifact@v5
|
||||||
with:
|
with:
|
||||||
name: config-export-${{ matrix.os }}-${{ matrix.version }}.sarif.json
|
name: config-export-${{ matrix.os }}-${{ matrix.version }}.sarif.json
|
||||||
path: ${{ runner.temp }}/results/javascript.sarif
|
path: ${{ runner.temp }}/results/javascript.sarif
|
||||||
|
|||||||
2
.github/workflows/__diagnostics-export.yml
generated
vendored
2
.github/workflows/__diagnostics-export.yml
generated
vendored
@@ -78,7 +78,7 @@ jobs:
|
|||||||
output: ${{ runner.temp }}/results
|
output: ${{ runner.temp }}/results
|
||||||
upload-database: false
|
upload-database: false
|
||||||
- name: Upload SARIF
|
- name: Upload SARIF
|
||||||
uses: actions/upload-artifact@v4
|
uses: actions/upload-artifact@v5
|
||||||
with:
|
with:
|
||||||
name: diagnostics-export-${{ matrix.os }}-${{ matrix.version }}.sarif.json
|
name: diagnostics-export-${{ matrix.os }}-${{ matrix.version }}.sarif.json
|
||||||
path: ${{ runner.temp }}/results/javascript.sarif
|
path: ${{ runner.temp }}/results/javascript.sarif
|
||||||
|
|||||||
16
.github/workflows/__export-file-baseline-information.yml
generated
vendored
16
.github/workflows/__export-file-baseline-information.yml
generated
vendored
@@ -27,6 +27,11 @@ on:
|
|||||||
description: The version of Go to install
|
description: The version of Go to install
|
||||||
required: false
|
required: false
|
||||||
default: '>=1.21.0'
|
default: '>=1.21.0'
|
||||||
|
dotnet-version:
|
||||||
|
type: string
|
||||||
|
description: The version of .NET to install
|
||||||
|
required: false
|
||||||
|
default: 9.x
|
||||||
workflow_call:
|
workflow_call:
|
||||||
inputs:
|
inputs:
|
||||||
go-version:
|
go-version:
|
||||||
@@ -34,6 +39,11 @@ on:
|
|||||||
description: The version of Go to install
|
description: The version of Go to install
|
||||||
required: false
|
required: false
|
||||||
default: '>=1.21.0'
|
default: '>=1.21.0'
|
||||||
|
dotnet-version:
|
||||||
|
type: string
|
||||||
|
description: The version of .NET to install
|
||||||
|
required: false
|
||||||
|
default: 9.x
|
||||||
defaults:
|
defaults:
|
||||||
run:
|
run:
|
||||||
shell: bash
|
shell: bash
|
||||||
@@ -74,6 +84,10 @@ jobs:
|
|||||||
with:
|
with:
|
||||||
go-version: ${{ inputs.go-version || '>=1.21.0' }}
|
go-version: ${{ inputs.go-version || '>=1.21.0' }}
|
||||||
cache: false
|
cache: false
|
||||||
|
- name: Install .NET
|
||||||
|
uses: actions/setup-dotnet@v5
|
||||||
|
with:
|
||||||
|
dotnet-version: ${{ inputs.dotnet-version || '9.x' }}
|
||||||
- uses: ./../action/init
|
- uses: ./../action/init
|
||||||
id: init
|
id: init
|
||||||
with:
|
with:
|
||||||
@@ -85,7 +99,7 @@ jobs:
|
|||||||
with:
|
with:
|
||||||
output: ${{ runner.temp }}/results
|
output: ${{ runner.temp }}/results
|
||||||
- name: Upload SARIF
|
- name: Upload SARIF
|
||||||
uses: actions/upload-artifact@v4
|
uses: actions/upload-artifact@v5
|
||||||
with:
|
with:
|
||||||
name: with-baseline-information-${{ matrix.os }}-${{ matrix.version }}.sarif.json
|
name: with-baseline-information-${{ matrix.os }}-${{ matrix.version }}.sarif.json
|
||||||
path: ${{ runner.temp }}/results/javascript.sarif
|
path: ${{ runner.temp }}/results/javascript.sarif
|
||||||
|
|||||||
14
.github/workflows/__go-custom-queries.yml
generated
vendored
14
.github/workflows/__go-custom-queries.yml
generated
vendored
@@ -27,6 +27,11 @@ on:
|
|||||||
description: The version of Go to install
|
description: The version of Go to install
|
||||||
required: false
|
required: false
|
||||||
default: '>=1.21.0'
|
default: '>=1.21.0'
|
||||||
|
dotnet-version:
|
||||||
|
type: string
|
||||||
|
description: The version of .NET to install
|
||||||
|
required: false
|
||||||
|
default: 9.x
|
||||||
workflow_call:
|
workflow_call:
|
||||||
inputs:
|
inputs:
|
||||||
go-version:
|
go-version:
|
||||||
@@ -34,6 +39,11 @@ on:
|
|||||||
description: The version of Go to install
|
description: The version of Go to install
|
||||||
required: false
|
required: false
|
||||||
default: '>=1.21.0'
|
default: '>=1.21.0'
|
||||||
|
dotnet-version:
|
||||||
|
type: string
|
||||||
|
description: The version of .NET to install
|
||||||
|
required: false
|
||||||
|
default: 9.x
|
||||||
defaults:
|
defaults:
|
||||||
run:
|
run:
|
||||||
shell: bash
|
shell: bash
|
||||||
@@ -72,6 +82,10 @@ jobs:
|
|||||||
with:
|
with:
|
||||||
go-version: ${{ inputs.go-version || '>=1.21.0' }}
|
go-version: ${{ inputs.go-version || '>=1.21.0' }}
|
||||||
cache: false
|
cache: false
|
||||||
|
- name: Install .NET
|
||||||
|
uses: actions/setup-dotnet@v5
|
||||||
|
with:
|
||||||
|
dotnet-version: ${{ inputs.dotnet-version || '9.x' }}
|
||||||
- uses: ./../action/init
|
- uses: ./../action/init
|
||||||
with:
|
with:
|
||||||
languages: go
|
languages: go
|
||||||
|
|||||||
6
.github/workflows/__go.yml
generated
vendored
6
.github/workflows/__go.yml
generated
vendored
@@ -18,6 +18,11 @@ on:
|
|||||||
description: The version of Go to install
|
description: The version of Go to install
|
||||||
required: false
|
required: false
|
||||||
default: '>=1.21.0'
|
default: '>=1.21.0'
|
||||||
|
dotnet-version:
|
||||||
|
type: string
|
||||||
|
description: The version of .NET to install
|
||||||
|
required: false
|
||||||
|
default: 9.x
|
||||||
jobs:
|
jobs:
|
||||||
go-custom-queries:
|
go-custom-queries:
|
||||||
name: 'Go: Custom queries'
|
name: 'Go: Custom queries'
|
||||||
@@ -27,6 +32,7 @@ jobs:
|
|||||||
uses: ./.github/workflows/__go-custom-queries.yml
|
uses: ./.github/workflows/__go-custom-queries.yml
|
||||||
with:
|
with:
|
||||||
go-version: ${{ inputs.go-version }}
|
go-version: ${{ inputs.go-version }}
|
||||||
|
dotnet-version: ${{ inputs.dotnet-version }}
|
||||||
go-indirect-tracing-workaround-diagnostic:
|
go-indirect-tracing-workaround-diagnostic:
|
||||||
name: 'Go: diagnostic when Go is changed after init step'
|
name: 'Go: diagnostic when Go is changed after init step'
|
||||||
permissions:
|
permissions:
|
||||||
|
|||||||
2
.github/workflows/__job-run-uuid-sarif.yml
generated
vendored
2
.github/workflows/__job-run-uuid-sarif.yml
generated
vendored
@@ -64,7 +64,7 @@ jobs:
|
|||||||
with:
|
with:
|
||||||
output: ${{ runner.temp }}/results
|
output: ${{ runner.temp }}/results
|
||||||
- name: Upload SARIF
|
- name: Upload SARIF
|
||||||
uses: actions/upload-artifact@v4
|
uses: actions/upload-artifact@v5
|
||||||
with:
|
with:
|
||||||
name: ${{ matrix.os }}-${{ matrix.version }}.sarif.json
|
name: ${{ matrix.os }}-${{ matrix.version }}.sarif.json
|
||||||
path: ${{ runner.temp }}/results/javascript.sarif
|
path: ${{ runner.temp }}/results/javascript.sarif
|
||||||
|
|||||||
14
.github/workflows/__local-bundle.yml
generated
vendored
14
.github/workflows/__local-bundle.yml
generated
vendored
@@ -32,6 +32,11 @@ on:
|
|||||||
description: The version of Python to install
|
description: The version of Python to install
|
||||||
required: false
|
required: false
|
||||||
default: '3.13'
|
default: '3.13'
|
||||||
|
dotnet-version:
|
||||||
|
type: string
|
||||||
|
description: The version of .NET to install
|
||||||
|
required: false
|
||||||
|
default: 9.x
|
||||||
workflow_call:
|
workflow_call:
|
||||||
inputs:
|
inputs:
|
||||||
go-version:
|
go-version:
|
||||||
@@ -44,6 +49,11 @@ on:
|
|||||||
description: The version of Python to install
|
description: The version of Python to install
|
||||||
required: false
|
required: false
|
||||||
default: '3.13'
|
default: '3.13'
|
||||||
|
dotnet-version:
|
||||||
|
type: string
|
||||||
|
description: The version of .NET to install
|
||||||
|
required: false
|
||||||
|
default: 9.x
|
||||||
defaults:
|
defaults:
|
||||||
run:
|
run:
|
||||||
shell: bash
|
shell: bash
|
||||||
@@ -85,6 +95,10 @@ jobs:
|
|||||||
uses: actions/setup-python@v6
|
uses: actions/setup-python@v6
|
||||||
with:
|
with:
|
||||||
python-version: ${{ inputs.python-version || '3.13' }}
|
python-version: ${{ inputs.python-version || '3.13' }}
|
||||||
|
- name: Install .NET
|
||||||
|
uses: actions/setup-dotnet@v5
|
||||||
|
with:
|
||||||
|
dotnet-version: ${{ inputs.dotnet-version || '9.x' }}
|
||||||
- name: Fetch latest CodeQL bundle
|
- name: Fetch latest CodeQL bundle
|
||||||
run: |
|
run: |
|
||||||
wget https://github.com/github/codeql-action/releases/latest/download/codeql-bundle-linux64.tar.zst
|
wget https://github.com/github/codeql-action/releases/latest/download/codeql-bundle-linux64.tar.zst
|
||||||
|
|||||||
54
.github/workflows/__multi-language-autodetect.yml
generated
vendored
54
.github/workflows/__multi-language-autodetect.yml
generated
vendored
@@ -9,6 +9,9 @@ env:
|
|||||||
GO111MODULE: auto
|
GO111MODULE: auto
|
||||||
on:
|
on:
|
||||||
push:
|
push:
|
||||||
|
branches:
|
||||||
|
- main
|
||||||
|
- releases/v*
|
||||||
pull_request:
|
pull_request:
|
||||||
types:
|
types:
|
||||||
- opened
|
- opened
|
||||||
@@ -29,6 +32,11 @@ on:
|
|||||||
description: The version of Python to install
|
description: The version of Python to install
|
||||||
required: false
|
required: false
|
||||||
default: '3.13'
|
default: '3.13'
|
||||||
|
dotnet-version:
|
||||||
|
type: string
|
||||||
|
description: The version of .NET to install
|
||||||
|
required: false
|
||||||
|
default: 9.x
|
||||||
workflow_call:
|
workflow_call:
|
||||||
inputs:
|
inputs:
|
||||||
go-version:
|
go-version:
|
||||||
@@ -41,6 +49,11 @@ on:
|
|||||||
description: The version of Python to install
|
description: The version of Python to install
|
||||||
required: false
|
required: false
|
||||||
default: '3.13'
|
default: '3.13'
|
||||||
|
dotnet-version:
|
||||||
|
type: string
|
||||||
|
description: The version of .NET to install
|
||||||
|
required: false
|
||||||
|
default: 9.x
|
||||||
defaults:
|
defaults:
|
||||||
run:
|
run:
|
||||||
shell: bash
|
shell: bash
|
||||||
@@ -53,8 +66,42 @@ jobs:
|
|||||||
fail-fast: false
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
include:
|
include:
|
||||||
|
- os: macos-latest
|
||||||
|
version: stable-v2.17.6
|
||||||
|
- os: ubuntu-latest
|
||||||
|
version: stable-v2.17.6
|
||||||
|
- os: macos-latest
|
||||||
|
version: stable-v2.18.4
|
||||||
|
- os: ubuntu-latest
|
||||||
|
version: stable-v2.18.4
|
||||||
|
- os: macos-latest
|
||||||
|
version: stable-v2.19.4
|
||||||
|
- os: ubuntu-latest
|
||||||
|
version: stable-v2.19.4
|
||||||
|
- os: macos-latest
|
||||||
|
version: stable-v2.20.7
|
||||||
|
- os: ubuntu-latest
|
||||||
|
version: stable-v2.20.7
|
||||||
|
- os: macos-latest
|
||||||
|
version: stable-v2.21.4
|
||||||
|
- os: ubuntu-latest
|
||||||
|
version: stable-v2.21.4
|
||||||
|
- os: macos-latest
|
||||||
|
version: stable-v2.22.4
|
||||||
|
- os: ubuntu-latest
|
||||||
|
version: stable-v2.22.4
|
||||||
|
- os: macos-latest
|
||||||
|
version: default
|
||||||
|
- os: ubuntu-latest
|
||||||
|
version: default
|
||||||
- os: macos-latest
|
- os: macos-latest
|
||||||
version: linked
|
version: linked
|
||||||
|
- os: ubuntu-latest
|
||||||
|
version: linked
|
||||||
|
- os: macos-latest
|
||||||
|
version: nightly-latest
|
||||||
|
- os: ubuntu-latest
|
||||||
|
version: nightly-latest
|
||||||
name: Multi-language repository
|
name: Multi-language repository
|
||||||
if: github.triggering_actor != 'dependabot[bot]'
|
if: github.triggering_actor != 'dependabot[bot]'
|
||||||
permissions:
|
permissions:
|
||||||
@@ -82,6 +129,10 @@ jobs:
|
|||||||
uses: actions/setup-python@v6
|
uses: actions/setup-python@v6
|
||||||
with:
|
with:
|
||||||
python-version: ${{ inputs.python-version || '3.13' }}
|
python-version: ${{ inputs.python-version || '3.13' }}
|
||||||
|
- name: Install .NET
|
||||||
|
uses: actions/setup-dotnet@v5
|
||||||
|
with:
|
||||||
|
dotnet-version: ${{ inputs.dotnet-version || '9.x' }}
|
||||||
- name: Use Xcode 16
|
- name: Use Xcode 16
|
||||||
if: runner.os == 'macOS' && matrix.version != 'nightly-latest'
|
if: runner.os == 'macOS' && matrix.version != 'nightly-latest'
|
||||||
run: sudo xcode-select -s "/Applications/Xcode_16.app"
|
run: sudo xcode-select -s "/Applications/Xcode_16.app"
|
||||||
@@ -148,3 +199,6 @@ jobs:
|
|||||||
echo "Did not create a database for Swift, or created it in the wrong location."
|
echo "Did not create a database for Swift, or created it in the wrong location."
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
env:
|
||||||
|
CODEQL_ACTION_RESOLVE_SUPPORTED_LANGUAGES_USING_CLI: true
|
||||||
|
CODEQL_ACTION_TEST_MODE: true
|
||||||
|
|||||||
14
.github/workflows/__packaging-codescanning-config-inputs-js.yml
generated
vendored
14
.github/workflows/__packaging-codescanning-config-inputs-js.yml
generated
vendored
@@ -32,6 +32,11 @@ on:
|
|||||||
description: The version of Python to install
|
description: The version of Python to install
|
||||||
required: false
|
required: false
|
||||||
default: '3.13'
|
default: '3.13'
|
||||||
|
dotnet-version:
|
||||||
|
type: string
|
||||||
|
description: The version of .NET to install
|
||||||
|
required: false
|
||||||
|
default: 9.x
|
||||||
workflow_call:
|
workflow_call:
|
||||||
inputs:
|
inputs:
|
||||||
go-version:
|
go-version:
|
||||||
@@ -44,6 +49,11 @@ on:
|
|||||||
description: The version of Python to install
|
description: The version of Python to install
|
||||||
required: false
|
required: false
|
||||||
default: '3.13'
|
default: '3.13'
|
||||||
|
dotnet-version:
|
||||||
|
type: string
|
||||||
|
description: The version of .NET to install
|
||||||
|
required: false
|
||||||
|
default: 9.x
|
||||||
defaults:
|
defaults:
|
||||||
run:
|
run:
|
||||||
shell: bash
|
shell: bash
|
||||||
@@ -96,6 +106,10 @@ jobs:
|
|||||||
uses: actions/setup-python@v6
|
uses: actions/setup-python@v6
|
||||||
with:
|
with:
|
||||||
python-version: ${{ inputs.python-version || '3.13' }}
|
python-version: ${{ inputs.python-version || '3.13' }}
|
||||||
|
- name: Install .NET
|
||||||
|
uses: actions/setup-dotnet@v5
|
||||||
|
with:
|
||||||
|
dotnet-version: ${{ inputs.dotnet-version || '9.x' }}
|
||||||
- uses: ./../action/init
|
- uses: ./../action/init
|
||||||
with:
|
with:
|
||||||
config-file: .github/codeql/codeql-config-packaging3.yml
|
config-file: .github/codeql/codeql-config-packaging3.yml
|
||||||
|
|||||||
14
.github/workflows/__packaging-config-inputs-js.yml
generated
vendored
14
.github/workflows/__packaging-config-inputs-js.yml
generated
vendored
@@ -27,6 +27,11 @@ on:
|
|||||||
description: The version of Go to install
|
description: The version of Go to install
|
||||||
required: false
|
required: false
|
||||||
default: '>=1.21.0'
|
default: '>=1.21.0'
|
||||||
|
dotnet-version:
|
||||||
|
type: string
|
||||||
|
description: The version of .NET to install
|
||||||
|
required: false
|
||||||
|
default: 9.x
|
||||||
workflow_call:
|
workflow_call:
|
||||||
inputs:
|
inputs:
|
||||||
go-version:
|
go-version:
|
||||||
@@ -34,6 +39,11 @@ on:
|
|||||||
description: The version of Go to install
|
description: The version of Go to install
|
||||||
required: false
|
required: false
|
||||||
default: '>=1.21.0'
|
default: '>=1.21.0'
|
||||||
|
dotnet-version:
|
||||||
|
type: string
|
||||||
|
description: The version of .NET to install
|
||||||
|
required: false
|
||||||
|
default: 9.x
|
||||||
defaults:
|
defaults:
|
||||||
run:
|
run:
|
||||||
shell: bash
|
shell: bash
|
||||||
@@ -81,6 +91,10 @@ jobs:
|
|||||||
with:
|
with:
|
||||||
go-version: ${{ inputs.go-version || '>=1.21.0' }}
|
go-version: ${{ inputs.go-version || '>=1.21.0' }}
|
||||||
cache: false
|
cache: false
|
||||||
|
- name: Install .NET
|
||||||
|
uses: actions/setup-dotnet@v5
|
||||||
|
with:
|
||||||
|
dotnet-version: ${{ inputs.dotnet-version || '9.x' }}
|
||||||
- uses: ./../action/init
|
- uses: ./../action/init
|
||||||
with:
|
with:
|
||||||
config-file: .github/codeql/codeql-config-packaging3.yml
|
config-file: .github/codeql/codeql-config-packaging3.yml
|
||||||
|
|||||||
14
.github/workflows/__packaging-config-js.yml
generated
vendored
14
.github/workflows/__packaging-config-js.yml
generated
vendored
@@ -27,6 +27,11 @@ on:
|
|||||||
description: The version of Go to install
|
description: The version of Go to install
|
||||||
required: false
|
required: false
|
||||||
default: '>=1.21.0'
|
default: '>=1.21.0'
|
||||||
|
dotnet-version:
|
||||||
|
type: string
|
||||||
|
description: The version of .NET to install
|
||||||
|
required: false
|
||||||
|
default: 9.x
|
||||||
workflow_call:
|
workflow_call:
|
||||||
inputs:
|
inputs:
|
||||||
go-version:
|
go-version:
|
||||||
@@ -34,6 +39,11 @@ on:
|
|||||||
description: The version of Go to install
|
description: The version of Go to install
|
||||||
required: false
|
required: false
|
||||||
default: '>=1.21.0'
|
default: '>=1.21.0'
|
||||||
|
dotnet-version:
|
||||||
|
type: string
|
||||||
|
description: The version of .NET to install
|
||||||
|
required: false
|
||||||
|
default: 9.x
|
||||||
defaults:
|
defaults:
|
||||||
run:
|
run:
|
||||||
shell: bash
|
shell: bash
|
||||||
@@ -81,6 +91,10 @@ jobs:
|
|||||||
with:
|
with:
|
||||||
go-version: ${{ inputs.go-version || '>=1.21.0' }}
|
go-version: ${{ inputs.go-version || '>=1.21.0' }}
|
||||||
cache: false
|
cache: false
|
||||||
|
- name: Install .NET
|
||||||
|
uses: actions/setup-dotnet@v5
|
||||||
|
with:
|
||||||
|
dotnet-version: ${{ inputs.dotnet-version || '9.x' }}
|
||||||
- uses: ./../action/init
|
- uses: ./../action/init
|
||||||
with:
|
with:
|
||||||
config-file: .github/codeql/codeql-config-packaging.yml
|
config-file: .github/codeql/codeql-config-packaging.yml
|
||||||
|
|||||||
14
.github/workflows/__packaging-inputs-js.yml
generated
vendored
14
.github/workflows/__packaging-inputs-js.yml
generated
vendored
@@ -27,6 +27,11 @@ on:
|
|||||||
description: The version of Go to install
|
description: The version of Go to install
|
||||||
required: false
|
required: false
|
||||||
default: '>=1.21.0'
|
default: '>=1.21.0'
|
||||||
|
dotnet-version:
|
||||||
|
type: string
|
||||||
|
description: The version of .NET to install
|
||||||
|
required: false
|
||||||
|
default: 9.x
|
||||||
workflow_call:
|
workflow_call:
|
||||||
inputs:
|
inputs:
|
||||||
go-version:
|
go-version:
|
||||||
@@ -34,6 +39,11 @@ on:
|
|||||||
description: The version of Go to install
|
description: The version of Go to install
|
||||||
required: false
|
required: false
|
||||||
default: '>=1.21.0'
|
default: '>=1.21.0'
|
||||||
|
dotnet-version:
|
||||||
|
type: string
|
||||||
|
description: The version of .NET to install
|
||||||
|
required: false
|
||||||
|
default: 9.x
|
||||||
defaults:
|
defaults:
|
||||||
run:
|
run:
|
||||||
shell: bash
|
shell: bash
|
||||||
@@ -81,6 +91,10 @@ jobs:
|
|||||||
with:
|
with:
|
||||||
go-version: ${{ inputs.go-version || '>=1.21.0' }}
|
go-version: ${{ inputs.go-version || '>=1.21.0' }}
|
||||||
cache: false
|
cache: false
|
||||||
|
- name: Install .NET
|
||||||
|
uses: actions/setup-dotnet@v5
|
||||||
|
with:
|
||||||
|
dotnet-version: ${{ inputs.dotnet-version || '9.x' }}
|
||||||
- uses: ./../action/init
|
- uses: ./../action/init
|
||||||
with:
|
with:
|
||||||
config-file: .github/codeql/codeql-config-packaging2.yml
|
config-file: .github/codeql/codeql-config-packaging2.yml
|
||||||
|
|||||||
6
.github/workflows/__quality-queries.yml
generated
vendored
6
.github/workflows/__quality-queries.yml
generated
vendored
@@ -83,7 +83,7 @@ jobs:
|
|||||||
post-processed-sarif-path: ${{ runner.temp }}/post-processed
|
post-processed-sarif-path: ${{ runner.temp }}/post-processed
|
||||||
- name: Upload security SARIF
|
- name: Upload security SARIF
|
||||||
if: contains(matrix.analysis-kinds, 'code-scanning')
|
if: contains(matrix.analysis-kinds, 'code-scanning')
|
||||||
uses: actions/upload-artifact@v4
|
uses: actions/upload-artifact@v5
|
||||||
with:
|
with:
|
||||||
name: |
|
name: |
|
||||||
quality-queries-${{ matrix.os }}-${{ matrix.version }}-${{ matrix.analysis-kinds }}.sarif.json
|
quality-queries-${{ matrix.os }}-${{ matrix.version }}-${{ matrix.analysis-kinds }}.sarif.json
|
||||||
@@ -91,14 +91,14 @@ jobs:
|
|||||||
retention-days: 7
|
retention-days: 7
|
||||||
- name: Upload quality SARIF
|
- name: Upload quality SARIF
|
||||||
if: contains(matrix.analysis-kinds, 'code-quality')
|
if: contains(matrix.analysis-kinds, 'code-quality')
|
||||||
uses: actions/upload-artifact@v4
|
uses: actions/upload-artifact@v5
|
||||||
with:
|
with:
|
||||||
name: |
|
name: |
|
||||||
quality-queries-${{ matrix.os }}-${{ matrix.version }}-${{ matrix.analysis-kinds }}.quality.sarif.json
|
quality-queries-${{ matrix.os }}-${{ matrix.version }}-${{ matrix.analysis-kinds }}.quality.sarif.json
|
||||||
path: ${{ runner.temp }}/results/javascript.quality.sarif
|
path: ${{ runner.temp }}/results/javascript.quality.sarif
|
||||||
retention-days: 7
|
retention-days: 7
|
||||||
- name: Upload post-processed SARIF
|
- name: Upload post-processed SARIF
|
||||||
uses: actions/upload-artifact@v4
|
uses: actions/upload-artifact@v5
|
||||||
with:
|
with:
|
||||||
name: |
|
name: |
|
||||||
post-processed-${{ matrix.os }}-${{ matrix.version }}-${{ matrix.analysis-kinds }}.sarif.json
|
post-processed-${{ matrix.os }}-${{ matrix.version }}-${{ matrix.analysis-kinds }}.sarif.json
|
||||||
|
|||||||
14
.github/workflows/__remote-config.yml
generated
vendored
14
.github/workflows/__remote-config.yml
generated
vendored
@@ -32,6 +32,11 @@ on:
|
|||||||
description: The version of Python to install
|
description: The version of Python to install
|
||||||
required: false
|
required: false
|
||||||
default: '3.13'
|
default: '3.13'
|
||||||
|
dotnet-version:
|
||||||
|
type: string
|
||||||
|
description: The version of .NET to install
|
||||||
|
required: false
|
||||||
|
default: 9.x
|
||||||
workflow_call:
|
workflow_call:
|
||||||
inputs:
|
inputs:
|
||||||
go-version:
|
go-version:
|
||||||
@@ -44,6 +49,11 @@ on:
|
|||||||
description: The version of Python to install
|
description: The version of Python to install
|
||||||
required: false
|
required: false
|
||||||
default: '3.13'
|
default: '3.13'
|
||||||
|
dotnet-version:
|
||||||
|
type: string
|
||||||
|
description: The version of .NET to install
|
||||||
|
required: false
|
||||||
|
default: 9.x
|
||||||
defaults:
|
defaults:
|
||||||
run:
|
run:
|
||||||
shell: bash
|
shell: bash
|
||||||
@@ -87,6 +97,10 @@ jobs:
|
|||||||
uses: actions/setup-python@v6
|
uses: actions/setup-python@v6
|
||||||
with:
|
with:
|
||||||
python-version: ${{ inputs.python-version || '3.13' }}
|
python-version: ${{ inputs.python-version || '3.13' }}
|
||||||
|
- name: Install .NET
|
||||||
|
uses: actions/setup-dotnet@v5
|
||||||
|
with:
|
||||||
|
dotnet-version: ${{ inputs.dotnet-version || '9.x' }}
|
||||||
- uses: ./../action/init
|
- uses: ./../action/init
|
||||||
with:
|
with:
|
||||||
tools: ${{ steps.prepare-test.outputs.tools-url }}
|
tools: ${{ steps.prepare-test.outputs.tools-url }}
|
||||||
|
|||||||
2
.github/workflows/__rubocop-multi-language.yml
generated
vendored
2
.github/workflows/__rubocop-multi-language.yml
generated
vendored
@@ -56,7 +56,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@ab177d40ee5483edb974554986f56b33477e21d0 # v1.265.0
|
uses: ruby/setup-ruby@8aeb6ff8030dd539317f8e1769a044873b56ea71 # v1.268.0
|
||||||
with:
|
with:
|
||||||
ruby-version: 2.6
|
ruby-version: 2.6
|
||||||
- name: Install Code Scanning integration
|
- name: Install Code Scanning integration
|
||||||
|
|||||||
14
.github/workflows/__split-workflow.yml
generated
vendored
14
.github/workflows/__split-workflow.yml
generated
vendored
@@ -27,6 +27,11 @@ on:
|
|||||||
description: The version of Go to install
|
description: The version of Go to install
|
||||||
required: false
|
required: false
|
||||||
default: '>=1.21.0'
|
default: '>=1.21.0'
|
||||||
|
dotnet-version:
|
||||||
|
type: string
|
||||||
|
description: The version of .NET to install
|
||||||
|
required: false
|
||||||
|
default: 9.x
|
||||||
workflow_call:
|
workflow_call:
|
||||||
inputs:
|
inputs:
|
||||||
go-version:
|
go-version:
|
||||||
@@ -34,6 +39,11 @@ on:
|
|||||||
description: The version of Go to install
|
description: The version of Go to install
|
||||||
required: false
|
required: false
|
||||||
default: '>=1.21.0'
|
default: '>=1.21.0'
|
||||||
|
dotnet-version:
|
||||||
|
type: string
|
||||||
|
description: The version of .NET to install
|
||||||
|
required: false
|
||||||
|
default: 9.x
|
||||||
defaults:
|
defaults:
|
||||||
run:
|
run:
|
||||||
shell: bash
|
shell: bash
|
||||||
@@ -80,6 +90,10 @@ jobs:
|
|||||||
with:
|
with:
|
||||||
go-version: ${{ inputs.go-version || '>=1.21.0' }}
|
go-version: ${{ inputs.go-version || '>=1.21.0' }}
|
||||||
cache: false
|
cache: false
|
||||||
|
- name: Install .NET
|
||||||
|
uses: actions/setup-dotnet@v5
|
||||||
|
with:
|
||||||
|
dotnet-version: ${{ inputs.dotnet-version || '9.x' }}
|
||||||
- uses: ./../action/init
|
- uses: ./../action/init
|
||||||
with:
|
with:
|
||||||
config-file: .github/codeql/codeql-config-packaging3.yml
|
config-file: .github/codeql/codeql-config-packaging3.yml
|
||||||
|
|||||||
14
.github/workflows/__swift-custom-build.yml
generated
vendored
14
.github/workflows/__swift-custom-build.yml
generated
vendored
@@ -27,6 +27,11 @@ on:
|
|||||||
description: The version of Go to install
|
description: The version of Go to install
|
||||||
required: false
|
required: false
|
||||||
default: '>=1.21.0'
|
default: '>=1.21.0'
|
||||||
|
dotnet-version:
|
||||||
|
type: string
|
||||||
|
description: The version of .NET to install
|
||||||
|
required: false
|
||||||
|
default: 9.x
|
||||||
workflow_call:
|
workflow_call:
|
||||||
inputs:
|
inputs:
|
||||||
go-version:
|
go-version:
|
||||||
@@ -34,6 +39,11 @@ on:
|
|||||||
description: The version of Go to install
|
description: The version of Go to install
|
||||||
required: false
|
required: false
|
||||||
default: '>=1.21.0'
|
default: '>=1.21.0'
|
||||||
|
dotnet-version:
|
||||||
|
type: string
|
||||||
|
description: The version of .NET to install
|
||||||
|
required: false
|
||||||
|
default: 9.x
|
||||||
defaults:
|
defaults:
|
||||||
run:
|
run:
|
||||||
shell: bash
|
shell: bash
|
||||||
@@ -74,6 +84,10 @@ jobs:
|
|||||||
with:
|
with:
|
||||||
go-version: ${{ inputs.go-version || '>=1.21.0' }}
|
go-version: ${{ inputs.go-version || '>=1.21.0' }}
|
||||||
cache: false
|
cache: false
|
||||||
|
- name: Install .NET
|
||||||
|
uses: actions/setup-dotnet@v5
|
||||||
|
with:
|
||||||
|
dotnet-version: ${{ inputs.dotnet-version || '9.x' }}
|
||||||
- name: Use Xcode 16
|
- name: Use Xcode 16
|
||||||
if: runner.os == 'macOS' && matrix.version != 'nightly-latest'
|
if: runner.os == 'macOS' && matrix.version != 'nightly-latest'
|
||||||
run: sudo xcode-select -s "/Applications/Xcode_16.app"
|
run: sudo xcode-select -s "/Applications/Xcode_16.app"
|
||||||
|
|||||||
14
.github/workflows/__unset-environment.yml
generated
vendored
14
.github/workflows/__unset-environment.yml
generated
vendored
@@ -32,6 +32,11 @@ on:
|
|||||||
description: The version of Python to install
|
description: The version of Python to install
|
||||||
required: false
|
required: false
|
||||||
default: '3.13'
|
default: '3.13'
|
||||||
|
dotnet-version:
|
||||||
|
type: string
|
||||||
|
description: The version of .NET to install
|
||||||
|
required: false
|
||||||
|
default: 9.x
|
||||||
workflow_call:
|
workflow_call:
|
||||||
inputs:
|
inputs:
|
||||||
go-version:
|
go-version:
|
||||||
@@ -44,6 +49,11 @@ on:
|
|||||||
description: The version of Python to install
|
description: The version of Python to install
|
||||||
required: false
|
required: false
|
||||||
default: '3.13'
|
default: '3.13'
|
||||||
|
dotnet-version:
|
||||||
|
type: string
|
||||||
|
description: The version of .NET to install
|
||||||
|
required: false
|
||||||
|
default: 9.x
|
||||||
defaults:
|
defaults:
|
||||||
run:
|
run:
|
||||||
shell: bash
|
shell: bash
|
||||||
@@ -87,6 +97,10 @@ jobs:
|
|||||||
uses: actions/setup-python@v6
|
uses: actions/setup-python@v6
|
||||||
with:
|
with:
|
||||||
python-version: ${{ inputs.python-version || '3.13' }}
|
python-version: ${{ inputs.python-version || '3.13' }}
|
||||||
|
- name: Install .NET
|
||||||
|
uses: actions/setup-dotnet@v5
|
||||||
|
with:
|
||||||
|
dotnet-version: ${{ inputs.dotnet-version || '9.x' }}
|
||||||
- uses: ./../action/init
|
- uses: ./../action/init
|
||||||
id: init
|
id: init
|
||||||
with:
|
with:
|
||||||
|
|||||||
14
.github/workflows/__upload-ref-sha-input.yml
generated
vendored
14
.github/workflows/__upload-ref-sha-input.yml
generated
vendored
@@ -32,6 +32,11 @@ on:
|
|||||||
description: The version of Python to install
|
description: The version of Python to install
|
||||||
required: false
|
required: false
|
||||||
default: '3.13'
|
default: '3.13'
|
||||||
|
dotnet-version:
|
||||||
|
type: string
|
||||||
|
description: The version of .NET to install
|
||||||
|
required: false
|
||||||
|
default: 9.x
|
||||||
workflow_call:
|
workflow_call:
|
||||||
inputs:
|
inputs:
|
||||||
go-version:
|
go-version:
|
||||||
@@ -44,6 +49,11 @@ on:
|
|||||||
description: The version of Python to install
|
description: The version of Python to install
|
||||||
required: false
|
required: false
|
||||||
default: '3.13'
|
default: '3.13'
|
||||||
|
dotnet-version:
|
||||||
|
type: string
|
||||||
|
description: The version of .NET to install
|
||||||
|
required: false
|
||||||
|
default: 9.x
|
||||||
defaults:
|
defaults:
|
||||||
run:
|
run:
|
||||||
shell: bash
|
shell: bash
|
||||||
@@ -85,6 +95,10 @@ jobs:
|
|||||||
uses: actions/setup-python@v6
|
uses: actions/setup-python@v6
|
||||||
with:
|
with:
|
||||||
python-version: ${{ inputs.python-version || '3.13' }}
|
python-version: ${{ inputs.python-version || '3.13' }}
|
||||||
|
- name: Install .NET
|
||||||
|
uses: actions/setup-dotnet@v5
|
||||||
|
with:
|
||||||
|
dotnet-version: ${{ inputs.dotnet-version || '9.x' }}
|
||||||
- uses: ./../action/init
|
- uses: ./../action/init
|
||||||
with:
|
with:
|
||||||
tools: ${{ steps.prepare-test.outputs.tools-url }}
|
tools: ${{ steps.prepare-test.outputs.tools-url }}
|
||||||
|
|||||||
14
.github/workflows/__upload-sarif.yml
generated
vendored
14
.github/workflows/__upload-sarif.yml
generated
vendored
@@ -32,6 +32,11 @@ on:
|
|||||||
description: The version of Python to install
|
description: The version of Python to install
|
||||||
required: false
|
required: false
|
||||||
default: '3.13'
|
default: '3.13'
|
||||||
|
dotnet-version:
|
||||||
|
type: string
|
||||||
|
description: The version of .NET to install
|
||||||
|
required: false
|
||||||
|
default: 9.x
|
||||||
workflow_call:
|
workflow_call:
|
||||||
inputs:
|
inputs:
|
||||||
go-version:
|
go-version:
|
||||||
@@ -44,6 +49,11 @@ on:
|
|||||||
description: The version of Python to install
|
description: The version of Python to install
|
||||||
required: false
|
required: false
|
||||||
default: '3.13'
|
default: '3.13'
|
||||||
|
dotnet-version:
|
||||||
|
type: string
|
||||||
|
description: The version of .NET to install
|
||||||
|
required: false
|
||||||
|
default: 9.x
|
||||||
defaults:
|
defaults:
|
||||||
run:
|
run:
|
||||||
shell: bash
|
shell: bash
|
||||||
@@ -92,6 +102,10 @@ jobs:
|
|||||||
uses: actions/setup-python@v6
|
uses: actions/setup-python@v6
|
||||||
with:
|
with:
|
||||||
python-version: ${{ inputs.python-version || '3.13' }}
|
python-version: ${{ inputs.python-version || '3.13' }}
|
||||||
|
- name: Install .NET
|
||||||
|
uses: actions/setup-dotnet@v5
|
||||||
|
with:
|
||||||
|
dotnet-version: ${{ inputs.dotnet-version || '9.x' }}
|
||||||
- uses: ./../action/init
|
- uses: ./../action/init
|
||||||
with:
|
with:
|
||||||
tools: ${{ steps.prepare-test.outputs.tools-url }}
|
tools: ${{ steps.prepare-test.outputs.tools-url }}
|
||||||
|
|||||||
14
.github/workflows/__with-checkout-path.yml
generated
vendored
14
.github/workflows/__with-checkout-path.yml
generated
vendored
@@ -32,6 +32,11 @@ on:
|
|||||||
description: The version of Python to install
|
description: The version of Python to install
|
||||||
required: false
|
required: false
|
||||||
default: '3.13'
|
default: '3.13'
|
||||||
|
dotnet-version:
|
||||||
|
type: string
|
||||||
|
description: The version of .NET to install
|
||||||
|
required: false
|
||||||
|
default: 9.x
|
||||||
workflow_call:
|
workflow_call:
|
||||||
inputs:
|
inputs:
|
||||||
go-version:
|
go-version:
|
||||||
@@ -44,6 +49,11 @@ on:
|
|||||||
description: The version of Python to install
|
description: The version of Python to install
|
||||||
required: false
|
required: false
|
||||||
default: '3.13'
|
default: '3.13'
|
||||||
|
dotnet-version:
|
||||||
|
type: string
|
||||||
|
description: The version of .NET to install
|
||||||
|
required: false
|
||||||
|
default: 9.x
|
||||||
defaults:
|
defaults:
|
||||||
run:
|
run:
|
||||||
shell: bash
|
shell: bash
|
||||||
@@ -85,6 +95,10 @@ jobs:
|
|||||||
uses: actions/setup-python@v6
|
uses: actions/setup-python@v6
|
||||||
with:
|
with:
|
||||||
python-version: ${{ inputs.python-version || '3.13' }}
|
python-version: ${{ inputs.python-version || '3.13' }}
|
||||||
|
- name: Install .NET
|
||||||
|
uses: actions/setup-dotnet@v5
|
||||||
|
with:
|
||||||
|
dotnet-version: ${{ inputs.dotnet-version || '9.x' }}
|
||||||
- name: Delete original checkout
|
- name: Delete original checkout
|
||||||
run: |
|
run: |
|
||||||
# delete the original checkout so we don't accidentally use it.
|
# delete the original checkout so we don't accidentally use it.
|
||||||
|
|||||||
@@ -15,7 +15,7 @@ defaults:
|
|||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
check-expected-release-files:
|
check-expected-release-files:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-slim
|
||||||
|
|
||||||
permissions:
|
permissions:
|
||||||
contents: read
|
contents: read
|
||||||
|
|||||||
2
.github/workflows/codeql.yml
vendored
2
.github/workflows/codeql.yml
vendored
@@ -81,7 +81,7 @@ jobs:
|
|||||||
strategy:
|
strategy:
|
||||||
fail-fast: false
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
os: [ubuntu-22.04,ubuntu-24.04,windows-2022,windows-2025,macos-13,macos-14,macos-15]
|
os: [ubuntu-22.04,ubuntu-24.04,windows-2022,windows-2025,macos-14,macos-15]
|
||||||
tools: ${{ fromJson(needs.check-codeql-versions.outputs.versions) }}
|
tools: ${{ fromJson(needs.check-codeql-versions.outputs.versions) }}
|
||||||
runs-on: ${{ matrix.os }}
|
runs-on: ${{ matrix.os }}
|
||||||
|
|
||||||
|
|||||||
@@ -54,6 +54,10 @@ jobs:
|
|||||||
- uses: actions/setup-go@v6
|
- uses: actions/setup-go@v6
|
||||||
with:
|
with:
|
||||||
go-version: ^1.13.1
|
go-version: ^1.13.1
|
||||||
|
- name: Install .NET
|
||||||
|
uses: actions/setup-dotnet@v5
|
||||||
|
with:
|
||||||
|
dotnet-version: '9.x'
|
||||||
- uses: ./../action/init
|
- uses: ./../action/init
|
||||||
with:
|
with:
|
||||||
tools: ${{ steps.prepare-test.outputs.tools-url }}
|
tools: ${{ steps.prepare-test.outputs.tools-url }}
|
||||||
@@ -79,7 +83,7 @@ jobs:
|
|||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- name: Download all artifacts
|
- name: Download all artifacts
|
||||||
uses: actions/download-artifact@v5
|
uses: actions/download-artifact@v6
|
||||||
- name: Check expected artifacts exist
|
- name: Check expected artifacts exist
|
||||||
run: |
|
run: |
|
||||||
LANGUAGES="cpp csharp go java javascript python"
|
LANGUAGES="cpp csharp go java javascript python"
|
||||||
|
|||||||
6
.github/workflows/debug-artifacts-safe.yml
vendored
6
.github/workflows/debug-artifacts-safe.yml
vendored
@@ -50,6 +50,10 @@ jobs:
|
|||||||
- uses: actions/setup-go@v6
|
- uses: actions/setup-go@v6
|
||||||
with:
|
with:
|
||||||
go-version: ^1.13.1
|
go-version: ^1.13.1
|
||||||
|
- name: Install .NET
|
||||||
|
uses: actions/setup-dotnet@v5
|
||||||
|
with:
|
||||||
|
dotnet-version: '9.x'
|
||||||
- uses: ./../action/init
|
- uses: ./../action/init
|
||||||
id: init
|
id: init
|
||||||
with:
|
with:
|
||||||
@@ -73,7 +77,7 @@ jobs:
|
|||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- name: Download all artifacts
|
- name: Download all artifacts
|
||||||
uses: actions/download-artifact@v5
|
uses: actions/download-artifact@v6
|
||||||
- name: Check expected artifacts exist
|
- name: Check expected artifacts exist
|
||||||
run: |
|
run: |
|
||||||
VERSIONS="stable-v2.20.3 default linked nightly-latest"
|
VERSIONS="stable-v2.20.3 default linked nightly-latest"
|
||||||
|
|||||||
2
.github/workflows/label-pr-size.yml
vendored
2
.github/workflows/label-pr-size.yml
vendored
@@ -16,7 +16,7 @@ permissions:
|
|||||||
jobs:
|
jobs:
|
||||||
sizeup:
|
sizeup:
|
||||||
name: Label PR with size
|
name: Label PR with size
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-slim
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: Run sizeup
|
- name: Run sizeup
|
||||||
|
|||||||
5
.github/workflows/post-release-mergeback.yml
vendored
5
.github/workflows/post-release-mergeback.yml
vendored
@@ -24,7 +24,7 @@ defaults:
|
|||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
merge-back:
|
merge-back:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-slim
|
||||||
environment: Automation
|
environment: Automation
|
||||||
if: github.repository == 'github/codeql-action'
|
if: github.repository == 'github/codeql-action'
|
||||||
env:
|
env:
|
||||||
@@ -48,6 +48,9 @@ jobs:
|
|||||||
with:
|
with:
|
||||||
fetch-depth: 0 # ensure we have all tags and can push commits
|
fetch-depth: 0 # ensure we have all tags and can push commits
|
||||||
- uses: actions/setup-node@v6
|
- uses: actions/setup-node@v6
|
||||||
|
- uses: actions/setup-python@v6
|
||||||
|
with:
|
||||||
|
python-version: '3.12'
|
||||||
|
|
||||||
- name: Update git config
|
- name: Update git config
|
||||||
run: |
|
run: |
|
||||||
|
|||||||
2
.github/workflows/prepare-release.yml
vendored
2
.github/workflows/prepare-release.yml
vendored
@@ -29,7 +29,7 @@ defaults:
|
|||||||
jobs:
|
jobs:
|
||||||
prepare:
|
prepare:
|
||||||
name: "Prepare release"
|
name: "Prepare release"
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-slim
|
||||||
if: github.repository == 'github/codeql-action'
|
if: github.repository == 'github/codeql-action'
|
||||||
|
|
||||||
permissions:
|
permissions:
|
||||||
|
|||||||
28
.github/workflows/publish-immutable-action.yml
vendored
28
.github/workflows/publish-immutable-action.yml
vendored
@@ -1,8 +1,10 @@
|
|||||||
name: 'Publish Immutable Action Version'
|
name: 'Publish Immutable Action Version'
|
||||||
|
|
||||||
on:
|
on:
|
||||||
release:
|
push:
|
||||||
types: [published]
|
tags:
|
||||||
|
# Match version tags, but not the major version tags.
|
||||||
|
- 'v[0-9]+.**'
|
||||||
|
|
||||||
defaults:
|
defaults:
|
||||||
run:
|
run:
|
||||||
@@ -10,30 +12,16 @@ defaults:
|
|||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
publish:
|
publish:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-slim
|
||||||
permissions:
|
permissions:
|
||||||
contents: read
|
contents: read
|
||||||
id-token: write
|
id-token: write
|
||||||
packages: write
|
packages: write
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: Check release name
|
- name: Checkout repository
|
||||||
id: check
|
|
||||||
env:
|
|
||||||
RELEASE_NAME: ${{ github.event.release.name }}
|
|
||||||
run: |
|
|
||||||
echo "Release name: ${{ github.event.release.name }}"
|
|
||||||
if [[ $RELEASE_NAME == v* ]]; then
|
|
||||||
echo "This is a CodeQL Action release. Create an Immutable Action"
|
|
||||||
echo "is-action-release=true" >> $GITHUB_OUTPUT
|
|
||||||
else
|
|
||||||
echo "This is a CodeQL Bundle release. Do not create an Immutable Action"
|
|
||||||
echo "is-action-release=false" >> $GITHUB_OUTPUT
|
|
||||||
fi
|
|
||||||
- name: Checking out
|
|
||||||
if: steps.check.outputs.is-action-release == 'true'
|
|
||||||
uses: actions/checkout@v5
|
uses: actions/checkout@v5
|
||||||
- name: Publish
|
|
||||||
if: steps.check.outputs.is-action-release == 'true'
|
- name: Publish immutable release
|
||||||
id: publish
|
id: publish
|
||||||
uses: actions/publish-immutable-action@v0.0.4
|
uses: actions/publish-immutable-action@v0.0.4
|
||||||
|
|||||||
18
.github/workflows/script/bundle_changelog.py
vendored
Normal file
18
.github/workflows/script/bundle_changelog.py
vendored
Normal file
@@ -0,0 +1,18 @@
|
|||||||
|
import os
|
||||||
|
import re
|
||||||
|
|
||||||
|
# Get the PR number from the PR URL.
|
||||||
|
pr_number = os.environ['PR_URL'].split('/')[-1]
|
||||||
|
changelog_note = f"- Update default CodeQL bundle version to {os.environ['CLI_VERSION']}. [#{pr_number}]({os.environ['PR_URL']})"
|
||||||
|
|
||||||
|
# If the "[UNRELEASED]" section starts with "no user facing changes", remove that line.
|
||||||
|
with open('CHANGELOG.md', 'r') as f:
|
||||||
|
changelog = f.read()
|
||||||
|
|
||||||
|
changelog = changelog.replace('## [UNRELEASED]\n\nNo user facing changes.', '## [UNRELEASED]\n')
|
||||||
|
|
||||||
|
# Add the changelog note to the bottom of the "[UNRELEASED]" section.
|
||||||
|
changelog = re.sub(r'\n## (\d+\.\d+\.\d+)', f'{changelog_note}\n\n## \\1', changelog, count=1)
|
||||||
|
|
||||||
|
with open('CHANGELOG.md', 'w') as f:
|
||||||
|
f.write(changelog)
|
||||||
@@ -29,7 +29,7 @@ fi
|
|||||||
echo "Getting checks for $GITHUB_SHA"
|
echo "Getting checks for $GITHUB_SHA"
|
||||||
|
|
||||||
# Ignore any checks with "https://", CodeQL, LGTM, Update, and ESLint checks.
|
# Ignore any checks with "https://", CodeQL, LGTM, Update, and ESLint checks.
|
||||||
CHECKS="$(gh api repos/github/codeql-action/commits/"${GITHUB_SHA}"/check-runs --paginate | jq --slurp --compact-output --raw-output '[.[].check_runs.[] | select(.conclusion != "skipped") | .name | select(contains("https://") or . == "CodeQL" or . == "Dependabot" or . == "check-expected-release-files" or contains("Update") or contains("ESLint") or contains("update") or contains("test-setup-python-scripts") | not)] | unique | sort')"
|
CHECKS="$(gh api repos/github/codeql-action/commits/"${GITHUB_SHA}"/check-runs --paginate | jq --slurp --compact-output --raw-output '[.[].check_runs.[] | select(.conclusion != "skipped") | .name | select(contains("https://") or . == "CodeQL" or . == "Dependabot" or . == "check-expected-release-files" or contains("Update") or contains("ESLint") or contains("update") or contains("test-setup-python-scripts") or . == "Agent" or . == "Cleanup artifacts" or . == "Prepare" or . == "Upload results" | not)] | unique | sort')"
|
||||||
|
|
||||||
echo "$CHECKS" | jq
|
echo "$CHECKS" | jq
|
||||||
|
|
||||||
|
|||||||
4
.github/workflows/test-codeql-bundle-all.yml
vendored
4
.github/workflows/test-codeql-bundle-all.yml
vendored
@@ -43,6 +43,10 @@ jobs:
|
|||||||
with:
|
with:
|
||||||
version: ${{ matrix.version }}
|
version: ${{ matrix.version }}
|
||||||
use-all-platform-bundle: true
|
use-all-platform-bundle: true
|
||||||
|
- name: Install .NET
|
||||||
|
uses: actions/setup-dotnet@v5
|
||||||
|
with:
|
||||||
|
dotnet-version: '9.x'
|
||||||
- id: init
|
- id: init
|
||||||
uses: ./../action/init
|
uses: ./../action/init
|
||||||
with:
|
with:
|
||||||
|
|||||||
29
.github/workflows/update-bundle.yml
vendored
29
.github/workflows/update-bundle.yml
vendored
@@ -20,7 +20,7 @@ defaults:
|
|||||||
jobs:
|
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-slim
|
||||||
permissions:
|
permissions:
|
||||||
contents: write # needed to push commits
|
contents: write # needed to push commits
|
||||||
pull-requests: write # needed to create pull requests
|
pull-requests: write # needed to create pull requests
|
||||||
@@ -40,6 +40,11 @@ jobs:
|
|||||||
git config --global user.email "41898282+github-actions[bot]@users.noreply.github.com"
|
git config --global user.email "41898282+github-actions[bot]@users.noreply.github.com"
|
||||||
git config --global user.name "github-actions[bot]"
|
git config --global user.name "github-actions[bot]"
|
||||||
|
|
||||||
|
- name: Set up Python
|
||||||
|
uses: actions/setup-python@v6
|
||||||
|
with:
|
||||||
|
python-version: '3.12'
|
||||||
|
|
||||||
- name: Set up Node.js
|
- name: Set up Node.js
|
||||||
uses: actions/setup-node@v6
|
uses: actions/setup-node@v6
|
||||||
with:
|
with:
|
||||||
@@ -78,28 +83,8 @@ jobs:
|
|||||||
echo "PR_URL=$pr_url" | tee -a "$GITHUB_ENV"
|
echo "PR_URL=$pr_url" | tee -a "$GITHUB_ENV"
|
||||||
|
|
||||||
- name: Create changelog note
|
- name: Create changelog note
|
||||||
shell: python
|
|
||||||
run: |
|
run: |
|
||||||
import os
|
python .github/workflows/script/bundle_changelog.py
|
||||||
import re
|
|
||||||
|
|
||||||
# Get the PR number from the PR URL.
|
|
||||||
pr_number = os.environ['PR_URL'].split('/')[-1]
|
|
||||||
changelog_note = f"- Update default CodeQL bundle version to {os.environ['CLI_VERSION']}. [#{pr_number}]({os.environ['PR_URL']})"
|
|
||||||
|
|
||||||
# If the "[UNRELEASED]" section starts with "no user facing changes", remove that line.
|
|
||||||
# Use perl to avoid having to escape the newline character.
|
|
||||||
|
|
||||||
with open('CHANGELOG.md', 'r') as f:
|
|
||||||
changelog = f.read()
|
|
||||||
|
|
||||||
changelog = changelog.replace('## [UNRELEASED]\n\nNo user facing changes.', '## [UNRELEASED]\n')
|
|
||||||
|
|
||||||
# Add the changelog note to the bottom of the "[UNRELEASED]" section.
|
|
||||||
changelog = re.sub(r'\n## (\d+\.\d+\.\d+)', f'{changelog_note}\n\n## \\1', changelog, count=1)
|
|
||||||
|
|
||||||
with open('CHANGELOG.md', 'w') as f:
|
|
||||||
f.write(changelog)
|
|
||||||
|
|
||||||
- name: Push changelog note
|
- name: Push changelog note
|
||||||
run: |
|
run: |
|
||||||
|
|||||||
4
.github/workflows/update-release-branch.yml
vendored
4
.github/workflows/update-release-branch.yml
vendored
@@ -26,7 +26,7 @@ jobs:
|
|||||||
|
|
||||||
update:
|
update:
|
||||||
timeout-minutes: 45
|
timeout-minutes: 45
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-slim
|
||||||
if: github.event_name == 'workflow_dispatch'
|
if: github.event_name == 'workflow_dispatch'
|
||||||
needs: [prepare]
|
needs: [prepare]
|
||||||
env:
|
env:
|
||||||
@@ -77,7 +77,7 @@ jobs:
|
|||||||
|
|
||||||
backport:
|
backport:
|
||||||
timeout-minutes: 45
|
timeout-minutes: 45
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-slim
|
||||||
environment: Automation
|
environment: Automation
|
||||||
needs: [prepare]
|
needs: [prepare]
|
||||||
if: ${{ (github.event_name == 'push') && needs.prepare.outputs.backport_target_branches != '[]' }}
|
if: ${{ (github.event_name == 'push') && needs.prepare.outputs.backport_target_branches != '[]' }}
|
||||||
|
|||||||
@@ -4,12 +4,18 @@ on:
|
|||||||
schedule:
|
schedule:
|
||||||
- cron: "0 0 * * *"
|
- cron: "0 0 * * *"
|
||||||
workflow_dispatch:
|
workflow_dispatch:
|
||||||
|
pull_request:
|
||||||
|
branches:
|
||||||
|
- main
|
||||||
|
paths:
|
||||||
|
- .github/workflows/update-supported-enterprise-server-versions.yml
|
||||||
|
- .github/workflows/update-supported-enterprise-server-versions/update.py
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
update-supported-enterprise-server-versions:
|
update-supported-enterprise-server-versions:
|
||||||
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-slim
|
||||||
if: github.repository == 'github/codeql-action'
|
if: github.repository == 'github/codeql-action'
|
||||||
permissions:
|
permissions:
|
||||||
contents: write # needed to push commits
|
contents: write # needed to push commits
|
||||||
@@ -28,6 +34,7 @@ jobs:
|
|||||||
repository: github/enterprise-releases
|
repository: github/enterprise-releases
|
||||||
token: ${{ secrets.ENTERPRISE_RELEASE_TOKEN }}
|
token: ${{ secrets.ENTERPRISE_RELEASE_TOKEN }}
|
||||||
path: ${{ github.workspace }}/enterprise-releases/
|
path: ${{ github.workspace }}/enterprise-releases/
|
||||||
|
sparse-checkout: releases.json
|
||||||
- name: Update Supported Enterprise Server Versions
|
- name: Update Supported Enterprise Server Versions
|
||||||
run: |
|
run: |
|
||||||
cd ./.github/workflows/update-supported-enterprise-server-versions/
|
cd ./.github/workflows/update-supported-enterprise-server-versions/
|
||||||
@@ -35,6 +42,7 @@ jobs:
|
|||||||
pipenv install
|
pipenv install
|
||||||
pipenv run ./update.py
|
pipenv run ./update.py
|
||||||
rm --recursive "$ENTERPRISE_RELEASES_PATH"
|
rm --recursive "$ENTERPRISE_RELEASES_PATH"
|
||||||
|
npm ci
|
||||||
npm run build
|
npm run build
|
||||||
env:
|
env:
|
||||||
ENTERPRISE_RELEASES_PATH: ${{ github.workspace }}/enterprise-releases/
|
ENTERPRISE_RELEASES_PATH: ${{ github.workspace }}/enterprise-releases/
|
||||||
@@ -44,25 +52,33 @@ jobs:
|
|||||||
git config --global user.email "41898282+github-actions[bot]@users.noreply.github.com"
|
git config --global user.email "41898282+github-actions[bot]@users.noreply.github.com"
|
||||||
git config --global user.name "github-actions[bot]"
|
git config --global user.name "github-actions[bot]"
|
||||||
|
|
||||||
- name: Commit changes and open PR
|
- name: Commit changes
|
||||||
env:
|
id: prepare-commit
|
||||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
||||||
run: |
|
run: |
|
||||||
if [[ -z $(git status --porcelain) ]]; then
|
if [[ -z $(git status --porcelain) ]]; then
|
||||||
echo "No changes to commit"
|
echo "No changes to commit"
|
||||||
|
echo "committed=false" >> $GITHUB_OUTPUT
|
||||||
else
|
else
|
||||||
git checkout -b update-supported-enterprise-server-versions
|
git checkout -b update-supported-enterprise-server-versions
|
||||||
git add .
|
git add .
|
||||||
git commit --message "Update supported GitHub Enterprise Server versions"
|
git commit --message "Update supported GitHub Enterprise Server versions"
|
||||||
git push origin update-supported-enterprise-server-versions
|
|
||||||
|
|
||||||
body="This PR updates the list of supported GitHub Enterprise Server versions, either because a new "
|
echo "committed=true" >> $GITHUB_OUTPUT
|
||||||
body+="version is about to be feature frozen, or because an old release has been deprecated."
|
|
||||||
body+=$'\n\n'
|
|
||||||
body+="If an old release has been deprecated, please follow the instructions in CONTRIBUTING.md to "
|
|
||||||
body+="deprecate the corresponding version of CodeQL."
|
|
||||||
|
|
||||||
gh pr create --draft \
|
|
||||||
--title "Update supported GitHub Enterprise Server versions" \
|
|
||||||
--body "$body"
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
- name: Open PR
|
||||||
|
if: github.event_name != 'pull_request' && steps.prepare-commit.outputs.committed == 'true'
|
||||||
|
env:
|
||||||
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
run: |
|
||||||
|
git push origin update-supported-enterprise-server-versions
|
||||||
|
|
||||||
|
body="This PR updates the list of supported GitHub Enterprise Server versions, either because a new "
|
||||||
|
body+="version is about to be feature frozen, or because an old release has been deprecated."
|
||||||
|
body+=$'\n\n'
|
||||||
|
body+="If an old release has been deprecated, please follow the instructions in CONTRIBUTING.md to "
|
||||||
|
body+="deprecate the corresponding version of CodeQL."
|
||||||
|
|
||||||
|
gh pr create --draft \
|
||||||
|
--title "Update supported GitHub Enterprise Server versions" \
|
||||||
|
--body "$body"
|
||||||
|
|||||||
17
CHANGELOG.md
17
CHANGELOG.md
@@ -6,6 +6,23 @@ See the [releases page](https://github.com/github/codeql-action/releases) for th
|
|||||||
|
|
||||||
No user facing changes.
|
No user facing changes.
|
||||||
|
|
||||||
|
## 4.31.4 - 18 Nov 2025
|
||||||
|
|
||||||
|
No user facing changes.
|
||||||
|
|
||||||
|
## 4.31.3 - 13 Nov 2025
|
||||||
|
|
||||||
|
- CodeQL Action v3 will be deprecated in December 2026. The Action now logs a warning for customers who are running v3 but could be running v4. For more information, see [Upcoming deprecation of CodeQL Action v3](https://github.blog/changelog/2025-10-28-upcoming-deprecation-of-codeql-action-v3/).
|
||||||
|
- Update default CodeQL bundle version to 2.23.5. [#3288](https://github.com/github/codeql-action/pull/3288)
|
||||||
|
|
||||||
|
## 4.31.2 - 30 Oct 2025
|
||||||
|
|
||||||
|
No user facing changes.
|
||||||
|
|
||||||
|
## 4.31.1 - 30 Oct 2025
|
||||||
|
|
||||||
|
- The `add-snippets` input has been removed from the `analyze` action. This input has been deprecated since CodeQL Action 3.26.4 in August 2024 when this removal was announced.
|
||||||
|
|
||||||
## 4.31.0 - 24 Oct 2025
|
## 4.31.0 - 24 Oct 2025
|
||||||
|
|
||||||
- Bump minimum CodeQL bundle version to 2.17.6. [#3223](https://github.com/github/codeql-action/pull/3223)
|
- Bump minimum CodeQL bundle version to 2.17.6. [#3223](https://github.com/github/codeql-action/pull/3223)
|
||||||
|
|||||||
@@ -32,14 +32,10 @@ inputs:
|
|||||||
and 13GB for macOS).
|
and 13GB for macOS).
|
||||||
required: false
|
required: false
|
||||||
add-snippets:
|
add-snippets:
|
||||||
description: Specify whether or not to add code snippets to the output sarif file.
|
description: Does not have any effect.
|
||||||
required: false
|
required: false
|
||||||
default: "false"
|
|
||||||
deprecationMessage: >-
|
deprecationMessage: >-
|
||||||
The input "add-snippets" is deprecated and will be removed on the first release in August 2025.
|
The input "add-snippets" has been removed and no longer has any effect.
|
||||||
When this input is set to true it is expected to add code snippets with an alert to the SARIF file.
|
|
||||||
However, since Code Scanning ignores code snippets provided as part of a SARIF file this is currently
|
|
||||||
a no operation. No alternative is available.
|
|
||||||
skip-queries:
|
skip-queries:
|
||||||
description: If this option is set, the CodeQL database will be built but no queries will be run on it. Thus, no results will be produced.
|
description: If this option is set, the CodeQL database will be built but no queries will be run on it. Thus, no results will be produced.
|
||||||
required: false
|
required: false
|
||||||
|
|||||||
@@ -12,6 +12,7 @@ import filenames from "eslint-plugin-filenames";
|
|||||||
import github from "eslint-plugin-github";
|
import github from "eslint-plugin-github";
|
||||||
import _import from "eslint-plugin-import";
|
import _import from "eslint-plugin-import";
|
||||||
import noAsyncForeach from "eslint-plugin-no-async-foreach";
|
import noAsyncForeach from "eslint-plugin-no-async-foreach";
|
||||||
|
import jsdoc from "eslint-plugin-jsdoc";
|
||||||
import globals from "globals";
|
import globals from "globals";
|
||||||
|
|
||||||
const __filename = fileURLToPath(import.meta.url);
|
const __filename = fileURLToPath(import.meta.url);
|
||||||
@@ -52,6 +53,7 @@ export default [
|
|||||||
github: fixupPluginRules(github),
|
github: fixupPluginRules(github),
|
||||||
import: fixupPluginRules(_import),
|
import: fixupPluginRules(_import),
|
||||||
"no-async-foreach": noAsyncForeach,
|
"no-async-foreach": noAsyncForeach,
|
||||||
|
"jsdoc": jsdoc,
|
||||||
},
|
},
|
||||||
|
|
||||||
languageOptions: {
|
languageOptions: {
|
||||||
@@ -133,6 +135,16 @@ export default [
|
|||||||
"@typescript-eslint/no-shadow": "error",
|
"@typescript-eslint/no-shadow": "error",
|
||||||
"@typescript-eslint/prefer-optional-chain": "error",
|
"@typescript-eslint/prefer-optional-chain": "error",
|
||||||
"one-var": ["error", "never"],
|
"one-var": ["error", "never"],
|
||||||
|
|
||||||
|
// Check param names to ensure that we don't have outdated JSDocs.
|
||||||
|
"jsdoc/check-param-names": [
|
||||||
|
"error",
|
||||||
|
{
|
||||||
|
// We don't currently require full JSDoc coverage, so this rule
|
||||||
|
// should not error on missing @param annotations.
|
||||||
|
disableMissingParamChecks: true,
|
||||||
|
}
|
||||||
|
],
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
|||||||
14228
lib/analyze-action-post.js
generated
14228
lib/analyze-action-post.js
generated
File diff suppressed because one or more lines are too long
13327
lib/analyze-action.js
generated
13327
lib/analyze-action.js
generated
File diff suppressed because it is too large
Load Diff
5567
lib/autobuild-action.js
generated
5567
lib/autobuild-action.js
generated
File diff suppressed because it is too large
Load Diff
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"bundleVersion": "codeql-bundle-v2.23.3",
|
"bundleVersion": "codeql-bundle-v2.23.5",
|
||||||
"cliVersion": "2.23.3",
|
"cliVersion": "2.23.5",
|
||||||
"priorBundleVersion": "codeql-bundle-v2.23.2",
|
"priorBundleVersion": "codeql-bundle-v2.23.3",
|
||||||
"priorCliVersion": "2.23.2"
|
"priorCliVersion": "2.23.3"
|
||||||
}
|
}
|
||||||
|
|||||||
22808
lib/init-action-post.js
generated
22808
lib/init-action-post.js
generated
File diff suppressed because one or more lines are too long
13521
lib/init-action.js
generated
13521
lib/init-action.js
generated
File diff suppressed because it is too large
Load Diff
5571
lib/resolve-environment-action.js
generated
5571
lib/resolve-environment-action.js
generated
File diff suppressed because it is too large
Load Diff
12827
lib/setup-codeql-action.js
generated
12827
lib/setup-codeql-action.js
generated
File diff suppressed because it is too large
Load Diff
14167
lib/start-proxy-action-post.js
generated
14167
lib/start-proxy-action-post.js
generated
File diff suppressed because one or more lines are too long
5289
lib/start-proxy-action.js
generated
5289
lib/start-proxy-action.js
generated
File diff suppressed because it is too large
Load Diff
12834
lib/upload-lib.js
generated
12834
lib/upload-lib.js
generated
File diff suppressed because it is too large
Load Diff
14159
lib/upload-sarif-action-post.js
generated
14159
lib/upload-sarif-action-post.js
generated
File diff suppressed because one or more lines are too long
12916
lib/upload-sarif-action.js
generated
12916
lib/upload-sarif-action.js
generated
File diff suppressed because it is too large
Load Diff
1885
package-lock.json
generated
1885
package-lock.json
generated
File diff suppressed because it is too large
Load Diff
39
package.json
39
package.json
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "codeql",
|
"name": "codeql",
|
||||||
"version": "4.31.1",
|
"version": "4.31.5",
|
||||||
"private": true,
|
"private": true,
|
||||||
"description": "CodeQL action",
|
"description": "CodeQL action",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
@@ -24,59 +24,57 @@
|
|||||||
},
|
},
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@actions/artifact": "^2.3.1",
|
"@actions/artifact": "^4.0.0",
|
||||||
"@actions/artifact-legacy": "npm:@actions/artifact@^1.1.2",
|
"@actions/artifact-legacy": "npm:@actions/artifact@^1.1.2",
|
||||||
"@actions/cache": "^4.1.0",
|
"@actions/cache": "^4.1.0",
|
||||||
"@actions/core": "^1.11.1",
|
"@actions/core": "^1.11.1",
|
||||||
"@actions/exec": "^1.1.1",
|
"@actions/exec": "^1.1.1",
|
||||||
"@actions/github": "^6.0.0",
|
"@actions/github": "^6.0.0",
|
||||||
"@actions/glob": "^0.5.0",
|
"@actions/glob": "^0.5.0",
|
||||||
"@actions/http-client": "^2.2.3",
|
"@actions/http-client": "^3.0.0",
|
||||||
"@actions/io": "^1.1.3",
|
"@actions/io": "^2.0.0",
|
||||||
"@actions/tool-cache": "^2.0.2",
|
"@actions/tool-cache": "^2.0.2",
|
||||||
"@octokit/plugin-retry": "^6.0.0",
|
"@octokit/plugin-retry": "^6.0.0",
|
||||||
"@octokit/request-error": "^7.0.1",
|
"@octokit/request-error": "^7.1.0",
|
||||||
"@schemastore/package": "0.0.10",
|
"@schemastore/package": "0.0.10",
|
||||||
"archiver": "^7.0.1",
|
"archiver": "^7.0.1",
|
||||||
"console-log-level": "^1.4.1",
|
|
||||||
"del": "^8.0.0",
|
|
||||||
"fast-deep-equal": "^3.1.3",
|
"fast-deep-equal": "^3.1.3",
|
||||||
"follow-redirects": "^1.15.11",
|
"follow-redirects": "^1.15.11",
|
||||||
"get-folder-size": "^5.0.0",
|
"get-folder-size": "^5.0.0",
|
||||||
"js-yaml": "^4.1.0",
|
"js-yaml": "^4.1.1",
|
||||||
"jsonschema": "1.4.1",
|
"jsonschema": "1.4.1",
|
||||||
"long": "^5.3.2",
|
"long": "^5.3.2",
|
||||||
"node-forge": "^1.3.1",
|
"node-forge": "^1.3.1",
|
||||||
"octokit": "^5.0.4",
|
"octokit": "^5.0.5",
|
||||||
"semver": "^7.7.3",
|
"semver": "^7.7.3",
|
||||||
"uuid": "^13.0.0"
|
"uuid": "^13.0.0"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@ava/typescript": "6.0.0",
|
"@ava/typescript": "6.0.0",
|
||||||
"@eslint/compat": "^1.4.0",
|
"@eslint/compat": "^2.0.0",
|
||||||
"@eslint/eslintrc": "^3.3.1",
|
"@eslint/eslintrc": "^3.3.1",
|
||||||
"@eslint/js": "^9.38.0",
|
"@eslint/js": "^9.39.1",
|
||||||
"@microsoft/eslint-formatter-sarif": "^3.1.0",
|
"@microsoft/eslint-formatter-sarif": "^3.1.0",
|
||||||
"@octokit/types": "^15.0.0",
|
"@octokit/types": "^16.0.0",
|
||||||
"@types/archiver": "^6.0.3",
|
"@types/archiver": "^7.0.0",
|
||||||
"@types/console-log-level": "^1.4.5",
|
|
||||||
"@types/follow-redirects": "^1.14.4",
|
"@types/follow-redirects": "^1.14.4",
|
||||||
"@types/js-yaml": "^4.0.9",
|
"@types/js-yaml": "^4.0.9",
|
||||||
"@types/node": "20.19.9",
|
"@types/node": "20.19.9",
|
||||||
"@types/node-forge": "^1.3.14",
|
"@types/node-forge": "^1.3.14",
|
||||||
"@types/semver": "^7.7.1",
|
"@types/semver": "^7.7.1",
|
||||||
"@types/sinon": "^17.0.4",
|
"@types/sinon": "^21.0.0",
|
||||||
"@typescript-eslint/eslint-plugin": "^8.46.1",
|
"@typescript-eslint/eslint-plugin": "^8.46.4",
|
||||||
"@typescript-eslint/parser": "^8.41.0",
|
"@typescript-eslint/parser": "^8.41.0",
|
||||||
"ava": "^6.4.1",
|
"ava": "^6.4.1",
|
||||||
"esbuild": "^0.25.11",
|
"esbuild": "^0.27.0",
|
||||||
"eslint": "^8.57.1",
|
|
||||||
"eslint-import-resolver-typescript": "^3.8.7",
|
"eslint-import-resolver-typescript": "^3.8.7",
|
||||||
"eslint-plugin-filenames": "^1.3.2",
|
"eslint-plugin-filenames": "^1.3.2",
|
||||||
"eslint-plugin-github": "^5.1.8",
|
"eslint-plugin-github": "^5.1.8",
|
||||||
"eslint-plugin-import": "2.29.1",
|
"eslint-plugin-import": "2.29.1",
|
||||||
|
"eslint-plugin-jsdoc": "^61.2.1",
|
||||||
"eslint-plugin-no-async-foreach": "^0.1.1",
|
"eslint-plugin-no-async-foreach": "^0.1.1",
|
||||||
"glob": "^11.0.3",
|
"eslint": "^8.57.1",
|
||||||
|
"glob": "^11.1.0",
|
||||||
"nock": "^14.0.10",
|
"nock": "^14.0.10",
|
||||||
"sinon": "^21.0.0",
|
"sinon": "^21.0.0",
|
||||||
"typescript": "^5.9.3"
|
"typescript": "^5.9.3"
|
||||||
@@ -100,6 +98,7 @@
|
|||||||
"eslint-plugin-jsx-a11y": {
|
"eslint-plugin-jsx-a11y": {
|
||||||
"semver": ">=6.3.1"
|
"semver": ">=6.3.1"
|
||||||
},
|
},
|
||||||
"brace-expansion@2.0.1": "2.0.2"
|
"brace-expansion@2.0.1": "2.0.2",
|
||||||
|
"glob": "^11.1.0"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -4,6 +4,7 @@ operatingSystems: ["ubuntu", "macos", "windows"]
|
|||||||
versions: ["nightly-latest"]
|
versions: ["nightly-latest"]
|
||||||
useAllPlatformBundle: "true"
|
useAllPlatformBundle: "true"
|
||||||
installGo: true
|
installGo: true
|
||||||
|
installDotNet: true
|
||||||
steps:
|
steps:
|
||||||
- id: init
|
- id: init
|
||||||
uses: ./../action/init
|
uses: ./../action/init
|
||||||
|
|||||||
@@ -3,6 +3,7 @@ description: "Checks that specifying 'ref' and 'sha' as inputs works"
|
|||||||
versions: ["default"]
|
versions: ["default"]
|
||||||
installGo: true
|
installGo: true
|
||||||
installPython: true
|
installPython: true
|
||||||
|
installDotNet: true
|
||||||
steps:
|
steps:
|
||||||
- uses: ./../action/init
|
- uses: ./../action/init
|
||||||
with:
|
with:
|
||||||
|
|||||||
@@ -2,6 +2,7 @@ name: "autobuild-action"
|
|||||||
description: "Tests that the C# autobuild action works"
|
description: "Tests that the C# autobuild action works"
|
||||||
operatingSystems: ["ubuntu", "macos", "windows"]
|
operatingSystems: ["ubuntu", "macos", "windows"]
|
||||||
versions: ["linked"]
|
versions: ["linked"]
|
||||||
|
installDotNet: true
|
||||||
steps:
|
steps:
|
||||||
- uses: ./../action/init
|
- uses: ./../action/init
|
||||||
with:
|
with:
|
||||||
|
|||||||
@@ -2,6 +2,7 @@ name: "Build mode manual"
|
|||||||
description: "An end-to-end integration test of a Java repository built using 'build-mode: manual'"
|
description: "An end-to-end integration test of a Java repository built using 'build-mode: manual'"
|
||||||
versions: ["nightly-latest"]
|
versions: ["nightly-latest"]
|
||||||
installGo: true
|
installGo: true
|
||||||
|
installDotNet: true
|
||||||
steps:
|
steps:
|
||||||
- uses: ./../action/init
|
- uses: ./../action/init
|
||||||
id: init
|
id: init
|
||||||
|
|||||||
@@ -27,7 +27,7 @@ steps:
|
|||||||
output: ${{ runner.temp }}/results
|
output: ${{ runner.temp }}/results
|
||||||
upload-database: false
|
upload-database: false
|
||||||
- name: Upload SARIF
|
- name: Upload SARIF
|
||||||
uses: actions/upload-artifact@v4
|
uses: actions/upload-artifact@v5
|
||||||
with:
|
with:
|
||||||
name: ${{ matrix.os }}-zstd-bundle.sarif
|
name: ${{ matrix.os }}-zstd-bundle.sarif
|
||||||
path: ${{ runner.temp }}/results/javascript.sarif
|
path: ${{ runner.temp }}/results/javascript.sarif
|
||||||
|
|||||||
@@ -12,7 +12,7 @@ steps:
|
|||||||
output: "${{ runner.temp }}/results"
|
output: "${{ runner.temp }}/results"
|
||||||
upload-database: false
|
upload-database: false
|
||||||
- name: Upload SARIF
|
- name: Upload SARIF
|
||||||
uses: actions/upload-artifact@v4
|
uses: actions/upload-artifact@v5
|
||||||
with:
|
with:
|
||||||
name: config-export-${{ matrix.os }}-${{ matrix.version }}.sarif.json
|
name: config-export-${{ matrix.os }}-${{ matrix.version }}.sarif.json
|
||||||
path: "${{ runner.temp }}/results/javascript.sarif"
|
path: "${{ runner.temp }}/results/javascript.sarif"
|
||||||
|
|||||||
@@ -25,7 +25,7 @@ steps:
|
|||||||
output: "${{ runner.temp }}/results"
|
output: "${{ runner.temp }}/results"
|
||||||
upload-database: false
|
upload-database: false
|
||||||
- name: Upload SARIF
|
- name: Upload SARIF
|
||||||
uses: actions/upload-artifact@v4
|
uses: actions/upload-artifact@v5
|
||||||
with:
|
with:
|
||||||
name: diagnostics-export-${{ matrix.os }}-${{ matrix.version }}.sarif.json
|
name: diagnostics-export-${{ matrix.os }}-${{ matrix.version }}.sarif.json
|
||||||
path: "${{ runner.temp }}/results/javascript.sarif"
|
path: "${{ runner.temp }}/results/javascript.sarif"
|
||||||
|
|||||||
@@ -3,6 +3,7 @@ description: "Tests that file baseline information is exported when the feature
|
|||||||
operatingSystems: ["ubuntu", "macos", "windows"]
|
operatingSystems: ["ubuntu", "macos", "windows"]
|
||||||
versions: ["nightly-latest"]
|
versions: ["nightly-latest"]
|
||||||
installGo: true
|
installGo: true
|
||||||
|
installDotNet: true
|
||||||
env:
|
env:
|
||||||
CODEQL_ACTION_SUBLANGUAGE_FILE_COVERAGE: true
|
CODEQL_ACTION_SUBLANGUAGE_FILE_COVERAGE: true
|
||||||
steps:
|
steps:
|
||||||
@@ -17,7 +18,7 @@ steps:
|
|||||||
with:
|
with:
|
||||||
output: "${{ runner.temp }}/results"
|
output: "${{ runner.temp }}/results"
|
||||||
- name: Upload SARIF
|
- name: Upload SARIF
|
||||||
uses: actions/upload-artifact@v4
|
uses: actions/upload-artifact@v5
|
||||||
with:
|
with:
|
||||||
name: with-baseline-information-${{ matrix.os }}-${{ matrix.version }}.sarif.json
|
name: with-baseline-information-${{ matrix.os }}-${{ matrix.version }}.sarif.json
|
||||||
path: "${{ runner.temp }}/results/javascript.sarif"
|
path: "${{ runner.temp }}/results/javascript.sarif"
|
||||||
|
|||||||
@@ -7,6 +7,7 @@ versions:
|
|||||||
- linked
|
- linked
|
||||||
- nightly-latest
|
- nightly-latest
|
||||||
installGo: true
|
installGo: true
|
||||||
|
installDotNet: true
|
||||||
env:
|
env:
|
||||||
DOTNET_GENERATE_ASPNET_CERTIFICATE: "false"
|
DOTNET_GENERATE_ASPNET_CERTIFICATE: "false"
|
||||||
steps:
|
steps:
|
||||||
|
|||||||
@@ -11,7 +11,7 @@ steps:
|
|||||||
with:
|
with:
|
||||||
output: "${{ runner.temp }}/results"
|
output: "${{ runner.temp }}/results"
|
||||||
- name: Upload SARIF
|
- name: Upload SARIF
|
||||||
uses: actions/upload-artifact@v4
|
uses: actions/upload-artifact@v5
|
||||||
with:
|
with:
|
||||||
name: ${{ matrix.os }}-${{ matrix.version }}.sarif.json
|
name: ${{ matrix.os }}-${{ matrix.version }}.sarif.json
|
||||||
path: "${{ runner.temp }}/results/javascript.sarif"
|
path: "${{ runner.temp }}/results/javascript.sarif"
|
||||||
|
|||||||
@@ -3,6 +3,7 @@ description: "Tests using a CodeQL bundle from a local file rather than a URL"
|
|||||||
versions: ["linked"]
|
versions: ["linked"]
|
||||||
installGo: true
|
installGo: true
|
||||||
installPython: true
|
installPython: true
|
||||||
|
installDotNet: true
|
||||||
steps:
|
steps:
|
||||||
- name: Fetch latest CodeQL bundle
|
- name: Fetch latest CodeQL bundle
|
||||||
run: |
|
run: |
|
||||||
|
|||||||
@@ -5,6 +5,7 @@ env:
|
|||||||
CODEQL_ACTION_RESOLVE_SUPPORTED_LANGUAGES_USING_CLI: true
|
CODEQL_ACTION_RESOLVE_SUPPORTED_LANGUAGES_USING_CLI: true
|
||||||
installGo: true
|
installGo: true
|
||||||
installPython: true
|
installPython: true
|
||||||
|
installDotNet: true
|
||||||
steps:
|
steps:
|
||||||
- name: Use Xcode 16
|
- name: Use Xcode 16
|
||||||
if: runner.os == 'macOS' && matrix.version != 'nightly-latest'
|
if: runner.os == 'macOS' && matrix.version != 'nightly-latest'
|
||||||
|
|||||||
@@ -4,6 +4,7 @@ versions: ["linked", "default", "nightly-latest"] # This feature is not compatib
|
|||||||
installGo: true
|
installGo: true
|
||||||
installNode: true
|
installNode: true
|
||||||
installPython: true
|
installPython: true
|
||||||
|
installDotNet: true
|
||||||
steps:
|
steps:
|
||||||
- uses: ./../action/init
|
- uses: ./../action/init
|
||||||
with:
|
with:
|
||||||
|
|||||||
@@ -3,6 +3,7 @@ description: "Checks that specifying packages using a combination of a config fi
|
|||||||
versions: ["linked", "default", "nightly-latest"] # This feature is not compatible with old CLIs
|
versions: ["linked", "default", "nightly-latest"] # This feature is not compatible with old CLIs
|
||||||
installGo: true
|
installGo: true
|
||||||
installNode: true
|
installNode: true
|
||||||
|
installDotNet: true
|
||||||
steps:
|
steps:
|
||||||
- uses: ./../action/init
|
- uses: ./../action/init
|
||||||
with:
|
with:
|
||||||
|
|||||||
@@ -3,6 +3,7 @@ description: "Checks that specifying packages using only a config file works"
|
|||||||
versions: ["linked", "default", "nightly-latest"] # This feature is not compatible with old CLIs
|
versions: ["linked", "default", "nightly-latest"] # This feature is not compatible with old CLIs
|
||||||
installGo: true
|
installGo: true
|
||||||
installNode: true
|
installNode: true
|
||||||
|
installDotNet: true
|
||||||
steps:
|
steps:
|
||||||
- uses: ./../action/init
|
- uses: ./../action/init
|
||||||
with:
|
with:
|
||||||
|
|||||||
@@ -3,6 +3,7 @@ description: "Checks that specifying packages using the input to the Action work
|
|||||||
versions: ["linked", "default", "nightly-latest"] # This feature is not compatible with old CLIs
|
versions: ["linked", "default", "nightly-latest"] # This feature is not compatible with old CLIs
|
||||||
installGo: true
|
installGo: true
|
||||||
installNode: true
|
installNode: true
|
||||||
|
installDotNet: true
|
||||||
steps:
|
steps:
|
||||||
- uses: ./../action/init
|
- uses: ./../action/init
|
||||||
with:
|
with:
|
||||||
|
|||||||
@@ -39,7 +39,7 @@ steps:
|
|||||||
post-processed-sarif-path: "${{ runner.temp }}/post-processed"
|
post-processed-sarif-path: "${{ runner.temp }}/post-processed"
|
||||||
- name: Upload security SARIF
|
- name: Upload security SARIF
|
||||||
if: contains(matrix.analysis-kinds, 'code-scanning')
|
if: contains(matrix.analysis-kinds, 'code-scanning')
|
||||||
uses: actions/upload-artifact@v4
|
uses: actions/upload-artifact@v5
|
||||||
with:
|
with:
|
||||||
name: |
|
name: |
|
||||||
quality-queries-${{ matrix.os }}-${{ matrix.version }}-${{ matrix.analysis-kinds }}.sarif.json
|
quality-queries-${{ matrix.os }}-${{ matrix.version }}-${{ matrix.analysis-kinds }}.sarif.json
|
||||||
@@ -47,14 +47,14 @@ steps:
|
|||||||
retention-days: 7
|
retention-days: 7
|
||||||
- name: Upload quality SARIF
|
- name: Upload quality SARIF
|
||||||
if: contains(matrix.analysis-kinds, 'code-quality')
|
if: contains(matrix.analysis-kinds, 'code-quality')
|
||||||
uses: actions/upload-artifact@v4
|
uses: actions/upload-artifact@v5
|
||||||
with:
|
with:
|
||||||
name: |
|
name: |
|
||||||
quality-queries-${{ matrix.os }}-${{ matrix.version }}-${{ matrix.analysis-kinds }}.quality.sarif.json
|
quality-queries-${{ matrix.os }}-${{ matrix.version }}-${{ matrix.analysis-kinds }}.quality.sarif.json
|
||||||
path: "${{ runner.temp }}/results/javascript.quality.sarif"
|
path: "${{ runner.temp }}/results/javascript.quality.sarif"
|
||||||
retention-days: 7
|
retention-days: 7
|
||||||
- name: Upload post-processed SARIF
|
- name: Upload post-processed SARIF
|
||||||
uses: actions/upload-artifact@v4
|
uses: actions/upload-artifact@v5
|
||||||
with:
|
with:
|
||||||
name: |
|
name: |
|
||||||
post-processed-${{ matrix.os }}-${{ matrix.version }}-${{ matrix.analysis-kinds }}.sarif.json
|
post-processed-${{ matrix.os }}-${{ matrix.version }}-${{ matrix.analysis-kinds }}.sarif.json
|
||||||
|
|||||||
@@ -7,6 +7,7 @@ versions:
|
|||||||
- nightly-latest
|
- nightly-latest
|
||||||
installGo: true
|
installGo: true
|
||||||
installPython: true
|
installPython: true
|
||||||
|
installDotNet: true
|
||||||
steps:
|
steps:
|
||||||
- uses: ./../action/init
|
- uses: ./../action/init
|
||||||
with:
|
with:
|
||||||
|
|||||||
@@ -4,7 +4,7 @@ description: "Tests using RuboCop to analyze a multi-language repository and the
|
|||||||
versions: ["default"]
|
versions: ["default"]
|
||||||
steps:
|
steps:
|
||||||
- name: Set up Ruby
|
- name: Set up Ruby
|
||||||
uses: ruby/setup-ruby@ab177d40ee5483edb974554986f56b33477e21d0 # v1.265.0
|
uses: ruby/setup-ruby@8aeb6ff8030dd539317f8e1769a044873b56ea71 # v1.268.0
|
||||||
with:
|
with:
|
||||||
ruby-version: 2.6
|
ruby-version: 2.6
|
||||||
- name: Install Code Scanning integration
|
- name: Install Code Scanning integration
|
||||||
|
|||||||
@@ -3,6 +3,7 @@ description: "Tests a split-up workflow in which we first build a database and l
|
|||||||
operatingSystems: ["ubuntu", "macos"]
|
operatingSystems: ["ubuntu", "macos"]
|
||||||
versions: ["linked", "default", "nightly-latest"] # This feature is not compatible with old CLIs
|
versions: ["linked", "default", "nightly-latest"] # This feature is not compatible with old CLIs
|
||||||
installGo: true
|
installGo: true
|
||||||
|
installDotNet: true
|
||||||
steps:
|
steps:
|
||||||
- uses: ./../action/init
|
- uses: ./../action/init
|
||||||
with:
|
with:
|
||||||
|
|||||||
@@ -3,6 +3,7 @@ description: "Tests creation of a Swift database using custom build"
|
|||||||
versions: ["linked", "default", "nightly-latest"]
|
versions: ["linked", "default", "nightly-latest"]
|
||||||
operatingSystems: ["macos"]
|
operatingSystems: ["macos"]
|
||||||
installGo: true
|
installGo: true
|
||||||
|
installDotNet: true
|
||||||
env:
|
env:
|
||||||
DOTNET_GENERATE_ASPNET_CERTIFICATE: "false"
|
DOTNET_GENERATE_ASPNET_CERTIFICATE: "false"
|
||||||
steps:
|
steps:
|
||||||
|
|||||||
@@ -7,6 +7,7 @@ versions:
|
|||||||
- nightly-latest
|
- nightly-latest
|
||||||
installGo: true
|
installGo: true
|
||||||
installPython: true
|
installPython: true
|
||||||
|
installDotNet: true
|
||||||
steps:
|
steps:
|
||||||
- uses: ./../action/init
|
- uses: ./../action/init
|
||||||
id: init
|
id: init
|
||||||
|
|||||||
@@ -3,6 +3,7 @@ description: "Checks that specifying 'ref' and 'sha' as inputs works"
|
|||||||
versions: ["default"]
|
versions: ["default"]
|
||||||
installGo: true
|
installGo: true
|
||||||
installPython: true
|
installPython: true
|
||||||
|
installDotNet: true
|
||||||
steps:
|
steps:
|
||||||
- uses: ./../action/init
|
- uses: ./../action/init
|
||||||
with:
|
with:
|
||||||
|
|||||||
@@ -4,6 +4,7 @@ versions: ["default"]
|
|||||||
analysisKinds: ["code-scanning", "code-quality", "code-scanning,code-quality"]
|
analysisKinds: ["code-scanning", "code-quality", "code-scanning,code-quality"]
|
||||||
installGo: true
|
installGo: true
|
||||||
installPython: true
|
installPython: true
|
||||||
|
installDotNet: true
|
||||||
steps:
|
steps:
|
||||||
- uses: ./../action/init
|
- uses: ./../action/init
|
||||||
with:
|
with:
|
||||||
|
|||||||
@@ -3,6 +3,7 @@ description: "Checks that a custom `checkout_path` will find the proper commit_o
|
|||||||
versions: ["linked"]
|
versions: ["linked"]
|
||||||
installGo: true
|
installGo: true
|
||||||
installPython: true
|
installPython: true
|
||||||
|
installDotNet: true
|
||||||
steps:
|
steps:
|
||||||
# This ensures we don't accidentally use the original checkout for any part of the test.
|
# This ensures we don't accidentally use the original checkout for any part of the test.
|
||||||
- name: Delete original checkout
|
- name: Delete original checkout
|
||||||
|
|||||||
@@ -204,6 +204,25 @@ for file in sorted((this_dir / 'checks').glob('*.yml')):
|
|||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
|
installDotNet = is_truthy(checkSpecification.get('installDotNet', ''))
|
||||||
|
|
||||||
|
if installDotNet:
|
||||||
|
baseDotNetVersionExpr = '9.x'
|
||||||
|
workflowInputs['dotnet-version'] = {
|
||||||
|
'type': 'string',
|
||||||
|
'description': 'The version of .NET to install',
|
||||||
|
'required': False,
|
||||||
|
'default': baseDotNetVersionExpr,
|
||||||
|
}
|
||||||
|
|
||||||
|
steps.append({
|
||||||
|
'name': 'Install .NET',
|
||||||
|
'uses': 'actions/setup-dotnet@v5',
|
||||||
|
'with': {
|
||||||
|
'dotnet-version': '${{ inputs.dotnet-version || \'' + baseDotNetVersionExpr + '\' }}'
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
# If container initialisation steps are present in the check specification,
|
# If container initialisation steps are present in the check specification,
|
||||||
# make sure to execute them first.
|
# make sure to execute them first.
|
||||||
if 'container' in checkSpecification and 'container-init-steps' in checkSpecification:
|
if 'container' in checkSpecification and 'container-init-steps' in checkSpecification:
|
||||||
|
|||||||
@@ -9,9 +9,15 @@ if [ "$GITHUB_ACTIONS" = "true" ]; then
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
# Check if npm install is likely needed before proceeding
|
# Check if npm install is likely needed before proceeding
|
||||||
if [ ! -d node_modules ] || [ package-lock.json -nt node_modules/.package-lock.json ]; then
|
if [ ! -d node_modules ]; then
|
||||||
echo "Running 'npm install' because 'node_modules/.package-lock.json' appears to be outdated..."
|
echo "Running 'npm install' because 'node_modules' directory is missing."
|
||||||
|
npm install
|
||||||
|
elif [ package.json -nt package-lock.json ]; then
|
||||||
|
echo "Running 'npm install' because 'package-lock.json' appears to be outdated."
|
||||||
|
npm install
|
||||||
|
elif [ package-lock.json -nt node_modules/.package-lock.json ]; then
|
||||||
|
echo "Running 'npm install' because 'node_modules/.package-lock.json' appears to be outdated."
|
||||||
npm install
|
npm install
|
||||||
else
|
else
|
||||||
echo "Skipping 'npm install' because 'node_modules/.package-lock.json' appears to be up-to-date."
|
echo "Skipping 'npm install' because everything appears to be up-to-date."
|
||||||
fi
|
fi
|
||||||
|
|||||||
@@ -5,6 +5,9 @@ import {
|
|||||||
fixCodeQualityCategory,
|
fixCodeQualityCategory,
|
||||||
getPullRequestBranches,
|
getPullRequestBranches,
|
||||||
isAnalyzingPullRequest,
|
isAnalyzingPullRequest,
|
||||||
|
isCCR,
|
||||||
|
isDefaultSetup,
|
||||||
|
isDynamicWorkflow,
|
||||||
} from "./actions-util";
|
} from "./actions-util";
|
||||||
import { computeAutomationID } from "./api-client";
|
import { computeAutomationID } from "./api-client";
|
||||||
import { EnvVar } from "./environment";
|
import { EnvVar } from "./environment";
|
||||||
@@ -246,3 +249,25 @@ test("fixCodeQualityCategory", (t) => {
|
|||||||
},
|
},
|
||||||
);
|
);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
test("isDynamicWorkflow() returns true if event name is `dynamic`", (t) => {
|
||||||
|
process.env.GITHUB_EVENT_NAME = "dynamic";
|
||||||
|
t.assert(isDynamicWorkflow());
|
||||||
|
process.env.GITHUB_EVENT_NAME = "push";
|
||||||
|
t.false(isDynamicWorkflow());
|
||||||
|
});
|
||||||
|
|
||||||
|
test("isCCR() returns true when expected", (t) => {
|
||||||
|
process.env.GITHUB_EVENT_NAME = "dynamic";
|
||||||
|
process.env.CODEQL_ACTION_ANALYSIS_KEY =
|
||||||
|
"dynamic/copilot-pull-request-reviewer";
|
||||||
|
t.assert(isCCR());
|
||||||
|
t.false(isDefaultSetup());
|
||||||
|
});
|
||||||
|
|
||||||
|
test("isDefaultSetup() returns true when expected", (t) => {
|
||||||
|
process.env.GITHUB_EVENT_NAME = "dynamic";
|
||||||
|
process.env.CODEQL_ACTION_ANALYSIS_KEY = "dynamic/github-code-scanning";
|
||||||
|
t.assert(isDefaultSetup());
|
||||||
|
t.false(isCCR());
|
||||||
|
});
|
||||||
|
|||||||
@@ -254,7 +254,18 @@ export function isDynamicWorkflow(): boolean {
|
|||||||
|
|
||||||
/** Determines whether we are running in default setup. */
|
/** Determines whether we are running in default setup. */
|
||||||
export function isDefaultSetup(): boolean {
|
export function isDefaultSetup(): boolean {
|
||||||
return isDynamicWorkflow();
|
return isDynamicWorkflow() && !isCCR();
|
||||||
|
}
|
||||||
|
|
||||||
|
/** Determines whether we are running in CCR. */
|
||||||
|
export function isCCR(): boolean {
|
||||||
|
return (
|
||||||
|
(isDynamicWorkflow() &&
|
||||||
|
process.env["CODEQL_ACTION_ANALYSIS_KEY"]?.startsWith(
|
||||||
|
"dynamic/copilot-pull-request-reviewer",
|
||||||
|
)) ||
|
||||||
|
false
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
export function prettyPrintInvocation(cmd: string, args: string[]): string {
|
export function prettyPrintInvocation(cmd: string, args: string[]): string {
|
||||||
|
|||||||
@@ -78,7 +78,7 @@ test("analyze action with RAM & threads from environment variables", async (t) =
|
|||||||
t.deepEqual(runFinalizeStub.firstCall.args[1], "--threads=-1");
|
t.deepEqual(runFinalizeStub.firstCall.args[1], "--threads=-1");
|
||||||
t.deepEqual(runFinalizeStub.firstCall.args[2], "--ram=4992");
|
t.deepEqual(runFinalizeStub.firstCall.args[2], "--ram=4992");
|
||||||
t.assert(runQueriesStub.calledOnce);
|
t.assert(runQueriesStub.calledOnce);
|
||||||
t.deepEqual(runQueriesStub.firstCall.args[3], "--threads=-1");
|
t.deepEqual(runQueriesStub.firstCall.args[2], "--threads=-1");
|
||||||
t.deepEqual(runQueriesStub.firstCall.args[1], "--ram=4992");
|
t.deepEqual(runQueriesStub.firstCall.args[1], "--ram=4992");
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -76,7 +76,7 @@ test("analyze action with RAM & threads from action inputs", async (t) => {
|
|||||||
t.deepEqual(runFinalizeStub.firstCall.args[1], "--threads=-1");
|
t.deepEqual(runFinalizeStub.firstCall.args[1], "--threads=-1");
|
||||||
t.deepEqual(runFinalizeStub.firstCall.args[2], "--ram=3012");
|
t.deepEqual(runFinalizeStub.firstCall.args[2], "--ram=3012");
|
||||||
t.assert(runQueriesStub.calledOnce);
|
t.assert(runQueriesStub.calledOnce);
|
||||||
t.deepEqual(runQueriesStub.firstCall.args[3], "--threads=-1");
|
t.deepEqual(runQueriesStub.firstCall.args[2], "--threads=-1");
|
||||||
t.deepEqual(runQueriesStub.firstCall.args[1], "--ram=3012");
|
t.deepEqual(runQueriesStub.firstCall.args[1], "--ram=3012");
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -25,7 +25,7 @@ import {
|
|||||||
isCodeQualityEnabled,
|
isCodeQualityEnabled,
|
||||||
isCodeScanningEnabled,
|
isCodeScanningEnabled,
|
||||||
} from "./config-utils";
|
} from "./config-utils";
|
||||||
import { uploadDatabases } from "./database-upload";
|
import { cleanupAndUploadDatabases } from "./database-upload";
|
||||||
import {
|
import {
|
||||||
DependencyCacheUploadStatusReport,
|
DependencyCacheUploadStatusReport,
|
||||||
uploadDependencyCaches,
|
uploadDependencyCaches,
|
||||||
@@ -35,7 +35,7 @@ import { EnvVar } from "./environment";
|
|||||||
import { Feature, Features } from "./feature-flags";
|
import { Feature, Features } from "./feature-flags";
|
||||||
import { KnownLanguage } from "./languages";
|
import { KnownLanguage } from "./languages";
|
||||||
import { getActionsLogger, Logger } from "./logging";
|
import { getActionsLogger, Logger } from "./logging";
|
||||||
import { uploadOverlayBaseDatabaseToCache } from "./overlay-database-utils";
|
import { cleanupAndUploadOverlayBaseDatabaseToCache } from "./overlay-database-utils";
|
||||||
import { getRepositoryNwo } from "./repository";
|
import { getRepositoryNwo } from "./repository";
|
||||||
import * as statusReport from "./status-report";
|
import * as statusReport from "./status-report";
|
||||||
import {
|
import {
|
||||||
@@ -324,10 +324,16 @@ async function run() {
|
|||||||
);
|
);
|
||||||
|
|
||||||
if (actionsUtil.getRequiredInput("skip-queries") !== "true") {
|
if (actionsUtil.getRequiredInput("skip-queries") !== "true") {
|
||||||
|
// Warn if the removed `add-snippets` input is used.
|
||||||
|
if (actionsUtil.getOptionalInput("add-snippets") !== undefined) {
|
||||||
|
logger.warning(
|
||||||
|
"The `add-snippets` input has been removed and no longer has any effect.",
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
runStats = await runQueries(
|
runStats = await runQueries(
|
||||||
outputDir,
|
outputDir,
|
||||||
memory,
|
memory,
|
||||||
util.getAddSnippetsFlag(actionsUtil.getRequiredInput("add-snippets")),
|
|
||||||
threads,
|
threads,
|
||||||
diffRangePackDir,
|
diffRangePackDir,
|
||||||
actionsUtil.getOptionalInput("category"),
|
actionsUtil.getOptionalInput("category"),
|
||||||
@@ -411,12 +417,21 @@ async function run() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Possibly upload the overlay-base database to actions cache.
|
// Possibly upload the overlay-base database to actions cache.
|
||||||
// If databases are to be uploaded, they will first be cleaned up at the overlay level.
|
// Note: Take care with the ordering of this call since databases may be cleaned up
|
||||||
await uploadOverlayBaseDatabaseToCache(codeql, config, logger);
|
// at the `overlay` level.
|
||||||
|
await cleanupAndUploadOverlayBaseDatabaseToCache(codeql, config, logger);
|
||||||
|
|
||||||
// Possibly upload the database bundles for remote queries.
|
// Possibly upload the database bundles for remote queries.
|
||||||
// If databases are to be uploaded, they will first be cleaned up at the clear level.
|
// Note: Take care with the ordering of this call since databases may be cleaned up
|
||||||
await uploadDatabases(repositoryNwo, codeql, config, apiDetails, logger);
|
// at the `overlay` or `clear` level.
|
||||||
|
await cleanupAndUploadDatabases(
|
||||||
|
repositoryNwo,
|
||||||
|
codeql,
|
||||||
|
config,
|
||||||
|
apiDetails,
|
||||||
|
features,
|
||||||
|
logger,
|
||||||
|
);
|
||||||
|
|
||||||
// Possibly upload the TRAP caches for later re-use
|
// Possibly upload the TRAP caches for later re-use
|
||||||
const trapCacheUploadStartTime = performance.now();
|
const trapCacheUploadStartTime = performance.now();
|
||||||
@@ -432,14 +447,11 @@ async function run() {
|
|||||||
|
|
||||||
// Store dependency cache(s) if dependency caching is enabled.
|
// Store dependency cache(s) if dependency caching is enabled.
|
||||||
if (shouldStoreCache(config.dependencyCachingEnabled)) {
|
if (shouldStoreCache(config.dependencyCachingEnabled)) {
|
||||||
const minimizeJavaJars = await features.getValue(
|
|
||||||
Feature.JavaMinimizeDependencyJars,
|
|
||||||
codeql,
|
|
||||||
);
|
|
||||||
dependencyCacheResults = await uploadDependencyCaches(
|
dependencyCacheResults = await uploadDependencyCaches(
|
||||||
|
codeql,
|
||||||
|
features,
|
||||||
config,
|
config,
|
||||||
logger,
|
logger,
|
||||||
minimizeJavaJars,
|
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -37,7 +37,6 @@ test("status report fields", async (t) => {
|
|||||||
setupActionsVars(tmpDir, tmpDir);
|
setupActionsVars(tmpDir, tmpDir);
|
||||||
|
|
||||||
const memoryFlag = "";
|
const memoryFlag = "";
|
||||||
const addSnippetsFlag = "";
|
|
||||||
const threadsFlag = "";
|
const threadsFlag = "";
|
||||||
sinon.stub(uploadLib, "validateSarifFileSchema");
|
sinon.stub(uploadLib, "validateSarifFileSchema");
|
||||||
|
|
||||||
@@ -103,7 +102,6 @@ test("status report fields", async (t) => {
|
|||||||
const statusReport = await runQueries(
|
const statusReport = await runQueries(
|
||||||
tmpDir,
|
tmpDir,
|
||||||
memoryFlag,
|
memoryFlag,
|
||||||
addSnippetsFlag,
|
|
||||||
threadsFlag,
|
threadsFlag,
|
||||||
undefined,
|
undefined,
|
||||||
undefined,
|
undefined,
|
||||||
|
|||||||
104
src/analyze.ts
104
src/analyze.ts
@@ -3,7 +3,6 @@ import * as path from "path";
|
|||||||
import { performance } from "perf_hooks";
|
import { performance } from "perf_hooks";
|
||||||
|
|
||||||
import * as io from "@actions/io";
|
import * as io from "@actions/io";
|
||||||
import * as del from "del";
|
|
||||||
import * as yaml from "js-yaml";
|
import * as yaml from "js-yaml";
|
||||||
|
|
||||||
import { getTemporaryDirectory, PullRequestBranches } from "./actions-util";
|
import { getTemporaryDirectory, PullRequestBranches } from "./actions-util";
|
||||||
@@ -39,89 +38,26 @@ export class CodeQLAnalysisError extends Error {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
export interface QueriesStatusReport {
|
type KnownLanguageKey = keyof typeof KnownLanguage;
|
||||||
/**
|
|
||||||
* Time taken in ms to run queries for actions (or undefined if this language was not analyzed).
|
|
||||||
*
|
|
||||||
* The "builtin" designation is now outdated with the move to CLI config parsing: this is the time
|
|
||||||
* taken to run _all_ the queries.
|
|
||||||
*/
|
|
||||||
analyze_builtin_queries_actions_duration_ms?: number;
|
|
||||||
/**
|
|
||||||
* Time taken in ms to run queries for cpp (or undefined if this language was not analyzed).
|
|
||||||
*
|
|
||||||
* The "builtin" designation is now outdated with the move to CLI config parsing: this is the time
|
|
||||||
* taken to run _all_ the queries.
|
|
||||||
*/
|
|
||||||
analyze_builtin_queries_cpp_duration_ms?: number;
|
|
||||||
/**
|
|
||||||
* Time taken in ms to run queries for csharp (or undefined if this language was not analyzed).
|
|
||||||
*
|
|
||||||
* The "builtin" designation is now outdated with the move to CLI config parsing: this is the time
|
|
||||||
* taken to run _all_ the queries.
|
|
||||||
*/
|
|
||||||
analyze_builtin_queries_csharp_duration_ms?: number;
|
|
||||||
/**
|
|
||||||
* Time taken in ms to run queries for go (or undefined if this language was not analyzed).
|
|
||||||
*
|
|
||||||
* The "builtin" designation is now outdated with the move to CLI config parsing: this is the time
|
|
||||||
* taken to run _all_ the queries.
|
|
||||||
*/
|
|
||||||
analyze_builtin_queries_go_duration_ms?: number;
|
|
||||||
/**
|
|
||||||
* Time taken in ms to run queries for java (or undefined if this language was not analyzed).
|
|
||||||
*
|
|
||||||
* The "builtin" designation is now outdated with the move to CLI config parsing: this is the time
|
|
||||||
* taken to run _all_ the queries.
|
|
||||||
*/
|
|
||||||
analyze_builtin_queries_java_duration_ms?: number;
|
|
||||||
/**
|
|
||||||
* Time taken in ms to run queries for javascript (or undefined if this language was not analyzed).
|
|
||||||
*
|
|
||||||
* The "builtin" designation is now outdated with the move to CLI config parsing: this is the time
|
|
||||||
* taken to run _all_ the queries.
|
|
||||||
*/
|
|
||||||
analyze_builtin_queries_javascript_duration_ms?: number;
|
|
||||||
/**
|
|
||||||
* Time taken in ms to run queries for python (or undefined if this language was not analyzed).
|
|
||||||
*
|
|
||||||
* The "builtin" designation is now outdated with the move to CLI config parsing: this is the time
|
|
||||||
* taken to run _all_ the queries.
|
|
||||||
*/
|
|
||||||
analyze_builtin_queries_python_duration_ms?: number;
|
|
||||||
/**
|
|
||||||
* Time taken in ms to run queries for ruby (or undefined if this language was not analyzed).
|
|
||||||
*
|
|
||||||
* The "builtin" designation is now outdated with the move to CLI config parsing: this is the time
|
|
||||||
* taken to run _all_ the queries.
|
|
||||||
*/
|
|
||||||
analyze_builtin_queries_ruby_duration_ms?: number;
|
|
||||||
/** Time taken in ms to run queries for swift (or undefined if this language was not analyzed).
|
|
||||||
*
|
|
||||||
* The "builtin" designation is now outdated with the move to CLI config parsing: this is the time
|
|
||||||
* taken to run _all_ the queries.
|
|
||||||
*/
|
|
||||||
analyze_builtin_queries_swift_duration_ms?: number;
|
|
||||||
|
|
||||||
/** Time taken in ms to interpret results for actions (or undefined if this language was not analyzed). */
|
type RunQueriesDurationStatusReport = {
|
||||||
interpret_results_actions_duration_ms?: number;
|
/**
|
||||||
/** Time taken in ms to interpret results for cpp (or undefined if this language was not analyzed). */
|
* Time taken in ms to run queries for the language (or undefined if this language was not analyzed).
|
||||||
interpret_results_cpp_duration_ms?: number;
|
*
|
||||||
/** Time taken in ms to interpret results for csharp (or undefined if this language was not analyzed). */
|
* The "builtin" designation is now outdated with the move to CLI config parsing: this is the time
|
||||||
interpret_results_csharp_duration_ms?: number;
|
* taken to run _all_ the queries.
|
||||||
/** Time taken in ms to interpret results for go (or undefined if this language was not analyzed). */
|
*/
|
||||||
interpret_results_go_duration_ms?: number;
|
[L in KnownLanguageKey as `analyze_builtin_queries_${L}_duration_ms`]?: number;
|
||||||
/** Time taken in ms to interpret results for java (or undefined if this language was not analyzed). */
|
};
|
||||||
interpret_results_java_duration_ms?: number;
|
|
||||||
/** Time taken in ms to interpret results for javascript (or undefined if this language was not analyzed). */
|
|
||||||
interpret_results_javascript_duration_ms?: number;
|
|
||||||
/** Time taken in ms to interpret results for python (or undefined if this language was not analyzed). */
|
|
||||||
interpret_results_python_duration_ms?: number;
|
|
||||||
/** Time taken in ms to interpret results for ruby (or undefined if this language was not analyzed). */
|
|
||||||
interpret_results_ruby_duration_ms?: number;
|
|
||||||
/** Time taken in ms to interpret results for swift (or undefined if this language was not analyzed). */
|
|
||||||
interpret_results_swift_duration_ms?: number;
|
|
||||||
|
|
||||||
|
type InterpretResultsDurationStatusReport = {
|
||||||
|
/** Time taken in ms to interpret results for the language (or undefined if this language was not analyzed). */
|
||||||
|
[L in KnownLanguageKey as `interpret_results_${L}_duration_ms`]?: number;
|
||||||
|
};
|
||||||
|
|
||||||
|
export interface QueriesStatusReport
|
||||||
|
extends RunQueriesDurationStatusReport,
|
||||||
|
InterpretResultsDurationStatusReport {
|
||||||
/**
|
/**
|
||||||
* Whether the analysis is diff-informed (in the sense that the action generates a diff-range data
|
* Whether the analysis is diff-informed (in the sense that the action generates a diff-range data
|
||||||
* extension for the analysis, regardless of whether the data extension is actually used by queries).
|
* extension for the analysis, regardless of whether the data extension is actually used by queries).
|
||||||
@@ -437,7 +373,6 @@ export function addSarifExtension(
|
|||||||
export async function runQueries(
|
export async function runQueries(
|
||||||
sarifFolder: string,
|
sarifFolder: string,
|
||||||
memoryFlag: string,
|
memoryFlag: string,
|
||||||
addSnippetsFlag: string,
|
|
||||||
threadsFlag: string,
|
threadsFlag: string,
|
||||||
diffRangePackDir: string | undefined,
|
diffRangePackDir: string | undefined,
|
||||||
automationDetailsId: string | undefined,
|
automationDetailsId: string | undefined,
|
||||||
@@ -627,7 +562,6 @@ export async function runQueries(
|
|||||||
databasePath,
|
databasePath,
|
||||||
queries,
|
queries,
|
||||||
sarifFile,
|
sarifFile,
|
||||||
addSnippetsFlag,
|
|
||||||
threadsFlag,
|
threadsFlag,
|
||||||
enableDebugLogging ? "-vv" : "-v",
|
enableDebugLogging ? "-vv" : "-v",
|
||||||
sarifRunPropertyFlag,
|
sarifRunPropertyFlag,
|
||||||
@@ -671,7 +605,7 @@ export async function runFinalize(
|
|||||||
logger: Logger,
|
logger: Logger,
|
||||||
): Promise<DatabaseCreationTimings> {
|
): Promise<DatabaseCreationTimings> {
|
||||||
try {
|
try {
|
||||||
await del.deleteAsync(outputDir, { force: true });
|
await fs.promises.rm(outputDir, { force: true, recursive: true });
|
||||||
} catch (error: any) {
|
} catch (error: any) {
|
||||||
if (error?.code !== "ENOENT") {
|
if (error?.code !== "ENOENT") {
|
||||||
throw error;
|
throw error;
|
||||||
|
|||||||
@@ -169,4 +169,32 @@ test("wrapApiConfigurationError correctly wraps specific configuration errors",
|
|||||||
res,
|
res,
|
||||||
new util.ConfigurationError("Resource not accessible by integration"),
|
new util.ConfigurationError("Resource not accessible by integration"),
|
||||||
);
|
);
|
||||||
|
|
||||||
|
// Enablement errors.
|
||||||
|
const enablementErrorMessages = [
|
||||||
|
"Code Security must be enabled for this repository to use code scanning",
|
||||||
|
"Advanced Security must be enabled for this repository to use code scanning",
|
||||||
|
"Code Scanning is not enabled for this repository. Please enable code scanning in the repository settings.",
|
||||||
|
];
|
||||||
|
const transforms = [
|
||||||
|
(msg: string) => msg,
|
||||||
|
(msg: string) => msg.toLowerCase(),
|
||||||
|
(msg: string) => msg.toLocaleUpperCase(),
|
||||||
|
];
|
||||||
|
|
||||||
|
for (const enablementErrorMessage of enablementErrorMessages) {
|
||||||
|
for (const transform of transforms) {
|
||||||
|
const enablementError = new util.HTTPError(
|
||||||
|
transform(enablementErrorMessage),
|
||||||
|
403,
|
||||||
|
);
|
||||||
|
res = api.wrapApiConfigurationError(enablementError);
|
||||||
|
t.deepEqual(
|
||||||
|
res,
|
||||||
|
new util.ConfigurationError(
|
||||||
|
api.getFeatureEnablementError(enablementError.message),
|
||||||
|
),
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -1,7 +1,6 @@
|
|||||||
import * as core from "@actions/core";
|
import * as core from "@actions/core";
|
||||||
import * as githubUtils from "@actions/github/lib/utils";
|
import * as githubUtils from "@actions/github/lib/utils";
|
||||||
import * as retry from "@octokit/plugin-retry";
|
import * as retry from "@octokit/plugin-retry";
|
||||||
import consoleLogLevel from "console-log-level";
|
|
||||||
|
|
||||||
import { getActionVersion, getRequiredInput } from "./actions-util";
|
import { getActionVersion, getRequiredInput } from "./actions-util";
|
||||||
import { Logger } from "./logging";
|
import { Logger } from "./logging";
|
||||||
@@ -50,7 +49,12 @@ function createApiClientWithDetails(
|
|||||||
githubUtils.getOctokitOptions(auth, {
|
githubUtils.getOctokitOptions(auth, {
|
||||||
baseUrl: apiDetails.apiURL,
|
baseUrl: apiDetails.apiURL,
|
||||||
userAgent: `CodeQL-Action/${getActionVersion()}`,
|
userAgent: `CodeQL-Action/${getActionVersion()}`,
|
||||||
log: consoleLogLevel({ level: "debug" }),
|
log: {
|
||||||
|
debug: core.debug,
|
||||||
|
info: core.info,
|
||||||
|
warn: core.warning,
|
||||||
|
error: core.error,
|
||||||
|
},
|
||||||
}),
|
}),
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
@@ -279,6 +283,20 @@ export async function getRepositoryProperties(repositoryNwo: RepositoryNwo) {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function isEnablementError(msg: string) {
|
||||||
|
return [
|
||||||
|
/Code Security must be enabled/i,
|
||||||
|
/Advanced Security must be enabled/i,
|
||||||
|
/Code Scanning is not enabled/i,
|
||||||
|
].some((pattern) => pattern.test(msg));
|
||||||
|
}
|
||||||
|
|
||||||
|
// TODO: Move to `error-messages.ts` after refactoring import order to avoid cycle
|
||||||
|
// since `error-messages.ts` currently depends on this file.
|
||||||
|
export function getFeatureEnablementError(message: string): string {
|
||||||
|
return `Please verify that the necessary features are enabled: ${message}`;
|
||||||
|
}
|
||||||
|
|
||||||
export function wrapApiConfigurationError(e: unknown) {
|
export function wrapApiConfigurationError(e: unknown) {
|
||||||
const httpError = asHTTPError(e);
|
const httpError = asHTTPError(e);
|
||||||
if (httpError !== undefined) {
|
if (httpError !== undefined) {
|
||||||
@@ -300,6 +318,11 @@ export function wrapApiConfigurationError(e: unknown) {
|
|||||||
"Please check that your token is valid and has the required permissions: contents: read, security-events: write",
|
"Please check that your token is valid and has the required permissions: contents: read, security-events: write",
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
if (httpError.status === 403 && isEnablementError(httpError.message)) {
|
||||||
|
return new ConfigurationError(
|
||||||
|
getFeatureEnablementError(httpError.message),
|
||||||
|
);
|
||||||
|
}
|
||||||
if (httpError.status === 429) {
|
if (httpError.status === 429) {
|
||||||
return new ConfigurationError("API rate limit exceeded");
|
return new ConfigurationError("API rate limit exceeded");
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,3 +1,5 @@
|
|||||||
|
import * as crypto from "crypto";
|
||||||
|
|
||||||
import * as core from "@actions/core";
|
import * as core from "@actions/core";
|
||||||
|
|
||||||
import { getOptionalInput, isDefaultSetup } from "./actions-util";
|
import { getOptionalInput, isDefaultSetup } from "./actions-util";
|
||||||
@@ -71,6 +73,33 @@ export function getCachingKind(input: string | undefined): CachingKind {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// The length to which `createCacheKeyHash` truncates hash strings.
|
||||||
|
export const cacheKeyHashLength = 16;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Creates a SHA-256 hash of the cache key components to ensure uniqueness
|
||||||
|
* while keeping the cache key length manageable.
|
||||||
|
*
|
||||||
|
* @param components Object containing all components that should influence cache key uniqueness
|
||||||
|
* @returns A short SHA-256 hash (first 16 characters) of the components
|
||||||
|
*/
|
||||||
|
export function createCacheKeyHash(components: Record<string, any>): string {
|
||||||
|
// From https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/JSON/stringify
|
||||||
|
//
|
||||||
|
// "Properties are visited using the same algorithm as Object.keys(), which
|
||||||
|
// has a well-defined order and is stable across implementations. For example,
|
||||||
|
// JSON.stringify on the same object will always produce the same string, and
|
||||||
|
// JSON.parse(JSON.stringify(obj)) would produce an object with the same key
|
||||||
|
// ordering as the original (assuming the object is completely
|
||||||
|
// JSON-serializable)."
|
||||||
|
const componentsJson = JSON.stringify(components);
|
||||||
|
return crypto
|
||||||
|
.createHash("sha256")
|
||||||
|
.update(componentsJson)
|
||||||
|
.digest("hex")
|
||||||
|
.substring(0, cacheKeyHashLength);
|
||||||
|
}
|
||||||
|
|
||||||
/** Determines whether dependency caching is enabled. */
|
/** Determines whether dependency caching is enabled. */
|
||||||
export function getDependencyCachingEnabled(): CachingKind {
|
export function getDependencyCachingEnabled(): CachingKind {
|
||||||
// If the workflow specified something always respect that
|
// If the workflow specified something always respect that
|
||||||
|
|||||||
@@ -5,7 +5,6 @@ import * as toolrunner from "@actions/exec/lib/toolrunner";
|
|||||||
import * as io from "@actions/io";
|
import * as io from "@actions/io";
|
||||||
import * as toolcache from "@actions/tool-cache";
|
import * as toolcache from "@actions/tool-cache";
|
||||||
import test, { ExecutionContext } from "ava";
|
import test, { ExecutionContext } from "ava";
|
||||||
import * as del from "del";
|
|
||||||
import * as yaml from "js-yaml";
|
import * as yaml from "js-yaml";
|
||||||
import nock from "nock";
|
import nock from "nock";
|
||||||
import * as sinon from "sinon";
|
import * as sinon from "sinon";
|
||||||
@@ -557,7 +556,7 @@ const injectedConfigMacro = test.macro({
|
|||||||
const augmentedConfig = yaml.load(fs.readFileSync(configFile, "utf8"));
|
const augmentedConfig = yaml.load(fs.readFileSync(configFile, "utf8"));
|
||||||
t.deepEqual(augmentedConfig, expectedConfig);
|
t.deepEqual(augmentedConfig, expectedConfig);
|
||||||
|
|
||||||
await del.deleteAsync(configFile, { force: true });
|
await fs.promises.rm(configFile, { force: true });
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
|
|
||||||
@@ -1046,7 +1045,7 @@ test("Avoids duplicating --overwrite flag if specified in CODEQL_ACTION_EXTRA_OP
|
|||||||
);
|
);
|
||||||
t.truthy(configArg, "Should have injected a codescanning config");
|
t.truthy(configArg, "Should have injected a codescanning config");
|
||||||
const configFile = configArg!.split("=")[1];
|
const configFile = configArg!.split("=")[1];
|
||||||
await del.deleteAsync(configFile, { force: true });
|
await fs.promises.rm(configFile, { force: true });
|
||||||
});
|
});
|
||||||
|
|
||||||
export function stubToolRunnerConstructor(
|
export function stubToolRunnerConstructor(
|
||||||
|
|||||||
@@ -35,7 +35,7 @@ import { ToolsDownloadStatusReport } from "./tools-download";
|
|||||||
import { ToolsFeature, isSupportedToolsFeature } from "./tools-features";
|
import { ToolsFeature, isSupportedToolsFeature } from "./tools-features";
|
||||||
import { shouldEnableIndirectTracing } from "./tracer-config";
|
import { shouldEnableIndirectTracing } from "./tracer-config";
|
||||||
import * as util from "./util";
|
import * as util from "./util";
|
||||||
import { BuildMode, getErrorMessage } from "./util";
|
import { BuildMode, CleanupLevel, getErrorMessage } from "./util";
|
||||||
|
|
||||||
type Options = Array<string | number | boolean>;
|
type Options = Array<string | number | boolean>;
|
||||||
|
|
||||||
@@ -141,7 +141,10 @@ export interface CodeQL {
|
|||||||
/**
|
/**
|
||||||
* Clean up all the databases within a database cluster.
|
* Clean up all the databases within a database cluster.
|
||||||
*/
|
*/
|
||||||
databaseCleanupCluster(config: Config, cleanupLevel: string): Promise<void>;
|
databaseCleanupCluster(
|
||||||
|
config: Config,
|
||||||
|
cleanupLevel: CleanupLevel,
|
||||||
|
): Promise<void>;
|
||||||
/**
|
/**
|
||||||
* Run 'codeql database bundle'.
|
* Run 'codeql database bundle'.
|
||||||
*/
|
*/
|
||||||
@@ -167,7 +170,6 @@ export interface CodeQL {
|
|||||||
databasePath: string,
|
databasePath: string,
|
||||||
querySuitePaths: string[] | undefined,
|
querySuitePaths: string[] | undefined,
|
||||||
sarifFile: string,
|
sarifFile: string,
|
||||||
addSnippetsFlag: string,
|
|
||||||
threadsFlag: string,
|
threadsFlag: string,
|
||||||
verbosityFlag: string | undefined,
|
verbosityFlag: string | undefined,
|
||||||
sarifRunPropertyFlag: string | undefined,
|
sarifRunPropertyFlag: string | undefined,
|
||||||
@@ -817,7 +819,6 @@ export async function getCodeQLForCmd(
|
|||||||
databasePath: string,
|
databasePath: string,
|
||||||
querySuitePaths: string[] | undefined,
|
querySuitePaths: string[] | undefined,
|
||||||
sarifFile: string,
|
sarifFile: string,
|
||||||
addSnippetsFlag: string,
|
|
||||||
threadsFlag: string,
|
threadsFlag: string,
|
||||||
verbosityFlag: string,
|
verbosityFlag: string,
|
||||||
sarifRunPropertyFlag: string | undefined,
|
sarifRunPropertyFlag: string | undefined,
|
||||||
@@ -836,7 +837,6 @@ export async function getCodeQLForCmd(
|
|||||||
"--format=sarif-latest",
|
"--format=sarif-latest",
|
||||||
verbosityFlag,
|
verbosityFlag,
|
||||||
`--output=${sarifFile}`,
|
`--output=${sarifFile}`,
|
||||||
addSnippetsFlag,
|
|
||||||
"--print-diagnostics-summary",
|
"--print-diagnostics-summary",
|
||||||
"--print-metrics-summary",
|
"--print-metrics-summary",
|
||||||
"--sarif-add-baseline-file-info",
|
"--sarif-add-baseline-file-info",
|
||||||
@@ -881,7 +881,7 @@ export async function getCodeQLForCmd(
|
|||||||
},
|
},
|
||||||
async databaseCleanupCluster(
|
async databaseCleanupCluster(
|
||||||
config: Config,
|
config: Config,
|
||||||
cleanupLevel: string,
|
cleanupLevel: CleanupLevel,
|
||||||
): Promise<void> {
|
): Promise<void> {
|
||||||
const cacheCleanupFlag = (await util.codeQlVersionAtLeast(
|
const cacheCleanupFlag = (await util.codeQlVersionAtLeast(
|
||||||
this,
|
this,
|
||||||
@@ -1074,8 +1074,11 @@ export async function getCodeQLForCmd(
|
|||||||
/**
|
/**
|
||||||
* Gets the options for `path` of `options` as an array of extra option strings.
|
* Gets the options for `path` of `options` as an array of extra option strings.
|
||||||
*
|
*
|
||||||
* @param ignoringOptions Options that should be ignored, for example because they have already
|
* @param paths The CLI command components to get extra options for.
|
||||||
* been passed and it is an error to pass them more than once.
|
* @param args Additional arguments for this function.
|
||||||
|
* @param args.ignoringOptions
|
||||||
|
* Options that should be ignored, for example because they have already
|
||||||
|
* been passed and it is an error to pass them more than once.
|
||||||
*/
|
*/
|
||||||
function getExtraOptionsFromEnv(
|
function getExtraOptionsFromEnv(
|
||||||
paths: string[],
|
paths: string[],
|
||||||
@@ -1157,8 +1160,9 @@ async function runCli(
|
|||||||
/**
|
/**
|
||||||
* Writes the code scanning configuration that is to be used by the CLI.
|
* Writes the code scanning configuration that is to be used by the CLI.
|
||||||
*
|
*
|
||||||
* @param codeql The CodeQL object to use.
|
* @param config The CodeQL Action state to write.
|
||||||
* @param config The CodeQL Action state to use.
|
* @param logger The logger to use.
|
||||||
|
*
|
||||||
* @returns The path to the generated user configuration file.
|
* @returns The path to the generated user configuration file.
|
||||||
*/
|
*/
|
||||||
async function writeCodeScanningConfigFile(
|
async function writeCodeScanningConfigFile(
|
||||||
|
|||||||
@@ -37,7 +37,9 @@ import {
|
|||||||
ConfigurationError,
|
ConfigurationError,
|
||||||
withTmpDir,
|
withTmpDir,
|
||||||
BuildMode,
|
BuildMode,
|
||||||
|
DiskUsage,
|
||||||
} from "./util";
|
} from "./util";
|
||||||
|
import * as util from "./util";
|
||||||
|
|
||||||
setupTests(test);
|
setupTests(test);
|
||||||
|
|
||||||
@@ -200,12 +202,9 @@ test("load code quality config", async (t) => {
|
|||||||
);
|
);
|
||||||
|
|
||||||
// And the config we expect it to result in
|
// And the config we expect it to result in
|
||||||
const expectedConfig: configUtils.Config = {
|
const expectedConfig = createTestConfig({
|
||||||
version: actionsUtil.getActionVersion(),
|
|
||||||
analysisKinds: [AnalysisKind.CodeQuality],
|
analysisKinds: [AnalysisKind.CodeQuality],
|
||||||
languages: [KnownLanguage.actions],
|
languages: [KnownLanguage.actions],
|
||||||
buildMode: undefined,
|
|
||||||
originalUserInput: {},
|
|
||||||
// This gets set because we only have `AnalysisKind.CodeQuality`
|
// This gets set because we only have `AnalysisKind.CodeQuality`
|
||||||
computedConfig: {
|
computedConfig: {
|
||||||
"disable-default-queries": true,
|
"disable-default-queries": true,
|
||||||
@@ -219,14 +218,7 @@ test("load code quality config", async (t) => {
|
|||||||
debugMode: false,
|
debugMode: false,
|
||||||
debugArtifactName: "",
|
debugArtifactName: "",
|
||||||
debugDatabaseName: "",
|
debugDatabaseName: "",
|
||||||
trapCaches: {},
|
});
|
||||||
trapCacheDownloadTime: 0,
|
|
||||||
dependencyCachingEnabled: CachingKind.None,
|
|
||||||
extraQueryExclusions: [],
|
|
||||||
overlayDatabaseMode: OverlayDatabaseMode.None,
|
|
||||||
useOverlayDatabaseCaching: false,
|
|
||||||
repositoryProperties: {},
|
|
||||||
};
|
|
||||||
|
|
||||||
t.deepEqual(config, expectedConfig);
|
t.deepEqual(config, expectedConfig);
|
||||||
});
|
});
|
||||||
@@ -507,9 +499,7 @@ test("load non-empty input", async (t) => {
|
|||||||
};
|
};
|
||||||
|
|
||||||
// And the config we expect it to parse to
|
// And the config we expect it to parse to
|
||||||
const expectedConfig: configUtils.Config = {
|
const expectedConfig = createTestConfig({
|
||||||
version: actionsUtil.getActionVersion(),
|
|
||||||
analysisKinds: [AnalysisKind.CodeScanning],
|
|
||||||
languages: [KnownLanguage.javascript],
|
languages: [KnownLanguage.javascript],
|
||||||
buildMode: BuildMode.None,
|
buildMode: BuildMode.None,
|
||||||
originalUserInput: userConfig,
|
originalUserInput: userConfig,
|
||||||
@@ -521,14 +511,7 @@ test("load non-empty input", async (t) => {
|
|||||||
debugMode: false,
|
debugMode: false,
|
||||||
debugArtifactName: "my-artifact",
|
debugArtifactName: "my-artifact",
|
||||||
debugDatabaseName: "my-db",
|
debugDatabaseName: "my-db",
|
||||||
trapCaches: {},
|
});
|
||||||
trapCacheDownloadTime: 0,
|
|
||||||
dependencyCachingEnabled: CachingKind.None,
|
|
||||||
extraQueryExclusions: [],
|
|
||||||
overlayDatabaseMode: OverlayDatabaseMode.None,
|
|
||||||
useOverlayDatabaseCaching: false,
|
|
||||||
repositoryProperties: {},
|
|
||||||
};
|
|
||||||
|
|
||||||
const languagesInput = "javascript";
|
const languagesInput = "javascript";
|
||||||
const configFilePath = createConfigFile(inputFileContents, tempDir);
|
const configFilePath = createConfigFile(inputFileContents, tempDir);
|
||||||
@@ -873,71 +856,62 @@ const mockRepositoryNwo = parseRepositoryNwo("owner/repo");
|
|||||||
expectedLanguages: ["javascript"],
|
expectedLanguages: ["javascript"],
|
||||||
},
|
},
|
||||||
].forEach((args) => {
|
].forEach((args) => {
|
||||||
for (const resolveSupportedLanguagesUsingCli of [true, false]) {
|
test(`getLanguages: ${args.name}`, async (t) => {
|
||||||
test(`getLanguages${resolveSupportedLanguagesUsingCli ? " (supported languages via CLI)" : ""}: ${args.name}`, async (t) => {
|
const mockRequest = mockLanguagesInRepo(args.languagesInRepository);
|
||||||
const features = createFeatures(
|
const stubExtractorEntry = {
|
||||||
resolveSupportedLanguagesUsingCli
|
extractor_root: "",
|
||||||
? [Feature.ResolveSupportedLanguagesUsingCli]
|
};
|
||||||
: [],
|
const codeQL = createStubCodeQL({
|
||||||
);
|
betterResolveLanguages: (options) =>
|
||||||
const mockRequest = mockLanguagesInRepo(args.languagesInRepository);
|
Promise.resolve({
|
||||||
const stubExtractorEntry = {
|
aliases: {
|
||||||
extractor_root: "",
|
"c#": KnownLanguage.csharp,
|
||||||
};
|
c: KnownLanguage.cpp,
|
||||||
const codeQL = createStubCodeQL({
|
kotlin: KnownLanguage.java,
|
||||||
betterResolveLanguages: (options) =>
|
typescript: KnownLanguage.javascript,
|
||||||
Promise.resolve({
|
},
|
||||||
aliases: {
|
extractors: {
|
||||||
"c#": KnownLanguage.csharp,
|
cpp: [stubExtractorEntry],
|
||||||
c: KnownLanguage.cpp,
|
csharp: [stubExtractorEntry],
|
||||||
kotlin: KnownLanguage.java,
|
java: [stubExtractorEntry],
|
||||||
typescript: KnownLanguage.javascript,
|
javascript: [stubExtractorEntry],
|
||||||
},
|
python: [stubExtractorEntry],
|
||||||
extractors: {
|
...(options?.filterToLanguagesWithQueries
|
||||||
cpp: [stubExtractorEntry],
|
? {}
|
||||||
csharp: [stubExtractorEntry],
|
: {
|
||||||
java: [stubExtractorEntry],
|
html: [stubExtractorEntry],
|
||||||
javascript: [stubExtractorEntry],
|
}),
|
||||||
python: [stubExtractorEntry],
|
},
|
||||||
...(options?.filterToLanguagesWithQueries
|
}),
|
||||||
? {}
|
|
||||||
: {
|
|
||||||
html: [stubExtractorEntry],
|
|
||||||
}),
|
|
||||||
},
|
|
||||||
}),
|
|
||||||
});
|
|
||||||
|
|
||||||
if (args.expectedLanguages) {
|
|
||||||
// happy path
|
|
||||||
const actualLanguages = await configUtils.getLanguages(
|
|
||||||
codeQL,
|
|
||||||
args.languagesInput,
|
|
||||||
mockRepositoryNwo,
|
|
||||||
".",
|
|
||||||
features,
|
|
||||||
mockLogger,
|
|
||||||
);
|
|
||||||
|
|
||||||
t.deepEqual(actualLanguages.sort(), args.expectedLanguages.sort());
|
|
||||||
} else {
|
|
||||||
// there is an error
|
|
||||||
await t.throwsAsync(
|
|
||||||
async () =>
|
|
||||||
await configUtils.getLanguages(
|
|
||||||
codeQL,
|
|
||||||
args.languagesInput,
|
|
||||||
mockRepositoryNwo,
|
|
||||||
".",
|
|
||||||
features,
|
|
||||||
mockLogger,
|
|
||||||
),
|
|
||||||
{ message: args.expectedError },
|
|
||||||
);
|
|
||||||
}
|
|
||||||
t.deepEqual(mockRequest.called, args.expectedApiCall);
|
|
||||||
});
|
});
|
||||||
}
|
|
||||||
|
if (args.expectedLanguages) {
|
||||||
|
// happy path
|
||||||
|
const actualLanguages = await configUtils.getLanguages(
|
||||||
|
codeQL,
|
||||||
|
args.languagesInput,
|
||||||
|
mockRepositoryNwo,
|
||||||
|
".",
|
||||||
|
mockLogger,
|
||||||
|
);
|
||||||
|
|
||||||
|
t.deepEqual(actualLanguages.sort(), args.expectedLanguages.sort());
|
||||||
|
} else {
|
||||||
|
// there is an error
|
||||||
|
await t.throwsAsync(
|
||||||
|
async () =>
|
||||||
|
await configUtils.getLanguages(
|
||||||
|
codeQL,
|
||||||
|
args.languagesInput,
|
||||||
|
mockRepositoryNwo,
|
||||||
|
".",
|
||||||
|
mockLogger,
|
||||||
|
),
|
||||||
|
{ message: args.expectedError },
|
||||||
|
);
|
||||||
|
}
|
||||||
|
t.deepEqual(mockRequest.called, args.expectedApiCall);
|
||||||
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
for (const { displayName, language, feature } of [
|
for (const { displayName, language, feature } of [
|
||||||
@@ -999,12 +973,12 @@ interface OverlayDatabaseModeTestSetup {
|
|||||||
features: Feature[];
|
features: Feature[];
|
||||||
isPullRequest: boolean;
|
isPullRequest: boolean;
|
||||||
isDefaultBranch: boolean;
|
isDefaultBranch: boolean;
|
||||||
repositoryOwner: string;
|
|
||||||
buildMode: BuildMode | undefined;
|
buildMode: BuildMode | undefined;
|
||||||
languages: Language[];
|
languages: Language[];
|
||||||
codeqlVersion: string;
|
codeqlVersion: string;
|
||||||
gitRoot: string | undefined;
|
gitRoot: string | undefined;
|
||||||
codeScanningConfig: configUtils.UserConfig;
|
codeScanningConfig: configUtils.UserConfig;
|
||||||
|
diskUsage: DiskUsage | undefined;
|
||||||
}
|
}
|
||||||
|
|
||||||
const defaultOverlayDatabaseModeTestSetup: OverlayDatabaseModeTestSetup = {
|
const defaultOverlayDatabaseModeTestSetup: OverlayDatabaseModeTestSetup = {
|
||||||
@@ -1012,12 +986,15 @@ const defaultOverlayDatabaseModeTestSetup: OverlayDatabaseModeTestSetup = {
|
|||||||
features: [],
|
features: [],
|
||||||
isPullRequest: false,
|
isPullRequest: false,
|
||||||
isDefaultBranch: false,
|
isDefaultBranch: false,
|
||||||
repositoryOwner: "github",
|
|
||||||
buildMode: BuildMode.None,
|
buildMode: BuildMode.None,
|
||||||
languages: [KnownLanguage.javascript],
|
languages: [KnownLanguage.javascript],
|
||||||
codeqlVersion: CODEQL_OVERLAY_MINIMUM_VERSION,
|
codeqlVersion: CODEQL_OVERLAY_MINIMUM_VERSION,
|
||||||
gitRoot: "/some/git/root",
|
gitRoot: "/some/git/root",
|
||||||
codeScanningConfig: {},
|
codeScanningConfig: {},
|
||||||
|
diskUsage: {
|
||||||
|
numAvailableBytes: 50_000_000_000,
|
||||||
|
numTotalBytes: 100_000_000_000,
|
||||||
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
const getOverlayDatabaseModeMacro = test.macro({
|
const getOverlayDatabaseModeMacro = test.macro({
|
||||||
@@ -1050,6 +1027,8 @@ const getOverlayDatabaseModeMacro = test.macro({
|
|||||||
setup.overlayDatabaseEnvVar;
|
setup.overlayDatabaseEnvVar;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
sinon.stub(util, "checkDiskUsage").resolves(setup.diskUsage);
|
||||||
|
|
||||||
// Mock feature flags
|
// Mock feature flags
|
||||||
const features = createFeatures(setup.features);
|
const features = createFeatures(setup.features);
|
||||||
|
|
||||||
@@ -1058,12 +1037,6 @@ const getOverlayDatabaseModeMacro = test.macro({
|
|||||||
.stub(actionsUtil, "isAnalyzingPullRequest")
|
.stub(actionsUtil, "isAnalyzingPullRequest")
|
||||||
.returns(setup.isPullRequest);
|
.returns(setup.isPullRequest);
|
||||||
|
|
||||||
// Mock repository owner
|
|
||||||
const repository = {
|
|
||||||
owner: setup.repositoryOwner,
|
|
||||||
repo: "test-repo",
|
|
||||||
};
|
|
||||||
|
|
||||||
// Set up CodeQL mock
|
// Set up CodeQL mock
|
||||||
const codeql = mockCodeQLVersion(setup.codeqlVersion);
|
const codeql = mockCodeQLVersion(setup.codeqlVersion);
|
||||||
|
|
||||||
@@ -1086,7 +1059,6 @@ const getOverlayDatabaseModeMacro = test.macro({
|
|||||||
|
|
||||||
const result = await configUtils.getOverlayDatabaseMode(
|
const result = await configUtils.getOverlayDatabaseMode(
|
||||||
codeql,
|
codeql,
|
||||||
repository,
|
|
||||||
features,
|
features,
|
||||||
setup.languages,
|
setup.languages,
|
||||||
tempDir, // sourceRoot
|
tempDir, // sourceRoot
|
||||||
@@ -1214,6 +1186,45 @@ test(
|
|||||||
},
|
},
|
||||||
);
|
);
|
||||||
|
|
||||||
|
test(
|
||||||
|
getOverlayDatabaseModeMacro,
|
||||||
|
"No overlay-base database on default branch if runner disk space is too low",
|
||||||
|
{
|
||||||
|
languages: [KnownLanguage.javascript],
|
||||||
|
features: [
|
||||||
|
Feature.OverlayAnalysis,
|
||||||
|
Feature.OverlayAnalysisCodeScanningJavascript,
|
||||||
|
],
|
||||||
|
isDefaultBranch: true,
|
||||||
|
diskUsage: {
|
||||||
|
numAvailableBytes: 1_000_000_000,
|
||||||
|
numTotalBytes: 100_000_000_000,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
overlayDatabaseMode: OverlayDatabaseMode.None,
|
||||||
|
useOverlayDatabaseCaching: false,
|
||||||
|
},
|
||||||
|
);
|
||||||
|
|
||||||
|
test(
|
||||||
|
getOverlayDatabaseModeMacro,
|
||||||
|
"No overlay-base database on default branch if we can't determine runner disk space",
|
||||||
|
{
|
||||||
|
languages: [KnownLanguage.javascript],
|
||||||
|
features: [
|
||||||
|
Feature.OverlayAnalysis,
|
||||||
|
Feature.OverlayAnalysisCodeScanningJavascript,
|
||||||
|
],
|
||||||
|
isDefaultBranch: true,
|
||||||
|
diskUsage: undefined,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
overlayDatabaseMode: OverlayDatabaseMode.None,
|
||||||
|
useOverlayDatabaseCaching: false,
|
||||||
|
},
|
||||||
|
);
|
||||||
|
|
||||||
test(
|
test(
|
||||||
getOverlayDatabaseModeMacro,
|
getOverlayDatabaseModeMacro,
|
||||||
"No overlay-base database on default branch when code-scanning feature enabled with disable-default-queries",
|
"No overlay-base database on default branch when code-scanning feature enabled with disable-default-queries",
|
||||||
@@ -1384,6 +1395,45 @@ test(
|
|||||||
},
|
},
|
||||||
);
|
);
|
||||||
|
|
||||||
|
test(
|
||||||
|
getOverlayDatabaseModeMacro,
|
||||||
|
"No overlay analysis on PR if runner disk space is too low",
|
||||||
|
{
|
||||||
|
languages: [KnownLanguage.javascript],
|
||||||
|
features: [
|
||||||
|
Feature.OverlayAnalysis,
|
||||||
|
Feature.OverlayAnalysisCodeScanningJavascript,
|
||||||
|
],
|
||||||
|
isPullRequest: true,
|
||||||
|
diskUsage: {
|
||||||
|
numAvailableBytes: 1_000_000_000,
|
||||||
|
numTotalBytes: 100_000_000_000,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
overlayDatabaseMode: OverlayDatabaseMode.None,
|
||||||
|
useOverlayDatabaseCaching: false,
|
||||||
|
},
|
||||||
|
);
|
||||||
|
|
||||||
|
test(
|
||||||
|
getOverlayDatabaseModeMacro,
|
||||||
|
"No overlay analysis on PR if we can't determine runner disk space",
|
||||||
|
{
|
||||||
|
languages: [KnownLanguage.javascript],
|
||||||
|
features: [
|
||||||
|
Feature.OverlayAnalysis,
|
||||||
|
Feature.OverlayAnalysisCodeScanningJavascript,
|
||||||
|
],
|
||||||
|
isPullRequest: true,
|
||||||
|
diskUsage: undefined,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
overlayDatabaseMode: OverlayDatabaseMode.None,
|
||||||
|
useOverlayDatabaseCaching: false,
|
||||||
|
},
|
||||||
|
);
|
||||||
|
|
||||||
test(
|
test(
|
||||||
getOverlayDatabaseModeMacro,
|
getOverlayDatabaseModeMacro,
|
||||||
"No overlay analysis on PR when code-scanning feature enabled with disable-default-queries",
|
"No overlay analysis on PR when code-scanning feature enabled with disable-default-queries",
|
||||||
@@ -1508,10 +1558,9 @@ test(
|
|||||||
|
|
||||||
test(
|
test(
|
||||||
getOverlayDatabaseModeMacro,
|
getOverlayDatabaseModeMacro,
|
||||||
"Overlay PR analysis by env for dsp-testing",
|
"Overlay PR analysis by env",
|
||||||
{
|
{
|
||||||
overlayDatabaseEnvVar: "overlay",
|
overlayDatabaseEnvVar: "overlay",
|
||||||
repositoryOwner: "dsp-testing",
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
overlayDatabaseMode: OverlayDatabaseMode.Overlay,
|
overlayDatabaseMode: OverlayDatabaseMode.Overlay,
|
||||||
@@ -1521,10 +1570,10 @@ test(
|
|||||||
|
|
||||||
test(
|
test(
|
||||||
getOverlayDatabaseModeMacro,
|
getOverlayDatabaseModeMacro,
|
||||||
"Overlay PR analysis by env for other-org",
|
"Overlay PR analysis by env on a runner with low disk space",
|
||||||
{
|
{
|
||||||
overlayDatabaseEnvVar: "overlay",
|
overlayDatabaseEnvVar: "overlay",
|
||||||
repositoryOwner: "other-org",
|
diskUsage: { numAvailableBytes: 0, numTotalBytes: 100_000_000_000 },
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
overlayDatabaseMode: OverlayDatabaseMode.Overlay,
|
overlayDatabaseMode: OverlayDatabaseMode.Overlay,
|
||||||
@@ -1534,12 +1583,11 @@ test(
|
|||||||
|
|
||||||
test(
|
test(
|
||||||
getOverlayDatabaseModeMacro,
|
getOverlayDatabaseModeMacro,
|
||||||
"Overlay PR analysis by feature flag for dsp-testing",
|
"Overlay PR analysis by feature flag",
|
||||||
{
|
{
|
||||||
languages: [KnownLanguage.javascript],
|
languages: [KnownLanguage.javascript],
|
||||||
features: [Feature.OverlayAnalysis, Feature.OverlayAnalysisJavascript],
|
features: [Feature.OverlayAnalysis, Feature.OverlayAnalysisJavascript],
|
||||||
isPullRequest: true,
|
isPullRequest: true,
|
||||||
repositoryOwner: "dsp-testing",
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
overlayDatabaseMode: OverlayDatabaseMode.Overlay,
|
overlayDatabaseMode: OverlayDatabaseMode.Overlay,
|
||||||
@@ -1547,21 +1595,6 @@ test(
|
|||||||
},
|
},
|
||||||
);
|
);
|
||||||
|
|
||||||
test(
|
|
||||||
getOverlayDatabaseModeMacro,
|
|
||||||
"No overlay PR analysis by feature flag for other-org",
|
|
||||||
{
|
|
||||||
languages: [KnownLanguage.javascript],
|
|
||||||
features: [Feature.OverlayAnalysis, Feature.OverlayAnalysisJavascript],
|
|
||||||
isPullRequest: true,
|
|
||||||
repositoryOwner: "other-org",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
overlayDatabaseMode: OverlayDatabaseMode.None,
|
|
||||||
useOverlayDatabaseCaching: false,
|
|
||||||
},
|
|
||||||
);
|
|
||||||
|
|
||||||
test(
|
test(
|
||||||
getOverlayDatabaseModeMacro,
|
getOverlayDatabaseModeMacro,
|
||||||
"Fallback due to autobuild with traced language",
|
"Fallback due to autobuild with traced language",
|
||||||
|
|||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user