Skip to content
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

CI verifies that Lotus works with existing common smart contract developer tools #12362

Open
BigLep opened this issue Aug 8, 2024 · 5 comments

Comments

@BigLep
Copy link
Member

BigLep commented Aug 8, 2024

Done Criteria

We have a CI check that asserts that https://github.com/filecoin-project/fevm-contract-tests still pass against Lotus.

Why Important

Currently many Lotus maintainers aren't cognizant of EVM developer toolchains and may not be able to anticipate breakages. if a Lotus change breaks common EVM developer tools we at the minimum want to know about it and likely want to address the issue then.

User/Customer

Maintainers/contributors to make sure they don't cause regressions. This is being done in service of those doing smart contract development with FEVM.

Notes

  1. https://github.com/filecoin-project/fevm-contract-tests needs updating so it can be run against Lotus.
  2. If there are things in that repo that aren't passing because of FEVM/Lotus issues, I think we should disable them but have the tracking item in Lotus' repo to fix and then reenable. That way we know where we stand with existing/common tool support and Lotus can still hold the line to not regress further.
  3. This is being done in partnerhsip between Lotus maintainers and FIL-B since they are more experienced with these toolchains (e.g., hardhat, openzeppelin). FIL-B owns making sure https://github.com/filecoin-project/fevm-contract-tests is a good test suite, and Lotus maintainers own making sure it runs in Lotus CI and responding/fixing issues. That said, others are welcome to jump in and contribute here!
  4. #fil-lotus-dev conversation where this was first discussed: https://filecoinproject.slack.com/archives/CP50PPW2X/p1723073155821379
@BigLep BigLep added this to FilOz Aug 8, 2024
@snissn
Copy link
Contributor

snissn commented Aug 14, 2024

Check this repo out where I think a lot of the concerns of "FEVM/Lotus issues" are fixed:

https://github.com/consensus-shipyard/fevm-contract-tests

and

consensus-shipyard/ipc#662

here's a recent run of the CI https://github.com/consensus-shipyard/ipc/actions/runs/10368566513/job/28702463734

@BigLep
Copy link
Member Author

BigLep commented Aug 14, 2024

Thanks @snissn. Are you suggesting we should be able to follow what consensus-shipyard/ipc does to have these tests run in Lotus' CI?

Also, do you know why this was forked from filecoin-project vs. being updated there?

@rvagg
Copy link
Member

rvagg commented Aug 15, 2024

That's pretty cool, does this CI touch Lotus at all as it is, or is this all fendermint and the rest of the IPC stack?

@BigLep
Copy link
Member Author

BigLep commented Sep 4, 2024

For visibility, work is being done to update fevm-contract-tests in filecoin-project/fevm-contract-tests#26

@BigLep
Copy link
Member Author

BigLep commented Sep 4, 2024

2024-09-04 maintainer conversation notes: this is going to need to run on a periodic basis (and not against each PR) because the tests can take a long time to run.

Implementation note: we can follow a similar pattern of #12234 to run this on cron and open/update an issue on failure.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: No status
Development

No branches or pull requests

3 participants