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

Create action to run Integration test regularly #313

Merged
merged 79 commits into from
Sep 30, 2024
Merged

Conversation

ping-ke
Copy link
Contributor

@ping-ke ping-ke commented Aug 5, 2024

related issue: #308

We need an integration test to check if the latest code can run successfully, and we can set it up as an action to run regularly.

Code change

  1. Create a new run-l2-it-rpc.sh and run-l2-it.sh
  2. Create an Integration test service that has the same RPC handlers function and receives es-node state and check states
	http.HandleFunc("/hello", HelloHandler)
	http.HandleFunc("/reportstate", ReportStateHandler)
  1. Add action integration-test.yml

Check Points

  1. Contract can be deployed successfully
  2. bootnode can be run successfully
  3. Blobs can be uploaded and downloaded to es-node successfully
  4. Receive the Hello request within 10 minutes; otherwise, the es-node may be down.
  5. Get states updated every 5 minutes; otherwise, the es-node may be down.
  6. Sync percentage should increase every state update before it reaches 100%;
  7. Get mine state after sync is done;
  8. Mined at least one block within 2 hours.
  9. Verify data from RPC
  10. Verify data from shard manager

The integration test runs on a self-host machine because it needs to run for a long time with a larger storage size which will incur larger charges.
https://github.com/pricing/calculator?feature=actions#actions
https://docs.github.com/zh/billing/managing-billing-for-github-actions/about-billing-for-github-actions#per-minute-rates

.github/workflows/integration-test.yml Outdated Show resolved Hide resolved
.github/workflows/integration-test.yml Show resolved Hide resolved
.github/workflows/integration-test.yml Outdated Show resolved Hide resolved
@ping-ke ping-ke requested a review from qzhodl September 3, 2024 02:18
@syntrust
Copy link
Contributor

syntrust commented Sep 5, 2024

Not sure in this PR but, since we already have an RPC node, should we support the cases of getting blobs (of different blob encoding types) from the API as part of integration tests?

@ping-ke ping-ke requested a review from qzhodl September 6, 2024 10:21
@qzhodl
Copy link
Contributor

qzhodl commented Sep 9, 2024

Not sure in this PR but, since we already have an RPC node, should we support the cases of getting blobs (of different blob encoding types) from the API as part of integration tests?

@ping-ke do we also want to add a TODO for this

Copy link
Contributor

@qzhodl qzhodl left a comment

Choose a reason for hiding this comment

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

LGTM

@ping-ke ping-ke merged commit 396dd13 into main Sep 30, 2024
2 checks passed
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.

3 participants