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

NVIDIA / gpu-operator / 33453741740
44%
main: 45%

Build:
Build:
LAST BUILD BRANCH: pull-request/3089
DEFAULT BRANCH: main
Ran 01 Sep 2026 12:18AM UTC
Jobs 1
Files 73
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

01 Sep 2026 12:10AM UTC coverage: 37.904%. Remained the same
33453741740

push

github

abrarshivani
feat(ci): run the e2e tests from the runner instead of inside the node

Holodeck's kubernetes.remoteAccess hands the GitHub Actions runner a
usable kubeconfig, so helm, kubectl, the case scripts and log collection
all run there. The repository rsync, the scp of the values override, the
in-VM tooling installs and the pull.sh log retrieval are gone.

Two operations mutate the host and stay on the node: the modprobe of
i2c_core and ipmi_msghandler, and the operator container kill used by the
restart test. Both go through a new tests/scripts/node-exec.sh, which
streams the self-contained node-operations.sh over SSH stdin. With
NODE_SSH_HOST unset it runs the operation locally, which keeps the
developer path documented in tests/README.md working; CI asserts the
variable is set so a node operation can never land on the shared runner.

Moving off the node changes what a kubectl call costs and how it fails,
which exposed several long-standing assumptions in the shell suite:

  - The polling loops bounded themselves by counting sleeps rather than
    elapsed time. On the node an iteration cost about 5s so the two
    agreed; across the network they do not, and a nominal 45 minute wait
    could outlive the 90 minute job. Eighteen loops now measure elapsed
    time against a deadline.

  - A failed query was being read as a satisfied condition. kubectl piped
    into wc -l or jq reports 0 when the API is unreachable, which read as
    "deleted" or "all owned", and a for loop over a failed query iterated
    zero times and reported success without checking anything. Queries
    now separate "the query failed" from "the condition is not met" and
    retry instead of passing.

  - kubectl applies no per-request timeout by default, so a hung request
    could run past a deadline that is only tested between commands.
    Polling and diagnostic calls are bounded now, with a larger budget
    for log and object dumps so the artifacts are not truncated.

  - The artifa... (continued)

4909 of 12951 relevant lines covered (37.9%)

0.38 hits per line

Jobs
ID Job ID Ran Files Coverage
1 33453741740.1 01 Sep 2026 12:18AM UTC 73
37.9
GitHub Action Run
Source Files on build 33453741740
  • Tree
  • List 73
  • Changed 0
  • Source Changed 0
  • Coverage Changed 0
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #33453741740
  • cc1cfb09 on github
  • Prev Build on main (#33430453114)
  • Next Build on pull-request/2718 (#33460844468)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE TRIAL · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc