Skip to content

Commit c679df0

Browse files
committed
Clean up breaking changes check
1 parent 377a5a6 commit c679df0

File tree

2 files changed

+9
-20
lines changed

2 files changed

+9
-20
lines changed

airbyte-ci/connectors/connectors_qa/pyproject.toml

+1-8
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[tool.poetry]
22
name = "connectors-qa"
3-
version = "1.0.3"
3+
version = "1.0.4"
44
description = "A package to run QA checks on Airbyte connectors, generate reports and documentation."
55
authors = ["Airbyte <[email protected]>"]
66
readme = "README.md"
@@ -43,10 +43,3 @@ lint = "ruff check src"
4343
extra_poetry_groups = ["dev"]
4444
poe_tasks = ["type_check", "lint", "test"]
4545
required_environment_variables = ["DOCKER_HUB_USERNAME", "DOCKER_HUB_PASSWORD"]
46-
47-
[tool.pyright]
48-
reportMissingImports = true
49-
reportMissingTypeStubs = false
50-
pythonVersion = "3.10"
51-
venvPath = "."
52-
venv = ".venv"

airbyte-ci/connectors/connectors_qa/src/connectors_qa/checks/metadata.py

+8-12
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
from connectors_qa.models import Check, CheckCategory, CheckResult
1111
from metadata_service.validators.metadata_validator import PRE_UPLOAD_VALIDATORS, ValidatorOptions, validate_and_load # type: ignore
1212

13+
import pydash
1314

1415
class MetadataCheck(Check):
1516
category = CheckCategory.METADATA
@@ -99,7 +100,7 @@ class ValidateBreakingChangesDeadlines(MetadataCheck):
99100
it's deadline is at least a week in the future.
100101
"""
101102
name = "Breaking change opt-in should be a week in the future"
102-
description = f"If the connector version has a breaking change, the deadline field must be set to at least a week in the future."
103+
description = "If the connector version has a breaking change, the deadline field must be set to at least a week in the future."
103104

104105
def _run(self, connector: Connector) -> CheckResult:
105106

@@ -113,43 +114,38 @@ def _run(self, connector: Connector) -> CheckResult:
113114
message="Can't verify breaking changes deadline: connector version is not defined.",
114115
)
115116

116-
breaking_changes = connector.metadata['releases']['breakingChanges']
117+
breaking_changes = pydash.get(connector.metadata, "releases.breakingChanges", [])
117118

118119
if breaking_changes is None or len(breaking_changes) == 0:
119120
return self.pass_(
120121
connector=connector,
121122
message="No breaking changes found.",
122123
)
123124

124-
current_version_brekaking_changes = breaking_changes.get(current_version)
125-
126-
if current_version_brekaking_changes is None:
125+
current_version_breaking_changes = breaking_changes.get(current_version)
126+
if current_version_breaking_changes is None:
127127
return self.pass_(
128128
connector=connector,
129129
message="No breaking changes found for the current version.",
130130
)
131131

132-
upgrade_deadline = current_version_brekaking_changes.get('upgradeDeadline')
133-
132+
upgrade_deadline = current_version_breaking_changes.get("upgradeDeadline")
134133
if upgrade_deadline is None:
135134
return self.fail(
136135
connector=connector,
137136
message=f"No upgrade deadline found for the breaking changes in {current_version}.",
138137
)
139138

140139
upgrade_deadline_datetime = datetime.strptime(upgrade_deadline, "%Y-%m-%d")
141-
one_week_from_now = datetime.now() + timedelta(weeks=1)
140+
one_week_from_now = datetime.utcnow() + timedelta(weeks=1)
142141

143142
if upgrade_deadline_datetime < one_week_from_now:
144143
return self.fail(
145144
connector=connector,
146145
message=f"The upgrade deadline for the breaking changes in {current_version} is less than 7 days from today. Please extend the deadline.",
147146
)
148147

149-
return self.pass_(
150-
connector=connector,
151-
message="okay",
152-
)
148+
return self.pass_(connector=connector, message="The upgrade deadline is set to at least a week in the future")
153149

154150

155151
ENABLED_CHECKS = [

0 commit comments

Comments
 (0)