This package has two main purposes:
- Running assets and metadata verification checks on connectors.
- Generating the QA checks documentation that are run on connectors.
Connectors QA is an internal Airbyte package that is not published to PyPI. To install it, run the following command from this directory:
pipx install .
This will make connectors-qa
available in your PATH
.
Feel free to run connectors-qa --help
to see the available commands and options.
# This command must run from the root of the Airbyte repo
connectors-qa run --name=source-faker --name=source-google-sheets
# This command must run from the root of the Airbyte repo
connectors-qa run --connector-directory=airbyte-integrations/connectors
### Generating documentation for QA checks:
connectors-qa run --connector-directory=airbyte-integrations/connectors --report-path=qa_report.json
connectors-qa run --name=source-faker --name=source-google-sheets --check=CheckConnectorIconIsAvailable --check=CheckConnectorUsesPythonBaseImage
connectors-qa run --connector-directory=airbyte-integrations/connectors --check=CheckConnectorIconIsAvailable --check=CheckConnectorUsesPythonBaseImage
connectors-qa generate-documentation qa_checks.md
poetry install --with dev
This package uses two local dependencies:
connector_ops
: To interact with theConnector
object.metadata_service/lib
: To validate the metadata of the connectors.
To add a new QA check, you have to create add new class in one of the checks
module. This class
must inherit from models.Check
and implement the _run
method. Then, you need to add an instance
of this class to the ENABLED_CHECKS
list of the module.
Please run the generate-documentation
command to update the documentation with the new check and
commit it in your PR.:
# From airbyte repo root
connectors-qa generate-documentation docs/contributing-to-airbyte/resources/qa-checks.md
poe test
poe type_check
poe lint
Added manifest-only
connectors support — they will run basic assets and metadata checks.
Bumped dependencies.
Added AIRBYTE ENTERPRISE
to the list of allowed licenses, for use by Airbyte Enterprise connectors.
Added the IntegrationTestsEnabledCheck
check that verifies if the integration tests are enabled for connectors with higher cloud usage.
Removed documentation checks in MedatadaCheck
since it's already verified in DocumentationCheck
.
Remove requirements on DockerHub credentials to run metadata validation.
Added CheckConnectorMaxSecondsBetweenMessagesValue
check that verifies presence of
maxSecondsBetweenMessages
value in metadata.yaml
file for all source certified connectors.
Added ValidateBreakingChangesDeadlines
check that verifies the minimal compliance of breaking
change rollout deadline.
Introduced the Check.run_on_released_connectors
flag.
Adds htmlcov
to list of ignored directories for CheckConnectorUsesHTTPSOnly
check.
Disable CheckDocumentationStructure
for now.
Fix access to connector types: it should be accessed from the Connector.connector_type
attribute.
- Add
applies_to_connector_types
attribute toCheck
class to specify the connector types that the check applies to. - Make
CheckPublishToPyPiIsEnabled
run on source connectors only.
Initial release of connectors-qa
package.