Skip to content

Tests: migrate remaining YAML integration tests to Go runner (PLT-738)#3612

Open
amir-deris wants to merge 1 commit into
mainfrom
amir/plt-738-migrate-rest-yaml-tests-to-go-runner
Open

Tests: migrate remaining YAML integration tests to Go runner (PLT-738)#3612
amir-deris wants to merge 1 commit into
mainfrom
amir/plt-738-migrate-rest-yaml-tests-to-go-runner

Conversation

@amir-deris

@amir-deris amir-deris commented Jun 18, 2026

Copy link
Copy Markdown
Contributor

Summary

  • Wires up the two remaining YAML test files (major_upgrade_test.yaml, minor_upgrade_test.yaml) as TestUpgradeMajor / TestUpgradeMinor in runner_test.go
  • Splits TestWasmModuleTestWasmModuleCore + TestWasmModuleEmergencyWithdraw (CI re-deploys the timelocked token contract between them; the withdraw test exhausts state the emergency-withdraw test depends on)
  • Splits TestSeiDBTestSeiDBFlatKV + TestSeiDBStateStore (they run in separate CI matrix jobs)
  • Replaces every python3 integration_test/scripts/runner.py call in integration-test.yml with the equivalent go test -tags yaml_integration command, including the shared startup verify step
  • Removes actions/setup-python and pip3 install pyyaml from the CI job steps
  • Updates upgrade_module/scripts/launch_cluster.sh (local cluster helper) to use the Go runner
  • Deletes integration_test/scripts/runner.py

Test plan

  • CI matrix passes end-to-end (all matrix jobs use the Go runner now)
  • Upgrade module jobs (Upgrade Module (Major/Minor) and their Autobahn variants) exercise the new TestUpgradeMajor / TestUpgradeMinor functions
  • Wasm module job redeploys contract between TestWasmModuleCore and TestWasmModuleEmergencyWithdraw
  • No python3 or pyyaml references remain in CI workflow

🤖 Generated with Claude Code

@amir-deris amir-deris self-assigned this Jun 18, 2026
@amir-deris amir-deris changed the title Migrated remaining yaml tests to go runner Tests: migrate remaining YAML integration tests to Go runner (PLT-738) Jun 18, 2026
@cursor

cursor Bot commented Jun 18, 2026

Copy link
Copy Markdown

PR Summary

Low Risk
Changes are limited to integration test execution and CI wiring; the same YAML scenarios run through the Go runner with no application or chain logic changes.

Overview
Finishes migrating YAML-based Docker integration tests from the Python runner to the existing Go integration_test/runner package, so CI and helper scripts no longer depend on Python/PyYAML for those suites.

The integration-test workflow replaces every python3 integration_test/scripts/runner.py … matrix step with targeted go test -tags yaml_integration … -run … commands (including startup via TestStartup). It drops the Python setup and pip install pyyaml steps. Wasm, SeiDB, upgrade, and other jobs keep the same shell prerequisites (deploy scripts, etc.) but run the matching Go tests instead.

runner_test.go reshapes coverage to match CI: TestWasmModule splits into TestWasmModuleCore and TestWasmModuleEmergencyWithdraw (second deploy in CI between them); TestSeiDBFlatKV vs TestSeiDBStateStore replace a combined SeiDB test; TestUpgradeMajor / TestUpgradeMinor are added for upgrade YAML. integration_test/scripts/runner.py is deleted. launch_cluster.sh uses go test … -run TestStartup instead of the Python runner.

Reviewed by Cursor Bugbot for commit 415dfb7. Bugbot is set up for automated code reviews on this repo. Configure here.

@github-actions

github-actions Bot commented Jun 18, 2026

Copy link
Copy Markdown

The latest Buf updates on your PR. Results from workflow Buf / buf (pull_request).

BuildFormatLintBreakingUpdated (UTC)
✅ passed✅ passed✅ passed✅ passedJun 18, 2026, 11:49 PM

@codecov

codecov Bot commented Jun 18, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 58.14%. Comparing base (4f5889e) to head (415dfb7).

Additional details and impacted files

Impacted file tree graph

@@            Coverage Diff             @@
##             main    #3612      +/-   ##
==========================================
- Coverage   59.02%   58.14%   -0.89%     
==========================================
  Files        2215     2141      -74     
  Lines      182521   173974    -8547     
==========================================
- Hits       107734   101157    -6577     
+ Misses      65091    63821    -1270     
+ Partials     9696     8996     -700     
Flag Coverage Δ
sei-chain-pr 0.00% <ø> (?)
sei-db 70.41% <ø> (ø)
sei-db-state-db ?

Flags with carried forward coverage won't be shown. Click here to find out more.
see 74 files with indirect coverage changes

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@cursor cursor Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Cursor Bugbot has reviewed your changes using default effort and found 1 potential issue.

Fix All in Cursor

❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.

Reviewed by Cursor Bugbot for commit 415dfb7. Configure here.

"python3 integration_test/scripts/runner.py integration_test/staking_module/staking_test.yaml",
"python3 integration_test/scripts/runner.py integration_test/bank_module/send_funds_test.yaml",
"python3 integration_test/scripts/runner.py integration_test/mint_module/mint_test.yaml"
"go test -tags yaml_integration -v -timeout $JOB_TIMEOUT ./integration_test/runner/... -run \"TestMintModule|TestStakingModule|TestBankModule\""

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Autobahn bank runs block-mode txs

High Severity

The Autobahn Mint & Staking & Bank matrix job now runs the full TestBankModule, which includes multi_sig_send_test.yaml and simulation_tx.yaml. Those YAML cases still broadcast with -b block, which Autobahn does not support and can hang CI. The previous Python runner only executed send_funds_test.yaml, which uses sync helpers.

Fix in Cursor Fix in Web

Triggered by learned rule: test: use -b sync + side-effect polling, not -b block, in seid tx helpers

Reviewed by Cursor Bugbot for commit 415dfb7. Configure here.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant