Skip to content

Commit

Permalink
improve new connector contribution docs (#2876)
Browse files Browse the repository at this point in the history
  • Loading branch information
sherifnada committed Apr 13, 2021
1 parent d1a8ad6 commit a3a69bf
Showing 1 changed file with 12 additions and 4 deletions.
16 changes: 12 additions & 4 deletions docs/contributing-to-airbyte/building-new-connector/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -42,21 +42,29 @@ npm run generate

and choose the relevant template. This will generate a new connector in the `airbyte-integrations/connectors/<your-connector>` directory.

If you are developing a Python/Singer connector, you may find the [building a Python connector tutorial](../../tutorials/building-a-python-source.md) helpful.
Search the generated directory for "TODO"s and follow them to implement your connector.

If you are developing a Python connector, you may find the [building a Python connector tutorial](../../tutorials/building-a-python-source.md) helpful.

### 2. Integration tests

At a minimum, your connector must implement the standard tests described in [Testing Connectors](testing-connectors.md)

### 3. Document building & testing your connector

To merge your connector, Airbyte needs to know how to build & test it. If you're writing in Python or Java, skip this section -- it is provided automatically.
If you're writing in Python or Java, skip this section -- it is provided automatically.

If you're writing in another language, please document the commands needed to:

If you're writing in another language, please document the commands needed to: 1. Build your connector docker image \(usually this is just `docker build .` but let us know if there are necessary flags, gotchas, etc..\) 2. Run any unit or integration tests _in a Docker image_.
1. Build your connector docker image \(usually this is just `docker build .` but let us know if there are necessary flags, gotchas, etc..\)
2. Run any unit or integration tests _in a Docker image_.

Your integration and unit tests must be runnable entirely within a Docker image. This is important to guarantee consistent build environments.

When you submit a PR to Airbyte with your connector, the reviewer will use the commands you provide to integrate your connector into Airbyte's build system as follows: 1. `:airbyte-integrations:connectors:source-<name>:build` should run unit tests and build the integration's Docker image 2. `:airbyte-integrations:connectors:source-<name>:integrationTest` should run integration tests including Airbyte's Standard test suite.
When you submit a PR to Airbyte with your connector, the reviewer will use the commands you provide to integrate your connector into Airbyte's build system as follows:

1. `:airbyte-integrations:connectors:source-<name>:build` should run unit tests and build the integration's Docker image
2. `:airbyte-integrations:connectors:source-<name>:integrationTest` should run integration tests including Airbyte's Standard test suite.

### Best practices

Expand Down

0 comments on commit a3a69bf

Please sign in to comment.