-
Notifications
You must be signed in to change notification settings - Fork 4.4k
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 connector ops: introduce QA checks in /test #21699
Conversation
An example of a |
Airbyte Code Coverage
|
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.
These checks will run on /test and nightly builds.
Their failure will lead to a build failure in the CI.
They are not meant to be run manually by connector developers to test actual connector behavior.
They are run in the CI to asses whether a connector meets all the QA requirements to join our connector catalog.
Just wondering where we plan to run/consume this info in the future - since we're tying it to a /test
failure; if we're using it to remove connectors from cloud, does that also then mean we'd remove them if their integration tests fail, even if QA checks are passing?
This is my only open question re: approval
for qa_check in QA_CHECKS: | ||
successful_check = qa_check(connector_name) | ||
check_result_prefix = "✅" if successful_check else "❌" | ||
print(f"{check_result_prefix} - {qa_check.__name__}") | ||
qa_check_results.append(successful_check) | ||
if not all(qa_check_results): | ||
print(f"QA checks failed for {connector_name}") |
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.
Non-blocking, but ere, I find the naming of successful_check
a bit confusing, and we're only storing the boolean result, so we have to rely on the print statements to interpret which one failed. WDYT about a dictionary of check_results? {"check_name": bool}
e.g. {"check_connector_icon_is_available": True, "check_changelog_entry_is_updated": False}
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.
I improved it as you suggested 😄
These new checks will be run on each |
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.
These new checks are not meant to decide if a connector gets added or removed from Cloud (this will be a different action based on these test results and other logic).
Got it - that was the clarification I needed!
What
Closes #21694
I want to run QA checks during the integration test workflow run.
These checks will run on
/test
and nightly builds.Their failure will lead to a build failure in the CI.
They are not meant to be run manually by connector developers to test actual connector behavior.
They are run in the CI to asses whether a connector meets all the QA requirements to join our connector catalog.
How
run-qa-checks
commands inci-connector-ops
python packagerun-qa-checks
command inairbyte/tools/bin/ci_integration_test.sh
Line 35 in 7f5e5d9
airbyte/.github/workflows/test-command.yml
Line 1 in 7f5e5d9
They are not required and their absence simplifies the availability of
run-qa-checks
command in path.🚨 User Impact 🚨
None: all the checks are forced to successful and yet to be implemented in future PRs.