File: DevelopmentLifecycle.md

package info (click to toggle)
bluebrain-hpc-coding-conventions 1.0.0%2Bgit20221201-2
  • links: PTS, VCS
  • area: main
  • in suites: bookworm, forky, sid, trixie
  • size: 624 kB
  • sloc: python: 2,021; cpp: 220; makefile: 29
file content (39 lines) | stat: -rw-r--r-- 1,326 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
# Development Lifecycle

## Writing a contribution

### Checks before submission

C++ developers should ensure that their contributions:
* are unit-tested and unit-tests pass
* pass static analysis checks
* follow naming conventions
* follow documentation conventions
* follow formatting conventions

To save both time and effort, they can:
* Configure their favorite IDE so that it complies with the formatting
  conventions of the project.
* Use dedicated *make* targets to easily run tests, format code, and run
  code static analyzer.
* Use git precommit hooks to prevent committing unformatted code.

## Submitting a contribution

### Continuous Integration

Continuous integration may control most of the checks described above.
It can also perform additional checks that should fail if a new error is spotted:
* execute Valgrind memory checker.
* compute code coverage of unit-tests and/or documentation snippets and reject
  the merge request if it decreased or is below a certain value..

### Code Review

A code change cannot be accepted unless it has been approved by one or several
core maintainers of the project the change is contributing to.

A reviewer may ensure that the contribution:
* is well designed and efficient
* is understandable and documented enough
* follows the naming conventions of the project