fix(dockerignore): re-include runner/templates so the runner image builds#293
Merged
Conversation
…ilds PR #291 added the seitask-runner image to the ECR publish workflow, but the build fails at: COPY --from=builder /workspace/runner/templates /templates ERROR: failed to compute cache key: "/workspace/runner/templates": not found Root cause: .dockerignore is whitelist-style — it ignores everything (**) and re-includes only *.go, go.mod, go.sum, and *.sh. The runner/templates/ directory's .yaml.tmpl files were never on the re-include list because the controller image doesn't need them. The runner image does — they're baked into /templates/ at build time so the runner can render per-kind manifests at runtime. Add `!runner/templates/**` to the re-include list. Confirmed locally: `docker build -f runner/Dockerfile .` completes successfully. Same root cause as #287 (CRD generated but missed from config/crd/kustomization.yaml): a new component lands but the "what-to-include" list elsewhere doesn't pick it up. Worth filing a follow-up that lint-checks dockerignore re-includes against the runner Dockerfile's COPY paths, paralleling the kustomization check already on the followup list.
|
You have used all Bugbot PR reviews included in your free trial for your GitHub account on this workspace. To continue using Bugbot reviews, enable Bugbot for your team in the Cursor dashboard. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The ECR publish workflow from #291 fails on the seitask-runner build:
Source: run #26120617262
Root cause
.dockerignoreis whitelist-style —**ignores everything, then specific patterns re-include only what the controller image needs:*.go,go.mod,go.sum,*.sh.The runner image (added in #286) also needs
runner/templates/*.yaml.tmplbaked into the image at/templates/so it can render per-kind SeiNodeTask manifests at runtime. The controller image doesn't need these files, so they were never on the re-include list. The runner Dockerfile fails as soon as it tries to copy them out of the builder stage.Fix
One pattern added to
.dockerignore:Verified locally:
Same shape as #287
Same root cause as the prod outage from #287: a new artifact lands but a separate "what-to-include" list elsewhere doesn't pick it up.
config/crd/sei.io_seinodetasks.yamlconfig/crd/kustomization.yamlresource listrunner/templates/*.yaml.tmpl.dockerignorere-include listBoth are recoverable with one-line additions but cost a deploy iteration to detect. The CI-gap follow-up I previously dropped (#288's PR body item 3) is worth resurrecting — a build-time check that the runner Dockerfile's
COPYpaths all resolve in the build context would have caught this in PR review.🤖 Generated with Claude Code