Skip to content
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

qa-engine: implement early enrichments and validations on QA report #21776

Merged
merged 1 commit into from
Jan 25, 2023

Conversation

alafanechere
Copy link
Contributor

@alafanechere alafanechere commented Jan 24, 2023

What

Closes #21719
Closes #21724
Closes #21722

Implement generation of QA report with actual data from the OSS and Cloud combined catalogs.
Generate a report with the expected columns and implement early checks:

  • documentation_is_available
  • is_appropriate_for_cloud_use

How

Create an enriched intermediate catalog:

  • merge OSS and Cloud catalogs.
  • determine which connector is on Cloud or not according to the merge result
  • perform other transformations useful for the generation and consumption of the QA report

Create the QA report from the enriched catalog:

  • implement simple validations:
    • documentation_is_available: check if GET documentation url returns 200.
    • is_appropriate_for_cloud_use: check if the connector definition id is part of the INAPPROPRIATE_FOR_CLOUD_USE list.

▶️ 👀 An example of the generated QA report can be found here: qa_report.json.zip

@alafanechere alafanechere temporarily deployed to more-secrets January 24, 2023 10:47 — with GitHub Actions Inactive
@alafanechere alafanechere temporarily deployed to more-secrets January 24, 2023 10:47 — with GitHub Actions Inactive
@alafanechere alafanechere force-pushed the augustin/qa-engine/spot-not-on-cloud branch from 2b59dd4 to 9697f07 Compare January 24, 2023 10:51
@alafanechere alafanechere temporarily deployed to more-secrets January 24, 2023 10:53 — with GitHub Actions Inactive
@alafanechere alafanechere temporarily deployed to more-secrets January 24, 2023 10:53 — with GitHub Actions Inactive
@github-actions
Copy link
Contributor

Airbyte Code Coverage

There is no coverage information present for the Files changed

Total Project Coverage 26.7% 🍏

@alafanechere alafanechere force-pushed the augustin/qa-engine/spot-not-on-cloud branch from 9697f07 to 366663b Compare January 24, 2023 11:07
@alafanechere alafanechere temporarily deployed to more-secrets January 24, 2023 11:13 — with GitHub Actions Inactive
@alafanechere alafanechere force-pushed the augustin/qa-engine/spot-not-on-cloud branch from de933c0 to 76fda5f Compare January 24, 2023 13:40
@alafanechere alafanechere temporarily deployed to more-secrets January 24, 2023 13:41 — with GitHub Actions Inactive
@alafanechere alafanechere temporarily deployed to more-secrets January 24, 2023 13:41 — with GitHub Actions Inactive
@alafanechere alafanechere marked this pull request as ready for review January 24, 2023 13:43
@alafanechere alafanechere requested a review from a team January 24, 2023 13:43
@alafanechere alafanechere temporarily deployed to more-secrets January 24, 2023 13:45 — with GitHub Actions Inactive
@alafanechere alafanechere temporarily deployed to more-secrets January 24, 2023 13:45 — with GitHub Actions Inactive
@alafanechere alafanechere force-pushed the augustin/qa-engine/spot-not-on-cloud branch 2 times, most recently from f320e64 to 3a160f8 Compare January 24, 2023 13:52
@alafanechere alafanechere force-pushed the augustin/qa-engine/spot-not-on-cloud branch from 3a160f8 to ff33a0a Compare January 24, 2023 13:53
@alafanechere alafanechere temporarily deployed to more-secrets January 24, 2023 13:55 — with GitHub Actions Inactive
@alafanechere alafanechere temporarily deployed to more-secrets January 24, 2023 13:55 — with GitHub Actions Inactive
Comment on lines +9 to +13
INAPPROPRIATE_FOR_CLOUD_USE_CONNECTORS = [
"8be1cf83-fde1-477f-a4ad-318d23c9f3c6", # Local CSV
"a625d593-bba5-4a1c-a53d-2d246268a816", # Local JSON
"b76be0a6-27dc-4560-95f6-2623da0bd7b6" # Local SQL Lite
]
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

👍
Perhaps one day we store this information in the metadata

from pydantic import BaseModel

class ConnectorTypeEnum(str, Enum):
source = "source"
destination = "destination"

class ReleaseStageEnum(str, Enum):
unknown = "unknown"
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What unknown connectors did you find?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

  • source-freshcaller
  • source-genesys
  • source-rss
  • destination-e2e-testing

Comment on lines +48 to +52
# TODO YET TO IMPLEMENT VALIDATIONS
qa_report["latest_build_is_successful"] = False # TODO, tracked in https://github.com/airbytehq/airbyte/issues/21720
qa_report["number_of_connections"] = 0 # TODO, tracked in https://github.com/airbytehq/airbyte/issues/21721
qa_report["number_of_users"] = 0 # TODO, tracked in https://github.com/airbytehq/airbyte/issues/21721
qa_report["sync_success_rate"] = .0 # TODO, tracked in https://github.com/airbytehq/airbyte/issues/21721
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

👍 good placeholders for future work

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
2 participants