Conversation
9205b53 to
dc0af9b
Compare
dc0af9b to
216553d
Compare
6247148 to
e247f90
Compare
7233641 to
298a1ac
Compare
.taskcluster.yml
Outdated
| - '--login' | ||
| - '-c' | ||
| - >- | ||
| apt-get update && apt-get install -y build-essential procps file sudo && |
There was a problem hiding this comment.
Typically we build a docker image with the required toolchains, and then run the task in a container using that docker image, to reduce latency and CI overhead, rather than every task needing to perform the toolchain installations themselves.
See e.g. https://firefox-source-docs.mozilla.org/main/69.0/taskcluster/taskcluster/docker-images.html
I'm not sure if we have examples in GitHub of docker image builds based on this workflow, but I think it is a feature of taskgraph - @ahal might know?
In other words, if we use taskgraph, I think it should be able to take care of automatically building and indexing docker images used by CI tasks, so the repo just needs to contain the Dockerfile (e.g. which does all the apt-get installs) and when that is updated, taskgraph will take care of building the updated Docker images, updating the Index, and tasks that use it will automatically get the updated version. Then each task doesn't need to install toolchains etc, they are already part of the docker image.
Aside: we should probably introduce this workflow in the monorepo too. We don't install toolchains on each task run, which is good, but we don't have automated flows for rebuilding docker images when the Dockerfile changes. Instead, we manually republish docker images to dockerhub. We would avoid this if we got taskgraph to do it for us, and the images would be task artifacts, rather than images on hub.docker.com, which would also mean we have one less third party service we would depend on for our CI workflow.
There was a problem hiding this comment.
I've heard there are plans to get rid of docker worker.. but that will only happen when generic worker will support docker-worker-like payloads, so the images would still be used.
Btw, in case of using generic-worker, you'd still need to bootstrap and install everything manually right? Or you would need to re-use some pre-built stuff from somewhere?
Correct, I even added docs for this recently :) |
|
Also re: generic-worker vs docker-worker.. I think Taskgraph will likely abstract over that when the switch happens, so that Taskgraph consumers won't have to deal with it. |
55059f2 to
7f7e57d
Compare
b4d7f49 to
d03c289
Compare
Uh oh! Looks like an error! DetailsClient ID static/taskcluster/github does not have sufficient scopes and is missing the following scopes: This request requires the client to satisfy the following scope expression:
|
Uh oh! Looks like an error! DetailsClient ID static/taskcluster/github does not have sufficient scopes and is missing the following scopes: This request requires the client to satisfy the following scope expression:
|
Uh oh! Looks like an error! DetailsClient ID static/taskcluster/github does not have sufficient scopes and is missing the following scopes: This request requires the client to satisfy the following scope expression:
|
Uh oh! Looks like an error! DetailsClient ID static/taskcluster/github does not have sufficient scopes and is missing the following scopes: This request requires the client to satisfy the following scope expression:
|
Uh oh! Looks like an error! DetailsClient ID static/taskcluster/github does not have sufficient scopes and is missing the following scopes: This request requires the client to satisfy the following scope expression:
|
Fixes #3
This also upgrades to the latest version, v44.23.4.