-
Notifications
You must be signed in to change notification settings - Fork 4.9k
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
ci: configure retries on tests #20891
Conversation
Co-authored-by: cachedout <mike.place@elastic.co>
💔 Tests FailedExpand to view the summary
Build stats
Test stats 🧪
Test errorsExpand to view the tests failures
Steps errorsExpand to view the steps failures
Log outputExpand to view the last 100 lines of log output
|
+1 to add retries, but only if we have also something to track flaky tests. If we only add retries we may end-up with more and worse flaky tests, as CI will be less sensible to flakiness. Worst case we may end-up with tests that only sometimes pass and 3 retries won't be enough. Would this plugin also allow to generate some report on tests that need more retries so we can still act on them? Maybe another option is to use the |
Well, I agree, but 3 runs are not much and this will detect really painful tests we should fix on the first instance, after fix 'em all, we would move the retry to 2, and so on. In that way, we will remove all flaky test and we add a layer of resilience to infrastructure issues.
no, it does not support to report the number of runs right now, see pytest-dev/pytest-rerunfailures#97
It is possible to rerun only flaky |
finally, we introduced the plugin and the environment variable empty, so you have to enable retries manually. The plugin allows us to mark tests as flaky and allow retry them. |
💔 Tests FailedExpand to view the summary
Build stats
Test stats 🧪
Test errorsExpand to view the tests failures
Steps errorsExpand to view the steps failures
Log outputExpand to view the last 100 lines of log output
|
* upstream/master: Skip flaky test TestClientPublishEventKerberosAware (elastic#21296) [CI] Enable macOS builds for branches/tags (elastic#21323) [CI] refactor runbld post build action (elastic#21256) [CI] cherry-pick elastic#20891 (elastic#21314)
Co-authored-by: Ivan Fernandez Calvo <kuisathaverat@users.noreply.github.com>
Co-authored-by: Ivan Fernandez Calvo <kuisathaverat@users.noreply.github.com>
* feat: configure retries on tests * Update Jenkinsfile Co-authored-by: cachedout <mike.place@elastic.co> * Update Jenkinsfile Co-authored-by: cachedout <mike.place@elastic.co>
* feat: configure retries on tests * Update Jenkinsfile Co-authored-by: cachedout <mike.place@elastic.co> * Update Jenkinsfile Co-authored-by: cachedout <mike.place@elastic.co> # Conflicts: # Jenkinsfile
* feat: configure retries on tests * Update Jenkinsfile Co-authored-by: cachedout <mike.place@elastic.co> * Update Jenkinsfile Co-authored-by: cachedout <mike.place@elastic.co> # Conflicts: # Jenkinsfile
Co-authored-by: Ivan Fernandez Calvo <kuisathaverat@users.noreply.github.com> Co-authored-by: Ivan Fernandez Calvo <kuisathaverat@users.noreply.github.com>
What does this PR do?
it adds support for retry test with pyTests. (https://github.com/pytest-dev/pytest-rerunfailures)
Why is it important?
some test fails occasionally but there is not really an error, because of that retries the failed test 3 times with a little sleep of 15 seconds will stabilize the test results on the integration test.
Checklist
[ ] My code follows the style guidelines of this project[ ] I have commented my code, particularly in hard-to-understand areas[ ] I have made corresponding changes to the documentation[ ] I have made corresponding change to the default configuration files[ ] I have added tests that prove my fix is effective or that my feature works[ ] I have added an entry inCHANGELOG.next.asciidoc
orCHANGELOG-developer.next.asciidoc
.