-
Notifications
You must be signed in to change notification settings - Fork 88
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
feat(auctioneer): POC of an auctioneer smoke test #1975
base: main
Are you sure you want to change the base?
Conversation
defaultTag := "" | ||
defaultNamespace := "astria-dev-cluster" | ||
evm_destination_address := "0x507056D8174aC4fb40Ec51578d18F853dFe000B2" | ||
smoke_test_image := "bharath123456/auctioneer-smoke-test:latest" |
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.
I pushed the image to my personal dockerhub account for the purpose of a POC. it should be trivial to move it to an ghcr/astria account.
echo "Setting up 3 astria sequencer nodes" | ||
echo "Setting up the first astria sequencers..." && helm install \ | ||
-n astria-validator-node0 node0-sequencer-chart ./sequencer \ | ||
-f ../dev/values/validators/all.yml \ | ||
-f ../dev/values/validators/node0.yml \ | ||
--set sequencer.optimisticBlockApis.enabled=true \ | ||
{{ if tag != '' { replace('--set images.sequencer.devTag=# --set sequencer-relayer.images.sequencerRelayer.devTag=#', '#', tag) } else { '' } }} \ | ||
--create-namespace > /dev/null | ||
|
||
echo "Setting up the second astria sequencer..." && helm install \ | ||
-n astria-validator-node1 node1-sequencer-chart ./sequencer \ | ||
-f ../dev/values/validators/all.yml \ | ||
-f ../dev/values/validators/node1.yml \ | ||
--set sequencer.optimisticBlockApis.enabled=true \ | ||
{{ if tag != '' { replace('--set images.sequencer.devTag=# --set sequencer-relayer.images.sequencerRelayer.devTag=#', '#', tag) } else { '' } }} \ | ||
--create-namespace > /dev/null | ||
|
||
echo "Setting up the third astria sequencer..." && helm install \ | ||
-n astria-validator-node2 node2-sequencer-chart ./sequencer \ | ||
-f ../dev/values/validators/all.yml \ | ||
-f ../dev/values/validators/node2.yml \ | ||
--set sequencer.optimisticBlockApis.enabled=true \ | ||
{{ if tag != '' { replace('--set images.sequencer.devTag=# --set sequencer-relayer.images.sequencerRelayer.devTag=#', '#', tag) } else { '' } }} \ | ||
--create-namespace > /dev/null |
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.
We could probably do this in a more concise way.
@@ -11,7 +11,7 @@ images: | |||
repo: ghcr.io/astriaorg/flame | |||
pullPolicy: IfNotPresent | |||
tag: sha-457e1f9 | |||
devTag: sha-457e1f9 | |||
devTag: latest |
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.
We need to merge #1972 for these changes to go into main.
# TODO - update to latest tag | ||
tag: "pr-1839" | ||
devTag: "pr-1839" | ||
tag: sha-2db84ed |
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.
We need to merge #1972 for these changes to go into main.
Summary
We add a smoke test to test the auctioneer setup e2e.
Background
The setup for auctioneer is complex as there are multiple components and moving parts involved. Having a smoke test can help us guarantee that things don't break early on while developing it further.
To be able to write a reliable smoke test for auctioneer, we need to have a way to reliably guarantee inclusion. Since if we submit a bid too late into a block, it can miss making it to the next sequencer block. Note that this is not a bug in the system.
In the current design of auctioneer, if the bid doesn't make it into the sequencer block or if there is a bug in the read/write paths of auctioneer then in both cases, we only observe an unfinalized transaction. We cannot distinguish between a bid submitted too late or a bug in the pipeline.
In order to achieve this, we use the code in https://github.com/astriaorg/auctioneer-searcher-simulation/tree/bharath/smoke-test-strip-down to run a smoke test. On a high level, we listen to the optimistic block and when we receive an optimistic block, we submit the bid. We submit the bid as early as possible to ensure reliably inclusion.
In the smoke test, we submit 5 bids and the smoke test only passes when 3/5 bids successfully make it in a block.
Changes
Testing
Locally deploying and running the smoke test.
Related Issues
closes #1971