Skip to content

Commit c4d5336

Browse files
committed
Merge remote-tracking branch 'origin/master' into alvova/9052-zendesk-support
2 parents c0e53a7 + f4365c5 commit c4d5336

File tree

459 files changed

+11032
-9980
lines changed

Some content is hidden

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

459 files changed

+11032
-9980
lines changed

.bumpversion.cfg

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
[bumpversion]
2-
current_version = 0.35.9-alpha
2+
current_version = 0.35.15-alpha
33
commit = False
44
tag = False
55
parse = (?P<major>\d+)\.(?P<minor>\d+)\.(?P<patch>\d+)(\-[a-z]+)?

.env

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010

1111

1212
### SHARED ###
13-
VERSION=0.35.9-alpha
13+
VERSION=0.35.15-alpha
1414

1515
# When using the airbyte-db via default docker image
1616
CONFIG_ROOT=/data

.env.dev

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,4 +27,3 @@ SYNC_JOB_MAX_TIMEOUT_DAYS=3
2727

2828
# Sentry
2929
SENTRY_DSN=""
30-
Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
# See https://github.com/marketplace/actions/project-beta-automations for guidance
2+
3+
name: Platform Project Automation
4+
on:
5+
issues:
6+
types: [labeled]
7+
8+
env:
9+
GH_PROJECT_TOKEN: ${{ secrets.PARKER_PAT_FOR_PLATFORM_PROJECT_AUTOMATION }}
10+
ORG: airbytehq
11+
PROJECT_ID: 6 # https://github.com/orgs/airbytehq/projects/6/views/8
12+
FIELD_STATUS: Status
13+
STATUS_TODO: Todo
14+
FIELD_DATE_ADDED: Date Added
15+
16+
jobs:
17+
add-area-platform-issues-to-platform-project:
18+
runs-on: ubuntu-latest
19+
name: Add area/platform issue to Platform Project
20+
steps:
21+
- name: Set current date env var
22+
id: set_date
23+
run: echo ::set-output name=CURRENT_DATE::$(date +'%Y-%m-%dT%H:%M:%S%z')
24+
25+
- name: Add issue to project if labelled with area/platform
26+
uses: leonsteinhaeuser/[email protected]
27+
if: contains(github.event.issue.labels.*.name, 'area/platform')
28+
with:
29+
gh_token: ${{ env.GH_PROJECT_TOKEN }}
30+
organization: ${{ env.ORG }}
31+
project_id: ${{ env.PROJECT_ID }}
32+
resource_node_id: ${{ github.event.issue.node_id }}
33+
operation_mode: custom_field
34+
custom_field_values: '[{\"name\": \"Status\",\"type\": \"single_select\",\"value\": \"${{ env.STATUS_TODO }}\"},{\"name\": \"${{ env.FIELD_DATE_ADDED }}\",\"type\": \"date\",\"value\": \"${{ steps.set_date.outputs.CURRENT_DATE }}\"}]'

.github/workflows/publish-command.yml

