Thank you for thinking about contributing something to TruffleRuby!
See the building instructions to build TruffleRuby from source.
You will need to sign the Oracle Contributor Agreement (using an online form) for us to able to review and merge your work.
See Contribute to GraalVM for more details.
We also have a code of conduct for contributors.
And finally, we have some more technical contributor documentation, which might be useful to someone working on TruffleRuby.
https://github.com/oracle/truffleruby/tree/master/doc/contributor
You are welcome to join the channel #truffleruby
of the
GraalVM Slack
for any help related to contributing to TruffleRuby.
We use various lint tools to keep the style consistent.
The most important checks can be run locally with jt lint fast
.
You can use tool/hooks/lint-check.sh
as a git hook to run jt lint fast
automatically, see instructions in that file.
When opening a Pull Request, please add a ChangeLog entry with the format:
* Description (#GitHub issue number if any, @author).
See the the ChangeLog for examples.
GitHub might show on the Pull Request:
Conflicting files
CHANGELOG.md
This is a bug in GitHub's UI, there is never any conflict as CHANGELOG.md
uses union merge.
Please do not use the Resolve conflicts
button as that will create a redundant merge commit.