diff --git a/airbyte-ci/connectors/pipelines/README.md b/airbyte-ci/connectors/pipelines/README.md index 920782c1369f..0ab7b85b1ebb 100644 --- a/airbyte-ci/connectors/pipelines/README.md +++ b/airbyte-ci/connectors/pipelines/README.md @@ -310,7 +310,7 @@ flowchart TD entrypoint[[For each selected connector]] subgraph static ["Static code analysis"] qa[Run QA checks] - sem["Check version follows semantic versionning"] + sem["Check version follows semantic versioning"] incr["Check version is incremented"] metadata_validation["Run metadata validation on metadata.yaml"] sem --> incr @@ -319,7 +319,7 @@ flowchart TD build[Build connector docker image] unit[Run unit tests] integration[Run integration tests] - pyairbyte_validation[Run PyAirbyte validation tests] + pyairbyte_validation[Python CLI smoke tests via PyAirbyte] cat[Run connector acceptance tests] secret[Load connector configuration] diff --git a/airbyte-ci/connectors/pipelines/pipelines/airbyte_ci/connectors/test/steps/python_connectors.py b/airbyte-ci/connectors/pipelines/pipelines/airbyte_ci/connectors/test/steps/python_connectors.py index a800c7b33fc3..67dcf6dce571 100644 --- a/airbyte-ci/connectors/pipelines/pipelines/airbyte_ci/connectors/test/steps/python_connectors.py +++ b/airbyte-ci/connectors/pipelines/pipelines/airbyte_ci/connectors/test/steps/python_connectors.py @@ -195,9 +195,16 @@ def default_params(self) -> STEP_PARAMS: class PyAirbyteValidation(Step): - """A step to validate the connector will work with PyAirbyte, using the PyAirbyte validation helper.""" + """Validate the connector can be installed and invoked via Python, using PyAirbyte. - title = "PyAirbyte validation tests" + When this fails, it generally signals that the connector is not installable or not + runnable in a Python environment. The most common reasons for this are: + 1. Conflicting dependencies. + 2. Missing dependency declarations. + 3. Incorrect or invalid CLI entrypoints. + """ + + title = "Python CLI smoke test using PyAirbyte" context: ConnectorTestContext @@ -209,7 +216,7 @@ async def _run(self, connector_under_test: Container) -> StepResult: StepResult: Failure or success of the unit tests with stdout and stdout. """ if dpath.util.get(self.context.connector.metadata, "remoteRegistries/pypi/enabled", default=False) is False: - return self.skip("Connector is not published on pypi, skipping PyAirbyte validation.") + return self.skip("Connector is not flagged for PyPI publish, skipping Python CLI validation.") test_environment = await self.install_testing_environment(with_poetry(self.context)) test_execution = test_environment.with_(