Skip to content

ci: fix airbyte-ops: command not found in connector test secret fetch - #77130

Draft
Aaron ("AJ") Steers (aaronsteers) wants to merge 1 commit into
masterfrom
devin/1777334100-fix-ci-airbyte-ops-install
Draft

Aaron ("AJ") Steers (aaronsteers) wants to merge 1 commit into
masterfrom
devin/1777334100-fix-ci-airbyte-ops-install

Conversation

@aaronsteers

Copy link
Copy Markdown
Member

What

Fixes a CI regression introduced in #76867 (9c7f64a49a3) that breaks the Fetch connector secrets step on every PR with creds-available == 'true' (i.e. PRs from this org, not forks).

#76867's PR body described the migration as airbyte-cdk secrets fetch → uvx airbyte-internal-ops secrets fetch, but the diff at the two test-job call sites in connector-ci-checks.yml ended up as the bare airbyte-ops secrets fetch form. The airbyte-ops executable is provisioned by uv tool install airbyte-internal-ops, which the run-qa-checks (line 444) and build-and-verify-artifacts (line 513) jobs do explicitly — but the jvm-connectors-test and non-jvm-connectors-test jobs do not. Result: the step fails with airbyte-ops: command not found (exit 127) before the unit / integration tests run.

Concrete failure: e.g. #77129 — Test source-ashby Connector job, exit 127 at the Fetch connector secrets step.

How

Match #76867's stated intent by switching the two test-job call sites to the uvx form. uvx is self-installing per invocation and is already present in both jobs (astral-sh/setup-uv runs earlier). No additional install step needed, no behavioral change beyond getting the right binary on PATH.

Review guide

  1. .github/workflows/connector-ci-checks.yml — two-line change at the jvm-connectors-test and non-jvm-connectors-test Fetch connector secrets steps.

User Impact

Unblocks CI on every PR with creds-available == 'true'. No runtime behavior change for connector developers.

Can this PR be safely reverted and rolled back?

  • YES 💚

Link to Devin session: https://app.devin.ai/sessions/5c2ccf537b70486b9e6fbc974d26063e
Requested by: Aaron ("AJ") Steers (@aaronsteers)

PR #76867 migrated test-job secret fetch call sites from
`airbyte-cdk secrets fetch` to bare `airbyte-ops secrets fetch` but
the test jobs (jvm-connectors-test and non-jvm-connectors-test) do not
install `airbyte-internal-ops` beforehand, so the runner fails with
`airbyte-ops: command not found` (exit 127). PR #76867's body
described the migration as `uvx airbyte-internal-ops secrets fetch`,
which is what landed at the qa and registry-artifacts call sites that
already `uv tool install airbyte-internal-ops` themselves.

Match the stated intent by switching the two test-job call sites to the
`uvx` form, which is self-installing and matches the same pattern
used in adjacent workflows that don't pre-install `airbyte-internal-ops`.
@devin-ai-integration

Copy link
Copy Markdown
Contributor

🤖 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

@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.

This branch has not been deployed

No deployments
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.

1 participant