From 61b66a62434c154e12f06a1ac2e6934a5f30807d Mon Sep 17 00:00:00 2001 From: Catherine Noll Date: Fri, 26 Jul 2024 15:43:58 -0400 Subject: [PATCH 01/14] airbyte-ci: run live tests on PRs --- .github/actions/run-airbyte-ci/action.yml | 4 ++ .github/workflows/connectors_tests.yml | 2 + airbyte-ci/connectors/pipelines/README.md | 1 + .../airbyte_ci/connectors/context.py | 2 + .../airbyte_ci/connectors/test/commands.py | 5 +- .../airbyte_ci/connectors/test/context.py | 1 + .../connectors/test/steps/common.py | 61 +++++++++++++++---- .../pipelines/pipelines/cli/airbyte_ci.py | 1 + .../models/contexts/pipeline_context.py | 2 + .../connectors/pipelines/pyproject.toml | 2 +- 10 files changed, 65 insertions(+), 16 deletions(-) diff --git a/.github/actions/run-airbyte-ci/action.yml b/.github/actions/run-airbyte-ci/action.yml index a6afb4c834f84..d0489450d8fb6 100644 --- a/.github/actions/run-airbyte-ci/action.yml +++ b/.github/actions/run-airbyte-ci/action.yml @@ -10,6 +10,9 @@ inputs: github_token: description: "GitHub token" required: false + github_maintenance_token: + description: "GitHub maintenance token" + required: false dagger_cloud_token: description: "Dagger Cloud token" required: false @@ -121,6 +124,7 @@ runs: CI_GIT_REPO_URL: ${{ inputs.git_repo_url }} CI_GIT_REVISION: ${{ inputs.git_revision || github.sha }} CI_GITHUB_ACCESS_TOKEN: ${{ inputs.github_token }} + CI_GITHUB_MAINTENANCE_TOKEN: ${{ inputs.github_maintenance_token }} CI_JOB_KEY: ${{ inputs.ci_job_key }} CI_REPORT_BUCKET_NAME: ${{ inputs.report_bucket_name }} DAGGER_CLOUD_TOKEN: "${{ inputs.dagger_cloud_token }}" diff --git a/.github/workflows/connectors_tests.yml b/.github/workflows/connectors_tests.yml index 1c7f045c6b3de..6a546123f82f7 100644 --- a/.github/workflows/connectors_tests.yml +++ b/.github/workflows/connectors_tests.yml @@ -126,10 +126,12 @@ jobs: docker_hub_password: ${{ secrets.DOCKER_HUB_PASSWORD }} docker_hub_username: ${{ secrets.DOCKER_HUB_USERNAME }} gcp_gsm_credentials: ${{ secrets.GCP_GSM_CREDENTIALS }} + gcp_integration_tester_credentials: ${{ secrets.GCLOUD_INTEGRATION_TESTER }} sentry_dsn: ${{ secrets.SENTRY_AIRBYTE_CI_DSN }} git_branch: ${{ github.head_ref }} git_revision: ${{ steps.fetch_last_commit_id_pr.outputs.commit_id }} github_token: ${{ env.PAT }} + github_maintenance_token: ${{ secrets.GH_PAT_MAINTENANCE_OSS }} s3_build_cache_access_key_id: ${{ secrets.SELF_RUNNER_AWS_ACCESS_KEY_ID }} s3_build_cache_secret_key: ${{ secrets.SELF_RUNNER_AWS_SECRET_ACCESS_KEY }} # A connector test can't take more than 5 hours to run (5 * 60 * 60 = 18000 seconds) diff --git a/airbyte-ci/connectors/pipelines/README.md b/airbyte-ci/connectors/pipelines/README.md index 5f0a750d3d55c..52e0a1c64875b 100644 --- a/airbyte-ci/connectors/pipelines/README.md +++ b/airbyte-ci/connectors/pipelines/README.md @@ -773,6 +773,7 @@ E.G.: running Poe tasks on the modified internal packages of the current branch: | Version | PR | Description | | ------- | ---------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------- | +| 4.27.0 | [#42574](https://github.com/airbytehq/airbyte/pull/42574) | Live tests: run from connectors test pipeline for connectors with sandbox connections | | 4.26.1 | [#42905](https://github.com/airbytehq/airbyte/pull/42905) | Rename the docker cache volume to avoid using the corrupted previous volume. | | 4.26.0 | [#42849](https://github.com/airbytehq/airbyte/pull/42849) | Send publish failures messages to `#connector-publish-failures` | | 4.25.4 | [#42463](https://github.com/airbytehq/airbyte/pull/42463) | Add validation before live test runs | diff --git a/airbyte-ci/connectors/pipelines/pipelines/airbyte_ci/connectors/context.py b/airbyte-ci/connectors/pipelines/pipelines/airbyte_ci/connectors/context.py index c03c1835ad151..fbc8f1d93e9e5 100644 --- a/airbyte-ci/connectors/pipelines/pipelines/airbyte_ci/connectors/context.py +++ b/airbyte-ci/connectors/pipelines/pipelines/airbyte_ci/connectors/context.py @@ -50,6 +50,7 @@ def __init__( ci_gcp_credentials: Optional[Secret] = None, ci_git_user: Optional[str] = None, ci_github_access_token: Optional[Secret] = None, + ci_github_maintenance_token: Optional[Secret] = None, connector_acceptance_test_image: str = DEFAULT_CONNECTOR_ACCEPTANCE_TEST_IMAGE, gha_workflow_run_url: Optional[str] = None, dagger_logs_url: Optional[str] = None, @@ -134,6 +135,7 @@ def __init__( ci_gcp_credentials=ci_gcp_credentials, ci_git_user=ci_git_user, ci_github_access_token=ci_github_access_token, + ci_github_maintenance_token=ci_github_maintenance_token, run_step_options=run_step_options, enable_report_auto_open=enable_report_auto_open, secret_stores=secret_stores, diff --git a/airbyte-ci/connectors/pipelines/pipelines/airbyte_ci/connectors/test/commands.py b/airbyte-ci/connectors/pipelines/pipelines/airbyte_ci/connectors/test/commands.py index b396813548962..4340955029589 100644 --- a/airbyte-ci/connectors/pipelines/pipelines/airbyte_ci/connectors/test/commands.py +++ b/airbyte-ci/connectors/pipelines/pipelines/airbyte_ci/connectors/test/commands.py @@ -26,9 +26,6 @@ GITHUB_GLOBAL_CONTEXT_FOR_TESTS = "Connectors CI tests" GITHUB_GLOBAL_DESCRIPTION_FOR_TESTS = "Running connectors tests" REGRESSION_TEST_MANUAL_APPROVAL_CONTEXT = "Regression Test Results Reviewed and Approved" -TESTS_SKIPPED_BY_DEFAULT = [ - CONNECTOR_TEST_STEP_ID.CONNECTOR_LIVE_TESTS, -] @click.command( @@ -120,7 +117,6 @@ async def test( raise click.UsageError("Cannot use both --only-step and --skip-step at the same time.") if not only_steps: skip_steps = list(skip_steps) - skip_steps += TESTS_SKIPPED_BY_DEFAULT if ctx.obj["is_ci"]: fail_if_missing_docker_hub_creds(ctx) @@ -150,6 +146,7 @@ async def test( git_repo_url=ctx.obj["git_repo_url"], ci_git_user=ctx.obj["ci_git_user"], ci_github_access_token=ctx.obj["ci_github_access_token"], + ci_github_maintenance_token=ctx.obj["ci_github_maintenance_token"], ci_report_bucket=ctx.obj["ci_report_bucket_name"], report_output_prefix=ctx.obj["report_output_prefix"], gha_workflow_run_url=ctx.obj.get("gha_workflow_run_url"), diff --git a/airbyte-ci/connectors/pipelines/pipelines/airbyte_ci/connectors/test/context.py b/airbyte-ci/connectors/pipelines/pipelines/airbyte_ci/connectors/test/context.py index 0c358e08a2b7e..2b94b34e7a504 100644 --- a/airbyte-ci/connectors/pipelines/pipelines/airbyte_ci/connectors/test/context.py +++ b/airbyte-ci/connectors/pipelines/pipelines/airbyte_ci/connectors/test/context.py @@ -19,6 +19,7 @@ "unitTests": CONNECTOR_TEST_STEP_ID.UNIT, "integrationTests": CONNECTOR_TEST_STEP_ID.INTEGRATION, "acceptanceTests": CONNECTOR_TEST_STEP_ID.ACCEPTANCE, + "liveTests": CONNECTOR_TEST_STEP_ID.CONNECTOR_LIVE_TESTS, } diff --git a/airbyte-ci/connectors/pipelines/pipelines/airbyte_ci/connectors/test/steps/common.py b/airbyte-ci/connectors/pipelines/pipelines/airbyte_ci/connectors/test/steps/common.py index 971e2d82afc11..d866c211cf8d2 100644 --- a/airbyte-ci/connectors/pipelines/pipelines/airbyte_ci/connectors/test/steps/common.py +++ b/airbyte-ci/connectors/pipelines/pipelines/airbyte_ci/connectors/test/steps/common.py @@ -13,7 +13,7 @@ from functools import cached_property from pathlib import Path from textwrap import dedent -from typing import ClassVar, List, Optional, Set +from typing import Any, ClassVar, Dict, List, Optional, Set import requests # type: ignore import semver @@ -445,7 +445,7 @@ async def _run(self, current_acceptance_tests_result: StepResult) -> StepResult: class LiveTestSuite(Enum): - ALL = "all" + ALL = "live" REGRESSION = "regression" VALIDATION = "validation" @@ -557,13 +557,10 @@ def __init__(self, context: ConnectorContext) -> None: self.connector_image = context.docker_image.split(":")[0] options = self.context.run_step_options.step_params.get(CONNECTOR_TEST_STEP_ID.CONNECTOR_LIVE_TESTS, {}) - self.connection_id = self.context.run_step_options.get_item_or_default(options, "connection-id", None) - self.pr_url = self.context.run_step_options.get_item_or_default(options, "pr-url", None) - - if not self.connection_id and self.pr_url: - raise ValueError("`connection-id` and `pr-url` are required to run live tests.") - self.test_suite = self.context.run_step_options.get_item_or_default(options, "test-suite", LiveTestSuite.ALL.value) + self.connection_id = self._get_connection_id(options) + self.pr_url = self._get_pr_url(options) + self.test_dir = self.test_suite_to_dir[LiveTestSuite(self.test_suite)] self.control_version = self.context.run_step_options.get_item_or_default(options, "control-version", None) self.target_version = self.context.run_step_options.get_item_or_default(options, "target-version", "dev") @@ -573,7 +570,30 @@ def __init__(self, context: ConnectorContext) -> None: self.connection_subset = self.context.run_step_options.get_item_or_default(options, "connection-subset", "sandboxes") self.run_id = os.getenv("GITHUB_RUN_ID") or str(int(time.time())) + def _get_connection_id(self, options: Dict[str, List[Any]]) -> Optional[str]: + if self.context.is_pr: + connection_id = self._get_connection_from_connection_options() + self.logger.info( + f"Context is {self.context.ci_context}; got connection_id={connection_id} from metadata.yaml liveTests connectionOptions." + ) + else: + connection_id = self.context.run_step_options.get_item_or_default(options, "connection-id", None) + self.logger.info(f"Context is {self.context.ci_context}; got connection_id={connection_id} from input options.") + return connection_id + + def _get_pr_url(self, options: Dict[str, List[Any]]) -> Optional[str]: + if self.context.is_pr: + pull_request = self.context.pull_request.url if self.context.pull_request else None + self.logger.info(f"Context is {self.context.ci_context}; got pull_request={pull_request} from context.") + else: + pull_request = self.context.run_step_options.get_item_or_default(options, "pr-url", None) + self.logger.info(f"Context is {self.context.ci_context}; got pull_request={pull_request} from input options.") + return pull_request + def _validate_job_can_run(self) -> None: + assert self.connection_id, "`connection-id` is required to run live tests." + assert self.pr_url, "`pr_url` is required to run live tests." + connector_type = self.context.connector.metadata.get("connectorType") connector_subtype = self.context.connector.metadata.get("connectorSubtype") assert connector_type == "source", f"Live tests can only run against source connectors, got `connectorType={connector_type}`." @@ -582,6 +602,24 @@ def _validate_job_can_run(self) -> None: self.connection_subset == "sandboxes" ), f"Live tests for database sources may only be run against sandbox connections, got `connection_subset={self.connection_subset}`." + if self.context.is_pr: + connection_id_is_valid = False + for test_suite in self.context.connector.metadata.get("connectorTestSuitesOptions", []): + if test_suite["suite"] == "liveTests": + assert self.connection_id in [option["connectionId"] for option in test_suite.get("connectionOptions", [])] + connection_id_is_valid = True + break + assert connection_id_is_valid, f"Connection ID {self.connection_id} is not a valid sandbox connection ID." + + def _get_connection_from_connection_options(self) -> Optional[str]: + for test_suite in self.context.connector.metadata.get("connectorTestSuitesOptions", []): + if test_suite["suite"] == "liveTests": + for option in test_suite.get("connectionOptions", []): + connection_id = option["connectionId"] + connection_name = option["connectionName"] + self.logger.info(f"Using connection {connection_name}; connectionId={connection_id}") + return connection_id + async def _run(self, connector_under_test_container: Container) -> StepResult: """Run the regression test suite. @@ -676,16 +714,17 @@ async def _build_test_container(self, target_container_id: str) -> Container: ] ) .with_secret_variable( - "CI_GITHUB_ACCESS_TOKEN", + "CI_GITHUB_MAINTENANCE_TOKEN", self.context.dagger_client.set_secret( - "CI_GITHUB_ACCESS_TOKEN", self.context.ci_github_access_token.value if self.context.ci_github_access_token else "" + "CI_GITHUB_MAINTENANCE_TOKEN", + self.context.ci_github_maintenance_token.value if self.context.ci_github_maintenance_token else "", ), ) .with_exec( [ "/bin/sh", "-c", - f"poetry config http-basic.airbyte-platform-internal-source {self.github_user} $CI_GITHUB_ACCESS_TOKEN", + f"poetry config http-basic.airbyte-platform-internal-source {self.github_user} $CI_GITHUB_MAINTENANCE_TOKEN", ] ) # Add GCP credentials from the environment and point google to their location (also required for connection-retriever) diff --git a/airbyte-ci/connectors/pipelines/pipelines/cli/airbyte_ci.py b/airbyte-ci/connectors/pipelines/pipelines/cli/airbyte_ci.py index fb7222ed19299..eeef221b8ba3e 100644 --- a/airbyte-ci/connectors/pipelines/pipelines/cli/airbyte_ci.py +++ b/airbyte-ci/connectors/pipelines/pipelines/cli/airbyte_ci.py @@ -164,6 +164,7 @@ def is_current_process_wrapped_by_dagger_run() -> bool: @click.option("--pull-request-number", envvar="PULL_REQUEST_NUMBER", type=int) @click.option("--ci-git-user", default="octavia-squidington-iii", envvar="CI_GIT_USER", type=str) @click.option("--ci-github-access-token", envvar="CI_GITHUB_ACCESS_TOKEN", type=str, callback=wrap_in_secret) +@click.option("--ci-github-maintenance-token", envvar="CI_GITHUB_MAINTENANCE_TOKEN", type=str, callback=wrap_in_secret) @click.option("--ci-report-bucket-name", envvar="CI_REPORT_BUCKET_NAME", type=str) @click.option("--ci-artifact-bucket-name", envvar="CI_ARTIFACT_BUCKET_NAME", type=str) @click.option( diff --git a/airbyte-ci/connectors/pipelines/pipelines/models/contexts/pipeline_context.py b/airbyte-ci/connectors/pipelines/pipelines/models/contexts/pipeline_context.py index f1377c77f2e79..044b1be3c36ea 100644 --- a/airbyte-ci/connectors/pipelines/pipelines/models/contexts/pipeline_context.py +++ b/airbyte-ci/connectors/pipelines/pipelines/models/contexts/pipeline_context.py @@ -83,6 +83,7 @@ def __init__( ci_gcp_credentials: Optional[Secret] = None, ci_git_user: Optional[str] = None, ci_github_access_token: Optional[Secret] = None, + ci_github_maintenance_token: Optional[Secret] = None, run_step_options: RunStepOptions = RunStepOptions(), enable_report_auto_open: bool = True, secret_stores: Dict[str, SecretStore] | None = None, @@ -129,6 +130,7 @@ def __init__( self.ci_report_bucket = ci_report_bucket self.ci_git_user = ci_git_user self.ci_github_access_token = ci_github_access_token + self.ci_github_maintenance_token = ci_github_maintenance_token self.started_at = None self.stopped_at = None self.secrets_to_mask = [] diff --git a/airbyte-ci/connectors/pipelines/pyproject.toml b/airbyte-ci/connectors/pipelines/pyproject.toml index 99060ad92cd05..9a3a4e6e1fe3b 100644 --- a/airbyte-ci/connectors/pipelines/pyproject.toml +++ b/airbyte-ci/connectors/pipelines/pyproject.toml @@ -4,7 +4,7 @@ build-backend = "poetry.core.masonry.api" [tool.poetry] name = "pipelines" -version = "4.26.1" +version = "4.27.0" description = "Packaged maintained by the connector operations team to perform CI for connectors' pipelines" authors = ["Airbyte "] From 00155903f56d1226d7a5a47339c5643878ae1a6a Mon Sep 17 00:00:00 2001 From: Catherine Noll Date: Wed, 31 Jul 2024 18:46:49 -0400 Subject: [PATCH 02/14] Only use one token --- .github/actions/run-airbyte-ci/action.yml | 4 ---- .github/workflows/connectors_tests.yml | 1 - .../pipelines/pipelines/airbyte_ci/connectors/context.py | 2 -- .../pipelines/airbyte_ci/connectors/test/commands.py | 1 - .../pipelines/airbyte_ci/connectors/test/steps/common.py | 7 +++---- .../connectors/pipelines/pipelines/cli/airbyte_ci.py | 1 - .../pipelines/models/contexts/pipeline_context.py | 2 -- 7 files changed, 3 insertions(+), 15 deletions(-) diff --git a/.github/actions/run-airbyte-ci/action.yml b/.github/actions/run-airbyte-ci/action.yml index d0489450d8fb6..a6afb4c834f84 100644 --- a/.github/actions/run-airbyte-ci/action.yml +++ b/.github/actions/run-airbyte-ci/action.yml @@ -10,9 +10,6 @@ inputs: github_token: description: "GitHub token" required: false - github_maintenance_token: - description: "GitHub maintenance token" - required: false dagger_cloud_token: description: "Dagger Cloud token" required: false @@ -124,7 +121,6 @@ runs: CI_GIT_REPO_URL: ${{ inputs.git_repo_url }} CI_GIT_REVISION: ${{ inputs.git_revision || github.sha }} CI_GITHUB_ACCESS_TOKEN: ${{ inputs.github_token }} - CI_GITHUB_MAINTENANCE_TOKEN: ${{ inputs.github_maintenance_token }} CI_JOB_KEY: ${{ inputs.ci_job_key }} CI_REPORT_BUCKET_NAME: ${{ inputs.report_bucket_name }} DAGGER_CLOUD_TOKEN: "${{ inputs.dagger_cloud_token }}" diff --git a/.github/workflows/connectors_tests.yml b/.github/workflows/connectors_tests.yml index 6a546123f82f7..85b483e6e8f80 100644 --- a/.github/workflows/connectors_tests.yml +++ b/.github/workflows/connectors_tests.yml @@ -131,7 +131,6 @@ jobs: git_branch: ${{ github.head_ref }} git_revision: ${{ steps.fetch_last_commit_id_pr.outputs.commit_id }} github_token: ${{ env.PAT }} - github_maintenance_token: ${{ secrets.GH_PAT_MAINTENANCE_OSS }} s3_build_cache_access_key_id: ${{ secrets.SELF_RUNNER_AWS_ACCESS_KEY_ID }} s3_build_cache_secret_key: ${{ secrets.SELF_RUNNER_AWS_SECRET_ACCESS_KEY }} # A connector test can't take more than 5 hours to run (5 * 60 * 60 = 18000 seconds) diff --git a/airbyte-ci/connectors/pipelines/pipelines/airbyte_ci/connectors/context.py b/airbyte-ci/connectors/pipelines/pipelines/airbyte_ci/connectors/context.py index fbc8f1d93e9e5..c03c1835ad151 100644 --- a/airbyte-ci/connectors/pipelines/pipelines/airbyte_ci/connectors/context.py +++ b/airbyte-ci/connectors/pipelines/pipelines/airbyte_ci/connectors/context.py @@ -50,7 +50,6 @@ def __init__( ci_gcp_credentials: Optional[Secret] = None, ci_git_user: Optional[str] = None, ci_github_access_token: Optional[Secret] = None, - ci_github_maintenance_token: Optional[Secret] = None, connector_acceptance_test_image: str = DEFAULT_CONNECTOR_ACCEPTANCE_TEST_IMAGE, gha_workflow_run_url: Optional[str] = None, dagger_logs_url: Optional[str] = None, @@ -135,7 +134,6 @@ def __init__( ci_gcp_credentials=ci_gcp_credentials, ci_git_user=ci_git_user, ci_github_access_token=ci_github_access_token, - ci_github_maintenance_token=ci_github_maintenance_token, run_step_options=run_step_options, enable_report_auto_open=enable_report_auto_open, secret_stores=secret_stores, diff --git a/airbyte-ci/connectors/pipelines/pipelines/airbyte_ci/connectors/test/commands.py b/airbyte-ci/connectors/pipelines/pipelines/airbyte_ci/connectors/test/commands.py index 4340955029589..685096215b721 100644 --- a/airbyte-ci/connectors/pipelines/pipelines/airbyte_ci/connectors/test/commands.py +++ b/airbyte-ci/connectors/pipelines/pipelines/airbyte_ci/connectors/test/commands.py @@ -146,7 +146,6 @@ async def test( git_repo_url=ctx.obj["git_repo_url"], ci_git_user=ctx.obj["ci_git_user"], ci_github_access_token=ctx.obj["ci_github_access_token"], - ci_github_maintenance_token=ctx.obj["ci_github_maintenance_token"], ci_report_bucket=ctx.obj["ci_report_bucket_name"], report_output_prefix=ctx.obj["report_output_prefix"], gha_workflow_run_url=ctx.obj.get("gha_workflow_run_url"), diff --git a/airbyte-ci/connectors/pipelines/pipelines/airbyte_ci/connectors/test/steps/common.py b/airbyte-ci/connectors/pipelines/pipelines/airbyte_ci/connectors/test/steps/common.py index d866c211cf8d2..25e89d0b769a5 100644 --- a/airbyte-ci/connectors/pipelines/pipelines/airbyte_ci/connectors/test/steps/common.py +++ b/airbyte-ci/connectors/pipelines/pipelines/airbyte_ci/connectors/test/steps/common.py @@ -714,17 +714,16 @@ async def _build_test_container(self, target_container_id: str) -> Container: ] ) .with_secret_variable( - "CI_GITHUB_MAINTENANCE_TOKEN", + "CI_GITHUB_ACCESS_TOKEN", self.context.dagger_client.set_secret( - "CI_GITHUB_MAINTENANCE_TOKEN", - self.context.ci_github_maintenance_token.value if self.context.ci_github_maintenance_token else "", + "CI_GITHUB_ACCESS_TOKEN", self.context.ci_github_access_token.value if self.context.ci_github_access_token else "" ), ) .with_exec( [ "/bin/sh", "-c", - f"poetry config http-basic.airbyte-platform-internal-source {self.github_user} $CI_GITHUB_MAINTENANCE_TOKEN", + f"poetry config http-basic.airbyte-platform-internal-source {self.github_user} $CI_GITHUB_ACCESS_TOKEN", ] ) # Add GCP credentials from the environment and point google to their location (also required for connection-retriever) diff --git a/airbyte-ci/connectors/pipelines/pipelines/cli/airbyte_ci.py b/airbyte-ci/connectors/pipelines/pipelines/cli/airbyte_ci.py index eeef221b8ba3e..fb7222ed19299 100644 --- a/airbyte-ci/connectors/pipelines/pipelines/cli/airbyte_ci.py +++ b/airbyte-ci/connectors/pipelines/pipelines/cli/airbyte_ci.py @@ -164,7 +164,6 @@ def is_current_process_wrapped_by_dagger_run() -> bool: @click.option("--pull-request-number", envvar="PULL_REQUEST_NUMBER", type=int) @click.option("--ci-git-user", default="octavia-squidington-iii", envvar="CI_GIT_USER", type=str) @click.option("--ci-github-access-token", envvar="CI_GITHUB_ACCESS_TOKEN", type=str, callback=wrap_in_secret) -@click.option("--ci-github-maintenance-token", envvar="CI_GITHUB_MAINTENANCE_TOKEN", type=str, callback=wrap_in_secret) @click.option("--ci-report-bucket-name", envvar="CI_REPORT_BUCKET_NAME", type=str) @click.option("--ci-artifact-bucket-name", envvar="CI_ARTIFACT_BUCKET_NAME", type=str) @click.option( diff --git a/airbyte-ci/connectors/pipelines/pipelines/models/contexts/pipeline_context.py b/airbyte-ci/connectors/pipelines/pipelines/models/contexts/pipeline_context.py index 044b1be3c36ea..f1377c77f2e79 100644 --- a/airbyte-ci/connectors/pipelines/pipelines/models/contexts/pipeline_context.py +++ b/airbyte-ci/connectors/pipelines/pipelines/models/contexts/pipeline_context.py @@ -83,7 +83,6 @@ def __init__( ci_gcp_credentials: Optional[Secret] = None, ci_git_user: Optional[str] = None, ci_github_access_token: Optional[Secret] = None, - ci_github_maintenance_token: Optional[Secret] = None, run_step_options: RunStepOptions = RunStepOptions(), enable_report_auto_open: bool = True, secret_stores: Dict[str, SecretStore] | None = None, @@ -130,7 +129,6 @@ def __init__( self.ci_report_bucket = ci_report_bucket self.ci_git_user = ci_git_user self.ci_github_access_token = ci_github_access_token - self.ci_github_maintenance_token = ci_github_maintenance_token self.started_at = None self.stopped_at = None self.secrets_to_mask = [] From 2312f4f70f507cb652206030065df8a2cc0b7bb7 Mon Sep 17 00:00:00 2001 From: Catherine Noll Date: Wed, 31 Jul 2024 18:49:47 -0400 Subject: [PATCH 03/14] for testing --- airbyte-integrations/connectors/source-faker/source_faker/run.py | 1 + 1 file changed, 1 insertion(+) diff --git a/airbyte-integrations/connectors/source-faker/source_faker/run.py b/airbyte-integrations/connectors/source-faker/source_faker/run.py index 5bf64ce0d7241..70f64b994a510 100644 --- a/airbyte-integrations/connectors/source-faker/source_faker/run.py +++ b/airbyte-integrations/connectors/source-faker/source_faker/run.py @@ -10,6 +10,7 @@ def run(): + print("testing!!") source = SourceFaker() launch(source, sys.argv[1:]) From bffa6050e5d55ecd7d78431b8c6041865bf48d6f Mon Sep 17 00:00:00 2001 From: Catherine Noll Date: Wed, 31 Jul 2024 19:08:56 -0400 Subject: [PATCH 04/14] update getting connection from metadata --- .../airbyte_ci/connectors/test/steps/common.py | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/airbyte-ci/connectors/pipelines/pipelines/airbyte_ci/connectors/test/steps/common.py b/airbyte-ci/connectors/pipelines/pipelines/airbyte_ci/connectors/test/steps/common.py index 25e89d0b769a5..62004f5560663 100644 --- a/airbyte-ci/connectors/pipelines/pipelines/airbyte_ci/connectors/test/steps/common.py +++ b/airbyte-ci/connectors/pipelines/pipelines/airbyte_ci/connectors/test/steps/common.py @@ -572,9 +572,9 @@ def __init__(self, context: ConnectorContext) -> None: def _get_connection_id(self, options: Dict[str, List[Any]]) -> Optional[str]: if self.context.is_pr: - connection_id = self._get_connection_from_connection_options() + connection_id = self._get_connection_from_test_connections() self.logger.info( - f"Context is {self.context.ci_context}; got connection_id={connection_id} from metadata.yaml liveTests connectionOptions." + f"Context is {self.context.ci_context}; got connection_id={connection_id} from metadata.yaml liveTests testConnections." ) else: connection_id = self.context.run_step_options.get_item_or_default(options, "connection-id", None) @@ -611,13 +611,13 @@ def _validate_job_can_run(self) -> None: break assert connection_id_is_valid, f"Connection ID {self.connection_id} is not a valid sandbox connection ID." - def _get_connection_from_connection_options(self) -> Optional[str]: + def _get_connection_from_test_connections(self) -> Optional[str]: for test_suite in self.context.connector.metadata.get("connectorTestSuitesOptions", []): if test_suite["suite"] == "liveTests": - for option in test_suite.get("connectionOptions", []): - connection_id = option["connectionId"] - connection_name = option["connectionName"] - self.logger.info(f"Using connection {connection_name}; connectionId={connection_id}") + for option in test_suite.get("testConnections", []): + connection_id = option["id"] + connection_name = option["name"] + self.logger.info(f"Using connection name={connection_name}; id={connection_id}") return connection_id async def _run(self, connector_under_test_container: Container) -> StepResult: From b86b4b3c00c4cfe154c54b6ed745df821bc0c1fa Mon Sep 17 00:00:00 2001 From: Catherine Noll Date: Wed, 31 Jul 2024 19:21:44 -0400 Subject: [PATCH 05/14] add logging --- .../pipelines/airbyte_ci/connectors/test/steps/common.py | 1 + 1 file changed, 1 insertion(+) diff --git a/airbyte-ci/connectors/pipelines/pipelines/airbyte_ci/connectors/test/steps/common.py b/airbyte-ci/connectors/pipelines/pipelines/airbyte_ci/connectors/test/steps/common.py index 62004f5560663..08fc960e34180 100644 --- a/airbyte-ci/connectors/pipelines/pipelines/airbyte_ci/connectors/test/steps/common.py +++ b/airbyte-ci/connectors/pipelines/pipelines/airbyte_ci/connectors/test/steps/common.py @@ -632,6 +632,7 @@ async def _run(self, connector_under_test_container: Container) -> StepResult: try: self._validate_job_can_run() except AssertionError as exc: + self.logger.info(f"Could not run live tests for {self.context.connector.technical_name} due to validation error {exc}.") return StepResult( step=self, status=StepStatus.FAILURE, From 4bfb03ba92fae9937a2b972fa7d71f63f9b308d4 Mon Sep 17 00:00:00 2001 From: Catherine Noll Date: Wed, 31 Jul 2024 19:34:34 -0400 Subject: [PATCH 06/14] fix --- .../pipelines/airbyte_ci/connectors/test/steps/common.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/airbyte-ci/connectors/pipelines/pipelines/airbyte_ci/connectors/test/steps/common.py b/airbyte-ci/connectors/pipelines/pipelines/airbyte_ci/connectors/test/steps/common.py index 08fc960e34180..5a3c2d71678d4 100644 --- a/airbyte-ci/connectors/pipelines/pipelines/airbyte_ci/connectors/test/steps/common.py +++ b/airbyte-ci/connectors/pipelines/pipelines/airbyte_ci/connectors/test/steps/common.py @@ -606,7 +606,7 @@ def _validate_job_can_run(self) -> None: connection_id_is_valid = False for test_suite in self.context.connector.metadata.get("connectorTestSuitesOptions", []): if test_suite["suite"] == "liveTests": - assert self.connection_id in [option["connectionId"] for option in test_suite.get("connectionOptions", [])] + assert self.connection_id in [option["id"] for option in test_suite.get("testConnections", [])], f"Connection ID {self.connection_id} was not in the list of valid test connections." connection_id_is_valid = True break assert connection_id_is_valid, f"Connection ID {self.connection_id} is not a valid sandbox connection ID." @@ -632,7 +632,7 @@ async def _run(self, connector_under_test_container: Container) -> StepResult: try: self._validate_job_can_run() except AssertionError as exc: - self.logger.info(f"Could not run live tests for {self.context.connector.technical_name} due to validation error {exc}.") + self.logger.info(f"Could not run live tests for {self.context.connector.technical_name} due to validation error {str(exc)}.") return StepResult( step=self, status=StepStatus.FAILURE, From df11e59a7dd8d9b9b6e6ac26189d6779b0247b78 Mon Sep 17 00:00:00 2001 From: Catherine Noll Date: Wed, 31 Jul 2024 22:12:09 -0400 Subject: [PATCH 07/14] try GH_PAT_MAINTENANCE_OSS --- .github/workflows/connectors_tests.yml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/.github/workflows/connectors_tests.yml b/.github/workflows/connectors_tests.yml index 85b483e6e8f80..7ceef482474bc 100644 --- a/.github/workflows/connectors_tests.yml +++ b/.github/workflows/connectors_tests.yml @@ -86,8 +86,7 @@ jobs: - name: Check PAT rate limits run: | ./tools/bin/find_non_rate_limited_PAT \ - ${{ secrets.GH_PAT_BUILD_RUNNER_OSS }} \ - ${{ secrets.GH_PAT_BUILD_RUNNER_BACKUP }} + ${{ secrets.GH_PAT_MAINTENANCE_OSS }} - name: Extract branch name [WORKFLOW DISPATCH] shell: bash if: github.event_name == 'workflow_dispatch' From 8ae4db31d6a5fab4d71fd87943491fadcb4ba245 Mon Sep 17 00:00:00 2001 From: Catherine Noll Date: Thu, 1 Aug 2024 21:37:15 -0400 Subject: [PATCH 08/14] don't consider regression tests in overall status --- .../pipelines/airbyte_ci/connectors/test/steps/common.py | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/airbyte-ci/connectors/pipelines/pipelines/airbyte_ci/connectors/test/steps/common.py b/airbyte-ci/connectors/pipelines/pipelines/airbyte_ci/connectors/test/steps/common.py index 5a3c2d71678d4..861fe63ffb5ab 100644 --- a/airbyte-ci/connectors/pipelines/pipelines/airbyte_ci/connectors/test/steps/common.py +++ b/airbyte-ci/connectors/pipelines/pipelines/airbyte_ci/connectors/test/steps/common.py @@ -557,7 +557,7 @@ def __init__(self, context: ConnectorContext) -> None: self.connector_image = context.docker_image.split(":")[0] options = self.context.run_step_options.step_params.get(CONNECTOR_TEST_STEP_ID.CONNECTOR_LIVE_TESTS, {}) - self.test_suite = self.context.run_step_options.get_item_or_default(options, "test-suite", LiveTestSuite.ALL.value) + self.test_suite = self.context.run_step_options.get_item_or_default(options, "test-suite", LiveTestSuite.REGRESSION.value) self.connection_id = self._get_connection_id(options) self.pr_url = self._get_pr_url(options) @@ -632,10 +632,10 @@ async def _run(self, connector_under_test_container: Container) -> StepResult: try: self._validate_job_can_run() except AssertionError as exc: - self.logger.info(f"Could not run live tests for {self.context.connector.technical_name} due to validation error {str(exc)}.") + self.logger.info(f"Skipping live tests for {self.context.connector.technical_name} due to validation error {str(exc)}.") return StepResult( step=self, - status=StepStatus.FAILURE, + status=StepStatus.SKIPPED, exc_info=exc, ) @@ -663,6 +663,7 @@ async def _run(self, connector_under_test_container: Container) -> StepResult: stdout=stdout, output=container, report=regression_test_report, + consider_in_overall_status=False, ) async def _build_test_container(self, target_container_id: str) -> Container: From e2f0aad458c32ca0417a3766ca0cf64a596bd1f2 Mon Sep 17 00:00:00 2001 From: Catherine Noll Date: Thu, 1 Aug 2024 21:40:11 -0400 Subject: [PATCH 09/14] change validation order --- .../pipelines/airbyte_ci/connectors/test/steps/common.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/airbyte-ci/connectors/pipelines/pipelines/airbyte_ci/connectors/test/steps/common.py b/airbyte-ci/connectors/pipelines/pipelines/airbyte_ci/connectors/test/steps/common.py index 861fe63ffb5ab..11b0e37da610c 100644 --- a/airbyte-ci/connectors/pipelines/pipelines/airbyte_ci/connectors/test/steps/common.py +++ b/airbyte-ci/connectors/pipelines/pipelines/airbyte_ci/connectors/test/steps/common.py @@ -591,9 +591,6 @@ def _get_pr_url(self, options: Dict[str, List[Any]]) -> Optional[str]: return pull_request def _validate_job_can_run(self) -> None: - assert self.connection_id, "`connection-id` is required to run live tests." - assert self.pr_url, "`pr_url` is required to run live tests." - connector_type = self.context.connector.metadata.get("connectorType") connector_subtype = self.context.connector.metadata.get("connectorSubtype") assert connector_type == "source", f"Live tests can only run against source connectors, got `connectorType={connector_type}`." @@ -602,6 +599,9 @@ def _validate_job_can_run(self) -> None: self.connection_subset == "sandboxes" ), f"Live tests for database sources may only be run against sandbox connections, got `connection_subset={self.connection_subset}`." + assert self.connection_id, "`connection-id` is required to run live tests." + assert self.pr_url, "`pr_url` is required to run live tests." + if self.context.is_pr: connection_id_is_valid = False for test_suite in self.context.connector.metadata.get("connectorTestSuitesOptions", []): From 257d0d65131a15497d5ba0d562bb53e870293025 Mon Sep 17 00:00:00 2001 From: Catherine Noll Date: Thu, 1 Aug 2024 22:12:48 -0400 Subject: [PATCH 10/14] formatting --- .../pipelines/airbyte_ci/connectors/test/steps/common.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/airbyte-ci/connectors/pipelines/pipelines/airbyte_ci/connectors/test/steps/common.py b/airbyte-ci/connectors/pipelines/pipelines/airbyte_ci/connectors/test/steps/common.py index 11b0e37da610c..6c587ca3641ca 100644 --- a/airbyte-ci/connectors/pipelines/pipelines/airbyte_ci/connectors/test/steps/common.py +++ b/airbyte-ci/connectors/pipelines/pipelines/airbyte_ci/connectors/test/steps/common.py @@ -606,7 +606,9 @@ def _validate_job_can_run(self) -> None: connection_id_is_valid = False for test_suite in self.context.connector.metadata.get("connectorTestSuitesOptions", []): if test_suite["suite"] == "liveTests": - assert self.connection_id in [option["id"] for option in test_suite.get("testConnections", [])], f"Connection ID {self.connection_id} was not in the list of valid test connections." + assert self.connection_id in [ + option["id"] for option in test_suite.get("testConnections", []) + ], f"Connection ID {self.connection_id} was not in the list of valid test connections." connection_id_is_valid = True break assert connection_id_is_valid, f"Connection ID {self.connection_id} is not a valid sandbox connection ID." @@ -663,7 +665,7 @@ async def _run(self, connector_under_test_container: Container) -> StepResult: stdout=stdout, output=container, report=regression_test_report, - consider_in_overall_status=False, + consider_in_overall_status=False if self.context.is_pr else True, ) async def _build_test_container(self, target_container_id: str) -> Container: From 54928cffaaa6a40a30dd4049d85ef75a24185b43 Mon Sep 17 00:00:00 2001 From: Catherine Noll Date: Thu, 1 Aug 2024 22:15:35 -0400 Subject: [PATCH 11/14] testing --- .../source-facebook-pages/metadata.yaml | 2 +- .../source-facebook-pages/pyproject.toml | 2 +- .../source_facebook_pages/source.py | 1 + .../source-faker/acceptance-test-config.yml | 6 +-- .../connectors/source-faker/metadata.yaml | 2 +- .../connectors/source-faker/pyproject.toml | 2 +- .../source-faker/source_faker/run.py | 1 - .../source-faker/source_faker/source.py | 1 + docs/integrations/sources/facebook-pages.md | 41 ++++++++--------- docs/integrations/sources/faker.md | 45 ++++++++++--------- 10 files changed, 51 insertions(+), 52 deletions(-) diff --git a/airbyte-integrations/connectors/source-facebook-pages/metadata.yaml b/airbyte-integrations/connectors/source-facebook-pages/metadata.yaml index 3de3567608540..eef3f55ae1552 100644 --- a/airbyte-integrations/connectors/source-facebook-pages/metadata.yaml +++ b/airbyte-integrations/connectors/source-facebook-pages/metadata.yaml @@ -10,7 +10,7 @@ data: connectorSubtype: api connectorType: source definitionId: 010eb12f-837b-4685-892d-0a39f76a98f5 - dockerImageTag: 1.0.9 + dockerImageTag: 1.0.10 dockerRepository: airbyte/source-facebook-pages documentationUrl: https://docs.airbyte.com/integrations/sources/facebook-pages githubIssueLabel: source-facebook-pages diff --git a/airbyte-integrations/connectors/source-facebook-pages/pyproject.toml b/airbyte-integrations/connectors/source-facebook-pages/pyproject.toml index 0ab9a2112c1a1..60375facfa207 100644 --- a/airbyte-integrations/connectors/source-facebook-pages/pyproject.toml +++ b/airbyte-integrations/connectors/source-facebook-pages/pyproject.toml @@ -3,7 +3,7 @@ requires = [ "poetry-core>=1.0.0",] build-backend = "poetry.core.masonry.api" [tool.poetry] -version = "1.0.9" +version = "1.0.10" name = "source-facebook-pages" description = "Source implementation for Facebook Pages." authors = [ "Airbyte ",] diff --git a/airbyte-integrations/connectors/source-facebook-pages/source_facebook_pages/source.py b/airbyte-integrations/connectors/source-facebook-pages/source_facebook_pages/source.py index c7f4b7e08d910..6dab423c1766e 100644 --- a/airbyte-integrations/connectors/source-facebook-pages/source_facebook_pages/source.py +++ b/airbyte-integrations/connectors/source-facebook-pages/source_facebook_pages/source.py @@ -15,4 +15,5 @@ # Declarative Source class SourceFacebookPages(YamlDeclarativeSource): def __init__(self): + (1 / 2) super().__init__(**{"path_to_yaml": "manifest.yaml"}) diff --git a/airbyte-integrations/connectors/source-faker/acceptance-test-config.yml b/airbyte-integrations/connectors/source-faker/acceptance-test-config.yml index 72be6dd38c964..d490eb8f762fb 100644 --- a/airbyte-integrations/connectors/source-faker/acceptance-test-config.yml +++ b/airbyte-integrations/connectors/source-faker/acceptance-test-config.yml @@ -41,8 +41,4 @@ acceptance_tests: - name: created_at bypass_reason: "dynamic field" incremental: - tests: - - config_path: secrets/config.json - configured_catalog_path: integration_tests/configured_catalog.json - future_state: - future_state_path: integration_tests/abnormal_state.json + bypass_reason: "This connector does not implement incremental sync" diff --git a/airbyte-integrations/connectors/source-faker/metadata.yaml b/airbyte-integrations/connectors/source-faker/metadata.yaml index 2a46d1e44a8ef..d0f30008d7b03 100644 --- a/airbyte-integrations/connectors/source-faker/metadata.yaml +++ b/airbyte-integrations/connectors/source-faker/metadata.yaml @@ -9,7 +9,7 @@ data: connectorSubtype: api connectorType: source definitionId: dfd88b22-b603-4c3d-aad7-3701784586b1 - dockerImageTag: 6.2.5 + dockerImageTag: 6.2.6 dockerRepository: airbyte/source-faker documentationUrl: https://docs.airbyte.com/integrations/sources/faker githubIssueLabel: source-faker diff --git a/airbyte-integrations/connectors/source-faker/pyproject.toml b/airbyte-integrations/connectors/source-faker/pyproject.toml index d05f9b1f1038e..033cbaed15361 100644 --- a/airbyte-integrations/connectors/source-faker/pyproject.toml +++ b/airbyte-integrations/connectors/source-faker/pyproject.toml @@ -3,7 +3,7 @@ requires = [ "poetry-core>=1.0.0",] build-backend = "poetry.core.masonry.api" [tool.poetry] -version = "6.2.5" +version = "6.2.6" name = "source-faker" description = "Source implementation for fake but realistic looking data." authors = [ "Airbyte ",] diff --git a/airbyte-integrations/connectors/source-faker/source_faker/run.py b/airbyte-integrations/connectors/source-faker/source_faker/run.py index 70f64b994a510..5bf64ce0d7241 100644 --- a/airbyte-integrations/connectors/source-faker/source_faker/run.py +++ b/airbyte-integrations/connectors/source-faker/source_faker/run.py @@ -10,7 +10,6 @@ def run(): - print("testing!!") source = SourceFaker() launch(source, sys.argv[1:]) diff --git a/airbyte-integrations/connectors/source-faker/source_faker/source.py b/airbyte-integrations/connectors/source-faker/source_faker/source.py index 15423b7fcb81e..cd68868a5b760 100644 --- a/airbyte-integrations/connectors/source-faker/source_faker/source.py +++ b/airbyte-integrations/connectors/source-faker/source_faker/source.py @@ -26,6 +26,7 @@ def streams(self, config: Mapping[str, Any]) -> List[Stream]: records_per_slice: int = config["records_per_slice"] if "records_per_slice" in config else 100 always_updated: bool = config["always_updated"] if "always_updated" in config else True parallelism: int = config["parallelism"] if "parallelism" in config else 4 + (0 / 1) return [ Products(count, seed, parallelism, records_per_slice, always_updated), diff --git a/docs/integrations/sources/facebook-pages.md b/docs/integrations/sources/facebook-pages.md index 8a7012f6b1dab..b4f6a241d46aa 100644 --- a/docs/integrations/sources/facebook-pages.md +++ b/docs/integrations/sources/facebook-pages.md @@ -87,26 +87,27 @@ See Facebook's [documentation on rate limiting](https://developers.facebook.com/ Expand to review | Version | Date | Pull Request | Subject | -| :------ | :--------- | :------------------------------------------------------- | :------------------------------------------------------------------------ | -| 1.0.9 | 2024-07-27 | [42787](https://github.com/airbytehq/airbyte/pull/42787) | Update dependencies | -| 1.0.8 | 2024-07-20 | [42255](https://github.com/airbytehq/airbyte/pull/42255) | Update dependencies | -| 1.0.7 | 2024-07-13 | [41685](https://github.com/airbytehq/airbyte/pull/41685) | Update dependencies | -| 1.0.6 | 2024-07-10 | [41543](https://github.com/airbytehq/airbyte/pull/41543) | Update dependencies | -| 1.0.5 | 2024-07-09 | [41126](https://github.com/airbytehq/airbyte/pull/41126) | Update dependencies | -| 1.0.4 | 2024-07-06 | [40812](https://github.com/airbytehq/airbyte/pull/40812) | Update dependencies | -| 1.0.3 | 2024-06-25 | [40500](https://github.com/airbytehq/airbyte/pull/40500) | Update dependencies | -| 1.0.2 | 2024-06-22 | [40058](https://github.com/airbytehq/airbyte/pull/40058) | Update dependencies | -| 1.0.1 | 2024-06-06 | [39243](https://github.com/airbytehq/airbyte/pull/39243) | [autopull] Upgrade base image to v1.2.2 | -| 1.0.0 | 2024-03-14 | [36015](https://github.com/airbytehq/airbyte/pull/36015) | Upgrade Facebook API to v19.0 | -| 0.3.0 | 2023-06-26 | [27728](https://github.com/airbytehq/airbyte/pull/27728) | License Update: Elv2 | -| 0.2.5 | 2023-04-13 | [26939](https://github.com/airbytehq/airbyte/pull/26939) | Add advancedAuth to the connector spec | -| 0.2.4 | 2023-04-13 | [25143](https://github.com/airbytehq/airbyte/pull/25143) | Update insight metrics request params | -| 0.2.3 | 2023-02-23 | [23395](https://github.com/airbytehq/airbyte/pull/23395) | Parse datetime to rfc3339 | -| 0.2.2 | 2023-02-10 | [22804](https://github.com/airbytehq/airbyte/pull/22804) | Retry 500 errors | -| 0.2.1 | 2022-12-29 | [20925](https://github.com/airbytehq/airbyte/pull/20925) | Fix tests; modify expected records | -| 0.2.0 | 2022-11-24 | [19788](https://github.com/airbytehq/airbyte/pull/19788) | Migrate lo low-code; Beta certification; Upgrade Facebook API to v.15 | -| 0.1.6 | 2021-12-22 | [9032](https://github.com/airbytehq/airbyte/pull/9032) | Remove deprecated field `live_encoders` from Page stream | -| 0.1.5 | 2021-11-26 | [8267](https://github.com/airbytehq/airbyte/pull/8267) | updated all empty objects in schemas for Page and Post streams | +|:--------| :--------- | :------------------------------------------------------- | :------------------------------------------------------------------------ | +| 1.0.10 | 2024-07-27 | [42787](https://github.com/airbytehq/airbyte/pull/42787) | Update dependencies | +| 1.0.9 | 2024-07-27 | [42787](https://github.com/airbytehq/airbyte/pull/42787) | Update dependencies | +| 1.0.8 | 2024-07-20 | [42255](https://github.com/airbytehq/airbyte/pull/42255) | Update dependencies | +| 1.0.7 | 2024-07-13 | [41685](https://github.com/airbytehq/airbyte/pull/41685) | Update dependencies | +| 1.0.6 | 2024-07-10 | [41543](https://github.com/airbytehq/airbyte/pull/41543) | Update dependencies | +| 1.0.5 | 2024-07-09 | [41126](https://github.com/airbytehq/airbyte/pull/41126) | Update dependencies | +| 1.0.4 | 2024-07-06 | [40812](https://github.com/airbytehq/airbyte/pull/40812) | Update dependencies | +| 1.0.3 | 2024-06-25 | [40500](https://github.com/airbytehq/airbyte/pull/40500) | Update dependencies | +| 1.0.2 | 2024-06-22 | [40058](https://github.com/airbytehq/airbyte/pull/40058) | Update dependencies | +| 1.0.1 | 2024-06-06 | [39243](https://github.com/airbytehq/airbyte/pull/39243) | [autopull] Upgrade base image to v1.2.2 | +| 1.0.0 | 2024-03-14 | [36015](https://github.com/airbytehq/airbyte/pull/36015) | Upgrade Facebook API to v19.0 | +| 0.3.0 | 2023-06-26 | [27728](https://github.com/airbytehq/airbyte/pull/27728) | License Update: Elv2 | +| 0.2.5 | 2023-04-13 | [26939](https://github.com/airbytehq/airbyte/pull/26939) | Add advancedAuth to the connector spec | +| 0.2.4 | 2023-04-13 | [25143](https://github.com/airbytehq/airbyte/pull/25143) | Update insight metrics request params | +| 0.2.3 | 2023-02-23 | [23395](https://github.com/airbytehq/airbyte/pull/23395) | Parse datetime to rfc3339 | +| 0.2.2 | 2023-02-10 | [22804](https://github.com/airbytehq/airbyte/pull/22804) | Retry 500 errors | +| 0.2.1 | 2022-12-29 | [20925](https://github.com/airbytehq/airbyte/pull/20925) | Fix tests; modify expected records | +| 0.2.0 | 2022-11-24 | [19788](https://github.com/airbytehq/airbyte/pull/19788) | Migrate lo low-code; Beta certification; Upgrade Facebook API to v.15 | +| 0.1.6 | 2021-12-22 | [9032](https://github.com/airbytehq/airbyte/pull/9032) | Remove deprecated field `live_encoders` from Page stream | +| 0.1.5 | 2021-11-26 | [8267](https://github.com/airbytehq/airbyte/pull/8267) | updated all empty objects in schemas for Page and Post streams | | 0.1.4 | 2021-11-26 | [](https://github.com/airbytehq/airbyte/pull/) | Remove unsupported insights_export field from Pages request | | 0.1.3 | 2021-10-28 | [7440](https://github.com/airbytehq/airbyte/pull/7440) | Generate Page token from config access token | | 0.1.2 | 2021-10-18 | [7128](https://github.com/airbytehq/airbyte/pull/7128) | Upgrade Facebook API to v.12 | diff --git a/docs/integrations/sources/faker.md b/docs/integrations/sources/faker.md index 5e631f6509de5..175715d86c570 100644 --- a/docs/integrations/sources/faker.md +++ b/docs/integrations/sources/faker.md @@ -103,28 +103,29 @@ None! Expand to review | Version | Date | Pull Request | Subject | -| :------ | :--------- | :-------------------------------------------------------------------------------------------------------------------- | :-------------------------------------------------------------------------------------------------------------- | -| 6.2.5 | 2024-07-27 | [42682](https://github.com/airbytehq/airbyte/pull/42682) | Update dependencies | -| 6.2.4 | 2024-07-20 | [42367](https://github.com/airbytehq/airbyte/pull/42367) | Update dependencies | -| 6.2.3 | 2024-07-13 | [41848](https://github.com/airbytehq/airbyte/pull/41848) | Update dependencies | -| 6.2.2 | 2024-07-10 | [41467](https://github.com/airbytehq/airbyte/pull/41467) | Update dependencies | -| 6.2.1 | 2024-07-09 | [41180](https://github.com/airbytehq/airbyte/pull/41180) | Update dependencies | -| 6.2.0 | 2024-07-07 | [39935](https://github.com/airbytehq/airbyte/pull/39935) | Update CDK to 2.0. | -| 6.1.6 | 2024-07-06 | [40956](https://github.com/airbytehq/airbyte/pull/40956) | Update dependencies | -| 6.1.5 | 2024-06-25 | [40426](https://github.com/airbytehq/airbyte/pull/40426) | Update dependencies | -| 6.1.4 | 2024-06-21 | [39935](https://github.com/airbytehq/airbyte/pull/39935) | Update dependencies | -| 6.1.3 | 2024-06-04 | [39029](https://github.com/airbytehq/airbyte/pull/39029) | [autopull] Upgrade base image to v1.2.1 | -| 6.1.2 | 2024-06-03 | [38831](https://github.com/airbytehq/airbyte/pull/38831) | Bump CDK to allow and prefer versions `1.x` | -| 6.1.1 | 2024-05-20 | [38256](https://github.com/airbytehq/airbyte/pull/38256) | Replace AirbyteLogger with logging.Logger | -| 6.1.0 | 2024-04-08 | [36898](https://github.com/airbytehq/airbyte/pull/36898) | Update car prices and years | -| 6.0.3 | 2024-03-15 | [36167](https://github.com/airbytehq/airbyte/pull/36167) | Make 'count' an optional config parameter. | -| 6.0.2 | 2024-02-12 | [35174](https://github.com/airbytehq/airbyte/pull/35174) | Manage dependencies with Poetry. | -| 6.0.1 | 2024-02-12 | [35172](https://github.com/airbytehq/airbyte/pull/35172) | Base image migration: remove Dockerfile and use the python-connector-base image | -| 6.0.0 | 2024-01-30 | [34644](https://github.com/airbytehq/airbyte/pull/34644) | Declare 'id' columns as primary keys. | -| 5.0.2 | 2024-01-17 | [34344](https://github.com/airbytehq/airbyte/pull/34344) | Ensure unique state messages | -| 5.0.1 | 2023-01-08 | [34033](https://github.com/airbytehq/airbyte/pull/34033) | Add standard entrypoints for usage with AirbyteLib | -| 5.0.0 | 2023-08-08 | [29213](https://github.com/airbytehq/airbyte/pull/29213) | Change all `*id` fields and `products.year` to be integer | -| 4.0.0 | 2023-07-19 | [28485](https://github.com/airbytehq/airbyte/pull/28485) | Bump to test publication | +|:--------| :--------- | :-------------------------------------------------------------------------------------------------------------------- | :-------------------------------------------------------------------------------------------------------------- | +| 6.2.6 | 2024-07-27 | [42682](https://github.com/airbytehq/airbyte/pull/42682) | Update dependencies | +| 6.2.5 | 2024-07-27 | [42682](https://github.com/airbytehq/airbyte/pull/42682) | Update dependencies | +| 6.2.4 | 2024-07-20 | [42367](https://github.com/airbytehq/airbyte/pull/42367) | Update dependencies | +| 6.2.3 | 2024-07-13 | [41848](https://github.com/airbytehq/airbyte/pull/41848) | Update dependencies | +| 6.2.2 | 2024-07-10 | [41467](https://github.com/airbytehq/airbyte/pull/41467) | Update dependencies | +| 6.2.1 | 2024-07-09 | [41180](https://github.com/airbytehq/airbyte/pull/41180) | Update dependencies | +| 6.2.0 | 2024-07-07 | [39935](https://github.com/airbytehq/airbyte/pull/39935) | Update CDK to 2.0. | +| 6.1.6 | 2024-07-06 | [40956](https://github.com/airbytehq/airbyte/pull/40956) | Update dependencies | +| 6.1.5 | 2024-06-25 | [40426](https://github.com/airbytehq/airbyte/pull/40426) | Update dependencies | +| 6.1.4 | 2024-06-21 | [39935](https://github.com/airbytehq/airbyte/pull/39935) | Update dependencies | +| 6.1.3 | 2024-06-04 | [39029](https://github.com/airbytehq/airbyte/pull/39029) | [autopull] Upgrade base image to v1.2.1 | +| 6.1.2 | 2024-06-03 | [38831](https://github.com/airbytehq/airbyte/pull/38831) | Bump CDK to allow and prefer versions `1.x` | +| 6.1.1 | 2024-05-20 | [38256](https://github.com/airbytehq/airbyte/pull/38256) | Replace AirbyteLogger with logging.Logger | +| 6.1.0 | 2024-04-08 | [36898](https://github.com/airbytehq/airbyte/pull/36898) | Update car prices and years | +| 6.0.3 | 2024-03-15 | [36167](https://github.com/airbytehq/airbyte/pull/36167) | Make 'count' an optional config parameter. | +| 6.0.2 | 2024-02-12 | [35174](https://github.com/airbytehq/airbyte/pull/35174) | Manage dependencies with Poetry. | +| 6.0.1 | 2024-02-12 | [35172](https://github.com/airbytehq/airbyte/pull/35172) | Base image migration: remove Dockerfile and use the python-connector-base image | +| 6.0.0 | 2024-01-30 | [34644](https://github.com/airbytehq/airbyte/pull/34644) | Declare 'id' columns as primary keys. | +| 5.0.2 | 2024-01-17 | [34344](https://github.com/airbytehq/airbyte/pull/34344) | Ensure unique state messages | +| 5.0.1 | 2023-01-08 | [34033](https://github.com/airbytehq/airbyte/pull/34033) | Add standard entrypoints for usage with AirbyteLib | +| 5.0.0 | 2023-08-08 | [29213](https://github.com/airbytehq/airbyte/pull/29213) | Change all `*id` fields and `products.year` to be integer | +| 4.0.0 | 2023-07-19 | [28485](https://github.com/airbytehq/airbyte/pull/28485) | Bump to test publication | | 3.0.2 | 2023-07-07 | [27807](https://github.com/airbytehq/airbyte/pull/28060) | Bump to test publication | | 3.0.1 | 2023-06-28 | [27807](https://github.com/airbytehq/airbyte/pull/27807) | Fix bug with purchase stream updated_at | | 3.0.0 | 2023-06-23 | [27684](https://github.com/airbytehq/airbyte/pull/27684) | Stream cursor is now `updated_at` & remove `records_per_sync` option | From e621461be19fc00e45a89b5118f839acd8011733 Mon Sep 17 00:00:00 2001 From: Catherine Noll Date: Thu, 1 Aug 2024 22:25:08 -0400 Subject: [PATCH 12/14] fix types --- .../pipelines/airbyte_ci/connectors/test/steps/common.py | 1 + 1 file changed, 1 insertion(+) diff --git a/airbyte-ci/connectors/pipelines/pipelines/airbyte_ci/connectors/test/steps/common.py b/airbyte-ci/connectors/pipelines/pipelines/airbyte_ci/connectors/test/steps/common.py index 6c587ca3641ca..f4a086d1781d1 100644 --- a/airbyte-ci/connectors/pipelines/pipelines/airbyte_ci/connectors/test/steps/common.py +++ b/airbyte-ci/connectors/pipelines/pipelines/airbyte_ci/connectors/test/steps/common.py @@ -621,6 +621,7 @@ def _get_connection_from_test_connections(self) -> Optional[str]: connection_name = option["name"] self.logger.info(f"Using connection name={connection_name}; id={connection_id}") return connection_id + return None async def _run(self, connector_under_test_container: Container) -> StepResult: """Run the regression test suite. From 5a4bb17b0fb8feeea596e0d857b42d1330b9de03 Mon Sep 17 00:00:00 2001 From: Catherine Noll Date: Thu, 1 Aug 2024 22:25:25 -0400 Subject: [PATCH 13/14] Revert "testing" This reverts commit 54928cffaaa6a40a30dd4049d85ef75a24185b43. --- .../source-facebook-pages/metadata.yaml | 2 +- .../source-facebook-pages/pyproject.toml | 2 +- .../source_facebook_pages/source.py | 1 - .../source-faker/acceptance-test-config.yml | 6 ++- .../connectors/source-faker/metadata.yaml | 2 +- .../connectors/source-faker/pyproject.toml | 2 +- .../source-faker/source_faker/run.py | 1 + .../source-faker/source_faker/source.py | 1 - docs/integrations/sources/facebook-pages.md | 41 +++++++++-------- docs/integrations/sources/faker.md | 45 +++++++++---------- 10 files changed, 52 insertions(+), 51 deletions(-) diff --git a/airbyte-integrations/connectors/source-facebook-pages/metadata.yaml b/airbyte-integrations/connectors/source-facebook-pages/metadata.yaml index eef3f55ae1552..3de3567608540 100644 --- a/airbyte-integrations/connectors/source-facebook-pages/metadata.yaml +++ b/airbyte-integrations/connectors/source-facebook-pages/metadata.yaml @@ -10,7 +10,7 @@ data: connectorSubtype: api connectorType: source definitionId: 010eb12f-837b-4685-892d-0a39f76a98f5 - dockerImageTag: 1.0.10 + dockerImageTag: 1.0.9 dockerRepository: airbyte/source-facebook-pages documentationUrl: https://docs.airbyte.com/integrations/sources/facebook-pages githubIssueLabel: source-facebook-pages diff --git a/airbyte-integrations/connectors/source-facebook-pages/pyproject.toml b/airbyte-integrations/connectors/source-facebook-pages/pyproject.toml index 60375facfa207..0ab9a2112c1a1 100644 --- a/airbyte-integrations/connectors/source-facebook-pages/pyproject.toml +++ b/airbyte-integrations/connectors/source-facebook-pages/pyproject.toml @@ -3,7 +3,7 @@ requires = [ "poetry-core>=1.0.0",] build-backend = "poetry.core.masonry.api" [tool.poetry] -version = "1.0.10" +version = "1.0.9" name = "source-facebook-pages" description = "Source implementation for Facebook Pages." authors = [ "Airbyte ",] diff --git a/airbyte-integrations/connectors/source-facebook-pages/source_facebook_pages/source.py b/airbyte-integrations/connectors/source-facebook-pages/source_facebook_pages/source.py index 6dab423c1766e..c7f4b7e08d910 100644 --- a/airbyte-integrations/connectors/source-facebook-pages/source_facebook_pages/source.py +++ b/airbyte-integrations/connectors/source-facebook-pages/source_facebook_pages/source.py @@ -15,5 +15,4 @@ # Declarative Source class SourceFacebookPages(YamlDeclarativeSource): def __init__(self): - (1 / 2) super().__init__(**{"path_to_yaml": "manifest.yaml"}) diff --git a/airbyte-integrations/connectors/source-faker/acceptance-test-config.yml b/airbyte-integrations/connectors/source-faker/acceptance-test-config.yml index d490eb8f762fb..72be6dd38c964 100644 --- a/airbyte-integrations/connectors/source-faker/acceptance-test-config.yml +++ b/airbyte-integrations/connectors/source-faker/acceptance-test-config.yml @@ -41,4 +41,8 @@ acceptance_tests: - name: created_at bypass_reason: "dynamic field" incremental: - bypass_reason: "This connector does not implement incremental sync" + tests: + - config_path: secrets/config.json + configured_catalog_path: integration_tests/configured_catalog.json + future_state: + future_state_path: integration_tests/abnormal_state.json diff --git a/airbyte-integrations/connectors/source-faker/metadata.yaml b/airbyte-integrations/connectors/source-faker/metadata.yaml index d0f30008d7b03..2a46d1e44a8ef 100644 --- a/airbyte-integrations/connectors/source-faker/metadata.yaml +++ b/airbyte-integrations/connectors/source-faker/metadata.yaml @@ -9,7 +9,7 @@ data: connectorSubtype: api connectorType: source definitionId: dfd88b22-b603-4c3d-aad7-3701784586b1 - dockerImageTag: 6.2.6 + dockerImageTag: 6.2.5 dockerRepository: airbyte/source-faker documentationUrl: https://docs.airbyte.com/integrations/sources/faker githubIssueLabel: source-faker diff --git a/airbyte-integrations/connectors/source-faker/pyproject.toml b/airbyte-integrations/connectors/source-faker/pyproject.toml index 033cbaed15361..d05f9b1f1038e 100644 --- a/airbyte-integrations/connectors/source-faker/pyproject.toml +++ b/airbyte-integrations/connectors/source-faker/pyproject.toml @@ -3,7 +3,7 @@ requires = [ "poetry-core>=1.0.0",] build-backend = "poetry.core.masonry.api" [tool.poetry] -version = "6.2.6" +version = "6.2.5" name = "source-faker" description = "Source implementation for fake but realistic looking data." authors = [ "Airbyte ",] diff --git a/airbyte-integrations/connectors/source-faker/source_faker/run.py b/airbyte-integrations/connectors/source-faker/source_faker/run.py index 5bf64ce0d7241..70f64b994a510 100644 --- a/airbyte-integrations/connectors/source-faker/source_faker/run.py +++ b/airbyte-integrations/connectors/source-faker/source_faker/run.py @@ -10,6 +10,7 @@ def run(): + print("testing!!") source = SourceFaker() launch(source, sys.argv[1:]) diff --git a/airbyte-integrations/connectors/source-faker/source_faker/source.py b/airbyte-integrations/connectors/source-faker/source_faker/source.py index cd68868a5b760..15423b7fcb81e 100644 --- a/airbyte-integrations/connectors/source-faker/source_faker/source.py +++ b/airbyte-integrations/connectors/source-faker/source_faker/source.py @@ -26,7 +26,6 @@ def streams(self, config: Mapping[str, Any]) -> List[Stream]: records_per_slice: int = config["records_per_slice"] if "records_per_slice" in config else 100 always_updated: bool = config["always_updated"] if "always_updated" in config else True parallelism: int = config["parallelism"] if "parallelism" in config else 4 - (0 / 1) return [ Products(count, seed, parallelism, records_per_slice, always_updated), diff --git a/docs/integrations/sources/facebook-pages.md b/docs/integrations/sources/facebook-pages.md index b4f6a241d46aa..8a7012f6b1dab 100644 --- a/docs/integrations/sources/facebook-pages.md +++ b/docs/integrations/sources/facebook-pages.md @@ -87,27 +87,26 @@ See Facebook's [documentation on rate limiting](https://developers.facebook.com/ Expand to review | Version | Date | Pull Request | Subject | -|:--------| :--------- | :------------------------------------------------------- | :------------------------------------------------------------------------ | -| 1.0.10 | 2024-07-27 | [42787](https://github.com/airbytehq/airbyte/pull/42787) | Update dependencies | -| 1.0.9 | 2024-07-27 | [42787](https://github.com/airbytehq/airbyte/pull/42787) | Update dependencies | -| 1.0.8 | 2024-07-20 | [42255](https://github.com/airbytehq/airbyte/pull/42255) | Update dependencies | -| 1.0.7 | 2024-07-13 | [41685](https://github.com/airbytehq/airbyte/pull/41685) | Update dependencies | -| 1.0.6 | 2024-07-10 | [41543](https://github.com/airbytehq/airbyte/pull/41543) | Update dependencies | -| 1.0.5 | 2024-07-09 | [41126](https://github.com/airbytehq/airbyte/pull/41126) | Update dependencies | -| 1.0.4 | 2024-07-06 | [40812](https://github.com/airbytehq/airbyte/pull/40812) | Update dependencies | -| 1.0.3 | 2024-06-25 | [40500](https://github.com/airbytehq/airbyte/pull/40500) | Update dependencies | -| 1.0.2 | 2024-06-22 | [40058](https://github.com/airbytehq/airbyte/pull/40058) | Update dependencies | -| 1.0.1 | 2024-06-06 | [39243](https://github.com/airbytehq/airbyte/pull/39243) | [autopull] Upgrade base image to v1.2.2 | -| 1.0.0 | 2024-03-14 | [36015](https://github.com/airbytehq/airbyte/pull/36015) | Upgrade Facebook API to v19.0 | -| 0.3.0 | 2023-06-26 | [27728](https://github.com/airbytehq/airbyte/pull/27728) | License Update: Elv2 | -| 0.2.5 | 2023-04-13 | [26939](https://github.com/airbytehq/airbyte/pull/26939) | Add advancedAuth to the connector spec | -| 0.2.4 | 2023-04-13 | [25143](https://github.com/airbytehq/airbyte/pull/25143) | Update insight metrics request params | -| 0.2.3 | 2023-02-23 | [23395](https://github.com/airbytehq/airbyte/pull/23395) | Parse datetime to rfc3339 | -| 0.2.2 | 2023-02-10 | [22804](https://github.com/airbytehq/airbyte/pull/22804) | Retry 500 errors | -| 0.2.1 | 2022-12-29 | [20925](https://github.com/airbytehq/airbyte/pull/20925) | Fix tests; modify expected records | -| 0.2.0 | 2022-11-24 | [19788](https://github.com/airbytehq/airbyte/pull/19788) | Migrate lo low-code; Beta certification; Upgrade Facebook API to v.15 | -| 0.1.6 | 2021-12-22 | [9032](https://github.com/airbytehq/airbyte/pull/9032) | Remove deprecated field `live_encoders` from Page stream | -| 0.1.5 | 2021-11-26 | [8267](https://github.com/airbytehq/airbyte/pull/8267) | updated all empty objects in schemas for Page and Post streams | +| :------ | :--------- | :------------------------------------------------------- | :------------------------------------------------------------------------ | +| 1.0.9 | 2024-07-27 | [42787](https://github.com/airbytehq/airbyte/pull/42787) | Update dependencies | +| 1.0.8 | 2024-07-20 | [42255](https://github.com/airbytehq/airbyte/pull/42255) | Update dependencies | +| 1.0.7 | 2024-07-13 | [41685](https://github.com/airbytehq/airbyte/pull/41685) | Update dependencies | +| 1.0.6 | 2024-07-10 | [41543](https://github.com/airbytehq/airbyte/pull/41543) | Update dependencies | +| 1.0.5 | 2024-07-09 | [41126](https://github.com/airbytehq/airbyte/pull/41126) | Update dependencies | +| 1.0.4 | 2024-07-06 | [40812](https://github.com/airbytehq/airbyte/pull/40812) | Update dependencies | +| 1.0.3 | 2024-06-25 | [40500](https://github.com/airbytehq/airbyte/pull/40500) | Update dependencies | +| 1.0.2 | 2024-06-22 | [40058](https://github.com/airbytehq/airbyte/pull/40058) | Update dependencies | +| 1.0.1 | 2024-06-06 | [39243](https://github.com/airbytehq/airbyte/pull/39243) | [autopull] Upgrade base image to v1.2.2 | +| 1.0.0 | 2024-03-14 | [36015](https://github.com/airbytehq/airbyte/pull/36015) | Upgrade Facebook API to v19.0 | +| 0.3.0 | 2023-06-26 | [27728](https://github.com/airbytehq/airbyte/pull/27728) | License Update: Elv2 | +| 0.2.5 | 2023-04-13 | [26939](https://github.com/airbytehq/airbyte/pull/26939) | Add advancedAuth to the connector spec | +| 0.2.4 | 2023-04-13 | [25143](https://github.com/airbytehq/airbyte/pull/25143) | Update insight metrics request params | +| 0.2.3 | 2023-02-23 | [23395](https://github.com/airbytehq/airbyte/pull/23395) | Parse datetime to rfc3339 | +| 0.2.2 | 2023-02-10 | [22804](https://github.com/airbytehq/airbyte/pull/22804) | Retry 500 errors | +| 0.2.1 | 2022-12-29 | [20925](https://github.com/airbytehq/airbyte/pull/20925) | Fix tests; modify expected records | +| 0.2.0 | 2022-11-24 | [19788](https://github.com/airbytehq/airbyte/pull/19788) | Migrate lo low-code; Beta certification; Upgrade Facebook API to v.15 | +| 0.1.6 | 2021-12-22 | [9032](https://github.com/airbytehq/airbyte/pull/9032) | Remove deprecated field `live_encoders` from Page stream | +| 0.1.5 | 2021-11-26 | [8267](https://github.com/airbytehq/airbyte/pull/8267) | updated all empty objects in schemas for Page and Post streams | | 0.1.4 | 2021-11-26 | [](https://github.com/airbytehq/airbyte/pull/) | Remove unsupported insights_export field from Pages request | | 0.1.3 | 2021-10-28 | [7440](https://github.com/airbytehq/airbyte/pull/7440) | Generate Page token from config access token | | 0.1.2 | 2021-10-18 | [7128](https://github.com/airbytehq/airbyte/pull/7128) | Upgrade Facebook API to v.12 | diff --git a/docs/integrations/sources/faker.md b/docs/integrations/sources/faker.md index 175715d86c570..5e631f6509de5 100644 --- a/docs/integrations/sources/faker.md +++ b/docs/integrations/sources/faker.md @@ -103,29 +103,28 @@ None! Expand to review | Version | Date | Pull Request | Subject | -|:--------| :--------- | :-------------------------------------------------------------------------------------------------------------------- | :-------------------------------------------------------------------------------------------------------------- | -| 6.2.6 | 2024-07-27 | [42682](https://github.com/airbytehq/airbyte/pull/42682) | Update dependencies | -| 6.2.5 | 2024-07-27 | [42682](https://github.com/airbytehq/airbyte/pull/42682) | Update dependencies | -| 6.2.4 | 2024-07-20 | [42367](https://github.com/airbytehq/airbyte/pull/42367) | Update dependencies | -| 6.2.3 | 2024-07-13 | [41848](https://github.com/airbytehq/airbyte/pull/41848) | Update dependencies | -| 6.2.2 | 2024-07-10 | [41467](https://github.com/airbytehq/airbyte/pull/41467) | Update dependencies | -| 6.2.1 | 2024-07-09 | [41180](https://github.com/airbytehq/airbyte/pull/41180) | Update dependencies | -| 6.2.0 | 2024-07-07 | [39935](https://github.com/airbytehq/airbyte/pull/39935) | Update CDK to 2.0. | -| 6.1.6 | 2024-07-06 | [40956](https://github.com/airbytehq/airbyte/pull/40956) | Update dependencies | -| 6.1.5 | 2024-06-25 | [40426](https://github.com/airbytehq/airbyte/pull/40426) | Update dependencies | -| 6.1.4 | 2024-06-21 | [39935](https://github.com/airbytehq/airbyte/pull/39935) | Update dependencies | -| 6.1.3 | 2024-06-04 | [39029](https://github.com/airbytehq/airbyte/pull/39029) | [autopull] Upgrade base image to v1.2.1 | -| 6.1.2 | 2024-06-03 | [38831](https://github.com/airbytehq/airbyte/pull/38831) | Bump CDK to allow and prefer versions `1.x` | -| 6.1.1 | 2024-05-20 | [38256](https://github.com/airbytehq/airbyte/pull/38256) | Replace AirbyteLogger with logging.Logger | -| 6.1.0 | 2024-04-08 | [36898](https://github.com/airbytehq/airbyte/pull/36898) | Update car prices and years | -| 6.0.3 | 2024-03-15 | [36167](https://github.com/airbytehq/airbyte/pull/36167) | Make 'count' an optional config parameter. | -| 6.0.2 | 2024-02-12 | [35174](https://github.com/airbytehq/airbyte/pull/35174) | Manage dependencies with Poetry. | -| 6.0.1 | 2024-02-12 | [35172](https://github.com/airbytehq/airbyte/pull/35172) | Base image migration: remove Dockerfile and use the python-connector-base image | -| 6.0.0 | 2024-01-30 | [34644](https://github.com/airbytehq/airbyte/pull/34644) | Declare 'id' columns as primary keys. | -| 5.0.2 | 2024-01-17 | [34344](https://github.com/airbytehq/airbyte/pull/34344) | Ensure unique state messages | -| 5.0.1 | 2023-01-08 | [34033](https://github.com/airbytehq/airbyte/pull/34033) | Add standard entrypoints for usage with AirbyteLib | -| 5.0.0 | 2023-08-08 | [29213](https://github.com/airbytehq/airbyte/pull/29213) | Change all `*id` fields and `products.year` to be integer | -| 4.0.0 | 2023-07-19 | [28485](https://github.com/airbytehq/airbyte/pull/28485) | Bump to test publication | +| :------ | :--------- | :-------------------------------------------------------------------------------------------------------------------- | :-------------------------------------------------------------------------------------------------------------- | +| 6.2.5 | 2024-07-27 | [42682](https://github.com/airbytehq/airbyte/pull/42682) | Update dependencies | +| 6.2.4 | 2024-07-20 | [42367](https://github.com/airbytehq/airbyte/pull/42367) | Update dependencies | +| 6.2.3 | 2024-07-13 | [41848](https://github.com/airbytehq/airbyte/pull/41848) | Update dependencies | +| 6.2.2 | 2024-07-10 | [41467](https://github.com/airbytehq/airbyte/pull/41467) | Update dependencies | +| 6.2.1 | 2024-07-09 | [41180](https://github.com/airbytehq/airbyte/pull/41180) | Update dependencies | +| 6.2.0 | 2024-07-07 | [39935](https://github.com/airbytehq/airbyte/pull/39935) | Update CDK to 2.0. | +| 6.1.6 | 2024-07-06 | [40956](https://github.com/airbytehq/airbyte/pull/40956) | Update dependencies | +| 6.1.5 | 2024-06-25 | [40426](https://github.com/airbytehq/airbyte/pull/40426) | Update dependencies | +| 6.1.4 | 2024-06-21 | [39935](https://github.com/airbytehq/airbyte/pull/39935) | Update dependencies | +| 6.1.3 | 2024-06-04 | [39029](https://github.com/airbytehq/airbyte/pull/39029) | [autopull] Upgrade base image to v1.2.1 | +| 6.1.2 | 2024-06-03 | [38831](https://github.com/airbytehq/airbyte/pull/38831) | Bump CDK to allow and prefer versions `1.x` | +| 6.1.1 | 2024-05-20 | [38256](https://github.com/airbytehq/airbyte/pull/38256) | Replace AirbyteLogger with logging.Logger | +| 6.1.0 | 2024-04-08 | [36898](https://github.com/airbytehq/airbyte/pull/36898) | Update car prices and years | +| 6.0.3 | 2024-03-15 | [36167](https://github.com/airbytehq/airbyte/pull/36167) | Make 'count' an optional config parameter. | +| 6.0.2 | 2024-02-12 | [35174](https://github.com/airbytehq/airbyte/pull/35174) | Manage dependencies with Poetry. | +| 6.0.1 | 2024-02-12 | [35172](https://github.com/airbytehq/airbyte/pull/35172) | Base image migration: remove Dockerfile and use the python-connector-base image | +| 6.0.0 | 2024-01-30 | [34644](https://github.com/airbytehq/airbyte/pull/34644) | Declare 'id' columns as primary keys. | +| 5.0.2 | 2024-01-17 | [34344](https://github.com/airbytehq/airbyte/pull/34344) | Ensure unique state messages | +| 5.0.1 | 2023-01-08 | [34033](https://github.com/airbytehq/airbyte/pull/34033) | Add standard entrypoints for usage with AirbyteLib | +| 5.0.0 | 2023-08-08 | [29213](https://github.com/airbytehq/airbyte/pull/29213) | Change all `*id` fields and `products.year` to be integer | +| 4.0.0 | 2023-07-19 | [28485](https://github.com/airbytehq/airbyte/pull/28485) | Bump to test publication | | 3.0.2 | 2023-07-07 | [27807](https://github.com/airbytehq/airbyte/pull/28060) | Bump to test publication | | 3.0.1 | 2023-06-28 | [27807](https://github.com/airbytehq/airbyte/pull/27807) | Fix bug with purchase stream updated_at | | 3.0.0 | 2023-06-23 | [27684](https://github.com/airbytehq/airbyte/pull/27684) | Stream cursor is now `updated_at` & remove `records_per_sync` option | From 26841aedcd2135e82116c75e87b17a13971df245 Mon Sep 17 00:00:00 2001 From: Catherine Noll Date: Thu, 1 Aug 2024 22:36:10 -0400 Subject: [PATCH 14/14] revert testing --- airbyte-integrations/connectors/source-faker/source_faker/run.py | 1 - 1 file changed, 1 deletion(-) diff --git a/airbyte-integrations/connectors/source-faker/source_faker/run.py b/airbyte-integrations/connectors/source-faker/source_faker/run.py index 70f64b994a510..5bf64ce0d7241 100644 --- a/airbyte-integrations/connectors/source-faker/source_faker/run.py +++ b/airbyte-integrations/connectors/source-faker/source_faker/run.py @@ -10,7 +10,6 @@ def run(): - print("testing!!") source = SourceFaker() launch(source, sys.argv[1:])