make it easier to run tasks locally
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 5/5
- Tiempo estimado
- Más de una semana
- Aptitud para principiantes
- 25/100
Línea de trabajo
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.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
@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-taskor other task runners currently only working on our deployed images- Tasks that use volume caches may need some adjustments to run locally
- Lenguaje dominante
- Python
- Estrellas
- 26
- Forks
- 55
- Merge medio
- 2 d 6 min
- PR fusionados (30 d)
- 15
Guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de taskcluster/taskgraph
-
Dependency Dashboard Abierto
Dificultad 5/5 Más de una semana Aptitud para principiantes 20/100
taskcluster/taskgraph#952 ·
-
Dificultad 4/5 3-5 días Aptitud para principiantes 35/100
taskcluster/taskgraph#915 ·
-
feature
Dificultad 3/5 1-2 días Aptitud para principiantes 35/100
taskcluster/taskgraph#911 · 1 comentario ·
-
Dificultad 3/5 1-2 días Aptitud para principiantes 45/100
taskcluster/taskgraph#882 ·
-
Further optimize Git clones Abierto
Dificultad 5/5 Más de una semana Aptitud para principiantes 35/100
taskcluster/taskgraph#865 · 1 comentario ·
Todos los issues de taskcluster/taskgraph
Issues similares
-
essnmx good first issue
Dificultad 1/5 Menos de una hora Aptitud para principiantes 95/100
-
[Feature] 奇物选择添加优先级 Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 65/100
syfoud/Simulated_Scepter#174 ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
Giskard-AI/giskard-oss#2840 · 1 comentario ·
-
A claim comment carrying the issue number is silently declined while the workflow reports success Abiertoarea: repo bug perceived difficulty: 2
Dificultad 2/5 1-3 horas Aptitud para principiantes 70/100
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
yeti-platform/yeti#1380 ·