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

[TABJS-17] Using this package to run tests with GitHub actions is buggy #96

Open
dtbuchholz opened this issue Nov 21, 2023 · 0 comments
Labels
bug Something isn't working chore Something that needs doing

Comments

@dtbuchholz
Copy link
Contributor

what happens

Running tests on a developer machine always works as expected, but when the tests are run as part of CI via github actions they fail about half the time.

how to reproduce

For an Example look at: https://github.com/tablelandnetwork/jeti/actions/runs/5191892282/jobs/9360322039
You will see that the network logs are turned on and the tests start running before the Validator has created the healthbot table. Some of the tests pass in this case, but the tests that create tables end up failing because the validator transaction receipt polling is aborted after the polling timeout is reached.
As a means of exploring why this is happening I had the test setup wait for a full 60 seconds after the local-tableland network signaled that it is ready. The same intermittent failures are still occurring.
I have a few theories why this is happening:

  • The Validator process is failing before the node.js process error listener has been attached correctly.
  • The Validator startup process is still taking place when the local-tableland parent process is signaling the network is ready.
  • The Validator is starting, but being overwhelmed with polling requests and smart contract events.

What is expected

This package should work correctly for CI done via github actions

Additional context

The parent process signals that the network is ready by inspecting the Validator process stdout, and waiting for a specific message. That message is currently the string "processing height". This is brittle at best, and we should consider having the Validator log a specific message when it considers itself to be fully online.

--

See the original issue here for more context.

From SyncLinear.com | TABJS-17

@dtbuchholz dtbuchholz added bug Something isn't working chore Something that needs doing labels Nov 21, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working chore Something that needs doing
Projects
None yet
Development

No branches or pull requests

1 participant