-
Notifications
You must be signed in to change notification settings - Fork 431
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
Minor refactors in e2e crate #1830
Minor refactors in e2e crate #1830
Conversation
I'm getting:
on |
the same error is for the master build: https://gitlab.parity.io/parity/mirrors/ink/-/jobs/3105158 |
It must be in the codegen of the new |
crates/e2e/macro/src/codegen.rs
Outdated
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.
The building of the contracts at the codegen
stage is a legacy of when we required the metadata to generate the contract API. So I wonder whether we should just move the code which builds the contracts to be invoked at runtime rather than in the macro code, which is confusing.
crates/e2e/macro/src/codegen.rs
Outdated
for manifest_path in contracts_to_build_and_import { | ||
already_built_contracts | ||
.entry(manifest_path.clone()) | ||
.or_insert_with(|| build_contract(&manifest_path)); |
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.
For tests running all in parallel, this might now result in all tests initially attempting to build the root contract simultaneously. I assume they would all just block on the lockfile while the first one builds, which is okay but negates the point of having the already_built_contracts
. This mechanism itself might now be unnecessary since the build now is very fast when there have been no changes so we might even be able to remove this entirely.
E2EConfig
doesn't needwhitelisted_attributes
(copied from another macro config)subxt
Polkadot configuration