-
Notifications
You must be signed in to change notification settings - Fork 6k
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
Switch ENS external test to ens-contracts repo #12198
Conversation
624cd8c
to
08162f3
Compare
5b0a006
to
cb07ab0
Compare
08162f3
to
38d8ea5
Compare
This requires a bit more work. I got Hardhat to compile the project with the custom compiler but |
cb07ab0
to
7058281
Compare
38d8ea5
to
ef20048
Compare
Is this needed after #12187 ? |
Yes. Both update the repo URL but #12187 is just a trivial switch from our fork to the upstream (which just works, without any other changes needed so it can be merged right away) while this PR switches to a different repo and requires more work. Also depends on other PRs. ENS has moved all of their contracts into a single repo one and switched from Truffle to Hardhat. I still need to fix one problem here - some dependency is being compiled with older solc, triggering our compiler version check. |
6065758
to
94db5ac
Compare
f4d9f78
to
df17733
Compare
625af4c
to
47c56a6
Compare
test/externalTests/ens.sh
Outdated
|
||
function ens_test | ||
{ | ||
local repo="https://github.com/ensdomains/ens.git" | ||
local repo="https://github.com/ensdomains/ens-contracts.git" | ||
local branch=master |
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.
Not sure about this, I think it is heavily in flux, so a tagged version would be better.
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.
Oh. You mean an upstream tag or a full-blown fork in solidity-external-tests?
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.
Upstream tag, or even just commit hash.
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.
Done.
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.
Looks like the tag I used (v0.0.5
) is too ancient and lots of tests fail. Switching to a specific commit.
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.
Looks like git clone
does not work with specific commits. The only thing I could do is to clone the whole repo (without --depth 1
) and then check out the commit. I'd need to add a separate function to handle that case. I can do it but it's a bit of a hassle. How unstable is their master
really?
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.
So what do we do about it? Can it stay at master
after all?
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.
There's a new upstream tag dated yesterday: https://github.com/ensdomains/ens-contracts/tags
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.
Oh, nice. I even checked the repo today but I missed it because I only looked at releases.
In that case I'll switch to that and then let's get this merged :)
df17733
to
c33cd75
Compare
47c56a6
to
36b7d0a
Compare
c33cd75
to
5ef7962
Compare
280f9d0
to
25230e9
Compare
5ef7962
to
9f59d17
Compare
25230e9
to
1ee5162
Compare
8a92d20
to
2cc8992
Compare
This is now reviewable. |
2cc8992
to
d871831
Compare
d871831
to
54d8a6b
Compare
local compile_only_presets=() | ||
local compile_only_presets=( | ||
legacy-no-optimize # Compiles but tests fail to deploy GovernorCompatibilityBravo (code too large). | ||
) |
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.
Why is it okay to tolerate test failures due to large code size (presumably due to no optimization)?
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.
In this case it's really because I don't want to spend time on tweaking their test/ganache config for this to pass and the this particular config preset is not all that important for us anyway - we skip it in many tests due to stack-related errors. I'd prioritize it more if it was the only preset that could work or if it was the legacy-optimize-evm+yul
one.
54d8a6b
to
60939bd
Compare
Ready for another round or review. |
lint of solcjs is failing though. |
60939bd
to
9148e92
Compare
Failing job was unrelated, fixed in #12446. I just rebased to make tests pass. |
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. What is missing consensus is whether to test the master
branch (unstable), a specific commit etc. So I'd wait for what @axic has to say before merging this PR.
Fair enough. I'd be inclined to just track their Tracking a specific commit will require some slight adjustments because it cannot be done after Also, ENS is not the only project having this problem. Trident is also developing quite rapidly. |
9148e92
to
836fe57
Compare
836fe57
to
7e91dba
Compare
…o-ens-contracts Switch ENS external test to ens-contracts repo
Fixes #8557.
Depends on #12192 (draft until that PR is merged).Merged.ens-contracts seems to be the new consolidated repo for all ENS contracts. The project uses Hardhat now and is compatible with Solidity >= 0.8.4.
The test also now uses the upstream directly rather than our fork in solidity-external-tests.