Skip to content
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

gain access to up-to-date kcov #18969

Open
rpoyner-tri opened this issue Mar 9, 2023 · 5 comments
Open

gain access to up-to-date kcov #18969

rpoyner-tri opened this issue Mar 9, 2023 · 5 comments
Assignees
Labels
component: build system Bazel, CMake, dependencies, memory checkers, linters type: feature request

Comments

@rpoyner-tri
Copy link
Contributor

Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]

Problems we cope with, owing to have a perpetually out-of-date kcov:

Development features we could offer, if we had a current kcov:

Why we currently can't get up-to-date kcov:

  • debian maintenance is dead.
  • ubuntu maintenance is dead.
  • reviving/doing either is likely significant effort.
  • license is hostile: GPL-v2

Describe the solution you'd like
A clear and concise description of what you want to happen.

  • Somehow (modulo effort and license gymnastics), gain access to updated kcov.
  • Remove above-described scars from drake source code.
  • Eventually (separate issue), integrate Reviewable coverage viewing.

Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.

Private hosted debian package that we maintain 💀
Assume maintenance in debian/ubuntu 💀
Limp along with death by 1k cuts 🤮

Additional context
Add any other context or screenshots about the feature request here.

@rpoyner-tri rpoyner-tri added type: feature request component: continuous integration Jenkins, CDash, mirroring of externals, website infrastructure component: build system Bazel, CMake, dependencies, memory checkers, linters labels Mar 9, 2023
@EricCousineau-TRI
Copy link
Contributor

Assigning to Betsy per component: continuous integration. \cc @jwnimmer-tri as owner of component: build system

@jwnimmer-tri
Copy link
Collaborator

jwnimmer-tri commented Mar 9, 2023

Thanks for the ping. I'll re-triage to Rico for now. I don't think this will fit into our Kitware board in the next few months.

@jwnimmer-tri jwnimmer-tri removed the component: continuous integration Jenkins, CDash, mirroring of externals, website infrastructure label Mar 9, 2023
@jwnimmer-tri
Copy link
Collaborator

Since kcov builds already use bespoke flags (i.e., not sharing a build cache with regular builds), it might be worth trying out bazel's built-in code coverage reporting (lcov?) again now.

@rpoyner-tri
Copy link
Contributor Author

From f2f with @jwnimmer-tri today:

  • a way forward with kcov might be to offer a docker-based hermetic build script for a a deb of kcov; and have Drake retrieve the built deb from S3. This is similar to some other existing dependency in use by Drake.
  • sub-problem: does writing a build script for a package propagate viral licensing? If so, the script might have to live in its own repo.
  • alternative: evaluate the built-in bazel support for coverage; it was thought to be not-ready years ago, but maybe times have changed.

@jwnimmer-tri
Copy link
Collaborator

This is similar to some other existing dependency in use by Drake.

Here:
https://github.com/RobotLocomotion/drake/blob/master/setup/ubuntu/source_distribution/install_bazelisk.sh

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
component: build system Bazel, CMake, dependencies, memory checkers, linters type: feature request
Projects
None yet
Development

No branches or pull requests

4 participants