Skip to content

Commit a1760e1

Browse files
Merge main into aj/feat/unprivileged-discover-for-declarative-static-schemas
Co-Authored-By: AJ Steers <[email protected]>
2 parents e27697e + 6504148 commit a1760e1

File tree

268 files changed

+17281
-8419
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

268 files changed

+17281
-8419
lines changed
Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
name: 'Check Docker Tag Exists'
2+
description: 'Check if a Docker tag exists on DockerHub to prevent overwrites'
3+
inputs:
4+
image_name:
5+
description: 'Docker image name (e.g. airbyte/source-declarative-manifest)'
6+
required: true
7+
tag:
8+
description: 'Docker tag to check'
9+
required: true
10+
runs:
11+
using: "composite"
12+
steps:
13+
- name: "Check for existing tag (${{ inputs.image_name }}:${{ inputs.tag }})"
14+
shell: bash
15+
run: |
16+
image="${{ inputs.image_name }}"
17+
tag_input="${{ inputs.tag }}"
18+
if [ -z "$image" ] || [ -z "$tag_input" ]; then
19+
echo "Error: image_name and tag are required."
20+
exit 1
21+
fi
22+
tag="${image}:${tag_input}"
23+
echo "Checking if tag '$tag' exists on DockerHub..."
24+
if DOCKER_CLI_EXPERIMENTAL=enabled docker manifest inspect "$tag" > /dev/null 2>&1; then
25+
echo "The tag '$tag' already exists on DockerHub. Skipping publish to prevent overwrite."
26+
exit 1
27+
fi
28+
echo "No existing tag '$tag' found. Proceeding with publish."

.github/pr-welcome-community.md

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,4 +29,3 @@ As needed or by request, Airbyte Maintainers can execute the following slash com
2929
- `/test` - Runs connector tests with the updated CDK
3030

