Skip to content

Fix: exclude alpha-engine-lib from Phase 2 Dockerfile#30

Merged
cipher813 merged 2 commits into
mainfrom
fix/pin-alpha-engine-lib-v011
Apr 14, 2026
Merged

Fix: exclude alpha-engine-lib from Phase 2 Dockerfile#30
cipher813 merged 2 commits into
mainfrom
fix/pin-alpha-engine-lib-v011

Conversation

@cipher813
Copy link
Copy Markdown
Owner

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

  • Deploy workflow on merge should build cleanly.

🤖 Generated with Claude Code

cipher813 and others added 2 commits April 14, 2026 09:39
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>
@cipher813 cipher813 merged commit 35172f3 into main Apr 14, 2026
1 check passed
@cipher813 cipher813 deleted the fix/pin-alpha-engine-lib-v011 branch April 14, 2026 16:43
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant