-
Notifications
You must be signed in to change notification settings - Fork 204
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
fix(wasm): Avoid requesting stdlib paths from the source-resolver #2650
Conversation
compiler/integration-tests/test/integration/browser/compile_prove_verify.test.ts
Show resolved
Hide resolved
compiler/integration-tests/test/integration/browser/compile_prove_verify.test.ts
Show resolved
Hide resolved
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM - so if it cannot find the stdlib assets and the path is the path to the stdlib ie something that begins with std/
then it errors. This is better than erroneously looking at the file system for something which is not there
New dependencies detected. Learn more about Socket for GitHub ↗︎
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
CI is failing
This is the wasm test that constantly times out. It hasn't been working for weeks and is not a required check that blocks PRs. |
test mentioned not affected by this PR
* master: chore: fix npm token for abi_wasm publishing (#2633) chore(ci): switch to using `Swatinem/rust-cache` action (#2671) feat: compile circuits and query circuit sizes in parallel for `nargo info` (#2665) chore(ci): use mock backend for all tests (#2670) chore!: Restrict packages to contain at most a single contract (#2668) chore: Embed a file map into `CompiledProgram`/`CompiledContract` (#2666) feat: Compile workspace packages in parallel (#2612) fix(wasm): Avoid requesting stdlib paths from the source-resolver (#2650) chore: add abi_wasm to release-please (#2664) chore: refactor `execute_cmd` (#2656) chore: defer reporting of errors until after compilation and optimization is finished (#2659) fix: fix compilation using `aztec` feature flag (#2663) fix: remove duplicate file extension in stack trace (#2655) chore: use `DebugArtifact`s instead of `FileManager` to report errors (#2641) chore: Fix clippy warnings for rust version 1.67.0 (#2661) fix(wasm): Apply transformation map to circuit debug information in `noir_wasm` (#2635) fix: Fix `update_acir` deleting all debug information (#2643)
Description
Problem*
Resolves #1244
Summary*
This fixes the noir_wasm integration tests, such that they succeed. The fundamental problem was that the implementation of
source-resolver
isn't actually checking file paths to know what files to load. Instead, it was always returning the entry file as the source code, so this meant the stdlib was setup all wrong inside the compiler.While this is a lazy way to implement the source-resolver, none of the stdlib file paths should be reaching it in the first place. So I've added an extra case in the
file_reader.rs
to never go to the filesystem for the stdlib, which we always embed.Also note that some stuff in the integration test needed to change because proving takes 6.5 minutes and verifying takes 5 minutes.
Documentation
This PR requires documentation updates when merged.
Additional Context
PR Checklist*
cargo fmt
on default settings.