Add integration test #8
Merged
Merged
Conversation
han0110
force-pushed
the
han/feature/e2e
branch
6 times, most recently
from
December 16, 2025 11:09
a895caa to
c62d036
Compare
han0110
force-pushed
the
han/feature/e2e
branch
from
December 16, 2025 12:16
c62d036 to
f633120
Compare
han0110
marked this pull request as ready for review
December 16, 2025 12:37
han0110
commented
Dec 16, 2025
| use std::sync::LazyLock; | ||
|
|
||
| /// Workload repo in format of `{org}/{repo}` e.g. `eth-act/zkevm-benchmark-workload`. | ||
| pub(crate) static WORKLOAD_REPO: LazyLock<String> = LazyLock::new(|| { |
Collaborator
Author
There was a problem hiding this comment.
Read the zkevm-benchmark-workload source from dependency for convenience (in case we need to use a fork).
| .unwrap_or_else(|| panic!("Failed to find repo of `benchmark-runner`")) | ||
| }); | ||
|
|
||
| pub(crate) static WORKLOAD_PKG_VERSION: LazyLock<PackageVersion> = LazyLock::new(|| { |
Collaborator
Author
There was a problem hiding this comment.
Same as above, read the pkg version from dep (tag or revision).
| Ok(config_path.to_string_lossy().to_string()) | ||
| } | ||
|
|
||
| async fn download_program(args: &Args, workspace: &Path) -> anyhow::Result<String> { |
Collaborator
Author
There was a problem hiding this comment.
With tag we can download the compiled guests from release, but for revision we assume it has the Release Compiled Guests action ran, and we download the compiled guests from the artifact it uploaded (which should last for 90 days), hence requiring the github token.
| let input_dir = workspace.join("input"); | ||
| fs::create_dir_all(&input_dir).await?; | ||
|
|
||
| if let Some(rpc_url) = &args.rpc_url { |
Collaborator
Author
There was a problem hiding this comment.
If RPC url is provided, download the latest block , otherwise use the EEST empty block for testing
Contributor
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
stateless_validator, it downloads the compiled stateless validator guest from workload repo to run end-to-end zkboost API test. If RPC url is provided, it generates witness from latest block, otherwise it generate witness from an empty block.Resolves #7
For those who are interested to play with, we can try :
Note that github token is needed because we'll download the compiled artifacts from the action of workload repo.
And it should keep workspace storing the downloaded compiled artifacts and the config (path to the workspace could be found in log like
INFO stateless_validator: Keep server workspace at {path}), with the config we can restart thezkboost-serverby: