Skip to content

Commit

Permalink
Merge branch 'airbytehq:master' into master
Browse files Browse the repository at this point in the history
  • Loading branch information
agatav authored Oct 2, 2024
2 parents 1c9e04b + a81daad commit ad7433d
Show file tree
Hide file tree
Showing 1,488 changed files with 233,139 additions and 24,134 deletions.
2 changes: 1 addition & 1 deletion .bumpversion.cfg
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
[bumpversion]
current_version = 0.64.3
current_version = 0.64.7
commit = False
tag = False
parse = (?P<major>\d+)\.(?P<minor>\d+)\.(?P<patch>\d+)(\-[a-z]+)?
Expand Down
51 changes: 51 additions & 0 deletions .github/ISSUE_TEMPLATE/2-issue-ai-assist.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
name: 🤖 [AI Assist] Report an issue using the AI Assist
description: Use this template when you have a problem creating a connector using the AI Connector Assist.
labels: [type/bug, area/connector-builder, needs-triage, ai-assist]
body:
- type: markdown
attributes:
value: >
<p align="center">
<a target="_blank" href="https://airbyte.com">
<image>
<source srcset="https://raw.githubusercontent.com/airbytehq/airbyte/master/.github/octavia-issue-template.svg">
<img alt="octavia-welcome" src="https://raw.githubusercontent.com/airbytehq/airbyte/master/.github/octavia-issue-template.svg" width="auto" height="120">
</image>
</a>
</p>
- type: markdown
attributes:
value: |
Thanks for taking the time to fill out this bug report...
Make sure to update this issue with a concise title and provide all information you have to
help us debug the problem together.
- type: input
id: connector-url-link
attributes:
label: Connector Documentation URL
description: Share the documentation URL you used to create the connector.
validations:
required: true
- type: textarea
id: description
attributes:
label: What error are you seeing?
description: Please give any information you have and steps to reproduce the problem.
- type: textarea
id: replicate
attributes:
label: How to replicate
description: Please provide what steps you made so far
- type: textarea
id: expect
attributes:
label: What do you expect to happen?
description: What output were you expecting?
- type: checkboxes
id: alpha-release
attributes:
label: Is this in the Alpha Release?
description: Are you noticing this issue in the alpha release of AI Assist?
options:
- label: Yes, the issue is in the AI Assist Alpha Release.
required: false
52 changes: 0 additions & 52 deletions .github/ISSUE_TEMPLATE/2-issue-docker.yaml

This file was deleted.

148 changes: 148 additions & 0 deletions .github/workflows/bump-version-command.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,148 @@
name: Bump versions for connectors in a PR

on:
workflow_dispatch:
inputs:
pr:
description: "Pull request number. This PR will be referenced in the changelog line."
type: number
required: false
comment-id:
description: "Optional. The comment-id of the slash command. Used to update the comment with the status."
required: false

type:
description: "The type of bump to perform. One of 'major', 'minor', or 'patch'."
required: false
default: "patch"

changelog:
description: "The comment to add to the changelog."
required: false
# TODO: We could infer the changelog string from the PR description!
default: "Bumped automatically in the pull request, please see PR description"

# These must be declared, but they are unused and ignored.
# TODO: Infer 'repo' and 'gitref' from PR number on other workflows, so we can remove these.
repo:
description: "Repo (Ignored)"
required: false
default: "airbytehq/airbyte"
gitref:
description: "Ref (Ignored)"
required: false

run-name: "Bump connector versions in PR: #${{ github.event.inputs.pr }}"
concurrency:
group: ${{ github.workflow }}-${{ github.event.inputs.pr }}
# Cancel any previous runs on the same branch if they are still in progress
cancel-in-progress: true

