Skip to content

fix(ci): replace stale bulk CDK version check with per-package checks#74084

Draft
devin-ai-integration[bot] wants to merge 1 commit intomasterfrom
devin/1772193409-fix-bulk-cdk-version-check
Draft

fix(ci): replace stale bulk CDK version check with per-package checks#74084
devin-ai-integration[bot] wants to merge 1 commit intomasterfrom
devin/1772193409-fix-bulk-cdk-version-check

Conversation

@devin-ai-integration
Copy link
Contributor

What

The Bulk CDK version check CI job has been broken for all PRs that modify extract, load, or base CDK code since the bulk CDK was split into independent packages. It runs checkBuildNumber, which checks the top-level airbyte-cdk/bulk/version.properties (frozen at 0.2.8 — a legacy version from before the split). Since 0.2.8 already exists in Maven, the check always fails even when the correct per-package version has been bumped.

This unblocks #74007 and all future PRs that modify bulk CDK package code.

How

Replaced the single broad path filter (changes-in-bulk-artifact) and stale checkBuildNumber Gradle task with:

  1. Per-package path filters (base, extract, load) — patterns mirror the existing publish workflows (java-bulk-cdk-base-publish.yml, java-bulk-cdk-extract-publish.yml, java-bulk-cdk-load-publish.yml), scoped to src/main and src/testFixtures.
  2. Per-package version checks — conditionally runs checkBaseVersion, checkExtractVersion, and/or checkLoadVersion depending on which packages were modified.

The run-check-bulk-cdk-version job ID and bulk-cdk-version-check-result downstream job are preserved to maintain compatibility.

Review guide

  1. .github/workflows/java-cdk-tests.yml — the only file changed.

Key things to verify:

  • Path filter patterns align with the publish workflows (java-bulk-cdk-{base,extract,load}-publish.yml)
  • No coverage gaps — are there artifact source files under airbyte-cdk/bulk/ that don't fall into base, extract, or load?
  • Step-level if conditions correctly gate each version check

User Impact

CDK developers will no longer see spurious Bulk CDK version check failures on PRs that correctly bump the per-package version. The check now validates the right version file for the package being changed.

Can this PR be safely reverted and rolled back?

  • YES 💚

Reverting restores the old (broken) behavior — the stale checkBuildNumber check. No data loss or side effects.


Devin session
Requested by: Yarden Carmeli (yarden.carmeli@airbyte.io)

The checkBuildNumber task checks the top-level version.properties (0.2.8),
which is a legacy version from before the base/extract/load split. This
causes CI failures for any PR that modifies extract, load, or base code
without bumping the stale top-level version.

Replace the single checkBuildNumber with per-package version checks
(checkBaseVersion, checkExtractVersion, checkLoadVersion), each gated
by path filters matching the corresponding publish workflows.

Co-Authored-By: Yarden Carmeli <yarden.carmeli@airbyte.io>
@devin-ai-integration
Copy link
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
Copy link
Contributor

octavia-bot bot commented Feb 27, 2026

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.

@octavia-bot octavia-bot bot marked this pull request as draft February 27, 2026 11:58
@github-actions
Copy link
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.
  • ❇️ 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.
    • /bump-progressive-rollout-version - Bumps connector version with an RC suffix (2.16.10-rc.1) for progressive rollouts (enableProgressiveRollout: true).
      • Example: /bump-progressive-rollout-version changelog="Add new feature for progressive rollout"
  • ☕️ 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
    • /bump-bulk-cdk-version bump=patch changelog='foo' - Bump the Bulk CDK's version. bump can be major/minor/patch.
  • 🐍 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.

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants