If you have found a bug in Devito.jl or have any suggestions for changes to Devito.jl functionality, please consider filing an issue using the GitHub isssue tracker. Please do not forget to search for an existing issue which may already cover your suggestion.
We try to follow GitHub flow (https://guides.github.com/introduction/flow/) for making changes to Devito.jl.
Contributors retain copyright on their contributions, and the MIT license (https://opensource.org/licenses/MIT) applies to the contribution.
The basic steps to making a contribution are as follows, and assume some knowledge of git:
- fork the Devito.jl repository
- create an appropriately titled branch for your contribution
- if applicable, add a unit-test to ensure the functionality of your contribution
(see
DevitoOpen/test, andDevitoPro/testfor devitopro-only tests). - run the tests from a Julia project that has this repository's
Devitoand one backend dev'd into it. For example, from the repository root:]activate --temp,]dev ./Devito ./DevitoOpen,]test DevitoOpen(or./DevitoProand]test DevitoPro). See the CondaPkg notes in the README to avoid rebuilding the conda environment on every run. - make a pull-request
- have fun
We try to follow the same coding conventions as https://github.com/JuliaLang/julia. This primarily means using 4 spaces to indent (no tabs). In addition, we make a best attempt to follow the guidelines in the style guide chapter of the julia manual: https://docs.julialang.org/en/v1/manual/style-guide/