Skip to content

Feat(e2e): support multiple aggregators in the e2e tests #2378

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

Merged
merged 39 commits into from
Mar 28, 2025

Conversation

jpraynaud
Copy link
Member

@jpraynaud jpraynaud commented Mar 18, 2025

Content

This PR includes the adaptation of the e2e tests to support multiple aggregators:

  • The relay has been updated to support both Passthrough (messages are sent to the configured aggregator endpoint) and P2P (messages are sent to the P2P network) modes for both the signer registration and signature registration. The configuration options have been updated in that sense
  • The end to end test configuration has evolved:
    • number_of_aggregators and number_of_signers are specified
    • signers run on block producing nodes and aggregators on full nodes
    • use_p2pmode has been replaced by more appropriate use_relays
    • relay_signer_registration_mode and relay-signature_registration_mode have been added (used with the use_relays option)
    • use_p2p_passive_relays has been set to false by default
  • RunOnly mode of the e2e test has been adapted to support concurrently multiple aggregators
  • Spec mode of the e2e test has been adapted to support concurrently multiple aggregators
  • Slave registration of the aggregator has been fixed as it was not targeting the correct verification keys. The associated integration test has been rewritten for finer testing of evolving Mithril stake distribution for each epoch.

Pre-submit checklist

  • Branch
    • Tests are provided (if possible)
    • Crates versions are updated (if relevant)
    • Commit sequence broadly makes sense
    • Key commits have useful messages
  • PR
    • All check jobs of the CI have succeeded
    • Self-reviewed the diff
    • Useful pull request description
    • Reviewer requested
  • Documentation
    • No new TODOs introduced

Issue(s)

Closes #2361

@jpraynaud jpraynaud self-assigned this Mar 18, 2025
Copy link

github-actions bot commented Mar 18, 2025

Test Results

    3 files  ± 0     57 suites  ±0   11m 27s ⏱️ -1s
1 789 tests +10  1 789 ✅ +10  0 💤 ±0  0 ❌ ±0 
2 195 runs  +10  2 195 ✅ +10  0 💤 ±0  0 ❌ ±0 

Results for commit e442474. ± Comparison against base commit 4292395.

♻️ This comment has been updated with latest results.

@jpraynaud jpraynaud force-pushed the jpraynaud/2361-e2e-test-slave-aggregator branch from 99077bb to 9ad40fc Compare March 18, 2025 16:50
@jpraynaud jpraynaud temporarily deployed to testing-preview March 18, 2025 17:01 — with GitHub Actions Inactive
@jpraynaud jpraynaud force-pushed the jpraynaud/2361-e2e-test-slave-aggregator branch 5 times, most recently from cf5d195 to 7c6a300 Compare March 19, 2025 17:47
@jpraynaud jpraynaud temporarily deployed to testing-preview March 19, 2025 17:58 — with GitHub Actions Inactive
@jpraynaud jpraynaud force-pushed the jpraynaud/2361-e2e-test-slave-aggregator branch 5 times, most recently from de78895 to 42b4d01 Compare March 20, 2025 18:34
@jpraynaud jpraynaud marked this pull request as ready for review March 20, 2025 18:35
Copy link
Collaborator

@sfauvel sfauvel left a comment

Choose a reason for hiding this comment

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

LGTM
Just some remarks

Copy link
Collaborator

@dlachaume dlachaume left a comment

Choose a reason for hiding this comment

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

LGTM

Copy link
Collaborator

@Alenar Alenar left a comment

Choose a reason for hiding this comment

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

LGTM with a few caveats.

@jpraynaud jpraynaud force-pushed the jpraynaud/2361-e2e-test-slave-aggregator branch 2 times, most recently from b464797 to 9e47514 Compare March 21, 2025 17:55
@Alenar Alenar force-pushed the jpraynaud/2361-e2e-test-slave-aggregator branch from 9e47514 to be638e5 Compare March 24, 2025 12:19
@jpraynaud jpraynaud force-pushed the jpraynaud/2361-e2e-test-slave-aggregator branch 4 times, most recently from 22a5e26 to c070d80 Compare March 25, 2025 18:07
@jpraynaud jpraynaud force-pushed the jpraynaud/2361-e2e-test-slave-aggregator branch from 5faa87f to 139e0f3 Compare March 26, 2025 16:38
@jpraynaud jpraynaud temporarily deployed to testing-preview March 26, 2025 17:12 — with GitHub Actions Inactive
@jpraynaud jpraynaud force-pushed the jpraynaud/2361-e2e-test-slave-aggregator branch 2 times, most recently from 2b9e1de to 56e9331 Compare March 26, 2025 17:34
@jpraynaud jpraynaud force-pushed the jpraynaud/2361-e2e-test-slave-aggregator branch 2 times, most recently from e34fb97 to ee7f8da Compare March 27, 2025 15:50
@jpraynaud jpraynaud temporarily deployed to testing-preview March 27, 2025 16:11 — with GitHub Actions Inactive
…the epoch service

Instead of having to repeat the call on 'inform_new_epoch' in the state machine for the slave.
When submitting signature to an aggregator with the REST API.
This makes the topology of the P2P network easier to work with.
This will help reduce a lot of flakiness with fast pace devnets as less block producers are running in the network.
@jpraynaud jpraynaud force-pushed the jpraynaud/2361-e2e-test-slave-aggregator branch from ee7f8da to 3b9d45c Compare March 27, 2025 18:00
* mithril-aggregator from `0.7.25` to `0.7.26`
* mithril-common from `0.5.16` to `0.5.17`
* mithril-relay from `0.1.38` to `0.1.39`
* mithril-end-to-end from `0.4.74` to `0.4.75`
@jpraynaud jpraynaud temporarily deployed to testing-preview March 27, 2025 18:11 — with GitHub Actions Inactive
Copy link
Collaborator

@dlachaume dlachaume left a comment

Choose a reason for hiding this comment

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

LGTM 👍

@jpraynaud jpraynaud merged commit 5fb8826 into main Mar 28, 2025
38 checks passed
@jpraynaud jpraynaud deleted the jpraynaud/2361-e2e-test-slave-aggregator branch March 28, 2025 14:38
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

E2e tests adaptation for multiple aggregators
4 participants