10
10
- cron : ' 39 12 * * 2'
11
11
workflow_dispatch :
12
12
13
- env :
14
- LGTM_INDEX_XML_MODE : all
15
- LGTM_INDEX_FILETYPES : " .json:JSON\n .cds:JSON"
16
-
17
13
jobs :
18
14
analyze-javascript :
19
15
name : Analyze
@@ -37,40 +33,36 @@ jobs:
37
33
mv $dir .github/codeql/extensions/$dir
38
34
done
39
35
40
- - name : Ensure presence of cds shell command
41
- run : |
42
- if ! command -v cds &> /dev/null
43
- then
44
- npm install -g @sap/cds-dk
45
- fi
46
-
47
- # Compile .cds files to .cds.json files.
48
- - name : Compile CAP CDS files
49
- run : |
50
- for cds_file in $(find . -type f \( -iname '*.cds' \) -print)
51
- do
52
- echo "I am compiling $cds_file"
53
- cds compile $cds_file \
54
- -2 json \
55
- -o "$cds_file.json" \
56
- --locations
57
- done
58
-
59
36
- name : Extract CodeQL bundle version from qlt.conf.json
60
37
run : |
61
38
echo "BUNDLE_VERSION=$(jq .CodeQLCLIBundle qlt.conf.json -r)" >> $GITHUB_ENV
62
39
63
40
- name : Initialize CodeQL
41
+ id : initialize-codeql
64
42
uses : github/codeql-action/init@v3
43
+ env :
44
+ # Add our custom extractor to the CodeQL search path
45
+ CODEQL_ACTION_EXTRA_OPTIONS : ' {"database":{"init":["--search-path","${{ github.workspace }}/extractors"]}}'
65
46
with :
66
47
languages : javascript
67
48
config-file : ./.github/codeql/codeql-config.yaml
49
+ db-location : ${{ runner.temp }}/codeql-database
68
50
tools : https://github.com/github/codeql-action/releases/download/${{env.BUNDLE_VERSION}}/codeql-bundle-linux64.tar.gz
69
51
debug : true
70
52
53
+ - name : Run CDS extractor
54
+ shell : bash
55
+ run : |
56
+ export CODEQL_DIST="$(dirname "${{ steps.initialize-codeql.outputs.codeql-path }}")"
57
+ export CODEQL_EXTRACTOR_JAVASCRIPT_WIP_DATABASE="${{ runner.temp }}/codeql-database/javascript"
58
+ ${{ github.workspace }}/scripts/compile-cds.sh
59
+
71
60
- name : Perform CodeQL Analysis
72
61
id : analyze
73
62
uses : github/codeql-action/analyze@v3
63
+ env :
64
+ LGTM_INDEX_XML_MODE : all
65
+ LGTM_INDEX_FILETYPES : " .json:JSON"
74
66
75
67
- name : Setup Python
76
68
uses : actions/setup-python@v5
0 commit comments