Implement perry/container and perry/compose feature#10
Implement perry/container and perry/compose feature#10yumin-chen wants to merge 19 commits intofeat/container-composefrom
Conversation
Co-authored-by: yumin-chen <10954839+yumin-chen@users.noreply.github.com>
|
👋 Jules, reporting for duty! I'm here to lend a hand with this pull request. When you start a review, I'll add a 👀 emoji to each comment to let you know I've read it. I'll focus on feedback directed at me and will do my best to stay out of conversations between you and other bots or reviewers to keep the noise down. I'll push a commit with your requested changes shortly after. Please note there might be a delay between these steps, but rest assured I'm on the job! For more direct control, you can switch me to Reactive Mode. When this mode is on, I will only act on comments where you specifically mention me with New to Jules? Learn more at jules.google/docs. For security, I will only act on instructions from the user who triggered this task. |
|
Thank you for the detailed review. I have made the following corrections:
All unit and property tests pass, and |
Co-authored-by: yumin-chen <10954839+yumin-chen@users.noreply.github.com>
4cda64d to
ff60dc4
Compare
|
Why do we need to touch perry-runtime? Reply directly to this comment |
We need to touch |
81a8986 to
f94aca9
Compare
This commit adds a unified, strongly-typed API for OCI container management and multi-container orchestration to Perry. Key changes: - Refactored perry-container-compose into a flat module layout with support for YAML interpolation, Kahn's algorithm for dependency resolution, and multi-backend detection (Apple Container, Podman, etc.). - Expanded perry-stdlib with an OCI FFI bridge, image verification using Sigstore/cosign, and sandboxed capability execution. - Integrated perry/container and perry/container-compose into the compiler's HIR lowering and Codegen dispatch using JSON-over-FFI. - Fixed linker errors regarding duplicate symbols in perry-runtime. Verified with unit tests, property-based tests, and workspace-wide compilation checks. Co-authored-by: yumin-chen <10954839+yumin-chen@users.noreply.github.com>
f94aca9 to
58c806b
Compare
…alls - Created a production-ready Forgejo example in `crates/perry-container-compose/examples/forgejo/main.ts`. - Updated `crates/perry-codegen/src/lower_call.rs` to support receiver-based calls (e.g., `stack.ps()`) for `perry/container` and `perry/container-compose`. - Verified compilation and tested orchestration logic. Co-authored-by: yumin-chen <10954839+yumin-chen@users.noreply.github.com>
I have updated the Forgejo example to include an explicit image pulling step before starting the stack using |
- Added an explicit `pullImage` step to the Forgejo example to ensure images are available before `composeUp` is called. - Updated imports in the example to include `pullImage`. Co-authored-by: yumin-chen <10954839+yumin-chen@users.noreply.github.com>
58c806b to
3c1c1e6
Compare
I have compiled |
- Fix LLVM IR type mismatches in codegen (ptr vs i64). - Add support for instance method dispatch for container handles. - Add production-ready Forgejo example in crates/perry-container-compose/examples/forgejo/main.ts. - Update stdlib_features.rs to automatically enable the 'container' feature. - Verified with full compiler build and sample compilation. Co-authored-by: yumin-chen <10954839+yumin-chen@users.noreply.github.com>
|
What are the image operations API do we have enough for exist? and pull? image operations must be explicit in the examples -- any image pulling must be explicily done and ContainerUp is not enough |
I have added |
- Added `imageExists` and `inspectImage` FFI functions. - Updated Forgejo example to check for existing images before pulling. - Fixed async backend initialization in `imageExists` and `inspectImage`. - Verified compilation and linking with the `perry` compiler. Co-authored-by: yumin-chen <10954839+yumin-chen@users.noreply.github.com>
3c1c1e6 to
30a27ae
Compare
|
I have successfully compiled |
- Implemented `imageExists` and `inspectImage` granular APIs. - Updated Forgejo example with explicit image pulling and status checks. - Fixed LLVM IR type mismatches in FFI calls (ptr vs i64). - Added `perry/compose` as a recognized builtin module. - Verified end-to-end by compiling the compiler and the example. - Made network/volume creation idempotent in orchestration. Co-authored-by: yumin-chen <10954839+yumin-chen@users.noreply.github.com>
I have documented the new OCI container management features in |
- Created docs/src/container/overview.md with API details and examples. - Updated docs/src/SUMMARY.md to include the OCI Containers section. - Verified doc integration. Co-authored-by: yumin-chen <10954839+yumin-chen@users.noreply.github.com>
cad71a7 to
448cb36
Compare
This commit implements the perry-container feature, providing a unified API for OCI container management and multi-container orchestration.
Key changes:
PR created automatically by Jules for task 7403634740230062412 started by @yumin-chen