-
Notifications
You must be signed in to change notification settings - Fork 110
Integration testing updates #2302
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
base: main
Are you sure you want to change the base?
Conversation
| runs-on: ${{ matrix.sys }} | ||
| env: | ||
| TEST_THREADS: ${{ contains(matrix.sys, 'macos') && '--test-threads=1' || '' }} # macOS has limited resources, so we run tests (that rely on `testcontainers`) with 1 thread | ||
| TEST_THREADS: ${{ contains(matrix.sys, 'macos') && '2' || '4' }} # macOS has limited resources |
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.
The macos-15 intel image has enough room to run multi-threaded, and this puts a cap on ubuntu images to help reproduce any errors due to too many tests running at once against a single test source
| # Only run Linux x64 on non-release PRs to save CI minutes | ||
| - sys: ${{ github.event_name != 'push' && !startsWith(github.ref_name, 'release/') && 'ubuntu-jammy-8-cores-arm64' }} | ||
| - sys: ${{ github.event_name != 'push' && !startsWith(github.ref_name, 'release/') && 'macos-15-large' }} |
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.
Thoughts on only running all 3 container types on release branches? It might not be necessary for main pushes / feature PRs
|
|
||
| #[tokio::test] | ||
| #[ignore] | ||
| async fn burn() { |
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.
this test didn't appear to cover any additional usage cases that aren't already covered by hello_world
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.
relocated to where the relevant code is: soroban-spec-tools
| #[tokio::test] | ||
| #[ignore] | ||
| async fn half_max_instructions() { | ||
| let sandbox = TestEnv::new(); | ||
| let wasm = HELLO_WORLD; | ||
| sandbox | ||
| .new_assert_cmd("contract") | ||
| .arg("deploy") | ||
| .arg("--fee") | ||
| .arg("1000000") | ||
| .arg("--instructions") | ||
| .arg((u32::MAX / 2).to_string()) | ||
| .arg("--wasm") | ||
| .arg(wasm.path()) | ||
| .arg("--ignore-checks") | ||
| .assert() | ||
| .stderr("") | ||
| .stdout_as_str(); | ||
| } |
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.
wasn't able to determine what this test was doing, opted to remove it. Looks like it had been marked #[ignore] since it got added.
695ad2a to
1b6230c
Compare
3edbddc to
cb488ff
Compare
cb488ff to
ffebf0a
Compare
ffebf0a to
cf08a22
Compare
What
Minor improvements to RPC tests, (hopefully) patching secure store intermittent CI failures, and allowing all container types to run on release PR updates.
Why
Failure rate of RPC tests is ~30% in CI pipelines, and a few tests have remained ignored without issues
Known limitations
Slightly increase CI minutes as now 3 container types will run RPC tests on release PRs as well