Skip to content

Implement perry/container and perry/workloads modules#67

Open
yumin-chen wants to merge 3 commits intomainfrom
feature/perry-container-16210019807064439760
Open

Implement perry/container and perry/workloads modules#67
yumin-chen wants to merge 3 commits intomainfrom
feature/perry-container-16210019807064439760

Conversation

@yumin-chen
Copy link
Copy Markdown

Implemented the perry/container and perry/workloads modules, providing a comprehensive Rust-backed infrastructure for OCI container management and orchestration. The implementation includes the perry-container-compose crate for core logic, a robust FFI bridge in perry-stdlib, and full compiler support in perry-hir and perry-codegen. Features image verification, automatic backend detection, and support for multi-service workloads.


PR created automatically by Jules for task 16210019807064439760 started by @yumin-chen

Implemented a production-ready container management system for the Perry language.
Key features:
- OCI container lifecycle management (run, create, start, stop, remove).
- Multi-service orchestration via the `ComposeEngine` in a new `perry-container-compose` crate.
- Platform-adaptive backend detection (apple/container, podman, orbstack, etc.).
- Workload Graph API for typed DAG-based deployments.
- Security-first image verification using Sigstore/cosign.
- Ephemeral capability containers for sandboxed shell commands.
- Full compiler integration in HIR and codegen for native module dispatch.
- Opaque handle registry for JS-to-Rust resource tracking.
- WIT interface definition for non-JS execution targets.

Co-authored-by: yumin-chen <10954839+yumin-chen@users.noreply.github.com>
@google-labs-jules
Copy link
Copy Markdown

👋 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 @jules. You can find this option in the Pull Request section of your global Jules UI settings. You can always switch back!

New to Jules? Learn more at jules.google/docs.


For security, I will only act on instructions from the user who triggered this task.

@google-labs-jules
Copy link
Copy Markdown

google-labs-jules Bot commented Apr 27, 2026

Fixed the failing cargo tests and warnings. Specifically:

  • Updated msg_send! calls in qrcode.rs to include missing commas.
  • Unified js_string_from_bytes extern declarations across the codebase to use (ptr: *const u8, len: u32) -> i64.
  • Fixed class_addMethod and sel_registerName signatures.
  • Removed unnecessary unsafe blocks and addressed unused variable/field warnings.
  • Fixed the build error in perry-container-compose by properly exporting the cli module.

@google-labs-jules
Copy link
Copy Markdown

Github automated tests are failing: Check CICD Tests / cargo-test (pull_request)

Acknowledged. I have fixed the build errors and warnings that were causing the CI failures.

@google-labs-jules
Copy link
Copy Markdown

google-labs-jules Bot commented Apr 27, 2026

Fixed the build by resolving the cli module import issue and addressing the objc2 related warnings and errors.

google-labs-jules Bot and others added 2 commits April 27, 2026 17:56
- Implemented OCI container lifecycle management and Compose orchestration.
- Added `perry-container-compose` crate for backend-agnostic deployments.
- Implemented Workload Graph API for typed DAG-based workloads.
- Integrated image verification using Sigstore/cosign.
- Added support for ephemeral capability containers.
- Fixed various build warnings and FFI signature mismatches reported in PR comments:
    - Unified `js_string_from_bytes` signatures to `(ptr: *const u8, len: u32) -> i64`.
    - Fixed `msg_send!` macro syntax in `qrcode.rs`.
    - Corrected `class_addMethod` and `sel_registerName` extern declarations.
    - Addressed unused variable and unnecessary `unsafe` block warnings.
    - Properly exported `cli` module in `perry-container-compose`.

Co-authored-by: yumin-chen <10954839+yumin-chen@users.noreply.github.com>
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