Respect Dockerfile location form Actor.json - #27
Merged
Pijukatel merged 10 commits intoAug 26, 2026
Conversation
Mirror the platform's resolution order (apify-worker ensureDockerfileExists): the actor.json dockerfile field relative to the .actor dir (escape-checked, warn-and-fall-through when it names nothing, invalid-format failure when non-string), then .actor/Dockerfile, then root Dockerfile, then the bundled platform default. The resolved path is always passed to docker.buildImage as its dockerfile option; previously the driver relied on Docker's implicit root Dockerfile only, so Actors with .actor/Dockerfile (like sample_actor_crawler) could not build. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01GFiYFS2Eq9833z1ruGQwUK
Rewrite comments and test titles to stand on their own (or cite requirements/actor-driver.md) instead of referencing external design notes; add integration tests covering runBuildInBackground's resolver wiring (failure -> FAILED without a driver call, default -> injected Dockerfile reaches the driver ctx without touching persisted sourceFiles, resolved -> path passthrough); move normalizeEntryName into src/driver/tar-entry-name.ts so the driver layer no longer imports from services. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01GFiYFS2Eq9833z1ruGQwUK
…tions requirements/test.md now names all three base images the e2e suite pulls (python:3.11-slim joined for sample_actor_crawler); two tests asserted the same value twice, once as a string literal and once via DEFAULT_DOCKERFILE_NAME - the named-constant assertion stays. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01GFiYFS2Eq9833z1ruGQwUK
…test placement Document the unparseable-actor.json failure mode in the runtime spec; make DEFAULT_DOCKERFILE_NAME the single source of truth for the injected default's name so the collision-safety invariant is structural; drop an unneeded type cast, a test-only re-export, and a parallel-array lookup; move the tar-entry normalizer tests next to the module they test; cover the null-actor.json and "../.." escape sub-guards; generalize neverStartDriver's message to every must-not-build case it now guards. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01GFiYFS2Eq9833z1ruGQwUK
The DEFAULT_DOCKERFILE_NAME doc now states the collision-safety invariant directly; a dangling cross-reference points at driver/tar-entry-name.ts; the spec no longer says "parsed as JSON5" twice. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01GFiYFS2Eq9833z1ruGQwUK
Comments now state constraints, not rationale; the actor-driver.md section states the observable contract (resolution order, failure messages, case rules, log requirement) without implementation mechanics. Comment-only change: no code, signature, or assertion lines touched. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01GFiYFS2Eq9833z1ruGQwUK
Pijukatel
force-pushed
the
claude/docker-file-location-actor-drx6jx
branch
from
August 26, 2026 07:29
374e66b to
9592503
Compare
…/docker-file-location-actor-drx6jx
Pijukatel
force-pushed
the
claude/docker-file-location-actor-drx6jx
branch
from
August 26, 2026 07:36
9592503 to
f6b18db
Compare
Pijukatel
pushed a commit
that referenced
this pull request
Aug 26, 2026
Resolves four conflicts from the pnpm migration (#26) and the Dockerfile-location work (#27): - package-lock.json: accepted its deletion; ws and @types/ws are now carried by pnpm-lock.yaml, regenerated with pnpm install. - package.json: kept both sides' dependency additions (json5, ws). - docker-driver.ts and test-server.ts: kept both sides' imports; the driver-stub type import now names BuildContext and RunResourceSample. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01BeN7rnNX67yNdUWsRMA7Sp
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.
No description provided.