.github/workflows: Introduce static-analysis workflow#1811
Conversation
|
Current static analysis failure due to database server domain not registered. Please do not merge until resolved. |
andreittr
left a comment
There was a problem hiding this comment.
Looks good, I've only some clarifying questions.
(AB & merging blocked pending database server)
Reviewed-by: Andrei Tatar ttr@unikraft.io
Add .codechecker.yaml and disable identifier checks as unikraft uses the underscore prefix to indicate private scope. Signed-off-by: Michalis Pappas <michalis@unikraft.io>
b6638e1 to
f1b30fa
Compare
|
Updated Also added a status line in the PR using the GH API, as normally Finally, the workflow now runs static analysis on Notice that:
@andreittr if this goes well we can later generalize and rename the static analysis workflow to build and analyze an arbitrary application, arch, plat matrix and add helloworld and possibly others. |
f1b30fa to
60a6c71
Compare
Add a workflow that runs static analysis with CodeChecker on PRs acting as a CI gate on new findings. This very first implementation is limited to app-elfloader on qemu/x86_64 built with Clang. Checkpatch-Ignore: SPDX_LICENSE_TAG Signed-off-by: Michalis Pappas <michalis@unikraft.io>
60a6c71 to
b342897
Compare
|
Changes in last update: Display different message on fail and cancel. |
andreittr
left a comment
There was a problem hiding this comment.
Reviewed-by: Andrei Tatar ttr@unikraft.io
|
Approved-by: Andrei Tatar ttr@unikraft.io |
Add .codechecker.yaml and disable identifier checks as unikraft uses the underscore prefix to indicate private scope. Signed-off-by: Michalis Pappas <michalis@unikraft.io> Approved-by: Andrei Tatar <ttr@unikraft.io> Reviewed-by: Andrei Tatar <ttr@unikraft.io> GitHub-Closes: #1811
Add a workflow that runs static analysis with CodeChecker on PRs acting as a CI gate on new findings. This very first implementation is limited to app-elfloader on qemu/x86_64 built with Clang. Checkpatch-Ignore: SPDX_LICENSE_TAG Signed-off-by: Michalis Pappas <michalis@unikraft.io> Approved-by: Andrei Tatar <ttr@unikraft.io> Reviewed-by: Andrei Tatar <ttr@unikraft.io> GitHub-Closes: #1811
Description of Changes
Add a workflow that runs static analysis with CodeChecker. The workflow can be executed standalone, although it's main purpose to act as a CI gate for new findings on PRs. This very first implementation is limited to
app-elfloaderonqemu/x86_64built with Clang.Identifier checks (
clang-diagnostic-reserved-identifier/clang-diagnostic-reserved-macro-identifier) are disabled by the newly introduced.codechecker.yml, as unikraft uses the underscore prefix to indicate private scope.Internally, once static analysis is complete the results are checked against those stored in the CodeChecker remote database for the same configuration. If new findings are introduced the job is failed and the results are shown in its logs as shown below:
Upon merge, the results are stored in the remote database resulting into an updated state.
Related Work
#1751, #1809
PR Checklist
checkpatch.ukon your commit series before opening this PR;