First, thanks for taking the time to contribute to our project! There are many ways you can help out.
If you have a question that needs an answer, create an issue, and label it as a question.
If you encounter any bugs in the code, or want to request a new feature or enhancement, please create an issue to report it. Kindly add a label to indicate what type of issue it is.
Firstly, if you want to implement something new, we ask that you open a discussion first. For minor changes or bug fixes you can skip this part and go straight ahead to sending a contribution. Bear in mind that if you open a discussion first you can identify if the change will be accepted, as well as getting early feedback. When your code is ready to be submitted, submit a pull request to begin the code review process.
Here's a quick checklist for a good PR, more details below:
- A discussion around the change (https://github.com/squashql/squashql/discussions/categories/ideas)
- A GitHub Issue with a good description associated with the PR
- One feature/change per PR
- PR rebased on main (
git rebase
, notgit pull
) - Good descriptive commit message, with link to issue
- No changes to code not directly related to your PR
- Includes functional/integration test
- Includes documentation
Once you have submitted your PR please monitor it for comments/feedback. We reserve the right to close inactive PRs if you do not respond within 2 weeks (bear in mind you can always open a new PR if it is closed due to inactivity).
Also, please remember that we may not be able to respond to your PR immediately.
We only seek to accept code that you are authorized to contribute to the project. We have added a pull request template on our projects so that your contributions are made with the following confirmation:
I confirm that this contribution is made under the terms of the license found in the root directory of this repository’s source tree and that I have the authority necessary to make this contribution on behalf of its copyright owner.
The format for a commit message should look like:
A brief descriptive summary
Optionally, more details around how it was implemented
Closes #1234
The very last part of the commit message should be a link to the GitHub issue, when done correctly GitHub will automatically link the issue with the PR. There are 3 alternatives provided by GitHub here:
- Closes: Issues in the same repository
- Fixes: Issues in a different repository (this shouldn't be used, as issues should be created in the correct repository instead)
- Resolves: When multiple issues are resolved (this should be avoided)
Although, GitHub allows alternatives (close, closed, fix, fixed), please only use the above formats.
Creating multi line commit messages with git
can be done with:
git commit -m "Summary" -m "Optional description" -m "Closes #1234"
Alternatively, shift + enter
can be used to add line breaks:
$ git commit -m "Summary
>
> Optional description
>
> Closes #1234"
For more information linking PRs to issues refer to the GitHub Documentation.
We encourage inclusive and professional interactions on our project. We welcome everyone to open an issue, improve the documentation, report bug or submit a pull request. By participating in this project, you agree to abide by the SquashQL Code of Conduct. If you feel there is a conduct issue related to this project, please raise it per the Code of Conduct process, and we will address it.
You need to have Java 17:
If you need to build the Typescript library locally, you need to have Node installed.
To run the tests you will need:
- Docker. The
docker
service should be running when launching the tests with maven.
Run:
mvn test