Tests in CI are flakey #142
Open
opened 2024-01-23 17:45:45 +00:00 by telackey
·
12 comments
No Branch/Tag Specified
main
zach/prefix
roy/rm-hardcoded-records
roy/graphql-to-ipld
roy/qol-improvements
murali/gql
murali/update-fork
murali/record-attributes
aleem/fix-lint-errors
murali/CIDFromJSONBytes
update-validator-doc-v0.8.0
feature_test_record_types
aleem/25-wasmd
release-v0.8.0
nameservice_tests_github
auction_tests
all_test_stuff
fix_cid_generation
run_tests_github_action
0-7-0-upgrade-guide
murali/sdk-integration-tests
murali/quick-fix
dboreham/sdk-integration-test
console_release
release-v0.3.1-dev
release-v0.6.0
anil/lint
murali/to_ipld_prime
docs
release-v0.2.0-dev
ian/smt
v0.8.0
v0.7.0
v0.6.0
v0.3.0-dev
v0.2.1-dev
v0.2.0-dev
v0.1.0-dev
Labels
Clear labels
C:CLI
C:Crypto
C:Encoding
C:Proto
C:Types
Status: Stale
Type: ADR
Type: Build
Type: CI
Type: Docs
Type: Tests
bug
dependencies
docker
documentation
duplicate
enhancement
go
good first issue
help wanted
high priority
in progress
invalid
javascript
low priority
medium priority
question
urgent
wontfix
Copied from Github
Kind/Breaking
Kind/Bug
Kind/Documentation
Kind/Enhancement
Kind/Feature
Kind/Security
Kind/Testing
Something isn't working
Pull requests that update a dependency file
Pull requests that update Docker code
Improvements or additions to documentation
This issue or pull request already exists
New feature or request
Pull requests that update Go code
Good for newcomers
Extra attention is needed
currently working on
This doesn't seem right
Pull requests that update Javascript code
Further information is requested
Top priority issue
This will not be worked on
An issue or PR manually copied from GitHub.
Breaking change that won't be backward compatible
Something is not working
Documentation changes
Improve existing functionality
New functionality
This is security issue
Issue or pull request related to testing
Priority
Critical
The priority is critical
Priority
High
The priority is high
Priority
Low
The priority is low
Priority
Medium
The priority is medium
Reviewed
Confirmed
Issue has been confirmed
Reviewed
Duplicate
This issue or pull request already exists
Reviewed
Invalid
Invalid issue
Reviewed
Won't Fix
This issue won't be fixed
Status
Abandoned
Somebody has started to work on this but abandoned work
Status
Blocked
Something is blocking this issue or pull request
Status
Need More Info
Feedback is required to reproduce issue or to continue work
No labels
Milestone
No items
No Milestone
Projects
Clear projects
No projects
No Assignees
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: cerc-io/laconicd-deprecated#142
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Here is an example failure for
test-rpc:There is nothing new that is broken here, and re-running the test passed without issue.
The test seems to be dependent on some sort of performance of other environmental factor that means sometimes it works and sometimes it does not, depending on what task runner it gets assigned to, what other actions are running on the machine, etc.
Another example:
Can we get the test time for the passed case?
SDK tests:
Some parallelism thing?
With an overall runtime of 4m23s
Definitely shorter times than the failure case. Is there some global timeout we can set?
Also : what's it doing for 20 seconds??
Another idea: could we just try a faster runner and see if that fixes the problem?
I'm all for trying the that, we just need to know where to put it.
What does it entail? Could we run it temporarily on one of the big servers?
It is fairly simple to spin up one, and we'd need to give it some sort of unique tag and alter the workflows accordingly.
That would also have the side-effect of queueing all the tasks on the same runner to run sequentially, which might improve performance of individual tests vs the possibility of multiple jobs running on the same host machine at the same time.
I'm not sure how that works long term, because it is pretty inefficient, but it might be useful for diagnostic purposes.
My thinking was to just try it initially and see if it makes the tests reliable. Then we can think about next steps.