Using Plotly.rs in CI with `static_export_wd_download` fails
还没有人认领这个 Issue。
评估
- 难度
- 4/5
- 预计耗时
- 3-5 天
- 新手友好度
- 35/100
- Issue 类型
- 缺陷
- 描述清晰度
- 需要澄清
- 活跃度
- 停滞
- 技术栈
- github-actions, rust
调研方向
先从 plotly_static 构建脚本以及 static_export_geckodriver/static_export_wd_download 功能配置入手,然后在通用 Ubuntu GitHub Actions runner 上复现该故障。将浏览器和驱动程序的检测路径与成功的本地构建进行比较;完成的标准是,文档中所述的 CI 设置能够完成静态导出,且不再出现报告的构建脚本错误。
由索引模型根据 Issue 内容生成。
描述
I have a GitHub Actions CI that has been building with plotly.rs fine for a year, but started failing today. I was building with this:
plotly = { version = "0.13.5", features = ["kaleido", "kaleido_download"] }
which failed due to errors like this:
error[E0412]: cannot find type `Table` in crate `crc`
--> /Users/bart/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/lzma-rust2-0.15.3/src/xz.rs:33:33
|
33 | const CRC32: crc::Crc<u32, crc::Table<16>> =
| ^^^^^ not found in `crc`
It turns out that under my project I have two versions of crc being used, and somehow (because plotly_kaleido uses it as a build-dependency? Shouldn't cargo handle this fine?) they are colliding:
❯ cargo tree -p [email protected] -i
crc v2.1.0
└── lzma-rust2 v0.15.3
└── zip v7.1.0
[build-dependencies]
└── plotly_kaleido v0.13.6
└── plotly v0.13.5
My project uses sqlx:
❯ cargo tree -p [email protected] -i
crc v3.4.0
└── sqlx-core v0.8.6
├── sqlx v0.8.6
So instead of fighting plotly_kaleido, it being deprecated, I switched to this:
plotly = { version = "0.14", features = ["static_export_geckodriver", "static_export_wd_download"] }
Which works fine on my local machine, but when I build in GitHub actions on the generic ubuntu runner, I get this
warning: [email protected]: You can specify WEBDRIVER_PATH to an existing chromedriver/geckodriver installation to avoid downloads.
warning: [email protected]: You can override browser detection using BROWSER_PATH environment variable.
warning: [email protected]: geckodriver selected but not installed, will be downloaded ...
error: failed to run custom build command for `plotly_static v0.1.0`
Caused by:
process didn't exit successfully: `/__w/foo/bar/target/debug/build/plotly_static-60b220e432895492/build-script-build` (exit status: 1)
--- stdout
cargo:rerun-if-changed=src/lib.rs
cargo::rerun-if-changed=/github/home/.local/bin
cargo::warning=You can specify WEBDRIVER_PATH to an existing chromedriver/geckodriver installation to avoid downloads.
cargo::warning=You can override browser detection using BROWSER_PATH environment variable.
cargo::warning=geckodriver selected but not installed, will be downloaded ...
--- stderr
Error: Failed to detect browser path for geckodriver
Caused by:
0: Failed to run command
1: cannot find binary path
warning: build failed, waiting for other jobs to finish...
My assumption would be that static_export_wd_download takes care of downloading whatever rendering engine I'd need. Maybe I'm misunderstanding the requirements for not using kaleido, but seems like some sort of bug.
- 主要语言
- Rust
- 星标
- 1.5k
- 派生
- 130
- PR 合并指标
- 30 天内没有已合并 PR
环境准备
- 没有 Dockerfile 或 Docker Compose 文件
- 没有 Pull Request 模板
- 阅读贡献指南
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
plotly/plotly.rs 的其他 Issue
-
Surface::surface_color has the wrong type: it should be a 2D numeric array, not Vec<Box<dyn Color>>未关闭
难度 3/5 1-2 天 新手友好度 68/100
-
难度 3/5 1-2 天 新手友好度 62/100
-
难度 4/5 3-5 天 新手友好度 62/100
-
难度 5/5 一周以上 新手友好度 38/100
-
Support Plotly Express color sequences可能已有人在做 @iynehz 于 41 天前认领。 未关闭enhancement
难度 5/5 一周以上 新手友好度 35/100
相似的 Issue
-
难度 2/5 1-3 小时 新手友好度 66/100
riverqueue/river#1576 ·
维护者通常 1 天内回复
-
难度 2/5 1-3 小时 新手友好度 74/100
stadelmanma/fitparse-rs#64 ·
-
难度 2/5 1-3 小时 新手友好度 72/100
维护者通常 1 天内回复
-
难度 1/5 1 小时以内 新手友好度 88/100
zed-extensions/java#325 ·
-
难度 2/5 1-3 小时 新手友好度 62/100
dividebysandwich/sdroxide#769 ·
维护者通常 5 天内回复