-
Notifications
You must be signed in to change notification settings - Fork 382
Description
Currently, Tilt has resource_deps for expressing runtime initialization dependencies (e.g., "You need to start up the database before the frontend").
But Tilt has no way to express other types of dependencies, including:
-
A common pattern is to have a local_resource that generates files, and then a docker_build that syncs those files to a container. (e.g., generating API documentation in tilt.build, compiling Go static binaries). This workflow has a bunch of rough edges (logs aren't grouped like you would expect them, redundant builds, etc)
-
Another common pattern is to have a local_resource that solely exists to kick off another build (e.g., the "touch Tiltfile" script described in support manually triggering tiltfile executions #2957, or the "measure deployment" script described in https://docs.tilt.dev/example_static_html.html). These scripts are prone to race conditions and infinite loop problems (local that generates yaml causes infinite loop #1930)
People often try to do this with resource_deps, and are confused about why it doesn't work. See also discussion on this PR: #2837 (comment)
I don't know what the solution is to this problem, or even if (1) or (2) are the same problem. This issue is just to have a place to point people who ask about this while we think about what to do about it.