besu icon indicating copy to clipboard operation
besu copied to clipboard

GHA for Kurtosis

Open macfarla opened this issue 1 year ago • 1 comments

Simple GHA workflow to spin up a kurtosis network from a simple config

  • test besu against all CLs,
  • use assertoor to assert block production Can copy from https://github.com/Consensys/teku/pull/8306

maybe nightly? maybe need large runners?

macfarla avatar Jun 11 '24 00:06 macfarla

GHA reference: https://github.com/marketplace/actions/kurtosis-assertoor-github-action

lucassaldanha avatar Jun 12 '24 21:06 lucassaldanha

https://github.com/kurtosis-tech/kurtosis-github-action/blob/main/action.yaml

macfarla avatar Aug 27 '24 23:08 macfarla

I had a look of both GitHub actions. Looks like this https://github.com/marketplace/actions/kurtosis-assertoor-github-action wait for the assertoo tests to complete. I will investigate this action see how we can adopt it.

cdivitotawela avatar Aug 28 '24 00:08 cdivitotawela

Executed Kurtosis with Assertoor in GitHub actions for different combinations. Tests were executed in a private repo with 16-core(64GB memory) GitHub runner.

  • Basic test run_lifecycle_test takes about 30min
  • Running all Assertoor tests takes over 6hrs
  • Running multiple client combinations besu+teku, geth+teku, nethermind+teku is possible and these runs simultaneously. However including all possible supported options failed the GitHub action. It could be a resource issue
  • In the PoC latest Teku image has been used. It is possible to specify any image using the Kurtosis argument file

Next steps

  • Discuss where Kurtosis can add value in the CI. Given running all tests take longer time, it may best to select specific tests to run in CI
  • May be running all tests could be helpful before a release

cdivitotawela avatar Sep 02 '24 05:09 cdivitotawela

TODO

  • add to readme how to run the workflow
  • allow choosing a different repo - so we can test PR branches
  • see if we can run the pectra tests

macfarla avatar Oct 08 '24 23:10 macfarla

GHA created in the private repository https://github.com/Consensys/protocols-devnets This supports running Kurtosis with Ethereum package on Besu for specific tag/branch/sha. Currently supports Assertoor stability checks only. Could add more Assertoor tests as required.

Adding Pectra tests will be handled in a separate issue

cdivitotawela avatar Oct 09 '24 23:10 cdivitotawela