• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

rollandf / doca-driver-build / 25280905521
67%
main: 66%

Build:
Build:
LAST BUILD BRANCH: doca3.5.0
DEFAULT BRANCH: main
Ran 03 May 2026 01:49PM UTC
Jobs 1
Files 16
Run time 1min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

03 May 2026 01:47PM UTC coverage: 67.289% (+1.7%) from 65.552%
25280905521

push

github

rollandf
fix(dtk): fix DKMS support in OCP/DTK driver build path

Three bugs prevented USE_DKMS=true from working with the DTK sidecar:

1. dtk/build.go unconditionally passed --without-dkms (and --disable-kmp)
   to install.pl regardless of USE_DKMS, so the driver inventory never
   contained either DKMS source packages or pre-compiled kmod binary
   packages when DKMS was requested.

2. discoverDKMSModule in driver.go could not locate the dkms.conf file
   in OFED 26.04 packages because the installed layout uses a symlink
   pointing to a source/ subdirectory rather than placing dkms.conf
   directly at the top level of /usr/src/<module>-<version>/.

3. setupDKMS attempted to run dkms build and dkms install inside the
   main driver container, which does not carry kernel headers.  In OCP
   the DTK sidecar is the only container that has the matching kernel
   headers; running dkms build in the main container therefore fails
   unconditionally.

Fix:

- When cfg.UseDKMS is true, omit both --disable-kmp and --without-dkms
  from the install.pl invocation in the DTK sidecar.  Without those flags
  install.pl produces both a DKMS source package (registers the source
  under /usr/src/ for dkms add) and pre-compiled kmod binary packages
  (place the .ko files directly under /lib/modules/<kernel>/ without
  requiring a subsequent dkms build step).

- Refactor discoverDKMSModule into the testable discoverDKMSModuleIn
  helper that resolves symlinks and descends into source/ subdirectories
  to reliably locate dkms.conf across OFED package layouts.

- In setupDKMS, when DtkOcpDriverBuild is true, stop after dkms add
  (source registration) and skip dkms build / dkms install.  The kmod
  binary packages installed by installDriver already placed the correct
  .ko files; no recompilation is needed or possible.

Add unit tests covering discoverDKMSModuleIn path variations and the
DTK+DKMS setupDKMS skip-build-install code path.

Signed-off-by: Fred Rolland <frolland@nvidia.com>

39 of 42 new or added lines in 3 files covered. (92.86%)

1 existing line in 1 file now uncovered.

2633 of 3913 relevant lines covered (67.29%)

5.34 hits per line

Uncovered Changes

Lines Coverage ∆ File
3
83.37
1.23% entrypoint/internal/driver/driver.go

Coverage Regressions

Lines Coverage ∆ File
1
83.37
1.23% entrypoint/internal/driver/driver.go
Jobs
ID Job ID Ran Files Coverage
1 25280905521.1 03 May 2026 01:49PM UTC 16
67.29
GitHub Action Run
Source Files on build 25280905521
  • Tree
  • List 16
  • Changed 3
  • Source Changed 3
  • Coverage Changed 3
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #25280905521
  • b8837b47 on github
  • Prev Build on main (#25111911428)
  • Next Build on dtk-dkms (#25312060733)
  • Delete
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc