Add compose Dockerfile builds#52
Conversation
00c783a to
7a18a75
Compare
1e4b654 to
bfbac89
Compare
bfbac89 to
fed4b92
Compare
|
Firetiger deploy monitoring skipped This PR didn't match the auto-monitor filter configured on your GitHub connection:
Reason: PR changes Dockerfile and compose configuration, not API endpoints or Temporal workflows as specified in the filter. To monitor this PR anyway, reply with |
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes and found 1 potential issue.
❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.
Reviewed by Cursor Bugbot for commit 0f8f0be. Configure here.
| } | ||
| } | ||
| if len(ready) == 0 { | ||
| return nil, nil |
There was a problem hiding this comment.
Ignores in-progress compose builds
Medium Severity
The findReadyBuild function only recognizes builds with a Ready status. If a build for a given hash is already queued or building, concurrent compose up runs will incorrectly initiate duplicate builds.
Reviewed by Cursor Bugbot for commit 0f8f0be. Configure here.


Summary
dockerfileservices that build through the Hypeman build API and run the resulting image.dockerignorepatterns to compose build archives and include.dockerignorecontent in build hashes${file:...}contents, so loaded config files can use${env:...}and${file:...}references.dockerignorehandlingTesting
go test ./..../scripts/lint./scripts/buildRunning, logs showed nested interpolation, repeat plan was unchanged, and cleanup removed the instance plus built image.dockerignoreexcluded an uploaded file required to make the Dockerfile build passNote
Medium Risk
Adds a new build phase to
compose upthat archives local source and invokes the Hypeman Build API, plus expands interpolation across all string fields; this changes compose planning/apply ordering and instance hash/tag computation, which could affect rollout/replace behavior.Overview
Adds first-class
dockerfilesupport tohypeman compose: services can now build from a local Dockerfile + context via the Hypeman Build API (with.dockerignoresupport), then run instances from the resulting runnable image reference.compose plan/upnow includes build actions ahead of image/instance/ingress reconciliation, updates instance images (and re-hashes tags) once a ready build image ref is known, and waits for built images to be ready before instance creation.Interpolation is expanded from env-only to all string fields in the compose spec, and
${file:...}contents are now recursively interpolated (bounded depth), with validation updated to require eitherimageordockerfile(mutually exclusive). Documentation and tests are updated accordingly, andgo.mod/go.sumaddgithub.com/moby/patternmatcherfor.dockerignoreparsing.Reviewed by Cursor Bugbot for commit 0f8f0be. Bugbot is set up for automated code reviews on this repo. Configure here.