3131
If you have any questions, feel free to ask in the PR comments or join our [Slack community](https://airbytehq.slack.com/).
32-

.github/pr-welcome-internal.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@ Airbyte Maintainers can execute the following slash commands on your PR:
2626
- `/autofix` - Fixes most formatting and linting issues
2727
- `/poetry-lock` - Updates poetry.lock file
2828
- `/test` - Runs connector tests with the updated CDK
29+
- `/poe build` - Regenerate git-committed build artifacts, such as the pydantic models which are generated from the manifest JSON schema in YAML.
2930
- `/poe <command>` - Runs any poe command in the CDK environment
3031

3132
[📝 _Edit this welcome message._](https://github.com/airbytehq/airbyte-python-cdk/blob/main/.github/pr-welcome-internal.md)

.github/workflows/autofix-command.yml

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -27,12 +27,20 @@ jobs:
2727
runs-on: "${{ matrix.os }}-latest"
2828
steps:
2929
# Custom steps to fetch the PR and checkout the code:
30+
- name: Authenticate as GitHub App
31+
uses: actions/create-github-app-token@v2
32+
id: get-app-token
33+
with:
34+
owner: "airbytehq"
35+
repositories: "airbyte-python-cdk"
36+
app-id: ${{ secrets.OCTAVIA_BOT_APP_ID }}
37+
private-key: ${{ secrets.OCTAVIA_BOT_PRIVATE_KEY }}
3038
- name: Checkout Airbyte
3139
uses: actions/checkout@v4
3240
with:
3341
# Important that this is set so that CI checks are triggered again
3442
# Without this we would be forever waiting on required checks to pass
35-
token: ${{ secrets.GH_PAT_APPROVINGTON_OCTAVIA }}
43+
token: ${{ steps.get-app-token.outputs.token }}
3644

3745
- name: Checkout PR (${{ github.event.inputs.pr }})
3846
uses: dawidd6/action-checkout-pr@v1
@@ -73,9 +81,9 @@ jobs:
7381
[1]: ${{ steps.vars.outputs.run-url }}
7482
7583
- name: Set up Poetry
76-
uses: Gr1N/setup-poetry@v9
84+
uses: snok/install-poetry@v1
7785
with:
78-
poetry-version: "2.0.1"
86+
version: "2.0.1"
7987
- name: Set up Python
8088
uses: actions/setup-python@v5
8189
with:

.github/workflows/connector-tests.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -76,7 +76,7 @@ jobs:
7676
cdk_extra: file-based
7777
- connector: destination-motherduck
7878
# For now, we mark as 'n/a' to always test this connector
79-
cdk_extra: n/a # change to 'sql' to test less often
79+
cdk_extra: n/a # change to 'sql' to test less often
8080
# source-amplitude failing for unrelated issue "date too far back"
8181
# e.g. https://github.com/airbytehq/airbyte-python-cdk/actions/runs/16053716569/job/45302638848?pr=639
8282
# - connector: source-amplitude
@@ -141,9 +141,9 @@ jobs:
141141
142142
- name: Set up Poetry
143143
if: steps.no_changes.outputs.status != 'cancelled'
144-
uses: Gr1N/setup-poetry@v9
144+
uses: snok/install-poetry@v1
145145
with:
146-
poetry-version: "2.0.1"
146+
version: "2.0.1"
147147

148148
- name: Get Connector Language
149149
if: steps.no_changes.outputs.status != 'cancelled'

.github/workflows/docker-build-check.yml

Lines changed: 30 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,15 @@
11
name: Docker Build Check
2+
permissions:
3+
contents: read
24

35
on:
46
pull_request:
57
branches:
68
- main
79

810
jobs:
9-
docker-build-check:
10-
name: SDM Docker Image Build # Renamed job to be more descriptive
11+
sdm-docker-build-check:
12+
name: SDM Docker Image Build
1113
runs-on: ubuntu-24.04
1214
steps:
1315
- name: Checkout code
@@ -42,3 +44,29 @@ jobs:
4244
push: false
4345
tags: airbyte/source-declarative-manifest:pr-${{ github.event.pull_request.number }}
4446
outputs: type=image,name=target,annotation-index.org.opencontainers.image.description=SDM Docker image for PR ${{ github.event.pull_request.number }}
47+
48+
manifest-server-docker-build-check:
49+
name: Manifest Server Docker Image Build
50+
runs-on: ubuntu-24.04
51+
steps:
52+
- name: Checkout code
53+
uses: actions/checkout@v4
54+
with:
55+
fetch-depth: 0
56+
57+
- name: Set up QEMU for multi-platform builds
58+
uses: docker/setup-qemu-action@v3
59+
60+
- name: Set up Docker Buildx
61+
uses: docker/setup-buildx-action@v3
62+
63+
- name: Build Manifest Server Docker image for multiple platforms
64+
id: manifest-server-build
65+
uses: docker/build-push-action@v5
66+
with:
67+
context: .
68+
file: airbyte_cdk/manifest_server/Dockerfile
69+
platforms: linux/amd64,linux/arm64
70+
push: false
71+
tags: airbyte/manifest-server:pr-${{ github.event.pull_request.number }}
72+
outputs: type=image,name=target,annotation-index.org.opencontainers.image.description=Manifest Server Docker image for PR ${{ github.event.pull_request.number }}

.github/workflows/pdoc_preview.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,9 +14,9 @@ jobs:
1414
- name: Checkout code
1515
uses: actions/checkout@v4
1616
- name: Set up Poetry
17-
uses: Gr1N/setup-poetry@v9
17+
uses: snok/install-poetry@v1
1818
with:
19-
poetry-version: "2.0.1"
19+
version: "2.0.1"
2020
- name: Set up Python
2121
uses: actions/setup-python@v5
2222
with:

.github/workflows/pdoc_publish.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,9 +31,9 @@ jobs:
3131
- name: Checkout code
3232
uses: actions/checkout@v4
3333
- name: Set up Poetry
34-
uses: Gr1N/setup-poetry@v9
34+
uses: snok/install-poetry@v1
3535
with:
36-
poetry-version: "2.0.1"
36+
version: "2.0.1"
3737
- name: Set up Python
3838
uses: actions/setup-python@v5
3939
with:

.github/workflows/poe-command.yml

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,9 +20,17 @@ jobs:
2020
GCP_GSM_CREDENTIALS: ${{ secrets.GCP_GSM_CREDENTIALS }}
2121
runs-on: ubuntu-latest
2222
steps:
23+
- name: Authenticate as GitHub App
24+
uses: actions/create-github-app-token@v2
25+
id: get-app-token
26+
with:
27+
owner: "airbytehq"
28+
repositories: "airbyte-python-cdk"
29+
app-id: ${{ secrets.OCTAVIA_BOT_APP_ID }}
30+
private-key: ${{ secrets.OCTAVIA_BOT_PRIVATE_KEY }}
2331
- name: Run Poe Slash Command Processor
2432
uses: aaronsteers/poe-command-processor@v1
2533
with:
2634
pr: ${{ github.event.inputs.pr }}
2735
comment-id: ${{ github.event.inputs.comment-id }}
28-
github-token: ${{ secrets.GH_PAT_MAINTENANCE_OCTAVIA }}
36+
github-token: ${{ steps.get-app-token.outputs.token }}

.github/workflows/poetry-lock-command.yml

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -24,12 +24,20 @@ jobs:
2424
runs-on: "${{ matrix.os }}-latest"
2525
steps:
2626
# Custom steps to fetch the PR and checkout the code:
27+
- name: Authenticate as GitHub App
28+
uses: actions/create-github-app-token@v2
29+
id: get-app-token
30+
with:
31+
owner: "airbytehq"
32+
repositories: "airbyte-python-cdk"
33+
app-id: ${{ secrets.OCTAVIA_BOT_APP_ID }}
34+
private-key: ${{ secrets.OCTAVIA_BOT_PRIVATE_KEY }}
2735
- name: Checkout Airbyte
2836
uses: actions/checkout@v4
2937
with:
3038
# Important that this is set so that CI checks are triggered again
3139
# Without this we would be forever waiting on required checks to pass
32-
token: ${{ secrets.GH_PAT_APPROVINGTON_OCTAVIA }}
40+
token: ${{ steps.get-app-token.outputs.token }}
3341

3442
- name: Checkout PR (${{ github.event.inputs.pr }})
3543
uses: dawidd6/action-checkout-pr@v1
@@ -81,9 +89,9 @@ jobs:
8189
[1]: ${{ steps.vars.outputs.run-url }}
8290
8391
- name: Set up Poetry
84-
uses: Gr1N/setup-poetry@v9
92+
uses: snok/install-poetry@v1
8593
with:
86-
poetry-version: "2.0.1"
94+
version: "2.0.1"
8795
- name: Set up Python
8896
uses: actions/setup-python@v5
8997
with:

0 commit comments

Comments
 (0)