Fix: exclude alpha-engine-lib from Phase 2 Dockerfile#30
Merged
Conversation
The Dockerfile installs requirements by shell-splitting grep output and passing each line as a positional arg to pip install. This doesn't work for the alpha-engine-lib entry because it's a pip URL-style requirement (`pkg @ git+https://...`) with whitespace and an `@` separator — the shell splits it into three args and pip errors with "Invalid requirement: '@'". Phase 2 Lambda (lambda/handler.py) doesn't import from alpha-engine-lib — only weekly_collector.main() (the EC2 entrypoint) does. Excluding the dep from the Lambda build is the minimal fix and avoids the need to wire a GitHub PAT into the Docker build as a build secret. If a future Phase 2 change starts importing from alpha-engine-lib, remove this filter and add `--mount=type=secret,id=lib_token` to the RUN step plus matching `build-args` / `secrets` in deploy.yml. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
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.
Summary
Unblocks the broken Phase 2 Lambda build on main after #28 + #29.
The Dockerfile installs requirements by shell-splitting `grep` output and passing each line as a positional arg to pip. This breaks on pip URL-style entries like:
```
alpha-engine-lib[arcticdb,flow_doctor] @ git+https://github.com/cipher813/alpha-engine-lib@v0.1.1
```
The shell splits it into three args and pip errors `Invalid requirement: '@'`.
Why exclude vs fix the install
Phase 2 Lambda (`lambda/handler.py`) doesn't import from `alpha-engine-lib`. Only `weekly_collector.main()` does — the EC2 entrypoint. Excluding the dep from the Lambda build is the minimal fix and avoids wiring a GitHub PAT into the Docker build as a build secret.
If a future Phase 2 change imports from `alpha-engine-lib`, remove the filter and add `--mount=type=secret,id=lib_token` to the RUN step plus matching `secrets` wiring in `deploy.yml`. Comment in the Dockerfile documents this.
Test plan
🤖 Generated with Claude Code