|
93 | 93 | with:
|
94 | 94 | name: code-scanning-cpp-query-pack.zip
|
95 | 95 | path: code-scanning-cpp-query-pack.zip
|
96 |
| - |
97 |
| - - name: Create LGTM query pack |
98 |
| - env: |
99 |
| - CODEQL_HOME: ${{ github.workspace }}/codeql_home |
100 |
| - run: | |
101 |
| - PATH=$PATH:$CODEQL_HOME/codeql |
102 |
| - mkdir -p lgtm-cpp-query-pack |
103 |
| - function copy_queries_for_pack { |
104 |
| - for rule_dir in $(codeql resolve queries $2/$1/src/codeql-suites/$1-default.qls | xargs -L1 dirname | uniq) |
105 |
| - do |
106 |
| - copy_to_root="lgtm-cpp-query-pack/$(realpath --relative-to "./$2/$1/src/" "$rule_dir")" |
107 |
| - mkdir -p "$copy_to_root" |
108 |
| - # Copy each selected ql file, plus the related files |
109 |
| - find "$rule_dir" -name '*.ql' -o -name '*.c' -name '*.cpp' -o -name '*.png' -exec cp -n {} "$copy_to_root" \; |
110 |
| - done |
111 |
| - } |
112 |
| - echo "Copying autosar-default queries (CPP)" |
113 |
| - copy_queries_for_pack "autosar" "cpp" |
114 |
| - echo "Copying cert-default queries (CPP)" |
115 |
| - copy_queries_for_pack "cert" "cpp" |
116 |
| -
|
117 |
| - echo "Copying misra-default queries (C)" |
118 |
| - copy_queries_for_pack "misra" "c" |
119 |
| - echo "Copying cert-default queries (C)" |
120 |
| - copy_queries_for_pack "cert" "c" |
121 |
| -
|
122 |
| -
|
123 |
| - # Now copy all the .qll files |
124 |
| - lgtm_pack_dir=$(realpath lgtm-cpp-query-pack) |
125 |
| - for query_pack in autosar cert common |
126 |
| - do |
127 |
| - echo "Copying $query_pack qll files" |
128 |
| - pushd cpp/$query_pack/src |
129 |
| - for query_library in $(find . -name \*.qll) |
130 |
| - do |
131 |
| - qll_dir=$(dirname "$lgtm_pack_dir/$query_library") |
132 |
| - echo "Making $qll_dir" |
133 |
| - mkdir -p "$qll_dir" |
134 |
| - cp "$query_library" "$lgtm_pack_dir/$query_library" |
135 |
| - done |
136 |
| - popd |
137 |
| - done |
138 |
| -
|
139 |
| - for query_pack in misra cert common |
140 |
| - do |
141 |
| - echo "Copying $query_pack qll files" |
142 |
| - pushd c/$query_pack/src |
143 |
| - for query_library in $(find . -name \*.qll) |
144 |
| - do |
145 |
| - qll_dir=$(dirname "$lgtm_pack_dir/$query_library") |
146 |
| - echo "Making $qll_dir" |
147 |
| - mkdir -p "$qll_dir" |
148 |
| - cp "$query_library" "$lgtm_pack_dir/$query_library" |
149 |
| - done |
150 |
| - popd |
151 |
| - done |
152 |
| -
|
153 |
| - cd lgtm-cpp-query-pack |
154 |
| - zip -9 -r ../lgtm-cpp-query-pack.zip * |
155 |
| -
|
156 |
| - - name: Upload LGTM query pack |
157 |
| - uses: actions/upload-artifact@v2 |
158 |
| - with: |
159 |
| - name: lgtm-cpp-query-pack.zip |
160 |
| - path: lgtm-cpp-query-pack.zip |
0 commit comments