The official issue tracker for Slurm is at https://bugs.schedmd.com/
We welcome code contributions and patches, but we do not accept Pull Requests through Github at this time. Please submit patches as attachments to new bugs under the "C - Contributions" severity level.
Slurm loosely follows the Linux Kernel style guidelines (https://www.kernel.org/doc/html/latest/process/coding-style.html). If in doubt, please follow their example.
A brief overview, with some notable exceptions:
- Tabs not spaces, tabs are 8-spaces wide.
- Lines should be less than 80-characters wide.
- Except that error message and other log messages should not be broken up mid-sentence. They should be split on a format sequence, comma, or period instead. (This is to make it easier to grep for that string in the source code at a later point.)
- Use K&R style for braces.
- Slurm does use typedef's for certain types, ignore Chapter 5 of the kernel guidelines.
- Comments can be in either C-style
/* comment */
or C++ style// comment
formats. Follow the rest of Chapter 8's recommendations for multi-line comments though.
Please submit changes to Makefile.am
, but not to Makefile.in
. We will
regenerate those files to minimize the differences in the commit. We want to
avoid noise generated by differences in libtool installations.
Changes to configure.ac
or auxdir/*
will take additional time to review -
Slurm is built on a wide variety of distributions and architectures, and even
minor differences can cause unintended consequences.
An entry in NEWS
should describe the change or new functionality.
Please break patches up into logically separate chunks, while ensuring that
each patch can still be compiled. (Anticipate that a developer using git bisect
may pick any intermediate commit at some point.)
If you decided to reformat a file, please submit non-functional changes (spelling corrections, formatting discrepancies) in a separate patch. This makes reviewing substantially easier, and allows us to focus our attention on the functional differences.
If you make an automated change (changing a function name, fixing a pervasive spelling mistake), please send the command/regex used to generate the changes along with the patch, or note it in the commit message.
While not required, we encourage use of git format-patch
to geneate the
patch. This ensures the relevant author line and commit message stay attached.
Plain diff
'd output is also okay. In either case, please attach them to the
bug for us to review. Spelling corrections or documentation improvements can be
suggested without attaching the patch as long as you describe their location.
We ask that a contributor licensing agreement be signed for all substantial contributions. Please see https://slurm.schedmd.com/contributor.html for details.