Piped v1 Cloud Run plugin panics on deployment and livestate entry points
维护者通常 2 天内回复
还没有人认领这个 Issue。
- #6986 来自 @rootp1 —— 已关闭,未合并
评估
调研方向
从 pkg/app/pipedv1/plugin/cloudrun/deployment/plugin.go 和 pkg/app/pipedv1/plugin/cloudrun/livestate/plugin.go 开始,然后检查 pkg/app/pipedv1/plugin/cloudrun/main.go 中的注册。通过针对性的单元测试执行 ExecuteStage、DetermineVersions、DetermineStrategy 和 GetLivestate。当这些入口点不再 panic、不支持的操作返回明确的错误,并且回归测试覆盖每个 handler 时,即视为完成。
由索引模型根据 Issue 内容生成。
描述
What happened:
The piped v1 Cloud Run plugin exposes deployment and livestate entry points that still call panic("implement me"). Any request that reaches ExecuteStage, DetermineVersions, DetermineStrategy, or GetLivestate will crash the plugin process instead of returning a controlled error.
What you expected to happen:
Cloud Run plugin requests should either complete successfully or return an explicit error without panicking the process.
How to reproduce it:
- Open
pkg/app/pipedv1/plugin/cloudrun/deployment/plugin.goandpkg/app/pipedv1/plugin/cloudrun/livestate/plugin.go. - Inspect
Plugin.ExecuteStage,Plugin.DetermineVersions,Plugin.DetermineStrategy, andPlugin.GetLivestate. - Invoke any of those exported methods from a focused unit test or a small harness.
- Observe that the current implementation panics immediately because each method ends in
panic("implement me").
Environment:
pipedversion: repository checkout on 2026-07-07control-planeversion: repository checkout on 2026-07-07- Others: reproduced from current
mastercheckout by static inspection of the exported Cloud Run plugin handlers
Summary
The v1 Cloud Run plugin binary is registered with both deployment and livestate handlers, but several required methods are still stubbed with panics.
Affected Area
pkg/app/pipedv1/plugin/cloudrun
Steps to Reproduce
- Build or inspect the Cloud Run v1 plugin module.
- Call
ExecuteStage,DetermineVersions, orDetermineStrategyondeployment.Plugin. - Call
GetLivestateonlivestate.Plugin. - Observe process termination from
panic("implement me")instead of an error response.
Expected Behaviour
Cloud Run plugin handlers should never crash the plugin process. Unsupported behavior should be reported through explicit errors until full implementations exist.
Actual Behaviour
The exported handlers panic immediately, which can terminate the plugin process when those code paths are exercised.
Technical Evidence
pkg/app/pipedv1/plugin/cloudrun/deployment/plugin.go:51-63pkg/app/pipedv1/plugin/cloudrun/livestate/plugin.go:27-29pkg/app/pipedv1/plugin/cloudrun/main.goregisters both deployment and livestate plugins throughsdk.NewPlugin(...), so these panic paths are part of the published plugin surface.
Suspected Root Cause
The Cloud Run v1 plugin skeleton was merged before deployment and livestate handler implementations were completed.
Proposed Direction
Replace the panic stubs with explicit returned errors for unsupported operations, or gate registration of unfinished handlers until complete implementations are ready. Add regression tests covering each handler so future changes cannot reintroduce process panics.
Acceptance Criteria
- Cloud Run plugin deployment and livestate entry points no longer panic.
- Unsupported operations return explicit errors instead.
- Focused unit tests cover
ExecuteStage,DetermineVersions,DetermineStrategy, andGetLivestate.
- 主要语言
- Go
- 星标
- 1.4k
- 派生
- 391
- 平均合并
- 4 天 1 小时
- 30 天内合并 PR
- 58
环境准备
- 没有 Dockerfile 或 Docker Compose 文件
- 有 Pull Request 模板
- 阅读贡献指南
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
pipe-cd/pipecd 的其他 Issue
-
Applications at the repository root are not triggered by new commits可能已有人在做 @Daksha1611 今天认领。 未关闭
难度 2/5 1-3 小时 新手友好度 62/100
维护者通常 2 天内回复
-
pipedv1 kubernetes plugins ignore trafficRouting.istio.host in K8S_TRAFFIC_ROUTING可能已有人在做 @Dhirenderchoudhary 今天认领。 未关闭
难度 2/5 半天 新手友好度 74/100
维护者通常 2 天内回复
-
难度 2/5 1-3 小时 新手友好度 72/100
维护者通常 2 天内回复
-
pipectl transfer restore application drops backed-up labels可能已有人在做 @bhavishyajain545 于 1 天前认领。 未关闭
难度 2/5 1-3 小时 新手友好度 86/100
维护者通常 2 天内回复
-
难度 2/5 1-3 小时 新手友好度 83/100
维护者通常 2 天内回复
相似的 Issue
-
IsTextFile reads the whole file into memory (OOM on large files in the file watcher)可能已有人在做 关联的 PR 仍在进行中或已合并。 未关闭
难度 2/5 1-3 小时 新手友好度 68/100
gtsteffaniak/filebrowser#3395 ·
维护者通常 1 天内回复
-
effort:s impact:low raised-by:worker risk:low
难度 1/5 1 小时以内 新手友好度 70/100
medici-finance/assay#6496 · 1 条评论 ·
维护者通常 1 天内回复
-
kind/bug require/reproduce require/severity
难度 2/5 1-3 小时 新手友好度 75/100
维护者通常 1 天内回复
-
难度 2/5 1-3 小时 新手友好度 68/100
维护者通常 1 天内回复
-
难度 2/5 1-3 小时 新手友好度 60/100