@@ -33,135 +33,6 @@ jobs:
33
33
jq --compact-output '.supported_environment | {include: .}' supported_codeql_configs.json
34
34
)"
35
35
36
- create-code-scanning-pack-anon :
37
- name : Create anonymous Code Scanning pack
38
- needs : prepare-code-scanning-pack-matrix
39
- runs-on : ubuntu-20.04-xl
40
- strategy :
41
- fail-fast : false
42
- matrix : ${{ fromJSON(needs.prepare-code-scanning-pack-matrix.outputs.matrix) }}
43
- steps :
44
- - uses : actions/checkout@v2
45
-
46
- - name : Cache CodeQL
47
- id : cache-codeql
48
- uses : actions/cache@v2.1.3
49
- with :
50
- path : ${{ github.workspace }}/codeql_home
51
- key : codeql-home-${{ matrix.os }}-${{ matrix.codeql_cli }}-${{ matrix.codeql_standard_library }}
52
-
53
- - name : Install CodeQL
54
- if : steps.cache-codeql.outputs.cache-hit != 'true'
55
- uses : ./.github/actions/install-codeql
56
- with :
57
- codeql-cli-version : ${{ matrix.codeql_cli }}
58
- codeql-stdlib-version : ${{ matrix.codeql_standard_library }}
59
- codeql-home : ${{ github.workspace }}/codeql_home
60
- add-to-path : false
61
-
62
- - name : Install CodeQL packs
63
- uses : ./.github/actions/install-codeql-packs
64
- with :
65
- cli_path : ${{ github.workspace }}/codeql_home/codeql
66
-
67
- - name : Install Python
68
- uses : actions/setup-python@v4
69
- with :
70
- python-version : " 3.9"
71
-
72
- - name : Anonymising and pre-compiling queries
73
- env :
74
- CODEQL_HOME : ${{ github.workspace }}/codeql_home
75
- run : |
76
- PATH=$PATH:$CODEQL_HOME/codeql
77
- pip install -r scripts/requirements.txt
78
- find rule_packages/cpp -name '*.json' -exec basename {} .json \; | xargs --max-procs "$XARGS_MAX_PROCS" --max-args 1 python scripts/generate_rules/generate_package_files.py -a cpp
79
- find rule_packages/c -name '*.json' -exec basename {} .json \; | xargs --max-procs "$XARGS_MAX_PROCS" --max-args 1 python scripts/generate_rules/generate_package_files.py --skip-shared-test-generation -a c
80
-
81
- echo "Remove help files that cannot be freely distributed"
82
- find cpp/autosar/src/rules -name "*.md" -delete
83
- find c/misra/src/rules -name "*.md" -delete
84
-
85
- codeql query compile --threads 0 cpp
86
- codeql query compile --threads 0 c
87
- cd ..
88
- zip -r codeql-coding-standards/code-scanning-cpp-query-pack-anon.zip codeql-coding-standards/c/ codeql-coding-standards/cpp/ codeql-coding-standards/.codeqlmanifest.json codeql-coding-standards/supported_codeql_configs.json codeql-coding-standards/scripts/deviations codeql-coding-standards/scripts/reports
89
-
90
- - name : Upload GHAS Query Pack
91
- uses : actions/upload-artifact@v2
92
- with :
93
- name : code-scanning-cpp-query-pack-anon.zip
94
- path : code-scanning-cpp-query-pack-anon.zip
95
-
96
- - name : Create LGTM query pack
97
- env :
98
- CODEQL_HOME : ${{ github.workspace }}/codeql_home
99
- run : |
100
- PATH=$PATH:$CODEQL_HOME/codeql
101
- mkdir -p lgtm-cpp-query-pack
102
- function copy_queries_for_pack {
103
- for q in $(codeql resolve queries $2/$1/src/codeql-suites/$1-default.qls)
104
- do
105
- copy_from_root_name="${q%.*}"
106
- copy_to_root_name=$(realpath --relative-to "./$2/$1/src/" "$copy_from_root_name")
107
- query_dir=$(dirname "lgtm-cpp-query-pack/$copy_to_root_name")
108
- mkdir -p "$query_dir"
109
- # Copy each selected ql file
110
- cp "$copy_from_root_name.ql" "lgtm-cpp-query-pack/$copy_to_root_name.ql"
111
- done
112
- }
113
-
114
- echo "Copying autosar-default queries (CPP)"
115
- copy_queries_for_pack "autosar" "cpp"
116
- echo "Copying cert-default queries (CPP)"
117
- copy_queries_for_pack "cert" "cpp"
118
-
119
- echo "Copying misra-default queries (C)"
120
- copy_queries_for_pack "misra" "c"
121
- echo "Copying cert-default queries (C)"
122
- copy_queries_for_pack "cert" "c"
123
-
124
-
125
- # Now copy all the .qll files
126
- lgtm_pack_dir=$(realpath lgtm-cpp-query-pack)
127
- for query_pack in autosar cert common
128
- do
129
- echo "Copying $query_pack qll files"
130
- pushd cpp/$query_pack/src
131
- for query_library in $(find . -name \*.qll)
132
- do
133
- qll_dir=$(dirname "$lgtm_pack_dir/$query_library")
134
- echo "Making $qll_dir"
135
- mkdir -p "$qll_dir"
136
- cp "$query_library" "$lgtm_pack_dir/$query_library"
137
- done
138
- popd
139
- done
140
-
141
-
142
- for query_pack in misra cert common
143
- do
144
- echo "Copying $query_pack qll files"
145
- pushd c/$query_pack/src
146
- for query_library in $(find . -name \*.qll)
147
- do
148
- qll_dir=$(dirname "$lgtm_pack_dir/$query_library")
149
- echo "Making $qll_dir"
150
- mkdir -p "$qll_dir"
151
- cp "$query_library" "$lgtm_pack_dir/$query_library"
152
- done
153
- popd
154
- done
155
-
156
- cd lgtm-cpp-query-pack
157
- zip -9 -r ../lgtm-cpp-query-pack-anon.zip *
158
-
159
- - name : Upload LGTM query pack
160
- uses : actions/upload-artifact@v2
161
- with :
162
- name : lgtm-cpp-query-pack-anon.zip
163
- path : lgtm-cpp-query-pack-anon.zip
164
-
165
36
create-code-scanning-pack :
166
37
name : Create Code Scanning pack
167
38
needs : prepare-code-scanning-pack-matrix
194
65
cli_path : ${{ github.workspace }}/codeql_home/codeql
195
66
196
67
- name : Checkout external help files
68
+ continue-on-error : true
69
+ id : checkout-external-help-files
197
70
uses : actions/checkout@v2
198
71
with :
199
72
ssh-key : ${{ secrets.CODEQL_CODING_STANDARDS_HELP_KEY }}
202
75
path : external-help-files
203
76
204
77
- name : Include external help files
78
+ if : ${{ steps.checkout-external-help-files.outcome == 'success' }}
205
79
run : |
206
80
pushd external-help-files
207
81
find . -name '*.md' -exec rsync -av --relative {} "$GITHUB_WORKSPACE" \;
@@ -224,68 +98,3 @@ jobs:
224
98
with :
225
99
name : code-scanning-cpp-query-pack.zip
226
100
path : code-scanning-cpp-query-pack.zip
227
-
228
- - name : Create LGTM query pack
229
- env :
230
- CODEQL_HOME : ${{ github.workspace }}/codeql_home
231
- run : |
232
- PATH=$PATH:$CODEQL_HOME/codeql
233
- mkdir -p lgtm-cpp-query-pack
234
- function copy_queries_for_pack {
235
- for rule_dir in $(codeql resolve queries $2/$1/src/codeql-suites/$1-default.qls | xargs -L1 dirname | uniq)
236
- do
237
- copy_to_root="lgtm-cpp-query-pack/$(realpath --relative-to "./$2/$1/src/" "$rule_dir")"
238
- mkdir -p "$copy_to_root"
239
- # Copy each selected ql file, plus the related files
240
- find "$rule_dir" -name '*.ql' -o -name '*.c' -name '*.cpp' -o -name '*.png' -exec cp -n {} "$copy_to_root" \;
241
- done
242
- }
243
- echo "Copying autosar-default queries (CPP)"
244
- copy_queries_for_pack "autosar" "cpp"
245
- echo "Copying cert-default queries (CPP)"
246
- copy_queries_for_pack "cert" "cpp"
247
-
248
- echo "Copying misra-default queries (C)"
249
- copy_queries_for_pack "misra" "c"
250
- echo "Copying cert-default queries (C)"
251
- copy_queries_for_pack "cert" "c"
252
-
253
-
254
- # Now copy all the .qll files
255
- lgtm_pack_dir=$(realpath lgtm-cpp-query-pack)
256
- for query_pack in autosar cert common
257
- do
258
- echo "Copying $query_pack qll files"
259
- pushd cpp/$query_pack/src
260
- for query_library in $(find . -name \*.qll)
261
- do
262
- qll_dir=$(dirname "$lgtm_pack_dir/$query_library")
263
- echo "Making $qll_dir"
264
- mkdir -p "$qll_dir"
265
- cp "$query_library" "$lgtm_pack_dir/$query_library"
266
- done
267
- popd
268
- done
269
-
270
- for query_pack in misra cert common
271
- do
272
- echo "Copying $query_pack qll files"
273
- pushd c/$query_pack/src
274
- for query_library in $(find . -name \*.qll)
275
- do
276
- qll_dir=$(dirname "$lgtm_pack_dir/$query_library")
277
- echo "Making $qll_dir"
278
- mkdir -p "$qll_dir"
279
- cp "$query_library" "$lgtm_pack_dir/$query_library"
280
- done
281
- popd
282
- done
283
-
284
- cd lgtm-cpp-query-pack
285
- zip -9 -r ../lgtm-cpp-query-pack.zip *
286
-
287
- - name : Upload LGTM query pack
288
- uses : actions/upload-artifact@v2
289
- with :
290
- name : lgtm-cpp-query-pack.zip
291
- path : lgtm-cpp-query-pack.zip
0 commit comments