-
Notifications
You must be signed in to change notification settings - Fork 4.6k
ci-connector-ops: Check test strictness level on GA source connectors #19383
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
Conversation
f5f223a
to
663fae5
Compare
@@ -22,3 +22,4 @@ tests: | |||
skip_comprehensive_incremental_tests: true | |||
full_refresh: | |||
- config_path: "secrets/config.json" | |||
# TODO remove this change |
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 change was only made to check the GitHub workflows works as expected. Must be reverted before merge.
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.
- name: Install ci-connector-ops package | ||
run: pip install --quiet -e ./tools/ci_connector_ops |
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.
👍 running a local package on /this/ branch
pull_request: | ||
paths: | ||
- "airbyte-integrations/connectors/source-**" |
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.
👍 only runs on connector changes
head_commit = AIRBYTE_REPO.head.commit | ||
master_diffs = head_commit.diff(AIRBYTE_REPO.remotes.origin.refs.master) | ||
changed_source_connector_files = [diff.b_path for diff in master_diffs if diff.b_path.startswith(SOURCE_CONNECTOR_PATH_PREFIX)] |
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.
neat!
return response.json() | ||
|
||
|
||
OSS_CATALOG = download_catalog(OSS_CATALOG_URL) |
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.
Nit: Since you are using the published catalog, there's a race-condition if /this/ PR is changing the release stage that the test won't run. Could we look at the local YML files in this branch instead?
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.
Oh yes, you're right. Moreover, the approach I took to compute the diff would also detect connector changes made on master after the PR was opened and not rebased... I improved the behavior in 929e3b0
What
Closes #19378
Now the
test_strictness_level
option is available on SAT'sacceptance-test-config.yml
we want to enforce the usage ofhigh
test_strictness_level
on GA connectors.How
ci-connector-ops
. It can be used in the future for addition of othe CI checks our connector ops team might implement.test_strictness_level == high
in theiracceptance-test-config.yml
.connector_ops_ci.yml
)with aCheck test strictness level
job, (again, this can evolve in the future with additional jobs such as running SAT 🥁 ). This job is triggered on PRs when a connector path is modified.Recommended reading order
airbyte/.github/workflows/connector_ops_ci.yml
Line 1 in 0455882
airbyte/tools/ci_connector_ops/ci_connector_ops/check_test_strictness_level.py
Line 14 in 0455882
airbyte/tools/ci_connector_ops/ci_connector_ops/utils.py
Line 11 in 0455882
🚨 User Impact 🚨
This check will fail in all existing PR modifying GA connectors. It's made to encourage connectors maintainers to set
high
test_strictness_level
.