Conversation
There was a problem hiding this comment.
💡 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".
crates/resolver/src/git.rs
Outdated
| if description.path.is_some() { | ||
| return false; |
There was a problem hiding this comment.
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 👍 / 👎.
1a7b9b3 to
ba798cb
Compare
29bb639 to
8fa84f6
Compare
There was a problem hiding this comment.
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/toingots/structure with newcoreandstdimplementations - Enhanced dependency resolution to support workspace-level and member-to-member dependencies
- Added
fe newcommand 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.
cburgdorf
left a comment
There was a problem hiding this comment.
This looks good to me 👍
8fa84f6 to
a5fedfc
Compare
No description provided.