This repository contains Airbyte CDK and connectors implementations.
See the READMEs inside destinations/
and sources/
subfolders for more information on each connector.
Component | Code | Installation | Version |
---|---|---|---|
Airbyte CDK | faros-airbyte-cdk | npm i faros-airbyte-cdk |
|
Faros Destination | destinations/faros-destination | docker pull farosai/airbyte-faros-destination |
|
Jenkins Source | sources/jenkins-source | docker pull farosai/airbyte-jenkins-source |
|
Phabricator Source | sources/phabricator-source | docker pull farosai/airbyte-phabricator-source |
- Install
nvm
- Install Node.js
nvm install 14 && nvm use 14
- Update
npm
to version 7.x by runningnpm install -g npm@7
- Install
lerna
by runningnpm install -g lerna
- Run
npm run prepare
to install dependencies for all projects (npm run clean
to clean all) - Run
npm run build
to build all projects (for a single project add scope, e.gnpm run build -- --scope faros-destination
) - Run
npm run test
to test all projects (for a single project add scope, e.gnpm run test -- --scope faros-destination
) - Run
npm run lint
to apply linter on all projects (for a single project add scope, e.gnpm run lint -- --scope faros-destination
)
- Audit fix
npm audit fix
- Clean your project
lerna run clean
(sometimes you also wannarm -rf ./node_modules
)
Read more about lerna
here - https://github.com/lerna/lerna
In order to build a Docker image for a connector run the docker build
command and set path
argument.
For example for Faros Destination connector run:
docker build . --build-arg path=destinations/faros-destination -t faros-destination
And then run it:
docker run faros-destination
To publish the CDK package to NPM, run npm run bump
from the root of the
repository. You will be prompted with a list of version increments to choose
from (patch, minor, major, etc). Choose the desired increment, then commit and
push the changed files. GitHub will automatically create a corresponding tag and
publish the CDK to NPM once the changed files are merged to the main branch.
Connector Docker images are automatically published to Docker Hub after updates
to the main branch. They are tagged by the version listed in the connector's
package.json
. If the connector is updated without incrementing the version,
GitHub will NOT overwrite the existing image in Docker Hub.