Skip to content

Fix the bug when duplicate task get consolidated in pipeline run status page #853

Open
badcount wants to merge 5 commits intomainfrom
fix-pr-issue
Open

Fix the bug when duplicate task get consolidated in pipeline run status page #853
badcount wants to merge 5 commits intomainfrom
fix-pr-issue

Conversation

@badcount
Copy link
Copy Markdown
Contributor

What type of PR is this? (check all applicable)

  • Refactor
  • Feature
  • Bug Fix
  • Optimization
  • Documentation Update

What changed?
Add activity_id as one of the key in the pipeline run step info map to avoid same task name get consolicated.

Why?
Fix the bug when duplicate task get consolidated in pipeline run status page

How did you test it?
Local remote run

Potential risks

Release notes

Documentation Changes

@github-actions
Copy link
Copy Markdown

github-actions bot commented Feb 22, 2026

📊 Combined Coverage Report

Component Coverage Baseline New Code Status
🐍 Python 81.81% ≥70% ≥90% ✅
🐹 Go 64.5% ≥60% ≥90% ✅
📜 JavaScript N/A% (no coverage data) ≥78.74% ≥90% ✅ ⏭️

Coverage Policy

Baseline (Existing Code):

  • Python: ≥70% (current coverage)
  • Go: ≥60% (current coverage)
  • JavaScript: ≥78.74% (current coverage)

New/Changed Code: ≥90% STRICTLY ENFORCED

Long-term Goal: Maintain and improve coverage baselines


📝 Coverage Guidelines
  • All new code must include tests
  • Coverage should not decrease from the base branch
  • Use # pragma: no cover sparingly for truly untestable code
  • Aim for meaningful tests, not just coverage numbers
🔗 Quick Links

@github-actions
Copy link
Copy Markdown

🔍 Go Lint & TODO Tracking Results

⚠️ golangci-lint: Issues detected

level=warning msg="[config_reader] The configuration option `run.skip-dirs` is deprecated, please use `issues.exclude-dirs`."
level=warning msg="[config_reader] The configuration option `output.format` is deprecated, please use `output.formats`"
base/conditions/engine/defaultengine.go:19: base/conditions/engine/defaultengine.go:19: Line contains TODO/FIXME/BUG/HACK: "TODO(#566): Make this configurable" (godox)
	// TODO(#566): Make this configurable
api/handler/metadata_handler.go:112: api/handler/metadata_handler.go:112: Line contains TODO/FIXME/BUG/HACK: "TODO(#555): update the object in blob st..." (godox)
	// TODO(#555): update the object in blob storage
api/handler/metadata_handler.go:123: api/handler/metadata_handler.go:123: Line contains TODO/FIXME/BUG/HACK: "TODO(#556): if blob annotations are alre..." (godox)
		// TODO(#556): if blob annotations are already available, this Get is not needed
components/pipelinerun/actors/executeworkflow.go:34: components/pipelinerun/actors/executeworkflow.go:34: Line contains TODO/FIXME/BUG/HACK: "TODO(#546): fix the typo and make this c..." (godox)
	UniflowCadenceWorkflowName = "starlark-workflow" // TODO(#546): fix the typo and make this configurable
components/pipelinerun/actors/executeworkflow.go:37: components/pipelinerun/actors/executeworkflow.go:37: Line contains TODO/FIXME/BUG/HACK: "TODO(#547): make this configurable" (godox)
	DefaultWorkSpaceRootURL = "s3://default" // TODO(#547): make this configurable
components/jobs/scheduler/framework/job.go:53: components/jobs/scheduler/framework/job.go:53: Line contains TODO/FIXME/BUG/HACK: "TODO(#611): Add affinity to RayCluster a..." (godox)
	// TODO(#611): Add affinity to RayCluster as part of SKU management
components/jobs/scheduler/framework/job.go:120: components/jobs/scheduler/framework/job.go:120: Line contains TODO/FIXME/BUG/HACK: "TODO(#612): Add GPU SKU management" (godox)
		// TODO(#612): Add GPU SKU management