jobs:
bump-version:
name: "Bump version of connectors in this PR"
runs-on: ubuntu-latest
steps:
- name: Get job variables
id: job-vars
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
shell: bash
run: |
PR_JSON=$(gh api repos/${{ github.repository }}/pulls/${{ github.event.inputs.pr }})
echo "repo=$(echo "$PR_JSON" | jq -r .head.repo.full_name)" >> $GITHUB_OUTPUT
echo "branch=$(echo "$PR_JSON" | jq -r .head.ref)" >> $GITHUB_OUTPUT
echo "run-url=https://github.com/$GITHUB_REPOSITORY/actions/runs/$GITHUB_RUN_ID" >> $GITHUB_OUTPUT
- name: Checkout Airbyte
uses: actions/checkout@v4
with:
repository: ${{ steps.job-vars.outputs.repo }}
ref: ${{ steps.job-vars.outputs.branch }}
fetch-depth: 1
# Important that token is a PAT so that CI checks are triggered again.
# Without this we would be forever waiting on required checks to pass.
token: ${{ secrets.GH_PAT_APPROVINGTON_OCTAVIA }}

- name: Append comment with job run link
# If comment-id is not provided, this will create a new
# comment with the job run link.
id: first-comment-action
uses: peter-evans/create-or-update-comment@v4
with:
comment-id: ${{ github.event.inputs.comment-id }}
issue-number: ${{ github.event.inputs.pr }}
body: |
> Bump Version job started... [Check job output.][1]
[1]: ${{ steps.job-vars.outputs.run-url }}
- name: Run airbyte-ci connectors --modified bump-version
uses: ./.github/actions/run-airbyte-ci
continue-on-error: true
with:
context: "manual"
gcs_credentials: ${{ secrets.METADATA_SERVICE_PROD_GCS_CREDENTIALS }}
sentry_dsn: ${{ secrets.SENTRY_AIRBYTE_CI_DSN }}
github_token: ${{ secrets.GH_PAT_MAINTENANCE_OCTAVIA }}
subcommand: |
connectors --modified bump-version \
${{ github.event.inputs.type }} \
"${{ github.event.inputs.changelog }}" \
--pr-number ${{ github.event.inputs.pr }}
# This is helpful in the case that we change a previously committed generated file to be ignored by git.
- name: Remove any files that have been gitignored
run: git ls-files -i -c --exclude-from=.gitignore | xargs -r git rm --cached

# Check for changes in git
- name: Check for changes
id: git-diff
run: |
git diff --quiet && echo "No changes to commit" || echo "::set-output name=changes::true"
shell: bash

# Commit changes (if any)
- name: Commit changes
id: commit-step
if: steps.git-diff.outputs.changes == 'true'
run: |
git config --global user.name "Octavia Squidington III"
git config --global user.email "[email protected]"
git add .
git commit -m "chore: bump-version ${{ github.event.inputs.bump-type }}"
echo "sha=$(git rev-parse HEAD)" >> $GITHUB_OUTPUT
- name: Push changes to '(${{ steps.job-vars.outputs.repo }})'
if: steps.git-diff.outputs.changes == 'true'
run: |
git remote add contributor https://github.com/${{ steps.job-vars.outputs.repo }}.git
git push contributor HEAD:${{ steps.job-vars.outputs.branch }}
- name: Append success comment
uses: peter-evans/create-or-update-comment@v4
if: steps.git-diff.outputs.changes == 'true'
with:
comment-id: ${{ steps.first-comment-action.outputs.comment-id }}
reactions: hooray
body: |
> ✅ Changes applied successfully. (${{ steps.commit-step.outputs.sha }})
- name: Append success comment (no-op)
uses: peter-evans/create-or-update-comment@v4
if: steps.git-diff.outputs.changes != 'true'
with:
comment-id: ${{ steps.first-comment-action.outputs.comment-id }}
reactions: "-1"
body: |
> 🔴 Job completed successfully (no changes, this is sus).
- name: Append failure comment
uses: peter-evans/create-or-update-comment@v4
if: failure()
with:
comment-id: ${{ steps.first-comment-action.outputs.comment-id }}
reactions: confused
body: |
> 🔴 Job failed.
64 changes: 64 additions & 0 deletions .github/workflows/finalize_rollout.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@
name: Finalize connector rollout

