Hacktoberfest 2026:维护者为十月标记出来的 issue,仍然开放、适合新手。 浏览 Hacktoberfest issue

make it easier to run tasks locally

未关闭
#536 1 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看

还没有人认领这个 Issue。

评估

难度
5/5
预计耗时
一周以上
新手友好度
25/100
Issue 类型
功能
描述清晰度
需要澄清
活跃度
停滞
技术栈
docker, python
领域
ci-cd, cli, devops

调研方向

Start by examining the taskgraph command entry points and the existing run-task or other task runners mentioned in the issue. Define how a task label is resolved, how its container image is built or downloaded, and how dependencies and volume caches are handled locally. Done means a containerized task can be run locally with behavior matching CI, including the supported dependency cases.

由索引模型根据 Issue 内容生成。

描述

@JohanLorenzo linked me to dagger.io recently. One of the things that it tries to solve is reproducability problems between local and CI executions of the same thing. It does by making it trivial to run exactly what CI does locally. We have a lot of issues with this at the moment (especially in Gecko), to the point where it is often avoided altogether, and I think taskgraph should be able to make this similarly easy for containerized tasks.

I'm envisioning something like a taskgraph run command that can be fed a label or some other unique task identifier. Taskgraph would then either build or download the image the task runs on, launch a container, and run the task.

The trickiest bit here is likely to be what to do with tasks that depend on things from other tasks. In many cases we'd probably want to fetch artifacts from existing tasks, but there may be cases where we'd want to rebuild those tasks locally. This is extra tricky in some Gecko scenarios where something like mozharness is built as part of the build task, but we probably don't want to do a full build to pick up changes to it. (Maybe we can ignore extra complicated scenarios like this to start with. The fix there could be not to build mozharness as part of builds...). Docker images are the most notable thing that nearly all containerized tasks depend on.

Other possible issues we may encounter:

  • run-task or other task runners currently only working on our deployed images
  • Tasks that use volume caches may need some adjustments to run locally
主要语言
Python
星标
26
派生
55
平均合并
2 天 6 分钟
30 天内合并 PR
15

贡献指南

打开贡献指南

从这里开始

  1. 先读完整个 Issue,再读项目的贡献指南。
  2. 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
  3. Fork 仓库,在一个分支上完成修改。
  4. 提交 Pull Request,并在描述里引用这个 Issue 编号。

taskcluster/taskgraph 的其他 Issue

查看 taskcluster/taskgraph 的全部 Issue

相似的 Issue

更多 Python Issue

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。