components/jobs/scheduler/framework/job.go:148: components/jobs/scheduler/framework/job.go:148: Line contains TODO/FIXME/BUG/HACK: "TODO(#612): Placeholder for resource-cla..." (godox)
// TODO(#612): Placeholder for resource-class key derivation.
worker/plugins/cachedoutput/starlark_module.go:200: worker/plugins/cachedoutput/starlark_module.go:200: Line contains TODO/FIXME/BUG/HACK: "TODO(#558): add support for listOptionEx..." (godox)
	// TODO(#558): add support for listOptionExt for orderBy and lookbackDays
worker/workflows/trigger/cron_trigger_workflows_test.go:403: worker/workflows/trigger/cron_trigger_workflows_test.go:403: Line contains TODO/FIXME/BUG/HACK: "TODO(#564): Add comprehensive workflow e..." (godox)
// TODO(#564): Add comprehensive workflow execution tests with activity mocking once starlark-worker
worker/workflows/ray/ray_workflows.go:13: worker/workflows/ray/ray_workflows.go:13: Line contains TODO/FIXME/BUG/HACK: "TODO(#562): andrii: implement Ray workfl..." (godox)
// TODO(#562): andrii: implement Ray workflows once Ray API is ready
components/deployment/plugins/oss/rollout/strategies/rolling_actor.go:120: components/deployment/plugins/oss/rollout/strategies/rolling_actor.go:120: Line contains TODO/FIXME/BUG/HACK: "TODO(#696): ghosharitra: make the storag..." (godox)
		// TODO(#696): ghosharitra: make the storage path configurable w.r.t storage client and storage location
components/deployment/plugins/oss/rollout/strategies/strategy.go:37: components/deployment/plugins/oss/rollout/strategies/strategy.go:37: Line contains TODO/FIXME/BUG/HACK: "TODO(#623): ghosharitra: Implement blast..." (godox)
	// TODO(#623): ghosharitra: Implement blast, zonal, shadow, and disaggregated strategies
components/inferenceserver/modelconfig/provider.go:3: components/inferenceserver/modelconfig/provider.go:3: Line contains TODO/FIXME/BUG/HACK: "TODO(#621): ghosharitra: There's only on..." (godox)
// TODO(#621): ghosharitra: There's only one modelconfigig per inference server and all deployments need to concurrently acce

✅ TODO Tracking: All TODOs properly linked to issues

@github-actions
Copy link
Copy Markdown

github-actions bot commented Feb 22, 2026

Go Coverage Report (Bazel)

Total Coverage: 64.5%
Tests Passed: Executed

Coverage Policy:

  • Baseline (existing code): ≥60% (current coverage)
  • New/changed code: ≥90% ✅ STRICTLY ENFORCED
  • Long-term goal: Improve baseline to 90%
Coverage Summary
See artifacts for details
📊 How to view detailed coverage

Download the coverage artifacts from this run and open coverage-html/index.html

Or run locally:

bazel coverage //go/...
genhtml bazel-out/_coverage/_coverage_report.dat -o coverage-html
open coverage-html/index.html

Note: This project uses Bazel. Run bazel test //go/... locally to test.

View detailed HTML report in artifacts

@github-actions
Copy link
Copy Markdown

🔍 Go Lint & TODO Tracking Results

⚠️ golangci-lint: Issues detected

level=warning msg="[config_reader] The configuration option `run.skip-dirs` is deprecated, please use `issues.exclude-dirs`."
level=warning msg="[config_reader] The configuration option `output.format` is deprecated, please use `output.formats`"
components/deployment/controller.go:84: components/deployment/controller.go:84: Line contains TODO/FIXME/BUG/HACK: "TODO(#549): refactor so these are not ex..." (godox)
	// TODO(#549): refactor so these are not exported
components/deployment/controller.go:278: components/deployment/controller.go:278: Line contains TODO/FIXME/BUG/HACK: "TODO(#534): Enable these once revision c..." (godox)
		// TODO(#534): Enable these once revision codes are migrated:
