Skip to content

Generate Connector Registries #2324

Generate Connector Registries

Generate Connector Registries #2324

name: Generate Connector Registries
on:
workflow_dispatch:
inputs:
gitref:
description: "The git ref to check out from the repository"
required: false
type: string
force:
description: "Force resync of all latest/ directories even if version markers are current. Useful when metadata changes without a version bump."
required: false
type: boolean
default: false
connector-name:
description: "A connector name to limit the latest/ resync scope (e.g. 'source-faker'). Leave empty to compile all connectors."
required: false
type: string
workflow_call:
permissions:
contents: read
concurrency:
# Only allow one active run, and one pending run.
# This prevents race conditions between multiple runs of this workflow.
group: generate-connector-registry
# If a new run is triggered while there's already one in-progress,
# allow the in-progress run to finish.
cancel-in-progress: false
jobs:
compile-registries:
name: Compile Registries (ops CLI)
runs-on: ubuntu-24.04
env:
REGISTRY_STORE: "coral:prod"
steps:
- name: Checkout Airbyte
uses: actions/checkout@8edcb1bdb4e267140fa742c62e395cd74f332709 # v4.2.2
with:
ref: ${{ github.event.inputs.gitref || github.ref }}
submodules: true
- name: Install uv
uses: astral-sh/setup-uv@d0cc045d04ccac9d8b7881df0226f9e82c39688e # v6.8.0
- name: Install Ops CLI
run: uv tool install airbyte-internal-ops
- name: Compile Registries
env:
GCS_CREDENTIALS: ${{ secrets.METADATA_SERVICE_PROD_GCS_CREDENTIALS }}
FORCE_FLAG: ${{ inputs.force == true && '--force' || '' }}
CONNECTOR_NAME_FLAG: ${{ inputs.connector-name && format('--connector-name {0}', inputs.connector-name) || '' }}
shell: bash
run: >
airbyte-ops registry store compile
--store "${REGISTRY_STORE}"
--with-secrets-mask
--with-legacy-migration v1
${FORCE_FLAG}
${CONNECTOR_NAME_FLAG}