Lines changed: 26 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -67,10 +67,6 @@ jobs:
6767
uses: actions/checkout@v2
6868
with:
6969
repository: ${{github.event.pull_request.head.repo.full_name}} # always use the branch's repository
70-
- name: Install Unzip for Databricks
71-
if: github.event.inputs.connector == 'connectors/destination-databricks'
72-
run: |
73-
apt-get update && apt-get install -y unzip
7470
- name: Install Java
7571
uses: actions/setup-java@v1
7672
with:
@@ -94,15 +90,39 @@ jobs:
9490
ci_credentials ${{ github.event.inputs.connector }}
9591
env:
9692
GCP_GSM_CREDENTIALS: ${{ secrets.GCP_GSM_CREDENTIALS }}
97-
- run: |
93+
- name: Prepare Sentry Release
94+
if: startsWith(github.event.inputs.connector, 'connectors')
95+
run: |
96+
curl -sL https://sentry.io/get-cli/ | bash
97+
source tools/lib/lib.sh
98+
DOCKERFILE=airbyte-integrations/${{ github.event.inputs.connector }}/Dockerfile
99+
echo "IMAGE_NAME=$(echo ${{ github.event.inputs.connector }} | cut -d"/" -f2)" >> $GITHUB_ENV
100+
echo "IMAGE_VERSION=$(_get_docker_image_version ${DOCKERFILE})" >> $GITHUB_ENV
101+
- name: Create Sentry Release
102+
if: startsWith(github.event.inputs.connector, 'connectors')
103+
run: |
104+
sentry-cli releases set-commits "${{ env.IMAGE_NAME }}@${{ env.IMAGE_VERSION }}" --auto --ignore-missing
105+
env:
106+
SENTRY_AUTH_TOKEN: ${{ secrets.SENTRY_CONNECTOR_RELEASE_AUTH_TOKEN }}
107+
SENTRY_ORG: airbyte-5j
108+
SENTRY_PROJECT: airbyte-connectors
109+
- name: Publish ${{ github.event.inputs.connector }}
110+
run: |
98111
echo "$SPEC_CACHE_SERVICE_ACCOUNT_KEY" > spec_cache_key_file.json && docker login -u airbytebot -p ${DOCKER_PASSWORD}
99112
./tools/integrations/manage.sh publish airbyte-integrations/${{ github.event.inputs.connector }} ${{ github.event.inputs.run-tests }} --publish_spec_to_cache
100-
name: publish ${{ github.event.inputs.connector }}
101113
id: publish
102114
env:
103115
DOCKER_PASSWORD: ${{ secrets.DOCKER_PASSWORD }}
104116
# Oracle expects this variable to be set. Although usually present, this is not set by default on Github virtual runners.
105117
TZ: UTC
118+
- name: Finalize Sentry release
119+
if: startsWith(github.event.inputs.connector, 'connectors')
120+
run: |
121+
sentry-cli releases finalize "${{ env.IMAGE_NAME }}@${{ env.IMAGE_VERSION }}"
122+
env:
123+
SENTRY_AUTH_TOKEN: ${{ secrets.SENTRY_CONNECTOR_RELEASE_AUTH_TOKEN }}
124+
SENTRY_ORG: airbyte-5j
125+
SENTRY_PROJECT: airbyte-connectors
106126
- name: Add Success Comment
107127
if: github.event.inputs.comment-id && success()
108128
uses: peter-evans/create-or-update-comment@v1
Lines changed: 113 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,113 @@
1+
name: Publish External Connector Image
2+
on:
3+
workflow_dispatch:
4+
inputs:
5+
connector:
6+
description: "Airbyte Connector image"
7+
required: true
8+
version:
9+
description: "Airbyte Connector version"
10+
required: true
11+
comment-id:
12+
description: "The comment-id of the slash command. Used to update the comment with the status."
13+
required: false
14+
15+
jobs:
16+
## Gradle Build
17+
# In case of self-hosted EC2 errors, remove this block.
18+
start-publish-image-runner:
19+
name: Start Build EC2 Runner
20+
runs-on: ubuntu-latest
21+
outputs:
22+
label: ${{ steps.start-ec2-runner.outputs.label }}
23+
ec2-instance-id: ${{ steps.start-ec2-runner.outputs.ec2-instance-id }}
24+
steps:
25+
- name: Checkout Airbyte
26+
uses: actions/checkout@v2
27+
with:
28+
repository: ${{github.event.pull_request.head.repo.full_name}} # always use the branch's repository
29+
- name: Start AWS Runner
30+
id: start-ec2-runner
31+
uses: ./.github/actions/start-aws-runner
32+
with:
33+
aws-access-key-id: ${{ secrets.SELF_RUNNER_AWS_ACCESS_KEY_ID }}
34+
aws-secret-access-key: ${{ secrets.SELF_RUNNER_AWS_SECRET_ACCESS_KEY }}
35+
github-token: ${{ secrets.SELF_RUNNER_GITHUB_ACCESS_TOKEN }}
36+
# 80 gb disk
37+
ec2-image-id: ami-0d648081937c75a73
38+
publish-image:
39+
needs: start-publish-image-runner
40+
runs-on: ${{ needs.start-publish-image-runner.outputs.label }}
41+
environment: more-secrets
42+
steps:
43+
- name: Set up Cloud SDK
44+
uses: google-github-actions/setup-gcloud@master
45+
with:
46+
service_account_key: ${{ secrets.SPEC_CACHE_SERVICE_ACCOUNT_KEY }}
47+
export_default_credentials: true
48+
- name: Link comment to workflow run
49+
if: github.event.inputs.comment-id
50+
uses: peter-evans/create-or-update-comment@v1
51+
with:
52+
comment-id: ${{ github.event.inputs.comment-id }}
53+
body: |
54+
> :clock2: ${{github.event.inputs.connector}} https://github.com/${{github.repository}}/actions/runs/${{github.run_id}}
55+
- name: Checkout Airbyte
56+
uses: actions/checkout@v2
57+
with:
58+
repository: ${{github.event.pull_request.head.repo.full_name}} # always use the branch's repository
59+
- run: |
60+
echo "$SPEC_CACHE_SERVICE_ACCOUNT_KEY" > spec_cache_key_file.json && docker login -u airbytebot -p ${DOCKER_PASSWORD}
61+
./tools/integrations/manage.sh publish_external ${{ github.event.inputs.connector }} ${{ github.event.inputs.version }}
62+
name: publish ${{ github.event.inputs.connector }}
63+
id: publish
64+
env:
65+
DOCKER_PASSWORD: ${{ secrets.DOCKER_PASSWORD }}
66+
# Oracle expects this variable to be set. Although usually present, this is not set by default on Github virtual runners.
67+
TZ: UTC
68+
- name: Add Success Comment
69+
if: github.event.inputs.comment-id && success()
70+
uses: peter-evans/create-or-update-comment@v1
71+
with:
72+
comment-id: ${{ github.event.inputs.comment-id }}
73+
body: |
74+
> :white_check_mark: ${{github.event.inputs.connector}} https://github.com/${{github.repository}}/actions/runs/${{github.run_id}}
75+
- name: Add Failure Comment
76+
if: github.event.inputs.comment-id && !success()
77+
uses: peter-evans/create-or-update-comment@v1
78+
with:
79+
comment-id: ${{ github.event.inputs.comment-id }}
80+
body: |
81+
> :x: ${{github.event.inputs.connector}} https://github.com/${{github.repository}}/actions/runs/${{github.run_id}}
82+
- name: Slack Notification - Failure
83+
if: failure()
84+
uses: rtCamp/action-slack-notify@master
85+
env:
86+
SLACK_WEBHOOK: ${{ secrets.BUILD_SLACK_WEBHOOK }}
87+
SLACK_USERNAME: Buildozer
88+
SLACK_ICON: https://avatars.slack-edge.com/temp/2020-09-01/1342729352468_209b10acd6ff13a649a1.jpg
89+
SLACK_COLOR: DC143C
90+
SLACK_TITLE: "Failed to publish connector ${{ github.event.inputs.connector }} from branch ${{ github.ref }}"
91+
SLACK_FOOTER: ""
92+
# In case of self-hosted EC2 errors, remove this block.
93+
stop-publish-image-runner:
94+
name: Stop Build EC2 Runner
95+
needs:
96+
- start-publish-image-runner # required to get output from the start-runner job
97+
- publish-image # required to wait when the main job is done
98+
runs-on: ubuntu-latest
99+
if: ${{ always() }} # required to stop the runner even if the error happened in the previous jobs
100+
steps:
101+
- name: Configure AWS credentials
102+
uses: aws-actions/configure-aws-credentials@v1
103+
with:
104+
aws-access-key-id: ${{ secrets.SELF_RUNNER_AWS_ACCESS_KEY_ID }}
105+
aws-secret-access-key: ${{ secrets.SELF_RUNNER_AWS_SECRET_ACCESS_KEY }}
106+
aws-region: us-east-2
107+
- name: Stop EC2 runner
108+
uses: machulav/ec2-github-runner@v2
109+
with:
110+
mode: stop
111+
github-token: ${{ secrets.SELF_RUNNER_GITHUB_ACCESS_TOKEN }}
112+
label: ${{ needs.start-publish-image-runner.outputs.label }}
113+
ec2-instance-id: ${{ needs.start-publish-image-runner.outputs.ec2-instance-id }}

