-
Notifications
You must be signed in to change notification settings - Fork 61
test: Add a new Github action to track failing conformance tests #1519
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
test: Add a new Github action to track failing conformance tests #1519
Conversation
|
Warning: This pull request is touching the following templated files:
|
|
🤖 I detect that the PR title and the commit message differ and there's only one commit. To use the PR title for the commit history, you can use Github's automerge feature with squashing, or use -- conventional-commit-lint bot |
…eljbruce/nodejs-bigtable into mandatory-conformance-tests
This is needed to make the mandatory conformance tests work
.github/sync-repo-settings.yaml
Outdated
| - "ci/kokoro: Samples test" | ||
| - "ci/kokoro: System test" | ||
| - lint | ||
| - mandatory-conformance |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is the new required Github action
| @@ -1 +1,29 @@ | |||
| TestMutateRow_Generic_Headers\|TestMutateRow_Generic_DeadlineExceeded|TestMutateRows_Generic_CloseClient\|TestMutateRows_Retry_WithRoutingCookie\|TestReadModifyWriteRow_Generic_Headers\|TestReadModifyWriteRow_NoRetry_TransientError\|TestReadModifyWriteRow_Generic_DeadlineExceeded\|TestReadRow_Generic_DeadlineExceeded\|TestReadRow_Retry_WithRoutingCookie\|TestReadRow_Retry_WithRetryInfo\|TestReadRows_ReverseScans_FeatureFlag_Enabled\|TestReadRows_NoRetry_OutOfOrderError_Reverse\|TestReadRows_Retry_PausedScan\|TestReadRows_Retry_LastScannedRow\|TestReadRows_Retry_LastScannedRow_Reverse\|TestCheckAndMutateRow_NoRetry_TransientError\|TestCheckAndMutateRow_Generic_DeadlineExceeded | |||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Changes:
- Backslash after
TestMutateRow_Generic_DeadlineExceeded - All test names on their own line
- Lots of tests added to the file that are actually failing
Summary:
This PR adds a required Github action that ensures all conformance tests pass except for the conformance tests listed in the
known_failures.txtfile. This way we can be sure that changes won't be made in the future that cause conformance tests to fail that were passing before without us knowing.Background:
This "conformance test PR" added a Github action that checks to see if all conformance tests are passing. This Github action fails even if one conformance test fails, but many of the conformance tests are failing at this time. So this existing Github action is useful for tracking the overall status of the conformance tests, but we need another Github action to ensure that addressing a known failure doesn't cause other conformance tests to fail.
Changes:
.github/sync-repo-settings.yaml: The new Github action calledmandatory-conformanceis added as a required status check in the continuous integration pipeline. This check makes it so we cannot merge PRs when a code change causes a passing conformance test to suddenly begin failing without adding that test to theknown_failures.txtlist. This will ensure that we do not merge PRs that introduce failing conformance tests without being explicit about introducing the test failure..github/workflows/mandatory-conformance.yaml: This file was created by copyingconformance.yamlfrom this "conformance test PR" and then changing every mention ofconformancetomandatory-conformanceto introduce a new Github action that must pass in order for the PR to be merged..kokoro/mandatory-conformance.sh: This file was created by copyingconformance.shfrom this "conformance test PR" and then changing the line of code that runs the conformance tests to only run tests that are not in theknown_failures.txtlist. The line of code that prints the logs is also omitted so that it doesn't overwrite the logs produced inconformance.sh.known_failures.txt: In this file a backslash is added to address an error and each test is now listed on a separate line so that each time a PR addresses a specific conformance test the diff will show us exactly what test has been addressed. If the test names are not on separate lines then it may be challenging to see exactly what tests have been added or removed to the known failures list. Also, this Github action revealed a list of other conformance tests that are failing that have been added to the list including:TestReadRows_Retry_StreamReset
TestCheckAndMutateRow_Generic_Headers
TestMutateRows_Generic_DeadlineExceeded
TestReadRows_Generic_CloseClient
TestReadRows_Generic_DeadlineExceeded
TestReadRows_Retry_WithRoutingCookie
TestReadRows_Retry_WithRoutingCookie_MultipleErrorResponses
TestReadRows_Retry_WithRetryInfo
TestReadRows_Retry_WithRetryInfo_MultipleErrorResponse
TestSampleRowKeys_Generic_Headers
TestSampleRowKeys_Generic_DeadlineExceeded
TestSampleRowKeys_Retry_WithRoutingCookie
Next Steps:
In future PRs we will address one conformance test at a time shortening the
known_failures.txtlist with each conformance test we successful change from failing to passing.