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

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

Build:
Build:
LAST BUILD BRANCH: doca3.5.0
DEFAULT BRANCH: main
Ran 04 May 2026 09:57AM 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

04 May 2026 09:56AM UTC coverage: 67.262% (+1.7%) from 65.552%
25312682005

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>

43 of 52 new or added lines in 3 files covered. (82.69%)

1 existing line in 1 file now uncovered.

2636 of 3919 relevant lines covered (67.26%)

5.34 hits per line

Uncovered Changes

Lines Coverage ∆ File
5
83.3
1.16% entrypoint/internal/driver/driver.go
4
46.55
24.46% entrypoint/internal/driver/driver_dtk.go

Coverage Regressions

Lines Coverage ∆ File
1
83.3
1.16% entrypoint/internal/driver/driver.go
Jobs
ID Job ID Ran Files Coverage
1 25312682005.1 04 May 2026 09:57AM UTC 16
67.26
GitHub Action Run
Source Files on build 25312682005
  • 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 #25312682005
  • 7deb0f03 on github
  • Prev Build on main (#25111911428)
  • Next Build on dtk-dkms (#25315856597)
  • 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