.github/workflows/slash-commands.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ jobs:
1919
test
2020
test-performance
2121
publish
22+
publish-external
2223
publish-cdk
2324
gke-kube-test
2425
run-specific-test

.github/workflows/test-command.yml

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -62,10 +62,6 @@ jobs:
6262
uses: actions/checkout@v2
6363
with:
6464
repository: ${{ github.event.inputs.repo }}
65-
- name: Install Unzip for Databricks
66-
if: github.event.inputs.connector == 'connectors/destination-databricks'
67-
run: |
68-
apt-get update && apt-get install -y unzip
6965
- name: Install Java
7066
uses: actions/setup-java@v1
7167
with:

.pre-commit-config.yaml

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,11 +11,17 @@ repos:
1111
rev: 21.11b1
1212
hooks:
1313
- id: black
14+
args: ["--line-length=140"]
1415
- repo: https://github.com/timothycrosley/isort
1516
rev: 5.10.1
1617
hooks:
1718
- id: isort
18-
args: ["--dont-follow-links", "--jobs=-1"]
19+
args:
20+
[
21+
"--settings-path=tools/python/.isort.cfg",
22+
"--dont-follow-links",
23+
"--jobs=-1",
24+
]
1925
additional_dependencies: ["colorama"]
2026
- repo: https://github.com/pre-commit/mirrors-prettier
2127
rev: v2.5.0
@@ -34,12 +40,14 @@ repos:
3440
rev: v0.0.1a2.post1
3541
hooks:
3642
- id: pyproject-flake8
43+
args: ["--config=tools/python/.flake8"]
3744
additional_dependencies: ["mccabe"]
3845
alias: flake8
3946
- repo: https://github.com/pre-commit/mirrors-mypy
4047
rev: v0.910-1
4148
hooks:
4249
- id: mypy
50+
args: ["--config-file=tools/python/.mypy.ini"]
4351
exclude: |
4452
(?x)^.*(
4553
octavia-cli/unit_tests/|

airbyte-api/src/main/openapi/config.yaml

Lines changed: 37 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ info:
1818
* All backwards incompatible changes will happen in major version bumps. We will not make backwards incompatible changes in minor version bumps. Examples of non-breaking changes (includes but not limited to...):
1919
* Adding fields to request or response bodies.
2020
* Adding new HTTP endpoints.
21+
* All `web_backend` APIs are not considered public APIs and are not guaranteeing backwards compatibility.
2122
2223
version: "1.0.0"
2324
title: Airbyte Configuration API
@@ -53,7 +54,9 @@ tags:
5354
- name: db_migration
5455
description: Database migration related resources.
5556
- name: web_backend
56-
description: Connection between sources and destinations.
57+
description: |
58+
Endpoints for the Airbyte web application. Those APIs should not be called outside the web application implementation and are not
59+
guaranteeing any backwards compatibility.
5760
- name: health
5861
description: Healthchecks
5962
- name: deployment
@@ -182,6 +185,29 @@ paths:
182185
$ref: "#/components/responses/NotFoundResponse"
183186
"422":
184187
$ref: "#/components/responses/InvalidInputResponse"
188+
/v1/workspaces/update_name:
189+
post:
190+
tags:
191+
- workspace
192+
summary: Update workspace name
193+
operationId: updateWorkspaceName
194+
requestBody:
195+
content:
196+
application/json:
197+
schema:
198+
$ref: "#/components/schemas/WorkspaceUpdateName"
199+
required: true
200+
responses:
201+
"200":
202+
description: Successful operation
203+
content:
204+
application/json:
205+
schema:
206+
$ref: "#/components/schemas/WorkspaceRead"
207+
"404":
208+
$ref: "#/components/responses/NotFoundResponse"
209+
"422":
210+
$ref: "#/components/responses/InvalidInputResponse"
185211
/v1/workspaces/tag_feedback_status_as_done:
186212
post:
187213
tags:
@@ -1969,6 +1995,16 @@ components:
19691995
type: boolean
19701996
feedbackDone:
19711997
type: boolean
1998+
WorkspaceUpdateName:
1999+
type: object
2000+
required:
2001+
- workspaceId
2002+
- name
2003+
properties:
2004+
workspaceId:
2005+
$ref: "#/components/schemas/WorkspaceId"
2006+
name:
2007+
type: string
19722008
WorkspaceUpdate:
19732009
type: object
19742010
required:

airbyte-bootloader/Dockerfile

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,6 @@ ENV APPLICATION airbyte-bootloader
55

66
WORKDIR /app
77

8-
ADD bin/${APPLICATION}-0.35.9-alpha.tar /app
8+
ADD bin/${APPLICATION}-0.35.15-alpha.tar /app
99

10-
ENTRYPOINT ["/bin/bash", "-c", "${APPLICATION}-0.35.9-alpha/bin/${APPLICATION}"]
10+
ENTRYPOINT ["/bin/bash", "-c", "${APPLICATION}-0.35.15-alpha/bin/${APPLICATION}"]

airbyte-bootloader/build.gradle

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,9 @@ dependencies {
1111
implementation project(':airbyte-db:lib')
1212
implementation project(":airbyte-json-validation")
1313
implementation project(':airbyte-scheduler:persistence')
14+
implementation project(':airbyte-scheduler:models')
1415

16+
implementation 'io.temporal:temporal-sdk:1.6.0'
1517
implementation "org.flywaydb:flyway-core:7.14.0"
1618

1719
testImplementation "org.testcontainers:postgresql:1.15.3"

0 commit comments

Comments
 (0)