on:
repository_dispatch:
types: [finalize-connector-rollout]
workflow_dispatch:
inputs:
connector_name:
description: "Connector name"
required: true
action:
description: "Action to perform"
required: true
options: ["promote", "rollback"]
jobs:
finalize_rollout:
name: Finalize connector rollout
runs-on: connector-publish-large
env:
ACTION: ${{ github.event_name == 'workflow_dispatch' && github.event.inputs.action || github.event.client_payload.action }}
steps:
- name: Check action value
run: |
if [[ "${ACTION}" != "promote" && "${ACTION}" != "rollback" ]]; then
echo "Invalid action: ${ACTION}"
exit 1
fi
shell: bash
- name: Checkout Airbyte
uses: actions/checkout@v4
- name: Promote {{ github.event.inputs.connector_name }} release candidate
id: promote-release-candidate
if: ${{ env.ACTION == 'promote' }}
uses: ./.github/actions/run-airbyte-ci
with:
context: "manual"
dagger_cloud_token: ${{ secrets.DAGGER_CLOUD_TOKEN_2 }}
docker_hub_password: ${{ secrets.DOCKER_HUB_PASSWORD }}
docker_hub_username: ${{ secrets.DOCKER_HUB_USERNAME }}
gcp_gsm_credentials: ${{ secrets.GCP_GSM_CREDENTIALS }}
gcs_credentials: ${{ secrets.METADATA_SERVICE_PROD_GCS_CREDENTIALS }}
github_token: ${{ secrets.GITHUB_TOKEN }}
metadata_service_gcs_credentials: ${{ secrets.METADATA_SERVICE_PROD_GCS_CREDENTIALS }}
sentry_dsn: ${{ secrets.SENTRY_AIRBYTE_CI_DSN }}
slack_webhook_url: ${{ secrets.PUBLISH_ON_MERGE_SLACK_WEBHOOK }}
spec_cache_gcs_credentials: ${{ secrets.SPEC_CACHE_SERVICE_ACCOUNT_KEY_PUBLISH }}
subcommand: "connectors --name=${{ github.event.inputs.connector_name }} publish --promote-release-candidate"
- name: Rollback {{ github.event.inputs.connector_name }} release candidate
id: rollback-release-candidate
if: ${{ env.ACTION == 'rollback' }}
uses: ./.github/actions/run-airbyte-ci
with:
context: "manual"
dagger_cloud_token: ${{ secrets.DAGGER_CLOUD_TOKEN_2 }}
docker_hub_password: ${{ secrets.DOCKER_HUB_PASSWORD }}
docker_hub_username: ${{ secrets.DOCKER_HUB_USERNAME }}
gcp_gsm_credentials: ${{ secrets.GCP_GSM_CREDENTIALS }}
gcs_credentials: ${{ secrets.METADATA_SERVICE_PROD_GCS_CREDENTIALS }}
github_token: ${{ secrets.GITHUB_TOKEN }}
metadata_service_gcs_credentials: ${{ secrets.METADATA_SERVICE_PROD_GCS_CREDENTIALS }}
sentry_dsn: ${{ secrets.SENTRY_AIRBYTE_CI_DSN }}
slack_webhook_url: ${{ secrets.PUBLISH_ON_MERGE_SLACK_WEBHOOK }}
spec_cache_gcs_credentials: ${{ secrets.SPEC_CACHE_SERVICE_ACCOUNT_KEY_PUBLISH }}
subcommand: "connectors --name=${{ github.event.inputs.connector_name }} publish --rollback-release-candidate"
1 change: 1 addition & 0 deletions .github/workflows/slash-commands.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@ jobs:
token: ${{ secrets.GH_PAT_MAINTENANCE_OCTAVIA }}
permission: write
commands: |
bump-version
format-fix
test
test-performance
Expand Down
9 changes: 9 additions & 0 deletions .prettierignore
Original file line number Diff line number Diff line change
@@ -1,3 +1,12 @@
airbyte-integrations/bases/base-normalization/integration_tests/normalization_test_output
airbyte-ci/connectors/pipelines/tests/test_changelog/result_files
airbyte-integrations/bases/connector-acceptance-test/unit_tests/data/docs

