• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In
Warning: This build has drifted.
The coverage report for this pull request build may be inaccurate because its base commit is no longer the HEAD of its target branch.
This means it includes changes from outside the original pull request, including, potentially, unrelated coverage changes.

    • Learn more: For more information on this, see Tracking coverage changes for pull request builds.
    • Fix now: For a quick fix, rebase this PR at GitHub. Your next report should be accurate.
    • Prevent going forward: To avoid this issue with future PRs, see these Recommended CI Configurations.
New Repo Setting:
INCLUDE COVERAGE % WITH WARNINGS ABOUT DRIFTED BUILDS?

Enabling this setting will include a (potentially inaccurate) coverage % with warning messages in status updates for drifted builds.

Adjust setting

kubeflow / trainer / 37557542465
72%
master: 72%

Build:
Build:
LAST BUILD BRANCH: fix/initializer-s3-prefix
DEFAULT BRANCH: master
Ran 07 Oct 2026 01:54PM UTC
Jobs 1
Files 46
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

07 Oct 2026 01:13AM UTC coverage: 71.918% (-0.3%) from 72.192%
37557542465

Pull #4059

github

daehyun-kim-94
feat(framework): clean up Volcano PodGroup on TrainJob terminal or suspended state

Add a new optional ComponentDeleterPlugin interface, symmetric to the
existing ComponentBuilderPlugin: a plugin returns objects that should
now be removed for a TrainJob, and the reconciler performs the actual
deletion. It runs on every reconcile regardless of the TrainJob's
status, so a plugin decides for itself whether an object should
currently exist, and must be idempotent.

Volcano implements it to delete its PodGroup once the TrainJob is
Failed, Complete, or suspended, so it stops reserving minResources
capacity in the Volcano queue indefinitely. Volcano.Build() is updated
to skip (re)creating the PodGroup while suspended, so its lifecycle
during suspension is fully owned by Delete() rather than racing with
it.

Adds delete on scheduling.volcano.sh/podgroups to the controller RBAC,
which was missing.

Fixes #4033

Signed-off-by: daehyun-kim-94 <daehyun.kim.0613@gmail.com>
Pull Request #4059: feat(framework): clean up Volcano PodGroup on TrainJob terminal or suspended state

46 of 91 new or added lines in 5 files covered. (50.55%)

7 existing lines in 2 files now uncovered.

3378 of 4697 relevant lines covered (71.92%)

0.83 hits per line

Uncovered Changes

Lines Coverage ∆ File
15
46.11
4.36% pkg/controller/trainjob_controller.go
14
24.1
-4.89% pkg/runtime/core/clustertrainingruntime.go
14
59.02
-3.59% pkg/runtime/core/trainingruntime.go
2
78.29
0.52% pkg/runtime/framework/core/framework.go

Coverage Regressions

Lines Coverage ∆ File
6
51.04
2.89% pkg/runtime/framework/plugins/volcano/volcano.go
1
46.11
4.36% pkg/controller/trainjob_controller.go
Jobs
ID Job ID Ran Files Coverage
1 37557542465.1 07 Oct 2026 01:54PM UTC 46
71.92
GitHub Action Run
Source Files on build 37557542465
  • Tree
  • List 46
  • Changed 5
  • Source Changed 0
  • Coverage Changed 5
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Pull Request #4059
  • PR Base - master (#37519992004)
  • Delete
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