Skip to content

Conversation

@g-r-a-n-t
Copy link
Collaborator

No description provided.

Copy link

@chatgpt-codex-connector chatgpt-codex-connector bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: b19dbb0a29

ℹ️ About Codex in GitHub

Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".

Comment on lines 66 to 67
if description.path.is_some() {
return false;

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Preserve cached checkout path for sparse deps

When description.path is set, this returns false unconditionally. IngotResolver::resolve_remote relies on has_valid_cached_checkout to skip network fetches, but with this change every path-based dependency always goes through ensure_sparse_checkout, which calls git fetch. In offline/air‑gapped builds (or CI that pre-seeds the checkout), resolving a subdirectory now fails despite a valid local checkout already containing the revision and directory. Consider keeping the cache fast‑path by checking the repo for the revision and that checkout_path.join(path) exists instead of forcing a fetch.

Useful? React with 👍 / 👎.

Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR introduces comprehensive workspace support for Fe, including sparse git checkout capabilities. The changes enable multi-ingot projects with shared dependencies and configuration, along with new core and std library ingots that replace the previous library/ structure.

Changes:

  • Added workspace configuration and member discovery with glob pattern support
  • Implemented sparse checkout for git dependencies to materialize only requested paths
  • Migrated library/ to ingots/ structure with new core and std implementations
  • Enhanced dependency resolution to support workspace-level and member-to-member dependencies
  • Added fe new command implementation for creating ingots and workspaces

Reviewed changes

Copilot reviewed 264 out of 298 changed files in this pull request and generated no comments.

Show a summary per file
File Description
ingots/std/src/* New standard library implementation with EVM-specific functionality
ingots/core/src/* Core library with fundamental traits and types
crates/resolver/src/workspace.rs Workspace discovery and context resolution
crates/common/src/config/* Workspace and ingot configuration parsing
crates/fe/src/cli/new.rs New project scaffolding command
crates/resolver/tests/git_sparse_checkout.rs Tests for sparse checkout functionality
WORKSPACES.md Comprehensive workspace feature documentation

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Copy link
Collaborator

@cburgdorf cburgdorf left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This looks good to me 👍

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.

2 participants