# Ignore manifest files in manifest-only connectors
# This is done due to prettier being overly opinionated on the formatting of quotes
# Ref: https://github.com/prettier/prettier/issues/973
# And it not allowing rule opt outs
# Ref: https://github.com/prettier/prettier/discussions/13925
# Instead we rely on the contribution service to format these files
# See: https://github.com/airbytehq/airbyte/blob/master/CONTRIBUTING.md#adding-a-new-connector
airbyte-integrations/connectors/*/manifest.yaml
1 change: 1 addition & 0 deletions .secrets
23 changes: 12 additions & 11 deletions airbyte-cdk/bulk/core/base/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -13,29 +13,30 @@ dependencies {
exclude group: 'org.apache.commons'
exclude group: 'commons-io'
}
api 'io.github.oshai:kotlin-logging-jvm:5.1.0'
api 'io.github.oshai:kotlin-logging-jvm:7.0.0'
api 'io.micronaut:micronaut-runtime'
api 'org.apache.sshd:sshd-mina:2.12.1'
api 'org.apache.sshd:sshd-mina:2.13.2'
api 'org.jetbrains.kotlinx:kotlinx-coroutines-core'

implementation 'com.datadoghq:dd-trace-api:1.28.0'
implementation 'com.datadoghq:dd-trace-ot:1.28.0'
implementation 'com.datadoghq:dd-trace-api:1.39.0'
implementation 'com.datadoghq:dd-trace-ot:1.39.0'
implementation 'com.fasterxml.jackson.module:jackson-module-kotlin'
implementation 'com.fasterxml.jackson.module:jackson-module-afterburner'
implementation 'info.picocli:picocli:4.7.6'
implementation 'io.micronaut.picocli:micronaut-picocli:5.5.0'
implementation 'jakarta.validation:jakarta.validation-api:3.0.2'
implementation 'org.apache.commons:commons-lang3:3.14.0'
implementation 'jakarta.validation:jakarta.validation-api:3.1.0'
implementation 'org.apache.commons:commons-lang3:3.17.0'
implementation 'org.apache.logging.log4j:log4j-api'
implementation 'org.apache.logging.log4j:log4j-core'
implementation 'org.apache.logging.log4j:log4j-slf4j-impl'
implementation 'org.apache.logging.log4j:log4j-slf4j2-impl'
implementation 'org.apache.logging.log4j:log4j-layout-template-json:2.17.2'
implementation 'org.bouncycastle:bcprov-jdk18on:1.77'
implementation 'org.apache.logging.log4j:log4j-layout-template-json:2.24.0'
implementation 'org.bouncycastle:bcprov-jdk18on:1.78.1'
implementation 'org.openapi4j:openapi-schema-validator:1.0.7'

runtimeOnly 'com.google.guava:guava:33.2.0-jre'
runtimeOnly 'org.apache.commons:commons-compress:1.26.1'
// this is only needed because of exclusions in airbyte-protocol
runtimeOnly 'com.google.guava:guava:33.3.0-jre'
runtimeOnly 'org.apache.commons:commons-compress:1.27.1'

testFixturesApi 'org.jetbrains.kotlin:kotlin-test-junit'
testFixturesApi 'org.jetbrains.kotlin:kotlin-reflect'
Expand All @@ -47,5 +48,5 @@ dependencies {
}
testFixturesApi 'io.micronaut.test:micronaut-test-core:4.5.0'
testFixturesApi 'io.micronaut.test:micronaut-test-junit5:4.5.0'
testFixturesApi 'io.github.deblockt:json-diff:1.0.1'
testFixturesApi 'io.github.deblockt:json-diff:1.1.0'
}
Loading

0 comments on commit ad7433d

Please sign in to comment.