New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Updated QD to 1 #16
Updated QD to 1 #16
Conversation
CMakeLists.txt
Outdated
list(APPEND extra_cmake_args "-DSPDLOG_BUILD_TESTS=ON") | ||
list(APPEND extra_cmake_args "-DSPDLOG_BUILD_EXAMPLE=OFF") | ||
list(APPEND extra_cmake_args "-DSPDLOG_BUILD_BENCH=ON") |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm don't think we should turn on the tests and benchmarks for the vendored package. First of all, are we going to run them? Second, even if we can run them, should we run them? I guess you are running them down below, so the answer to the first is "yes". But I don't really think we should run them, to be honest.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I believe the goal of running these tests is to detect regressions that could affect our code. It looks like we're pinning a specific commit, so maybe the risk that something breaks is very low. Is there a chance that something breaks due to factors external to the source code?
What's the concern with enabling tests, added time on our CI?
If one thing, I think the tests on this repository should respect the BUILD_TESTING
variable.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We have done this for console_bridge_vendor to reach queality level 1. spdlog is running the test in Travis, but the benchmark tests are not running anywhere.
- We are using a specific version of the code. Maybe it does not make sense to add any benchmark because the code it't not going to change
- But at least we have all the benchmark in the same place.
Same logic applies for the API tests.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
What's the concern with enabling tests, added time on our CI?
That's one concern. Another is that we can't build and run tests for every single thing we depend on. Some things just come from the system libraries, and we assume they are "good" enough.
We have done this for console_bridge_vendor to reach queality level 1.
I didn't realize that. I do think that it is in somewhat of a similar situation in that we shouldn't necessarily build the tests for it. But on the other hand, console_bridge is special in that we also maintain it, just not as a ROS 2 package.
In the end, if you think it adds value to run the tests here, then go ahead and keep it. I just wanted to question why we were doing this, and whether we should. But I agree with @chapulina that it should definitely respect BUILD_TESTING
.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
we can't build and run tests for every single thing we depend on
Yeah the hope is that the upstream projects themselves would be tested to a level that we consider satisfying for REP-2004. Unfortunately this isn't the case for spdlog, so one way of satisfying REP-2004 is by testing at least the parts that we care about. Not ideal, but I can't think of an alternative solution... 😕
daa0fa8
to
4c0def8
Compare
Signed-off-by: ahcorde <ahcorde@gmail.com>
4c0def8
to
0998936
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think spdlog
specific information should be moved to the SPDLOG_QUALITY_DECLARATION
. Also, where are the benchmarks?
Is this supposed to be adding benchmarks or just updating QDs? |
Finally, we have decided not to include tests or benchmark. Update the title. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
One minor thing to fix, then this looks OK to me.
SPDLOG_QUALITY_DECLARATION.md
Outdated
Though `spdlog` meets many of the criteria stated for software quality. | ||
As `spdlog` itself is not a ROS package, many of these gaps could be reconciled in the vendor package that is used to control `spdlog` distribution within ROS. | ||
Engagement with the upstream development team to define policies for versioning, API/ABI stability and enforcing peer review would lead to higher quality, and could increase the level category for `spdlog` in a subsequent review. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
If we are justifying this as QL 1, we should just get rid of this whole paragraph.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think we can't bump spdlog
to level 1 with the current text on items 4.ii and 4.iii. We need some explanation or some tests.
Finally, we have decided not to include tests or benchmark.
Could you document the rationale for that on the quality declaration? I think I missed something, I had understood we were going to add tests here to complement the ones upstream.
Signed-off-by: ahcorde <ahcorde@gmail.com>
Signed-off-by: ahcorde <ahcorde@gmail.com>
…ndor into ahcorde/qd/update
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
One more suggestion and one more question.
Signed-off-by: ahcorde <ahcorde@gmail.com> Co-authored-by: Chris Lalancette <clalancette@openrobotics.org> Signed-off-by: ahcorde <ahcorde@gmail.com>
fba1884
to
0f542d8
Compare
Signed-off-by: ahcorde <ahcorde@gmail.com>
Signed-off-by: ahcorde <ahcorde@gmail.com>
Signed-off-by: ahcorde <ahcorde@gmail.com>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM! I just have a couple of minor comments below.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good pending @chapulina's suggestions.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good with @chapulina 's suggestions fixed.
* Updated Qd to 1 Signed-off-by: ahcorde <ahcorde@gmail.com> * update QD Signed-off-by: ahcorde <ahcorde@gmail.com> * Update Qd Signed-off-by: ahcorde <ahcorde@gmail.com> * Update section 4.i, 4.ii and 4.iii Signed-off-by: ahcorde <ahcorde@gmail.com> * updated QD Signed-off-by: ahcorde <ahcorde@gmail.com> * Update QD Signed-off-by: ahcorde <ahcorde@gmail.com> * Update qd Signed-off-by: ahcorde <ahcorde@gmail.com> * Update SPDLOG_QUALITY_DECLARATION.md Signed-off-by: ahcorde <ahcorde@gmail.com> Co-authored-by: Chris Lalancette <clalancette@openrobotics.org> Signed-off-by: ahcorde <ahcorde@gmail.com> * Included used classes Signed-off-by: ahcorde <ahcorde@gmail.com> * Added more details about coverage Signed-off-by: ahcorde <ahcorde@gmail.com> * Fixed link Signed-off-by: ahcorde <ahcorde@gmail.com> * update QD Signed-off-by: ahcorde <ahcorde@gmail.com> Co-authored-by: Chris Lalancette <clalancette@openrobotics.org>
* Updated Qd to 1 Signed-off-by: ahcorde <ahcorde@gmail.com> * update QD Signed-off-by: ahcorde <ahcorde@gmail.com> * Update Qd Signed-off-by: ahcorde <ahcorde@gmail.com> * Update section 4.i, 4.ii and 4.iii Signed-off-by: ahcorde <ahcorde@gmail.com> * updated QD Signed-off-by: ahcorde <ahcorde@gmail.com> * Update QD Signed-off-by: ahcorde <ahcorde@gmail.com> * Update qd Signed-off-by: ahcorde <ahcorde@gmail.com> * Update SPDLOG_QUALITY_DECLARATION.md Signed-off-by: ahcorde <ahcorde@gmail.com> Co-authored-by: Chris Lalancette <clalancette@openrobotics.org> Signed-off-by: ahcorde <ahcorde@gmail.com> * Included used classes Signed-off-by: ahcorde <ahcorde@gmail.com> * Added more details about coverage Signed-off-by: ahcorde <ahcorde@gmail.com> * Fixed link Signed-off-by: ahcorde <ahcorde@gmail.com> * update QD Signed-off-by: ahcorde <ahcorde@gmail.com> Co-authored-by: Chris Lalancette <clalancette@openrobotics.org>
Signed-off-by: ahcorde ahcorde@gmail.com