# 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.