[ci] Running drake-external-examples jobs against Drake pull requests #22574
Labels
component: continuous integration
Jenkins, CDash, mirroring of externals, website infrastructure
priority: medium
type: feature request
Is your feature request related to a problem? Please describe.
Our code in "DEE" (https://github.com/RobotLocomotion/drake-external-examples/) not only provides Drake users with documentation about how to use Drake downstream, but also provides Drake developers with test coverage that Drake works correctly when used downstream -- that our binary packages can install and run, that our CMake interface can build, that our bzlmod-exported dependency structure resolves correctly, etc.
When a Drake PR is changing build infrastructure, it risk breaking some of those guarantees. Developers can manually run most of the DEE tests locally, but not always all of them (e.g., macOS) and anyway running locally is a time-consuming and manual process, so often is done less than it should be. This leads to bugs slipping through to post-merge jobs (i.e., nightly), and hotfixes the next day. It also means that sometimes are nightly packaging builds we ship to users are broken.
Describe the solution you'd like
Add documentation to https://drake.mit.edu/jenkins.html that explains how to launch DEE job(s) against a pull request, on an opt-in basis. (This might also require adding some more software / scripts in support of the docs.)
All DEE flavors (currently N=8) must be supported, but need not all happen under the same umbrella -- it's okay to require the developer to click on multiple pages to get things launched. Of course all else being equal fewer clicks are better, but since this exercise happens somewhat rarely, we don't need to optimize it; we just need it to exist in some reasonable form.
In the best case, launching the job is a 'bot comment like with our normal provisioned / unprovisioned jobs; this is very simple and already understood. It's also fair to ask the developer to open a web page and copy-paste some git shas and click some buttons. Another valid but slightly annoying option would be to ask the developer to open a dummy DEE PR, and somehow point that PR to test the Drake PR in the code itself. The only mandatory requirement is that the job runs in CI, not locally. Whatever we can do to make that easy is better, but the request here is only to make it possible and documented.
Describe alternatives you've considered
N/A
Additional context
N/A
The text was updated successfully, but these errors were encountered: