-
Notifications
You must be signed in to change notification settings - Fork 49
Open
Description
In LocalRunner.Run(), generateDockerCompose() is called before runSetupCommands():
builder-playground/playground/local_runner.go
Lines 1183 to 1198 in 34c2197
| func (d *LocalRunner) Run(ctx context.Context) error { | |
| go d.trackContainerStatusAndLogs() | |
| yamlData, err := d.generateDockerCompose() | |
| if err != nil { | |
| return fmt.Errorf("failed to generate docker-compose.yaml: %w", err) | |
| } | |
| if err := d.out.WriteFile("docker-compose.yaml", yamlData); err != nil { | |
| return fmt.Errorf("failed to write docker-compose.yaml: %w", err) | |
| } | |
| // Run setup commands before launching any services | |
| if err := d.runSetupCommands(ctx); err != nil { | |
| return err | |
| } |
generateDockerCompose calls validateImageExists for every Docker service, which fails if the image is locally-built in a setup command as the image doesn't exist yet because setup hasn't run.
Example: A recipe that builds a local image in setup and references it as a service:
setup:
- docker build -t my-service:dev .
recipe:
my-app:
services:
my-service:
image: my-service
tag: devPossible fix: Run setup commands before generating docker-compose, or skip validation for images that are built in setup.
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels