read stdout_stderr.log from build steps to extract CMake / compiler warnings#477
Conversation
…warnings Signed-off-by: Dirk Thomas <dirk-thomas@users.noreply.github.com>
Signed-off-by: Dirk Thomas <dirk-thomas@users.noreply.github.com>
|
These all hard-code the path When I was working on #447 I had to handle the elapsed time output (eg |
Signed-off-by: Dirk Thomas <dirk-thomas@users.noreply.github.com>
Good point, I already forgot we have that parameter: d34af48.
I don't have an answer for this specific questions. But the above jobs show that compiler warnings are correctly being extracted - for GNU C, Clang, Clang-tidy, and MSBuild. I have triggered another build to check if CMake warnings are captures too: So I would conclude it is good as is. |
|
https://ci.ros2.org/view/nightly/job/nightly_linux_repeated/1905/ and https://ci.ros2.org/view/nightly/job/nightly_osx_debug/1666/ failed I think because it was looking for log files in |
While this patch still extracts the warnings correctly the grouping contains the timestamp prefix from the log and as a consequence doesn't deduplicate same warnings (see https://ci.ros2.org/view/packaging/job/packaging_linux-centos/446/clang/#folderContent). I don't think it is a feasible option to customize the Jenkins warnings handling. So the only viable option I can think of is generating the log files we need to parse without timestamp... |
Instead of using the whole console output which includes output from other steps of the process, e.g. testing as well as repeated
stderroutput fromcolcon.Addresses #316 on ci.ros2.org. Fixes #473.
CI builds without this change (and a custom branch to produce a compiler warning):
CI build with this change (the jobs will go away once this PR has been merged):
False positive resolved by this patch:
(test output was classified as a compiler warning)
Before:
After (the jobs will go away once this PR has been merged):