Skip to content

Commit

Permalink
Fix heirarchy of contributing guide page (#24152)
Browse files Browse the repository at this point in the history
* Fix heirarchy

* Move info on CI workflows to code contributing section
  • Loading branch information
erohmensing committed Mar 22, 2023
1 parent 47f439c commit 7109de6
Showing 1 changed file with 29 additions and 24 deletions.
53 changes: 29 additions & 24 deletions docs/contributing-to-airbyte/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,11 +22,13 @@ We appreciate first time contributors and we are happy to assist you in getting

Here is a list of easy [good first issues](https://github.com/airbytehq/airbyte/labels/good%20first%20issue) to do.

## Steps to contributing
## Contributing to the codebase

We gladly welcome all improvements existing on the codebase.
We gladly welcome all improvements to the codebase.

### 1. Open an issue, or find a similar one.
### Steps to contributing code

#### 1. Open an issue, or find a similar one.
Before jumping into the code please first:
1. Verify if an existing [connector](https://github.com/airbytehq/airbyte/issues) or [platform](https://github.com/airbytehq/airbyte-platform/issues) GitHub issue matches your contribution project.
2. If you don't find an existing issue, create a new [connector](https://github.com/airbytehq/airbyte/issues/new/choose) or [platform](https://github.com/airbytehq/airbyte-platform/issues/new/choose) issue to explain what you want to achieve.
Expand All @@ -35,27 +37,28 @@ Before jumping into the code please first:
This will enable our team to make sure your contribution does not overlap with existing works and will comply with the design orientation we are currently heading the product toward.
If you do not receive an update on the issue from our team, please ping us on [Slack](https://slack.airbyte.io)!

### 2. Let's code
#### 2. Code your contribution
1. To contribute to a connector, fork the [Connector repository](https://github.com/airbytehq/airbyte). To contribute to the Airbyte platform, fork our [Platform repository](https://github.com/airbytehq/airbyte-platform).
2. Open a branch for your work.
3. Code, and please write **tests**.
4. Ensure all tests pass. For connectors, this includes acceptance tests as well.
5. For connectors, make sure to increment the connector's version according to our [Semantic Versioning](#semantic-versioning-for-connectors) guidelines.
2. If contributing a new connector, check out our [new connectors guide](#new-connectors).
3. Open a branch for your work.
4. Code, and please write **tests**.
5. Ensure all tests pass. For connectors, this includes acceptance tests as well.
6. For connectors, make sure to increment the connector's version according to our [Semantic Versioning](#semantic-versioning-for-connectors) guidelines.

### 3. Open a pull request
#### 3. Open a pull request
1. Rebase master with your branch before submitting a pull request.
2. Open the pull request.
3. Wait for a review from a community maintainer or our team.

### 4. Review process
#### 4. Review process
When we review, we look at:
* ‌Does the PR solve the issue?
* Is the proposed solution reasonable?
* Is it tested? \(unit tests or integration tests\)
* Is it introducing security risks?
‌Once your PR passes, we will merge it 🎉.

### **New connectors**
### New connectors

It's easy to add your own connector to Airbyte! **Since Airbyte connectors are encapsulated within Docker containers, you can use any language you like.** Here are some links on how to add sources and destinations. We haven't built the documentation for all languages yet, so don't hesitate to reach out to us if you'd like help developing connectors in other languages.

Expand All @@ -71,15 +74,15 @@ The CDK currently does not support creating destinations, but it will very soon.

**Please note that, at no point in time, we will ask you to maintain your connector.** The goal is that the Airbyte team and the community helps maintain the connector.

### Semantic Versioning for Connectors
### Semantic versioning for connectors

Changes to connector behavior should always be accompanied by a version bump and a changelog entry. We use [semantic versioning](https://semver.org/) to version changes to connectors. Since connectors are a bit different from APIs, we have our own take on semantic versioning, focusing on maintaining the best user experience of using a connector.

- Major: a version in which a change is made which requires manual intervention (update to config or configured catalog) for an existing connection to continue to succeed, or one in which data that was previously being synced will no longer be synced
- Minor: a version that introduces user-facing functionality in a backwards compatible manner
- Patch: a version that introduces backwards compatible bug fixes or performance improvements

## Examples
#### Examples

Here are some examples of code changes and their respective version changes:

Expand All @@ -101,7 +104,12 @@ Here are some examples of code changes and their respective version changes:

Trying to contribute, and don't see the change you want to make in this list? Call it out in your PR and your reviewer will help you pick the correct type of version change. Feel free to contribute the results back to this list!

### **Documentation**

### Airbyte CI workflows
* [Testing by SonarQube](sonar-qube-workflow.md)


## **Contributing to documentation**

Our goal is to keep our docs comprehensive and updated. If you would like to help us in doing so, we are grateful for any kind of contribution:

Expand All @@ -111,7 +119,7 @@ Our goal is to keep our docs comprehensive and updated. If you would like to hel

The contributing guide for docs can be found [here](updating-documentation.md).

### **Community content**
## **Contributing community content**

We welcome contributions as new tutorials / showcases / articles, or to any of the existing guides on our [tutorials page](https://airbyte.com/tutorials):

Expand All @@ -123,16 +131,16 @@ We have a repo dedicated to community content. Everything is documented [there](

Feel free to submit a pull request in this repo, if you have something to add even if it's not related to anything mentioned above.

## Other ways you can contribute
## Other ways to contribute

### **Upvoting issues, feature and connector requests**
### Upvoting issues, feature and connector requests

You are welcome to add your own reactions to the existing issues. We will take them in consideration in our prioritization efforts, especially for connectors.

❤️ means that this task is CRITICAL to you.
👍 means it is important to you.

### **Requesting new features**
### Requesting new features

To request new features, please create an issue on this project.

Expand All @@ -142,21 +150,18 @@ To see what has already been proposed by the community, you can look [here](http

Watch out for duplicates! If you are creating a new platform issue, please check [open](https://github.com/airbytehq/airbyte-platform/issues), or [recently closed](https://github.com/airbytehq/airbyte-platform/issues?utf8=%E2%9C%93&q=is%3Aissue%20is%3Aclosed%20).

### **Requesting new connectors**
### Requesting new connectors

This is very similar to requesting new features. The template will change a bit and all connector requests will be tagged with the “**community**” and “**area/connectors**” labels.

To see what has already been proposed by the community, you can look [here](https://github.com/airbytehq/airbyte/labels/area%2Fconnectors). Again, watch out for duplicates!

### **Reporting bugs**
### Reporting bugs

****Bug reports help us make Airbyte better for everyone. We provide a preconfigured template for bugs to make it very clear what information we need.

‌Please search within our [already reported bugs](https://github.com/airbytehq/airbyte/issues?q=is%3Aissue+is%3Aopen+label%3Atype%2Fbug) before raising a new one to make sure you're not raising a duplicate.

### **Reporting security issues**
### Reporting security issues

Please do not create a public GitHub issue. If you've found a security issue, please email us directly at [security@airbyte.io](mailto:security@airbyte.io) instead of raising an issue.

## **Airbyte CI workflows**
* [Testing by SonarQube](sonar-qube-workflow.md)

0 comments on commit 7109de6

Please sign in to comment.