Skip to content

ci: add --force and --connector-name inputs to registry compile workflow#75242

Merged
Aaron ("AJ") Steers (aaronsteers) merged 3 commits intomasterfrom
devin/1773973316-compile-force-workflow-input
Mar 20, 2026
Merged

ci: add --force and --connector-name inputs to registry compile workflow#75242
Aaron ("AJ") Steers (aaronsteers) merged 3 commits intomasterfrom
devin/1773973316-compile-force-workflow-input

Conversation

@aaronsteers
Copy link
Copy Markdown
Member

@aaronsteers Aaron ("AJ") Steers (aaronsteers) commented Mar 20, 2026

What

Adds two optional workflow_dispatch inputs to the Generate Connector Registries workflow so operators can trigger targeted or forced recompiles from the GitHub Actions UI:

  • force (boolean): passes --force to skip the version-marker cache, resyncing all latest/ directories even when markers match. Needed when metadata content changes without a version bump (e.g. removing a registryOverrides pin). Related: https://github.com/airbytehq/airbyte-ops-mcp/issues/567
  • connector-name (string): passes --connector-name <value> to scope the latest/ resync to a specific connector.

Both inputs are no-ops when left empty, preserving the existing default behavior for workflow_call and unparameterized workflow_dispatch triggers.

How

The new inputs are pre-computed into CLI flag strings using GitHub Actions expressions in the step's env block:

FORCE_FLAG: ${{ inputs.force == true && '--force' || '' }}
CONNECTOR_NAME_FLAG: ${{ inputs.connector-name && format('--connector-name {0}', inputs.connector-name) || '' }}

These env vars are then expanded inline in the existing folded-scalar run: command, keeping the CLI invocation a clean one-liner with no bash conditionals or dynamic string building.

Review guide

  1. .github/workflows/generate-connector-registries.yml — the only file changed.

Key things to verify:

  • Expression correctness: inputs.force == true evaluates to false (and thus '') when the input is omitted or false. inputs.connector-name is falsy when empty. Both fall through to '' for the default no-op case.
  • Unquoted ${FORCE_FLAG} / ${CONNECTOR_NAME_FLAG}: Empty vars produce harmless extra whitespace that bash ignores. Non-empty vars word-split correctly since --force is a single token and connector names never contain spaces.
  • workflow_call compatibility: The new inputs are only defined under workflow_dispatch, so workflow_call invocations get empty/falsy values and the command is unchanged.

Human review checklist

  • Confirm GHA ternary expressions (A && B || C) behave as expected for boolean and string input types
  • Confirm that format('--connector-name {0}', ...) produces the expected single-token output for typical connector names

User Impact

Operators can now trigger a forced registry recompile or a connector-scoped recompile directly from the GitHub Actions UI without modifying the workflow file. No impact on automated (publish-triggered) compiles.

Can this PR be safely reverted and rolled back?

  • YES 💚

Requested by: Aaron ("AJ") Steers (@aaronsteers)
Devin session

Adds two optional workflow_dispatch inputs:
- force: bypass version marker cache (for metadata-only changes)
- connector-name: comma-separated list to scope latest/ resync

Closes airbytehq/airbyte-ops-mcp#567

Co-Authored-By: AJ Steers <aj@airbyte.io>
@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.
  • ❇️ 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
  • 🐍 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.

@aaronsteers Aaron ("AJ") Steers (aaronsteers) marked this pull request as ready for review March 20, 2026 02:25
devin-ai-integration[bot]

This comment was marked as resolved.

Per review feedback: use GitHub Actions expressions to compute
FORCE_FLAG and CONNECTOR_NAME_FLAG as env vars, then reference
them directly in a clean one-liner CLI invocation.

Co-Authored-By: AJ Steers <aj@airbyte.io>
@aaronsteers Aaron ("AJ") Steers (aaronsteers) changed the title ci: add --force and --connector-name inputs to registry compile workflow ci: add --force and --connector-name inputs to registry compile workflow Mar 20, 2026
@aaronsteers Aaron ("AJ") Steers (aaronsteers) merged commit 69266c1 into master Mar 20, 2026
45 checks passed
@aaronsteers Aaron ("AJ") Steers (aaronsteers) deleted the devin/1773973316-compile-force-workflow-input branch March 20, 2026 02:58
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