Skip to content

chore(source-google-ads): DO NOT MERGE - pin prerelease CDK 7.39.0.post5.dev39879313492 (airbyte-python-cdk#1248) - #89699

Closed
devin-ai-integration[bot] wants to merge 1 commit into
masterfrom
pnilan/sdm-prerelease-1248-source-google-ads
Closed

devin-ai-integration[bot] wants to merge 1 commit into
masterfrom
pnilan/sdm-prerelease-1248-source-google-ads

Conversation

@devin-ai-integration

@devin-ai-integration devin-ai-integration Bot commented Oct 23, 2026 •

Copy link
Copy Markdown
Contributor

🤖 This PR was generated by an AI Agent.

DO NOT MERGE. Test-only PR, requested by Patrick Nilan (@pnilan). It pins source-google-ads to the CDK prerelease built from airbyte-python-cdk#1248.

What

source-google-ads is a Python connector. Its base image is python-connector-base, not SDM. So this PR pins the same prerelease through the airbyte-cdk dependency instead: airbyte-cdk==7.39.0.post5.dev39879313492, built by CDK publish run 39879313492.

How

  • pyproject.toml: changes airbyte-cdk from ^7.33.0 to 7.39.0.post5.dev39879313492 and the connector version from 6.1.6 to 6.1.7.
  • poetry.lock: regenerated, so airbyte-cdk goes from 7.37.1 to 7.39.0.post5.dev39879313492. The remaining lines are Poetry 2.5.1 rewriting constraint syntax; no other package versions change.
  • metadata.yaml: changes dockerImageTag from 6.1.6 to 6.1.7. The base image is unchanged.
  • No changelog or docs change.

Review guide

  1. airbyte-integrations/connectors/source-google-ads/pyproject.toml
  2. airbyte-integrations/connectors/source-google-ads/poetry.lock
  3. airbyte-integrations/connectors/source-google-ads/metadata.yaml

User Impact

None. This is never merged. Use /publish-connectors-prerelease to get a 6.1.7-preview.<sha> image for pinning.

The title contains "DO NOT MERGE", so the semantic-title check fails on purpose. Checks that expect a changelog entry may fail too.

Can this PR be safely reverted and rolled back?

  • YES 💚
  • NO ❌

Link to Devin session: https://app.devin.ai/sessions/a359f078a4634bbab6d79afaaf709c17
Open in Devin Desktop: https://app.devin.ai/desktop/session/a359f078a4634bbab6d79afaaf709c17?variant=devin


Important

Autopilot Progressive Rollout Enabled

Autopilot progressive rollouts are enabled for one or more connector(s) modified in this PR. Check the box below if you need to bypass normal rollout safety processes and release to all users immediately upon merge:

  • ⚡ Release immediately (bypasses automatic progressive rollout)

Note:

  • ⚠️ The above bypass option is for emergency/hotfix use only.
  • 🔗 You can monitor or manually advance a rollout at ops.internal.airbyte.ai.

…st5.dev39879313492 (airbyte-python-cdk#1248)

Co-Authored-By: patrick.nilan@airbyte.io <patrick.nilan@airbyte.io>
@devin-ai-integration

Copy link
Copy Markdown
Contributor Author

I'll fix CI failures and address comments from users with write access. I'll skip comments containing "(aside)".

  • Disable automatic comment, CI, and merge conflict monitoring

@github-actions

Copy link
Copy Markdown
Contributor

👋 Greetings, Airbyte Team Member!

Here are some helpful tips and reminders for your convenience.

💡 Show Tips and Tricks

PR Slash Commands

Airbyte Maintainers (that's you!) can execute the following slash commands on your PR:

  • 🛠️ Quick Fixes
    • /format-fix - Fixes most formatting issues.
    • /bump-version - Bumps connector versions, scraping changelog description from the PR title.
      • Bump types: patch (default), minor, major, major_rc, rc, promote.
      • The rc type is a smart default: applies minor_rc if stable, or bumps the RC number if already RC.
      • The promote type strips the RC suffix to finalize a release.
      • Example: /bump-version type=rc or /bump-version type=minor
    • /bump-progressive-rollout-version - Alias for /bump-version type=rc. Bumps with an RC suffix and enables progressive rollout.
  • ❇️ AI Testing and Review (internal link: AI-SDLC Docs):
    • /ai-prove-fix - Runs prerelease readiness checks, including testing against customer connections.
    • /ai-canary-prerelease - Rolls out prerelease to 5-10 connections for canary testing.
    • /ai-review - AI-powered PR review for connector safety and quality gates.
    • /ai-breaking-change-review - Step 1 for a connector breaking change. Reviews whether the change needs to be breaking, destination data-loss risk, and whether the migration guide, metadata message, and docs let users upgrade safely. Opens one conversation on the PR for each item the author needs to handle.
    • /ai-breaking-change-ready - Step 2, after you've replied to and resolved each of those conversations. Checks that every one has a reply and is resolved, then pings the breaking-change reviewers in Slack for human review.
  • 📝 AI Documentation:
    • /ai-docs-review - AI-powered documentation review for PRs with connector changes.
    • /ai-create-docs-pr - Creates a documentation PR for connector changes, stacked on the current PR.
  • 🚀 Connector Releases:
    • /publish-connectors-prerelease - Publishes pre-release connector builds (tagged as {version}-preview.{git-sha}) for all modified connectors in the PR.
    • /enable-autopilot-rollouts - Enables autopilot progressive rollouts for the modified connector(s) in the PR, remediating "autopilot rollouts not enabled for {connector-name}" auto-merge blockers. Sets defaultRolloutMode: autopilot and enableProgressiveRollout: true, preserving any existing autopilotConfig.
      • Optional args: connector=<CONNECTOR_NAME> (defaults to the modified connectors in the PR), strategy=fast|slow|default (defaults to fast).
      • Example: /enable-autopilot-rollouts or /enable-autopilot-rollouts connector=source-faker strategy=slow
  • ☕️ JVM connectors:
    • /update-connector-cdk-version connector=<CONNECTOR_NAME> - Updates the specified connector to the latest CDK version.
      Example: /update-connector-cdk-version connector=destination-bigquery
  • 🐍 Python connectors:
    • /poe connector source-example lock - Run the Poe lock task on the source-example connector, committing the results back to the branch.
    • /poe source example lock - Alias for /poe connector source-example lock.
    • /poe source example use-cdk-branch my/branch - Pin the source-example CDK reference to the branch name specified.
    • /poe source example use-cdk-latest - Update the source-example CDK dependency to the latest available version.
  • ⚙️ Admin commands:
    • /force-merge reason="<REASON>" - Force merges the PR using admin privileges, bypassing CI checks. Requires a reason.
      Example: /force-merge reason="CI is flaky, tests pass locally"
📚 Show Repo Guidance

Helpful Resources

📝 Edit this welcome message.

@pnilan

Patrick Nilan (pnilan) commented Oct 23, 2026 •

Copy link
Copy Markdown
Member

/ai-prove-fix specifically want to confirm this stack of PRs functions as expected.

Connector What it exercises Expected result
source-google-ads streams() override; a config with end_date: "" SUCCEEDED after the P0 fix (FAILED on this head)
source-amazon-seller-partner CheckDynamicStream, stream_count: 1, api_budget, spec validators Same status as 7.39.0
source-airtable CheckDynamicStream over dynamic streams only Same status as 7.39.0
source-hubspot HttpComponentsResolver and api_budget Same status as 7.39.0
source-bing-ads Slowest check in the epic benchmark; dynamic streams Same status, faster
source-github config_overrides on the check component Same status as 7.39.0

AI Prove Fix Started

Running readiness checks and testing against customer connections.
View workflow run
🔍 AI Prove Fix session starting... Running readiness checks and testing against customer connections. View playbook

✅ Devin AI session created successfully!

@airbyte-support-bot

Airbyte Support Bot (airbyte-support-bot) commented Oct 23, 2026 •

Copy link
Copy Markdown
Contributor

🧪 Fix Validation Evidence

🟡 Outcome: No Regression — Fix Not Exercised

No regression found on the prerelease CDK 7.39.0.post5.dev39879313492 (airbyte-python-cdk#1248). source-google-ads CHECK returned SUCCEEDED on both the PR build and 6.1.6, but the GSM test config has no end_date: "", so the reported failure path never ran. source-github passed every step. source-bing-ads, source-amazon-seller-partner, source-hubspot and source-airtable gave no usable signal (details below).

Next Steps
  • To test the google-ads case directly, run CHECK with a config that has end_date: "" (local poetry run source-google-ads check, or a sandbox connection). Neither the regression sandbox nor the GSM secret can do this today.
  • Refresh the bing-ads GSM OAuth secret (invalid_grant: AADSTS700082), then rerun to get the CHECK comparison and timing.
  • amazon-seller-partner and hubspot READs were still running after more than 100 minutes. Their result is in the linked runs once they finish. Rerun with selected_streams if they time out.
  • airtable needs a live or sandbox connection test because of the forced OAuth refresh-token write-back.
Connector & PR Details
Evidence Plan
  • Proving: the target produces the same SPEC/CHECK/DISCOVER/READ outcome as control, and the google-ads CHECK succeeds through the streams() override with end_date: "".
  • Disproving: any CHECK/DISCOVER status change, catalog diff, or READ record drop compared with control.
  • Loosens a check: yes, static-only CHECK no longer builds dynamic streams. The true positive is that discover/read still raise for broken dynamic streams.
  • Baseline: latest published version for each connector. No known-bad version was given.
Pre-flight Checks
  • Viability ✅. The PR only pins the CDK and bumps the version (no connector logic change).
  • Safety ✅ (no suspicious code).
  • Breaking change ❌ none (no schema, spec or state change).
  • Reversible ✅ (patch bump; the PR is marked DO NOT MERGE).
  • ⚠️ Design-intent note: removing dynamic-stream validation from CHECK is intentional per New Source: Selligent #1248.
  • No live connections pinned.
Detailed Evidence Log
Connector PR Run SPEC CHECK DISCOVER READ
source-google-ads #89699 run ✅ ✅ SUCCEEDED both ⚠️ both failed (gRPC CERTIFICATE_VERIFY_FAILED behind proxy) n/a (no catalog)
source-github #89696 run ✅ ✅ SUCCEEDED both ✅ ✅ passed
source-bing-ads #89695 run ✅ ⚠️ FAILED both (expired refresh token) ✅ passed ⚠️ both failed
source-amazon-seller-partner #89694 run — — — still running
source-hubspot #89697 run — — — still running
source-airtable #89693 not run forced OAuth write-back

@airbyte-support-bot Airbyte Support Bot (airbyte-support-bot) added the hyd-prove Hydra: ai-prove-fix stage has run label Oct 23, 2026
@github-actions

Copy link
Copy Markdown
Contributor

source-google-ads Connector Test Results

374 tests   361 ✅  55m 48s ⏱️
  2 suites   13 💤
  2 files      0 ❌

Results for commit 7503342.

@devin-ai-integration

Copy link
Copy Markdown
Contributor Author

Closing: test-only DO NOT MERGE PR; the /ai-prove-fix run is complete (see the Fix Validation Evidence comment above). Requested by Patrick Nilan (@pnilan).

Written by Devin

@github-actions

Copy link
Copy Markdown
Contributor

👋 Greetings, Airbyte Team Member!

Here are some helpful tips and reminders for your convenience.

💡 Show Tips and Tricks

PR Slash Commands

Airbyte Maintainers (that's you!) can execute the following slash commands on your PR:

  • 🛠️ Quick Fixes
    • /format-fix - Fixes most formatting issues.
    • /bump-version - Bumps connector versions, scraping changelog description from the PR title.
      • Bump types: patch (default), minor, major, major_rc, rc, promote.
      • The rc type is a smart default: applies minor_rc if stable, or bumps the RC number if already RC.
      • The promote type strips the RC suffix to finalize a release.
      • Example: /bump-version type=rc or /bump-version type=minor
    • /bump-progressive-rollout-version - Alias for /bump-version type=rc. Bumps with an RC suffix and enables progressive rollout.
  • ❇️ AI Testing and Review (internal link: AI-SDLC Docs):
    • /ai-prove-fix - Runs prerelease readiness checks, including testing against customer connections.
    • /ai-canary-prerelease - Rolls out prerelease to 5-10 connections for canary testing.
    • /ai-review - AI-powered PR review for connector safety and quality gates.
    • /ai-breaking-change-review - Step 1 for a connector breaking change. Reviews whether the change needs to be breaking, destination data-loss risk, and whether the migration guide, metadata message, and docs let users upgrade safely. Opens one conversation on the PR for each item the author needs to handle.
    • /breaking-change-ready - Step 2, after you've replied to and resolved each of those conversations. Checks that every one has a reply and is resolved, then pings the breaking-change reviewers in Slack for human review.
  • 📝 AI Documentation:
    • /ai-docs-review - AI-powered documentation review for PRs with connector changes.
    • /ai-create-docs-pr - Creates a documentation PR for connector changes, stacked on the current PR.
  • 🚀 Connector Releases:
    • /publish-connectors-prerelease - Publishes pre-release connector builds (tagged as {version}-preview.{git-sha}) for all modified connectors in the PR.
    • /enable-autopilot-rollouts - Enables autopilot progressive rollouts for the modified connector(s) in the PR, remediating "autopilot rollouts not enabled for {connector-name}" auto-merge blockers. Sets defaultRolloutMode: autopilot and enableProgressiveRollout: true, preserving any existing autopilotConfig.
      • Optional args: connector=<CONNECTOR_NAME> (defaults to the modified connectors in the PR), strategy=fast|slow|default (defaults to fast).
      • Example: /enable-autopilot-rollouts or /enable-autopilot-rollouts connector=source-faker strategy=slow
  • ☕️ JVM connectors:
    • /update-connector-cdk-version connector=<CONNECTOR_NAME> - Updates the specified connector to the latest CDK version.
      Example: /update-connector-cdk-version connector=destination-bigquery
  • 🐍 Python connectors:
    • /poe connector source-example lock - Run the Poe lock task on the source-example connector, committing the results back to the branch.
    • /poe source example lock - Alias for /poe connector source-example lock.
    • /poe source example use-cdk-branch my/branch - Pin the source-example CDK reference to the branch name specified.
    • /poe source example use-cdk-latest - Update the source-example CDK dependency to the latest available version.
  • ⚙️ Admin commands:
    • /force-merge reason="<REASON>" - Force merges the PR using admin privileges, bypassing CI checks. Requires a reason.
      Example: /force-merge reason="CI is flaky, tests pass locally"
📚 Show Repo Guidance

Helpful Resources

📝 Edit this welcome message.

@github-actions

github-actions Bot commented Oct 23, 2026 •

Copy link
Copy Markdown
Contributor

Pre-release Connector Publish Started

Publishing pre-release build for connector source-google-ads.
PR: #89699

Pre-release versions will be tagged as {version}-preview.7503342
and are available for version pinning via the scoped_configuration API.

View workflow run
Pre-release Publish: SUCCESS ✅

Docker image (pre-release):
airbyte/source-google-ads:6.1.7-preview.7503342

Docker Hub: https://hub.docker.com/layers/airbyte/source-google-ads/6.1.7-preview.7503342

Registry JSON:

@devin-ai-integration

Copy link
Copy Markdown
Contributor Author

Prerelease published from this PR's original head commit, as requested. Closing again (DO NOT MERGE test PR).

Written by Devin

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

connectors/source/google-ads hyd-prove Hydra: ai-prove-fix stage has run

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants