Skip to content

chore(source-brevo): bump SDM base image for memory monitor (CDK PR #962) - #75946

Merged
Patrick Nilan (pnilan) merged 5 commits into
masterfrom
devin/1774998580-sdm-dev-brevo
Apr 1, 2026
Merged

Patrick Nilan (pnilan) merged 5 commits into
masterfrom
devin/1774998580-sdm-dev-brevo

Conversation

@devin-ai-integration

@devin-ai-integration devin-ai-integration Bot commented Mar 31, 2026 •

Copy link
Copy Markdown
Contributor

What

Updates source-brevo to use the dev build of source-declarative-manifest from airbyte-python-cdk#962, which introduces the dual-condition memory monitor with fail-fast shutdown on memory threshold. Also replaces the connector icon with the official Brevo logo.

How

Review guide

  1. airbyte-integrations/connectors/source-brevo/metadata.yaml
    • ⚠️ The base image is a dev build (7.13.0.post13.dev...), not a released version — verify the @sha256:dc8f1d05... digest matches the published dev image
    • Note this appears to be a version "downgrade" from 7.14.0 to a 7.13.0 prerelease — this is intentional, as the dev build is branched from the 7.13.0 line with the new memory monitor feature
    • Patch version bump 0.2.29 → 0.2.30 is correct
  2. airbyte-integrations/connectors/source-brevo/icon.svg
    • ⚠️ New icon is the full "Brevo" wordmark (1000×295, not square) with white fill (#F9FFF6) on transparent background — confirm this is acceptable for the connector icon format (Airbyte typically expects square icons; this may trigger a pre-release check warning)
  3. docs/integrations/sources/brevo.md — changelog entry added for 0.2.30

User Impact

Connectors built from this PR will use the dev SDM image containing the new memory monitor. Low-usage community connector selected to minimize blast radius. The connector icon is updated to the official Brevo branding.

Can this PR be safely reverted and rolled back?

  • YES 💚

Link to Devin session: https://app.devin.ai/sessions/070ecb51ceee4f9189e1c09a83ba31cb

… test)

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

Copy link
Copy Markdown
Contributor Author

🤖 Devin AI Engineer

I'll be helping with this pull request! Here's what you should know:

✅ I will automatically:

  • Address comments on this PR. Add '(aside)' to your comment to have me ignore it.
  • Look at CI failures and help fix them

Note: I can only respond to comments from users who have write access to this repository.

⚙️ Control Options:

  • Disable automatic comment and CI monitoring

@octavia-bot
octavia-bot Bot marked this pull request as draft March 31, 2026 23:17
@octavia-bot

octavia-bot Bot commented Mar 31, 2026

Copy link
Copy Markdown
Contributor

Note

📝 PR Converted to Draft

More info...

Thank you for creating this PR. As a policy to protect our engineers' time, Airbyte requires all PRs to be created first in draft status. Your PR has been automatically converted to draft status in respect for this policy.

As soon as your PR is ready for formal review, you can proceed to convert the PR to "ready for review" status by clicking the "Ready for review" button at the bottom of the PR page.

To skip draft status in future PRs, please include [ready] in your PR title or add the skip-draft-status label when creating your PR.

@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.
  • 🚀 Connector Releases:
    • /publish-connectors-prerelease - Publishes pre-release connector builds (tagged as {version}-preview.{git-sha}) for all modified connectors in the PR.
  • ☕️ 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 Mar 31, 2026 •

Copy link
Copy Markdown
Contributor

source-brevo Connector Test Results

3 tests   1 ✅  3s ⏱️
1 suites  2 💤
1 files    0 ❌

Results for commit 1f9c14c.

♻️ This comment has been updated with latest results.

Co-Authored-By: patrick.nilan@airbyte.io <patrick.nilan@airbyte.io>
@github-actions

github-actions Bot commented Mar 31, 2026 •

Copy link
Copy Markdown
Contributor

Deploy preview for airbyte-docs ready!

✅ Preview
https://airbyte-docs-a63k6vv7r-airbyte-growth.vercel.app

Built with commit 1f9c14c.
This pull request is being automatically deployed with vercel-action

@pnilan

Patrick Nilan (pnilan) commented Apr 1, 2026 •

Copy link
Copy Markdown
Member

/ai-canary-prerelease

AI Canary Prerelease Started

Rolling out to 5-10 connections, watching results, and reporting findings.
View workflow run
🐤 AI Canary Prerelease session starting... Rolling out to 5-10 connections, watching results, and reporting findings. View playbook

✅ Devin AI session created successfully!

@devin-ai-integration

Copy link
Copy Markdown
Contributor Author

🐤 Canary Prerelease Testing — Starting

I'm beginning canary prerelease testing for source-brevo (0.2.30). I'll:

  1. Evaluate the change for breaking/reversibility safety
  2. Select 5-10 canary connections
  3. Pin them to the prerelease version
  4. Monitor sync results and report findings

Session: https://app.devin.ai/sessions/6b88e1ad5f834b77942c63f51273563d

Updates will follow shortly.

@pnilan
Patrick Nilan (pnilan) marked this pull request as ready for review April 1, 2026 00:35
@github-actions

github-actions Bot commented Apr 1, 2026 •

Copy link
Copy Markdown
Contributor

Pre-release Connector Publish Started

Publishing pre-release build for connector source-brevo.
PR: #75946

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

View workflow run
Pre-release Publish: SUCCESS ✅

Docker image (pre-release):
airbyte/source-brevo:0.2.30-preview.25f8888

Docker Hub: https://hub.docker.com/layers/airbyte/source-brevo/0.2.30-preview.25f8888

Registry JSON:

@devin-ai-integration

Copy link
Copy Markdown
Contributor Author

Canary Prerelease: Deployment Complete

Connector: source-brevo
Prerelease Version: 0.2.30-preview.25f8888
Actors Pinned: 9 (across 10 connections)
All Previous Version: 0.2.29 (none were previously pinned)

Pinning Summary

Connection Region Destination Pin Status
Customer-A-EU-1 EU BigQuery ✅ Pinned
Customer-B-EU-1 EU Postgres ✅ Pinned
Customer-C-US-1 US Postgres (Neon) ✅ Pinned
Customer-D-US-1 US BigQuery ✅ Pinned
Customer-E-EU-1 EU Snowflake ✅ Pinned
Customer-F-US-1 US BigQuery ✅ Pinned
Customer-B-EU-2 EU Postgres ✅ Pinned
Customer-G-EU-1 EU BigQuery ✅ Pinned
Customer-H-US-1 US BigQuery ✅ Pinned

All 9 actors successfully pinned from 0.2.29 → 0.2.30-preview.25f8888.

Approval: Approved by Patrick Nilan (@pnilan) via Slack HITL.
Publish Workflow: https://github.com/airbytehq/airbyte/actions/runs/23826240192

Now entering monitoring phase. Will post periodic updates as syncs complete on the prerelease version.


Devin session

devin-ai-integration Bot and others added 2 commits April 1, 2026 00:59
Co-Authored-By: patrick.nilan@airbyte.io <patrick.nilan@airbyte.io>
@devin-ai-integration

Copy link
Copy Markdown
Contributor Author

Canary Monitoring Update (2026-04-01T01:52 UTC)

Monitoring duration: ~1 hour since pinning (pinned at 00:49 UTC)
Prerelease version: 0.2.30-preview.25f8888

Connection Post-Pin Syncs Success Failures Notes
Customer-A-EU-1 1 1 0 BigQuery dest, hourly schedule
Customer-B-EU-1 1 1 0 Postgres dest, ~2hr schedule
Customer-C-US-1 0 — — Postgres (Neon) dest, awaiting next scheduled sync
Customer-D-US-1 0 — — BigQuery dest, awaiting next scheduled sync
Customer-E-EU-1 0 — — Snowflake dest, awaiting next scheduled sync
Customer-F-US-1 0 — — BigQuery dest, awaiting next scheduled sync
Customer-B-EU-2 0 — — Postgres dest, awaiting next scheduled sync
Customer-G-EU-1 0 — — BigQuery dest, awaiting next scheduled sync
Customer-H-US-1 0 — — BigQuery dest, awaiting next scheduled sync

Overall status: 🟢 HEALTHY — 2/2 post-pin syncs succeeded, 0 failures

Triggering manual syncs on a few idle connections to broaden coverage. Will continue monitoring for 2-4 hours total.

View Devin session

@devin-ai-integration

Copy link
Copy Markdown
Contributor Author

Canary Monitoring Update (2026-04-01T02:36 UTC)

Monitoring duration: ~1h 47m (pinned at 00:49 UTC)

Connection Post-Pin Syncs Succeeded Failed Notes
Customer-A-EU-1 1 1 0 BigQuery dest
Customer-B-EU-1 1 1 0 Postgres dest
Customer-C-US-1 1 1 0 Postgres (Neon) dest
Customer-D-US-1 1 1 0 BigQuery dest
Customer-E-EU-1 1 0 0 Snowflake dest — sync still running (~43 min, 3855 records so far)
Customer-F-US-1 1 1 0 BigQuery dest
Customer-G-EU-1 1 1 0 BigQuery dest
Customer-H-US-1 1 1 0 BigQuery dest
Customer-B-EU-2 0 0 0 Postgres dest — trigger returned 404, awaiting scheduled sync

Summary: 8/9 actors have post-pin syncs. 7 succeeded, 0 failed, 1 still running (Customer-E-EU-1 on Snowflake — larger sync). Customer-B-EU-2 has not yet synced (trigger failed with 404, waiting for its next scheduled sync).

Overall status: HEALTHY ✅ — 100% success rate on all completed syncs (7/7).

Will continue monitoring. Next update in ~1 hour or when Customer-E-EU-1 completes.

@devin-ai-integration

Copy link
Copy Markdown
Contributor Author

Canary Prerelease: Final Report

Connector: source-brevo
Prerelease Version: 0.2.30-preview.25f8888
Monitoring Period: 2026-04-01 00:49 UTC to 2026-04-01 03:08 UTC (~2h 19m)
Connections Tested: 9 actors (10 connections) across 8 unique customer workspaces

Summary

The prerelease performed well across all canary connections. 9 post-pin syncs completed across 8 unique actors with a 100% success rate (9/9 succeeded, 0 failed). The change (SDM base image swap for memory monitor support) introduced no regressions. One connection (Customer-B-EU-2) did not sync during the monitoring period due to a trigger error (404), but its actor was successfully tested via another connection (Customer-B-EU-1).

Detailed Results

Connection Total Syncs Success Rate Issues
Customer-A-EU-1 2 100% None — BigQuery dest, hourly schedule
Customer-B-EU-1 1 100% None — Postgres dest
Customer-C-US-1 1 100% None — Postgres (Neon) dest
Customer-D-US-1 1 100% None — BigQuery dest
Customer-E-EU-1 1 100% None — Snowflake dest (longer sync, ~66 min)
Customer-F-US-1 1 100% None — BigQuery dest
Customer-G-EU-1 1 100% None — BigQuery dest
Customer-H-US-1 1 100% None — BigQuery dest
Customer-B-EU-2 0 N/A Trigger returned 404; actor tested via Customer-B-EU-1

Destination coverage: BigQuery (5), Postgres (2), Snowflake (1), Postgres/Neon (1)
Region coverage: EU (5), US (4)

Canary Verdict

Overall Status: PASS

The prerelease performed well across all canary connections. Recommend proceeding to formal release.

Next steps:

  1. Merge the PR to publish the release
  2. Canary pins will be removed after the PR is merged

For full customer details, see the linked private issue.


Devin session

@devin-ai-integration

Copy link
Copy Markdown
Contributor Author
Canary Cleanup: Handoff Instructions (click to expand)

Status: PASS verdict issued. Pins are intentionally left in place while the PR is open.

After this PR is merged, all canary pins must be removed. A 3-day reminder has been set to check PR merge status automatically. If the session is no longer active when the PR merges, here are manual unpinning instructions:

Pinned actors (all pinned to source-brevo 0.2.30-preview.25f8888):

Ref Actor Type Notes
Customer-A-EU-1 source BigQuery dest
Customer-B-EU-1 source Postgres dest
Customer-C-US-1 source Postgres (Neon) dest
Customer-D-US-1 source BigQuery dest
Customer-E-EU-1 source Snowflake dest
Customer-F-US-1 source BigQuery dest
Customer-B-EU-2 source Postgres dest
Customer-G-EU-1 source BigQuery dest
Customer-H-US-1 source BigQuery dest

To unpin manually: Use set_cloud_connector_version_override with unset=True for each actor listed above. Full actor IDs and workspace IDs are available in the Devin session.

Approval URL: #75946 (comment)


Devin session

@pnilan
Patrick Nilan (pnilan) merged commit 3f81be2 into master Apr 1, 2026
43 checks passed
@pnilan
Patrick Nilan (pnilan) deleted the devin/1774998580-sdm-dev-brevo branch April 1, 2026 16:24
@devin-ai-integration

Copy link
Copy Markdown
Contributor Author

Canary Cleanup Complete

PR has been merged. All 9 canary version pins have been successfully removed:

Connection Unpin Status
Customer-A-EU-1 Unpinned
Customer-B-EU-1 Unpinned
Customer-C-US-1 Unpinned
Customer-D-US-1 Unpinned
Customer-E-EU-1 Unpinned
Customer-F-US-1 Unpinned
Customer-B-EU-2 Unpinned
Customer-G-EU-1 Unpinned
Customer-H-US-1 Unpinned

All connections will now use the default GA version. Canary prerelease workflow for source-brevo 0.2.30 is fully complete.


Devin session

dilanalex pushed a commit to dilanalex/airbyte that referenced this pull request Apr 6, 2026
…irbytehq#962) (airbytehq#75946)

Co-authored-by: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
Co-authored-by: patrick.nilan@airbyte.io <patrick.nilan@airbyte.io>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants