Snowbridge is maintained by the Engineering team at Snowplow Analytics. We welcome suggestions for improvements and bug fixes.
We are extremely grateful for all contributions we receive, whether that is reporting an issue or a change to the code which can be made in the form of a pull request.
For support requests, please use our community support Discourse forum: https://discourse.snowplowanalytics.com/.
The project can be built using make all
from root of this repo.
Run integration tests with make integration-up
, then make integration-test
. Tear down integration resources with make integration-down
.
Run end-to-end release tests with make all
, then make e2e-up
, then make e2e-test
. Tear down e2e test resources with make e2e-down
.
Note that integration and e2e tests make heavy use of local emulators which can put local machine resources under strain.
Report bugs by creating an issue on this repo describing the problem. Please give as much context for reproduction as possible. Please keep in mind that support requests should go to our Discourse forum: https://discourse.snowplowanalytics.com/ and not GitHub issues.
It's also a good idea to log an issue before starting to work on a pull request to discuss it with the maintainers. A pull request is just one solution to a problem and it is often a good idea to talk about the problem with the maintainers first.
If you see an issue you would like to work on, please let us know in the issue! That will help us in terms of scheduling and not doubling effort.
These are a few guidelines to keep in mind when opening pull requests.
Please supply a good PR description. These are very helpful and help the maintainers to understand why the change has been made, not just what changes have been made.
Please try and keep your PR to a single feature of fix. This might mean breaking up a feature into multiple PRs but this makes it easier for the maintainers to review and also reduces the risk in each change.
Please review your own PR as you would do if you were a reviewer first. This is a great way to spot any mistakes you made when writing the change. Additionally, ensure your code compiles and all tests pass.
We keep a strict 1-to-1 correspondance between commits and issues, as such our commit messages are formatted in the following fashion:
Issue Description (closes #1234)
for example:
Fix Issue with Tracker (closes #1234)
Whenever necessary, it's good practice to add the corresponding tests to whichever feature you are working on.
Any non-trivial PR must have tests and will not be accepted without them.
We do our best to respond to PRs in a timely manner, during weekdays.
If you feel your pull request has been forgotten, please ping one or more maintainers in the pull request.
If your pull request is fairly chunky, there might be a non-trivial delay between the moment the pull request is approved and the moment it gets merged. This is because your pull request will have been scheduled for a specific milestone which might or might not be actively worked on by a maintainer at the moment.
We require outside contributors to sign a Contributor license agreement (or CLA) before we can merge their pull requests.
You can find more information on the topic in the dedicated documentation page.
Our CLA bot will guide you.
Please do not log an issue if you are asking for support, all of our community support requests go through our Discourse forum: https://discourse.snowplowanalytics.com/.
Posting your problem there ensures more people will see it and you should get support faster than creating a new issue on GitHub. Please do create a new issue on GitHub if you think you've found a bug though!