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