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

[ Feature Branch ] Genesis allocs validation #489

Merged
merged 44 commits into from
Sep 3, 2024
Merged

[ Feature Branch ] Genesis allocs validation #489

merged 44 commits into from
Sep 3, 2024

Conversation

geoknee
Copy link
Collaborator

@geoknee geoknee commented Aug 19, 2024

  • Modifies add-chain flow to store sufficient metadata to validate the allocs in a chain's genesis file
  • Adds a genesis package under the validation module, which contains a test to perform full genesis allocs validation
    • It does this by cloning the monorepo, checking out the declared commit, building and generating the l2 genesis using the deploy-config as input. The test can handle multiple different node versions, go versions, and genesis command invocations
    • This full check is only triggered if the validation metadata for a given chain is modified
    • The check is seperate from the other validation checks, so has its own triggers and conditions
    • For each chain modified in this way, we generate a dynamic CI configuration to run the validations concurrently, and then report a single "fan-in" result requiring all to pass
  • Adds a "lite" check for each chain, run as a part of the regular validation suite, which requires the chain has a "genesis creation commit" stored for it.
  • Adds validation metadata for several chains already in the registry, as well as some not yet in the registry (this allows us to save that metadata so we can use it later).

Closes #486
Closes #372
Towards #478

superchain/superchain.go Outdated Show resolved Hide resolved
@geoknee geoknee changed the title "approach 2" "approach 2" for genesis allocs validation Aug 19, 2024
.circleci/config.yml Outdated Show resolved Hide resolved
@geoknee geoknee added the F-do-not-merge Flag: Do Not Merge label Aug 20, 2024
@geoknee geoknee changed the title "approach 2" for genesis allocs validation [ Feature Branch ] Genesis allocs validation Aug 20, 2024
@geoknee
Copy link
Collaborator Author

geoknee commented Aug 29, 2024

Action plan:

  • Merge the stack of PRs into this one.
  • Rebase or update this PR
  • Confirm all known chains still validate correctly
  • Separate out any new chains being added on this PR, to get a streamlined version which only commits
    i. the add-chain code
    ii. the validation code itselg
    iii. the validation input files (meta.toml and deploy-config.toml)
  • We save the new chain information onto another feature branch which we can continue to use to validate all of the chains we care about until they have been merged to main in the usual way

add-chain/main.go Outdated Show resolved Hide resolved
geoknee and others added 15 commits September 2, 2024 12:24
* use dynamic config building in CI

This works by having a small workflow run, compute the list of chain ids to run genesis validation checks on, and then modify a subsequent config file which circleci then runs.

* add comment

* fan in

* fix

* fix script

* Update .circleci/continue_config.yml

Co-authored-by: Vinod Damle <[email protected]>

---------

Co-authored-by: Vinod Damle <[email protected]>
* git restore --source=main -- superchain

* just codegen

* just lint-all

* lint

* typo
to retain chronological ordering
Copy link
Collaborator

@bitwiseguy bitwiseguy left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🚀

@geoknee geoknee enabled auto-merge (squash) September 3, 2024 15:57
@geoknee geoknee merged commit 9c9ba65 into main Sep 3, 2024
22 checks passed
@geoknee geoknee deleted the gk/gen-val-met branch September 3, 2024 15:57
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-validation Area: validation F-do-not-merge Flag: Do Not Merge
Projects
None yet
3 participants