-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Dave Bartolomeo
committed
Nov 7, 2024
1 parent
5ac2ddd
commit 8b4526f
Showing
4 changed files
with
126 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,44 @@ | ||
| name: "actions" | ||
| aliases: [] | ||
| display_name: "GitHub Actions" | ||
| version: 0.0.1 | ||
| column_kind: "utf16" | ||
| unicode_newlines: true | ||
| build_modes: | ||
| - none | ||
| file_coverage_languages: [] | ||
| github_api_languages: [] | ||
| scc_languages: [] | ||
| file_types: | ||
| - name: workflow | ||
| display_name: GitHub Actions workflow files | ||
| extensions: | ||
| - .yml | ||
| - .yaml | ||
| forwarded_extractor_name: javascript | ||
| options: | ||
| trap: | ||
| title: TRAP options | ||
| description: Options about how the extractor handles TRAP files | ||
| type: object | ||
| visibility: 3 | ||
| properties: | ||
| cache: | ||
| title: TRAP cache options | ||
| description: Options about how the extractor handles its TRAP cache | ||
| type: object | ||
| properties: | ||
| dir: | ||
| title: TRAP cache directory | ||
| description: The directory of the TRAP cache to use | ||
| type: string | ||
| bound: | ||
| title: TRAP cache bound | ||
| description: A soft limit (in MB) on the size of the TRAP cache | ||
| type: string | ||
| pattern: "[0-9]+" | ||
| write: | ||
| title: TRAP cache writeable | ||
| description: Whether to write to the TRAP cache as well as reading it | ||
| type: string | ||
| pattern: "(true|TRUE|false|FALSE)" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,40 @@ | ||
| if (($null -ne $env:LGTM_INDEX_INCLUDE) -or ($null -ne $env:LGTM_INDEX_EXCLUDE) -or ($null -ne $env:LGTM_INDEX_FILTERS)) { | ||
| Write-Output 'Path filters set. Passing them through to the JavaScript extractor.' | ||
| } else { | ||
| Write-Output 'No path filters set. Using the default filters.' | ||
| $DefaultPathFilters = @( | ||
| 'exclude:**/*', | ||
| 'include:.github/workflows/**/*.yml', | ||
| 'include:.github/workflows/**/*.yaml', | ||
| 'include:**/action.yml', | ||
| 'include:**/action.yaml' | ||
| ) | ||
|
|
||
| $env:LGTM_INDEX_FILTERS = $DefaultPathFilters -join "`n" | ||
| } | ||
|
|
||
| # Find the JavaScript extractor directory via `codeql resolve extractor`. | ||
| $CodeQL = Join-Path $env:CODEQL_DIST 'codeql.exe' | ||
| $env:CODEQL_EXTRACTOR_JAVASCRIPT_ROOT = &$CodeQL resolve extractor --language javascript | ||
| if ($LASTEXITCODE -ne 0) { | ||
| throw 'Failed to resolve JavaScript extractor.' | ||
| } | ||
|
|
||
| Write-Output "Found JavaScript extractor at '${env:CODEQL_EXTRACTOR_JAVASCRIPT_ROOT}'." | ||
|
|
||
| # Run the JavaScript autobuilder. | ||
| $JavaScriptAutoBuild = Join-Path $env:CODEQL_EXTRACTOR_JAVASCRIPT_ROOT 'tools\autobuild.cmd' | ||
| Write-Output "Running JavaScript autobuilder at '${JavaScriptAutoBuild}'." | ||
|
|
||
| # Copy the values of the Actions extractor environment variables to the JavaScript extractor environment variables. | ||
| $env:CODEQL_EXTRACTOR_JAVASCRIPT_DIAGNOSTIC_DIR = $env:CODEQL_EXTRACTOR_ACTIONS_DIAGNOSTIC_DIR | ||
| $env:CODEQL_EXTRACTOR_JAVASCRIPT_LOG_DIR = $env:CODEQL_EXTRACTOR_ACTIONS_LOG_DIR | ||
| $env:CODEQL_EXTRACTOR_JAVASCRIPT_SCRATCH_DIR = $env:CODEQL_EXTRACTOR_ACTIONS_SCRATCH_DIR | ||
| $env:CODEQL_EXTRACTOR_JAVASCRIPT_SOURCE_ARCHIVE_DIR = $env:CODEQL_EXTRACTOR_ACTIONS_SOURCE_ARCHIVE_DIR | ||
| $env:CODEQL_EXTRACTOR_JAVASCRIPT_TRAP_DIR = $env:CODEQL_EXTRACTOR_ACTIONS_TRAP_DIR | ||
| $env:CODEQL_EXTRACTOR_JAVASCRIPT_WIP_DATABASE = $env:CODEQL_EXTRACTOR_ACTIONS_WIP_DATABASE | ||
|
|
||
| &$JavaScriptAutoBuild | ||
| if ($LASTEXITCODE -ne 0) { | ||
| throw "JavaScript autobuilder failed." | ||
| } |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,3 @@ | ||
| @echo off | ||
| rem All of the work is done in the PowerShell script | ||
| powershell.exe %~dp0autobuild-impl.ps1 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,39 @@ | ||
| #!/bin/sh | ||
|
|
||
| set -eu | ||
|
|
||
| DEFAULT_PATH_FILTERS=$(cat << END | ||
| exclude:**/* | ||
| include:.github/workflows/**/*.yml | ||
| include:.github/workflows/**/*.yaml | ||
| include:**/action.yml | ||
| include:**/action.yaml | ||
| END | ||
| ) | ||
|
|
||
| if [ -n "${LGTM_INDEX_INCLUDE:-}" ] || [ -n "${LGTM_INDEX_EXCLUDE:-}" ] || [ -n "${LGTM_INDEX_FILTERS:-}" ] ; then | ||
| echo "Path filters set. Passing them through to the JavaScript extractor." | ||
| else | ||
| echo "No path filters set. Using the default filters." | ||
| LGTM_INDEX_FILTERS="${DEFAULT_PATH_FILTERS}" | ||
| export LGTM_INDEX_FILTERS | ||
| fi | ||
|
|
||
| # Find the JavaScript extractor directory via `codeql resolve extractor`. | ||
| CODEQL_EXTRACTOR_JAVASCRIPT_ROOT="$($CODEQL_DIST/codeql resolve extractor --language javascript)" | ||
| export CODEQL_EXTRACTOR_JAVASCRIPT_ROOT | ||
|
|
||
| echo "Found JavaScript extractor at '${CODEQL_EXTRACTOR_JAVASCRIPT_ROOT}'." | ||
|
|
||
| # Run the JavaScript autobuilder | ||
| JAVASCRIPT_AUTO_BUILD="${CODEQL_EXTRACTOR_JAVASCRIPT_ROOT}/tools/autobuild.sh" | ||
| echo "Running JavaScript autobuilder at '${JAVASCRIPT_AUTO_BUILD}'." | ||
|
|
||
| # Copy the values of the Actions extractor environment variables to the JavaScript extractor environment variables. | ||
| env CODEQL_EXTRACTOR_JAVASCRIPT_DIAGNOSTIC_DIR="${CODEQL_EXTRACTOR_ACTIONS_DIAGNOSTIC_DIR}" \ | ||
| CODEQL_EXTRACTOR_JAVASCRIPT_LOG_DIR="${CODEQL_EXTRACTOR_ACTIONS_LOG_DIR}" \ | ||
| CODEQL_EXTRACTOR_JAVASCRIPT_SCRATCH_DIR="${CODEQL_EXTRACTOR_ACTIONS_SCRATCH_DIR}" \ | ||
| CODEQL_EXTRACTOR_JAVASCRIPT_SOURCE_ARCHIVE_DIR="${CODEQL_EXTRACTOR_ACTIONS_SOURCE_ARCHIVE_DIR}" \ | ||
| CODEQL_EXTRACTOR_JAVASCRIPT_TRAP_DIR="${CODEQL_EXTRACTOR_ACTIONS_TRAP_DIR}" \ | ||
| CODEQL_EXTRACTOR_JAVASCRIPT_WIP_DATABASE="${CODEQL_EXTRACTOR_ACTIONS_WIP_DATABASE}" \ | ||
| ${JAVASCRIPT_AUTO_BUILD} |