gh run download downloads artifacts using a single-stream, backend supports multi-stream
- 主要语言
- Go
- 星标
- 46.3k
- 派生
- 9.1k
- 平均合并
- 2 天 6 小时
- 30 天内合并 PR
- 97
描述
### Describe the feature or problem you’d like to solve
Current HTTP Client used by the `gh run download` command uses a single-stream download approach.
For larger files, downloading using smaller chunks in multiple parallel streams has the potential to significantly increase download speeds.
### Proposed solution
If implemented, a multi-stream download approach is likely to increase download speeds. The Blob Storage providers used back GitHub Actions Artifacts supports requests by range and the multi-stream approach. In fact, this approach is implemented by Blob Storage Providers tooling, for example, Azure azcopy.
### Additional context
N/A
贡献指南
调研方向
从 `gh run download` 命令使用的 HTTP 客户端开始,跟踪 Actions 构件的获取过程。确认后端的范围请求如何支持并行流,然后验证大型构件下载能够正确完成并提高吞吐量,同时不改变命令的行为。
由索引模型根据 Issue 内容生成。
评估
- 技术栈
- github-actions, go
- 领域
- cli, performance
- Issue 类型
- 功能
- 难度
- 4/5
- 预计耗时
- 3-5 天
- 活跃度
- 冷清
- 描述清晰度
- 基本清楚
- 新手友好度
- 48/100