components/deployment/controller.go:305: components/deployment/controller.go:305: Line contains TODO/FIXME/BUG/HACK: "TODO(#550): Make the GetState call retur..." (godox)
	// TODO(#550): Make the GetState call return just the deployment state instead of the entire status payload
components/deployment/controller.go:353: components/deployment/controller.go:353: Line contains TODO/FIXME/BUG/HACK: "TODO(#551): Add runtime context to match..." (godox)
	// TODO(#551): Add runtime context to match Uber internal pattern exactly
components/deployment/controller.go:637: components/deployment/controller.go:637: Line contains TODO/FIXME/BUG/HACK: "TODO(#552): In full implementation, this..." (godox)
	// TODO(#552): In full implementation, this would:
worker/activities/notification/activities.go:52: worker/activities/notification/activities.go:52: Line contains TODO/FIXME/BUG/HACK: "TODO(#700): Implement slack sending logi..." (godox)
	// TODO(#700): Implement slack sending logic
worker/activities/notification/activities.go:91: worker/activities/notification/activities.go:91: Line contains TODO/FIXME/BUG/HACK: "TODO(#701): Implement email sending logi..." (godox)
	// TODO(#701): Implement email sending logic
components/ray/cluster/controller.go:194: components/ray/cluster/controller.go:194: Line contains TODO/FIXME/BUG/HACK: "TODO(#605): Remove after introducing Fed..." (godox)
	// TODO(#605): Remove after introducing Federated Watcher for watching RayCluster
components/ray/cluster/controller.go:432: components/ray/cluster/controller.go:432: Line contains TODO/FIXME/BUG/HACK: "TODO(#605): Mark the cluster as killing ..." (godox)
	// TODO(#605): Mark the cluster as killing and once federated watcher is introduced, the watcher will mark the cluster as killed after RayCluster is terminated in the compute cluster.
api/handler/metadata_handler.go:112: api/handler/metadata_handler.go:112: Line contains TODO/FIXME/BUG/HACK: "TODO(#555): update the object in blob st..." (godox)
	// TODO(#555): update the object in blob storage
api/handler/metadata_handler.go:123: api/handler/metadata_handler.go:123: Line contains TODO/FIXME/BUG/HACK: "TODO(#556): if blob annotations are alre..." (godox)
		// TODO(#556): if blob annotations are already available, this Get is not needed
worker/plugins/spark/starlark_module.go:35: worker/plugins/spark/starlark_module.go:35: Line contains TODO/FIXME/BUG/HACK: "TODO(#561): andrii: implement Spark star..." (godox)
// TODO(#561): andrii: implement Spark starlark plugin here
components/inferenceserver/modelconfig/provider.go:3: components/inferenceserver/modelconfig/provider.go:3: Line contains TODO/FIXME/BUG/HACK: "TODO(#621): ghosharitra: There's only on..." (godox)
// TODO(#621): ghosharitra: There's only one modelconfigig per inference server and all deployments need to concurrently access these modelconfigs.
worker/plugins/ray/starlark_module.go:21: worker/plugins/ray/starlark_module.go:21: Line contains TODO/FIXME/BUG/HACK: "TODO(#559): andrii: implement Ray starla..." (godox)
// TODO(#559): andrii: implement Ray starlark plugin here
worker/plugins/ray/starlark_module.go:123: worker/plugins/ray/starlark_module.go:123: Line contains TODO/FIXME/BUG/HACK: "TODO(#560): [ray] send termination signa..." (godox)
		// TODO(#560): [ray] 

✅ TODO Tracking: All TODOs properly linked to issues

@github-actions
Copy link
Copy Markdown

🔍 Go Lint & TODO Tracking Results

⚠️ golangci-lint: Issues detected

level=warning msg="[config_reader] The configuration option `run.skip-dirs` is deprecated, please use `issues.exclude-dirs`."
level=warning msg="[config_reader] The configuration option `output.format` is deprecated, please use `output.formats`"
api/handler/metadata_handler.go:112: api/handler/metadata_handler.go:112: Line contains TODO/FIXME/BUG/HACK: "TODO(#555): update the object in blob st..." (godox)
	// TODO(#555): update the object in blob storage
