Skip to content

Handle Skipped event status#245

Merged
moshe-kabala merged 3 commits into
masterfrom
handle-skipped-status
Jun 11, 2026
Merged

Handle Skipped event status#245
moshe-kabala merged 3 commits into
masterfrom
handle-skipped-status

Conversation

@moshe-kabala

Copy link
Copy Markdown
Contributor

Summary

Builds on the existing Update api commit (5efc2da3) which brought in STATUSENUM_SKIPPED from the regenerated tensorleapapi client. Wires the new status through the CLI's step pipeline.

  • pkg/log/log_steps.go — new StepStatusSkipped constant + cyan em-dash icon () so a skipped step is visually distinct from Done (green ✔) and Failed (red ✖). Matches the web UI's blue Skipped tint.
  • pkg/api/utils.goStepsFromJob maps STATUSENUM_SKIPPEDStepStatusSkipped (was previously falling into the defaultStepStatusWaiting branch, which made wait loop on it forever).
  • pkg/api/wait.goisAllStepsEnded now counts Skipped as terminal alongside Done; markLastStepAsFailed skips over it when picking the first non-success step. Extracted the shared check into isStepStatusSucceeded(status).

No api or engine changes — purely how the CLI interprets the existing event status.

Test plan

  • go test ./pkg/log/... ./pkg/api/... passes (currently green locally)
  • tensorleap run wait on a job whose engine produced a Skipped event (e.g. continue-evaluate with no new samples → train_and_evaluate Skipped) renders the step with the cyan dash and returns when the run finishes (doesn't hang)
  • When a later step fails after some Skipped steps, the failed-step marker lands on the actually-failed step, not on the skipped one

@roytl roytl left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🔥

moshe-kabala and others added 3 commits June 11, 2026 10:59
The api added STATUSENUM_SKIPPED. Engine marks events SKIPPED when
their work isn't needed for the run (continue-evaluate with no new
samples, or update-evaluate that doesn't request a given optional
step). Outcome is equivalent to FINISHED — data either already
exists or wasn't required — so the CLI should render the step in a
distinct style and not block on it.

- New StepStatusSkipped + cyan em-dash icon in pkg/log/log_steps.go.
- StepsFromJob (pkg/api/utils.go) maps STATUSENUM_SKIPPED →
  StepStatusSkipped.
- WaitForConditionWithSteps (pkg/api/wait.go) treats Skipped as
  terminal-success alongside Done: it counts toward isAllStepsEnded
  and is skipped over by markLastStepAsFailed. Extracted
  isStepStatusSucceeded helper for the shared "Done OR Skipped"
  check.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@moshe-kabala moshe-kabala force-pushed the handle-skipped-status branch from c14a48c to afdb9a2 Compare June 11, 2026 08:00
@moshe-kabala moshe-kabala merged commit 20891fa into master Jun 11, 2026
2 checks passed
@moshe-kabala moshe-kabala deleted the handle-skipped-status branch June 11, 2026 08:03
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants