1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00
ruby--ruby/doc/contributing/making_changes_to_ruby.md
Jemma Issroff c00feffb46 Improve documentation on contributing to Ruby
co-authored-by: Peter Zhu <peter@peterzhu.ca>
co-authored-by: Stan Lo <stan001212@gmail.com>
2022-05-11 10:59:24 -04:00

1.6 KiB

Contributing a pull request

Code style

Here are some general rules to follow when writing Ruby and C code for CRuby:

  • Do not change code unrelated to your pull request (including style fixes)
  • Indent 4 spaces for C without tabs (tabs are two levels of indentation, equivalent to 8 spaces)
  • Indent 2 spaces for Ruby without tabs
  • ANSI C style for function declarations
  • Follow C99 Standard
  • PascalStyle for class/module names
  • UNDERSCORE_SEPARATED_UPPER_CASE for other constants
  • Abbreviations should be all upper case

Commit messages

Use the following style for commit messages:

  • Use a succinct subject line
  • Include reasoning behind the change in the commit message, focusing on why the change is being made
  • Refer to issue (such as Fixes [Bug #1234] or Implements [Feature #3456]), or discussion on the mailing list (such as [ruby-core:12345])

CI

GitHub actions will run on each pull request.

There is a CI that runs on master. It has broad coverage of different systems and architectures, such as Solaris SPARC and macOS.

Contributing to standard libraries

Everything in the lib directory is mirrored from a standalone repository into the Ruby repository. If you'd like to make contributions to standard libraries, do so in the standalone repositories, and the changes will be automatically mirrored into the Ruby repository.

For example, CSV lives in a separate repository and is mirrored into Ruby.