api/handler/metadata_handler.go:123: api/handler/metadata_handler.go:123: Line contains TODO/FIXME/BUG/HACK: "TODO(#556): if blob annotations are alre..." (godox)
		// TODO(#556): if blob annotations are already available, this Get is not needed
base/conditions/engine/defaultengine.go:19: base/conditions/engine/defaultengine.go:19: Line contains TODO/FIXME/BUG/HACK: "TODO(#566): Make this configurable" (godox)
	// TODO(#566): Make this configurable
components/deployment/controller.go:84: components/deployment/controller.go:84: Line contains TODO/FIXME/BUG/HACK: "TODO(#549): refactor so these are not ex..." (godox)
	// TODO(#549): refactor so these are not exported
components/deployment/controller.go:278: components/deployment/controller.go:278: Line contains TODO/FIXME/BUG/HACK: "TODO(#534): Enable these once revision c..." (godox)
		// TODO(#534): Enable these once revision codes are migrated:
components/deployment/controller.go:305: components/deployment/controller.go:305: Line contains TODO/FIXME/BUG/HACK: "TODO(#550): Make the GetState call retur..." (godox)
	// TODO(#550): Make the GetState call return just the deployment state instead of the entire status payload
components/deployment/controller.go:353: components/deployment/controller.go:353: Line contains TODO/FIXME/BUG/HACK: "TODO(#551): Add runtime context to match..." (godox)
	// TODO(#551): Add runtime context to match Uber internal pattern exactly
components/deployment/controller.go:637: components/deployment/controller.go:637: Line contains TODO/FIXME/BUG/HACK: "TODO(#552): In full implementation, this..." (godox)
	// TODO(#552): In full implementation, this would:
components/ray/cluster/controller.go:194: components/ray/cluster/controller.go:194: Line contains TODO/FIXME/BUG/HACK: "TODO(#605): Remove after introducing Fed..." (godox)
	// TODO(#605): Remove after introducing Federated Watcher for watching RayCluster
components/ray/cluster/controller.go:432: components/ray/cluster/controller.go:432: Line contains TODO/FIXME/BUG/HACK: "TODO(#605): Mark the cluster as killing ..." (godox)
	// TODO(#605): Mark the cluster as killing and once federated watcher is introduced, the watcher will mark the cluster as killed after RayCluster is terminated in the compute cluster.
components/ray/job/controller.go:232: components/ray/job/controller.go:232: Line contains TODO/FIXME/BUG/HACK: "TODO(#605): Remove after introducing Fed..." (godox)
	// TODO(#605): Remove after introducing Federated Watcher for watching RayJob instead of polling for job status
components/triggerrun/module.go:57: components/triggerrun/module.go:57: Line contains TODO/FIXME/BUG/HACK: "TODO(#548): Add other trigger types as n..." (godox)
		// TODO(#548): Add other trigger types as needed
worker/workflows/ray/ray_workflows.go:13: worker/workflows/ray/ray_workflows.go:13: Line contains TODO/FIXME/BUG/HACK: "TODO(#562): andrii: implement Ray workfl..." (godox)
// TODO(#562): andrii: implement Ray workflows once Ray API is ready
components/deployment/plugins/oss/rollout/strategies/rolling_actor.go:120: components/deployment/plugins/oss/rollout/strategies/rolling_actor.go:120: Line contains TODO/FIXME/BUG/HACK: "TODO(#696): ghosharitra: make the storag..." (godox)
		// TODO(#696): ghosharitra: make the storage path configurable w.r.t storage client and storage location
components/deployment/plugins/oss/rollout/strategies/strategy.go:37: components/deployment/plugins/oss/rollout/strategies/strategy.go:37: Line contains TODO/FIXME/BUG/HACK: "TODO(#623): ghosha

✅ TODO Tracking: All TODOs properly linked to issues

@CLAassistant
Copy link
Copy Markdown

CLA assistant check
Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.
You have signed the CLA already but the status is still pending? Let us recheck it.

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