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

feat(ci): add sending_transactions_using_lightwalletd test to CI #4267

Merged
merged 127 commits into from
May 6, 2022

Conversation

gustavovalverde
Copy link
Member

@gustavovalverde gustavovalverde commented May 2, 2022

Motivation

We want to add all completed lightwalletd integration tests to CI, to confirm we're not introducing bugs to the RPC endpoints or any other implementation related to lightwalletd

Fixes #4168
Fixes: #4305

Designs

  • Consider the implementations being done in test.yml and test-full-sync.yml

Solution

  • Add sending_transactions_using_lightwalletd test to CI
  • Add sending_transactions_using_lightwalletd to entrypoint.sh for easier execution

Review

Anyone from the DevOps team can review this

Reviewer Checklist

  • Verify tests are using the right execution methods
  • Confirm job id, step names and description

Follow Up Work

Simplify this job with the refactor being done for reusable workflows

This is a workaround for an issue related to disk partitioning, caused by a GCP service called Konlet, while mounting the cached disks to the VM and then to the container
Copy link
Contributor

@teor2345 teor2345 left a comment

Choose a reason for hiding this comment

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

This is looking good so far, I just have a few questions.

Edit: question resolved by PR #4332

@teor2345
Copy link
Contributor

teor2345 commented May 5, 2022

@jvff @gustavovalverde it seems like there is a bug in the sending_transactions_using_lightwalletd test:

State directory doesn't have a chain tip block

This state path looks suspicious:

May 05 20:03:11.748 INFO Opened Zebra state cache at /tmp/zebrad_testsDJTecY/state/state/v23/mainnet

  • state/state is duplicated, Zebra only uses one state directory by default
  • /tmp/zebrad_testsDJTecY is a temporary directory, should it be using /var/cache/zebrad-cache instead?

It would be helpful if sending_transactions_using_lightwalletd logged what it was doing at info level.

https://github.com/ZcashFoundation/zebra/runs/6312788960?check_suite_focus=true#step:8:217

That was a workaround for an issue that has been fixed.
@teor2345
Copy link
Contributor

teor2345 commented May 5, 2022

Why is the full-sync-to-tip test running in this PR's GitHub actions?
Did we make a mistake in the run conditions?
https://github.com/ZcashFoundation/zebra/runs/6312789433?check_suite_focus=true

I opened PR #4332 to fix this.

Copy link
Contributor

@teor2345 teor2345 left a comment

Choose a reason for hiding this comment

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

I think these are the conditions we want

@teor2345
Copy link
Contributor

teor2345 commented May 5, 2022

  • Quota 'C2D_CPUS' exceeded. Limit: 300.0 in region us-central1.

@teor2345
Copy link
Contributor

teor2345 commented May 5, 2022

  • Quota 'C2D_CPUS' exceeded. Limit: 300.0 in region us-central1.

I'm re-running those jobs now.

@teor2345
Copy link
Contributor

teor2345 commented May 5, 2022

Still failing with:

May 05 22:28:14.398 INFO Opened Zebra state cache at /tmp/zebrad_testseZOF6F/state/state/v23/mainnet
...
State directory doesn't have a chain tip block

https://github.com/ZcashFoundation/zebra/runs/6314502890?check_suite_focus=true#step:8:292

@teor2345
Copy link
Contributor

teor2345 commented May 5, 2022

@Mergifyio update

@mergify
Copy link
Contributor

mergify bot commented May 5, 2022

update

✅ Branch has been successfully updated

mergify bot and others added 4 commits May 5, 2022 22:33
Was also part of a workaround for an issue that has been fixed.
Co-authored-by: teor <teor@riseup.net>
Some versions print `Waiting for block`, and some versions print
`Ingestor waiting for block`.
@teor2345
Copy link
Contributor

teor2345 commented May 6, 2022

Error: buildx failed with: error: failed to solve: failed to fetch oauth token: unexpected status: 401 Unauthorized

I'll restart

@teor2345
Copy link
Contributor

teor2345 commented May 6, 2022

@Mergifyio update

@mergify
Copy link
Contributor

mergify bot commented May 6, 2022

update

✅ Branch has been successfully updated

Copy link
Contributor

@teor2345 teor2345 left a comment

Choose a reason for hiding this comment

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

This all appears to be working correctly

{"app":"lightwalletd","level":"info","msg":"Adding new mempool txid 0f0e4c4978d9446bc9b173612c71c705ecf7dd2f6e7432f6b04697d6b2be9a04 sending to 0 clients","time":"2022-05-06T04:13:04Z"}

https://github.com/ZcashFoundation/zebra/runs/6317043136?check_suite_focus=true#step:8:728

test sending_transactions_using_lightwalletd ... ok
test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 37 filtered out; finished in 2241.01s

https://github.com/ZcashFoundation/zebra/runs/6317043136?check_suite_focus=true#step:8:819

May 06 04:13:04.654 INFO {net="Main"}: zebrad::components::mempool::gossip: sending mempool transaction broadcast request=AdvertiseTransactionIds({Legacy(transaction::Hash("0f0e4c4978d9446bc9b173612c71c705ecf7dd2f6e7432f6b04697d6b2be9a04"))})

https://github.com/ZcashFoundation/zebra/runs/6317043136?check_suite_focus=true#step:8:812

mergify bot added a commit that referenced this pull request May 6, 2022
@mergify mergify bot merged commit 9226ade into main May 6, 2022
@mergify mergify bot deleted the lwd-ci-transaction branch May 6, 2022 05:30
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-devops Area: Pipelines, CI/CD and Dockerfiles C-enhancement Category: This is an improvement I-usability Zebra is hard to understand or use lightwalletd any work associated with lightwalletd
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Set RUST_LOG environmental variable in gcp-test-deploy.yml ci: call lightwalletd wallet queries
3 participants