diff --git a/airbyte-ci/connectors/metadata_service/lib/metadata_service/models/generated/AirbyteInternal.py b/airbyte-ci/connectors/metadata_service/lib/metadata_service/models/generated/AirbyteInternal.py index 5d542996a9934..60cd440cc2183 100644 --- a/airbyte-ci/connectors/metadata_service/lib/metadata_service/models/generated/AirbyteInternal.py +++ b/airbyte-ci/connectors/metadata_service/lib/metadata_service/models/generated/AirbyteInternal.py @@ -5,7 +5,7 @@ from typing import Optional -from pydantic import BaseModel, Extra +from pydantic import BaseModel, Extra, Field from typing_extensions import Literal @@ -16,3 +16,7 @@ class Config: sl: Optional[Literal[0, 100, 200, 300]] = None ql: Optional[Literal[0, 100, 200, 300, 400, 500, 600]] = None isEnterprise: Optional[bool] = False + requireVersionIncrementsInPullRequests: Optional[bool] = Field( + True, + description="When false, version increment checks will be skipped for this connector", + ) diff --git a/airbyte-ci/connectors/metadata_service/lib/metadata_service/models/generated/ConnectorMetadataDefinitionV0.py b/airbyte-ci/connectors/metadata_service/lib/metadata_service/models/generated/ConnectorMetadataDefinitionV0.py index d5a70d32be200..2627ea3dd55ad 100644 --- a/airbyte-ci/connectors/metadata_service/lib/metadata_service/models/generated/ConnectorMetadataDefinitionV0.py +++ b/airbyte-ci/connectors/metadata_service/lib/metadata_service/models/generated/ConnectorMetadataDefinitionV0.py @@ -159,6 +159,10 @@ class Config: sl: Optional[Literal[0, 100, 200, 300]] = None ql: Optional[Literal[0, 100, 200, 300, 400, 500, 600]] = None isEnterprise: Optional[bool] = False + requireVersionIncrementsInPullRequests: Optional[bool] = Field( + True, + description="When false, version increment checks will be skipped for this connector", + ) class PyPi(BaseModel): diff --git a/airbyte-ci/connectors/metadata_service/lib/metadata_service/models/generated/ConnectorRegistryDestinationDefinition.py b/airbyte-ci/connectors/metadata_service/lib/metadata_service/models/generated/ConnectorRegistryDestinationDefinition.py index fb787909c2c03..77f534574a8df 100644 --- a/airbyte-ci/connectors/metadata_service/lib/metadata_service/models/generated/ConnectorRegistryDestinationDefinition.py +++ b/airbyte-ci/connectors/metadata_service/lib/metadata_service/models/generated/ConnectorRegistryDestinationDefinition.py @@ -131,6 +131,10 @@ class Config: sl: Optional[Literal[0, 100, 200, 300]] = None ql: Optional[Literal[0, 100, 200, 300, 400, 500, 600]] = None isEnterprise: Optional[bool] = False + requireVersionIncrementsInPullRequests: Optional[bool] = Field( + True, + description="When false, version increment checks will be skipped for this connector", + ) class GitInfo(BaseModel): diff --git a/airbyte-ci/connectors/metadata_service/lib/metadata_service/models/generated/ConnectorRegistryReleases.py b/airbyte-ci/connectors/metadata_service/lib/metadata_service/models/generated/ConnectorRegistryReleases.py index 980fbdd7960d9..8242c26fc59e8 100644 --- a/airbyte-ci/connectors/metadata_service/lib/metadata_service/models/generated/ConnectorRegistryReleases.py +++ b/airbyte-ci/connectors/metadata_service/lib/metadata_service/models/generated/ConnectorRegistryReleases.py @@ -113,6 +113,10 @@ class Config: sl: Optional[Literal[0, 100, 200, 300]] = None ql: Optional[Literal[0, 100, 200, 300, 400, 500, 600]] = None isEnterprise: Optional[bool] = False + requireVersionIncrementsInPullRequests: Optional[bool] = Field( + True, + description="When false, version increment checks will be skipped for this connector", + ) class GitInfo(BaseModel): diff --git a/airbyte-ci/connectors/metadata_service/lib/metadata_service/models/generated/ConnectorRegistrySourceDefinition.py b/airbyte-ci/connectors/metadata_service/lib/metadata_service/models/generated/ConnectorRegistrySourceDefinition.py index 6af8b6b473e5d..70156fcfdef59 100644 --- a/airbyte-ci/connectors/metadata_service/lib/metadata_service/models/generated/ConnectorRegistrySourceDefinition.py +++ b/airbyte-ci/connectors/metadata_service/lib/metadata_service/models/generated/ConnectorRegistrySourceDefinition.py @@ -131,6 +131,10 @@ class Config: sl: Optional[Literal[0, 100, 200, 300]] = None ql: Optional[Literal[0, 100, 200, 300, 400, 500, 600]] = None isEnterprise: Optional[bool] = False + requireVersionIncrementsInPullRequests: Optional[bool] = Field( + True, + description="When false, version increment checks will be skipped for this connector", + ) class GitInfo(BaseModel): diff --git a/airbyte-ci/connectors/metadata_service/lib/metadata_service/models/generated/ConnectorRegistryV0.py b/airbyte-ci/connectors/metadata_service/lib/metadata_service/models/generated/ConnectorRegistryV0.py index 76adb266f0bba..ad0b09d5d96f5 100644 --- a/airbyte-ci/connectors/metadata_service/lib/metadata_service/models/generated/ConnectorRegistryV0.py +++ b/airbyte-ci/connectors/metadata_service/lib/metadata_service/models/generated/ConnectorRegistryV0.py @@ -131,6 +131,10 @@ class Config: sl: Optional[Literal[0, 100, 200, 300]] = None ql: Optional[Literal[0, 100, 200, 300, 400, 500, 600]] = None isEnterprise: Optional[bool] = False + requireVersionIncrementsInPullRequests: Optional[bool] = Field( + True, + description="When false, version increment checks will be skipped for this connector", + ) class GitInfo(BaseModel): diff --git a/airbyte-ci/connectors/metadata_service/lib/metadata_service/models/src/AirbyteInternal.yaml b/airbyte-ci/connectors/metadata_service/lib/metadata_service/models/src/AirbyteInternal.yaml index 9d4d71cec10cf..4d310406c8e14 100644 --- a/airbyte-ci/connectors/metadata_service/lib/metadata_service/models/src/AirbyteInternal.yaml +++ b/airbyte-ci/connectors/metadata_service/lib/metadata_service/models/src/AirbyteInternal.yaml @@ -26,3 +26,7 @@ properties: isEnterprise: type: boolean default: false + requireVersionIncrementsInPullRequests: + type: boolean + default: true + description: When false, version increment checks will be skipped for this connector diff --git a/airbyte-ci/connectors/metadata_service/lib/tests/test_transform.py b/airbyte-ci/connectors/metadata_service/lib/tests/test_transform.py index f69561e019a60..af39e16a416bb 100644 --- a/airbyte-ci/connectors/metadata_service/lib/tests/test_transform.py +++ b/airbyte-ci/connectors/metadata_service/lib/tests/test_transform.py @@ -69,6 +69,7 @@ def test_transform_to_json_does_not_mutate_keys(valid_metadata_upload_files, val "data.releases.rolloutConfiguration.advanceDelayMinutes", "data.releases.breakingChanges.2.0.0.deadlineAction", "data.ab_internal.isEnterprise", + "data.ab_internal.requireVersionIncrementsInPullRequests", ] for file_path in all_valid_metadata_files: diff --git a/airbyte-ci/connectors/pipelines/README.md b/airbyte-ci/connectors/pipelines/README.md index ca580a59975a4..44751173610aa 100644 --- a/airbyte-ci/connectors/pipelines/README.md +++ b/airbyte-ci/connectors/pipelines/README.md @@ -821,6 +821,7 @@ airbyte-ci connectors --language=low-code migrate-to-manifest-only ## Changelog | Version | PR | Description | +| 5.1.0 | [#53238](https://github.com/airbytehq/airbyte/pull/53238) | Add ability to opt out of version increment checks via metadata flag | | 5.0.1 | [#52664](https://github.com/airbytehq/airbyte/pull/52664) | Update Python version requirement from 3.10 to 3.11. | | ------- | ---------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------- | | 4.49.4 | [#52104](https://github.com/airbytehq/airbyte/pull/52104) | Stream Gradle task output to the step logger | 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 389c31aaed629..628697721691a 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 @@ -119,6 +119,10 @@ class VersionIncrementCheck(VersionCheck): @property def should_run(self) -> bool: + # Skip if connector opts out of version checks + if self.context.metadata and self.context.metadata.get("ab_internal", {}).get("requireVersionIncrementsInPullRequests") is False: + return False + for filename in self.context.modified_files: relative_path = str(filename).replace(str(self.context.connector.code_directory) + "/", "") if not any([relative_path.startswith(to_bypass) for to_bypass in self.BYPASS_CHECK_FOR]): diff --git a/airbyte-ci/connectors/pipelines/pyproject.toml b/airbyte-ci/connectors/pipelines/pyproject.toml index d41477bdaec8a..05cdb0aedd19c 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 = "5.0.1" +version = "5.1.0" description = "Packaged maintained by the connector operations team to perform CI for connectors' pipelines" authors = ["Airbyte "]