Skip to content

Commit 4aba01f

Browse files
committed
[doc] write CONTRIBUTING.md
1 parent ca94969 commit 4aba01f

1 file changed

Lines changed: 49 additions & 0 deletions

File tree

docs/CONTRIBUTING.md

Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
# Contributing
2+
3+
Thank you for your interest in contributing to the project.
4+
This document provides guidelines and information to help you contribute effectively.
5+
6+
If you are not in contact with the project maintainers, please reach out to them before proposing any changes.
7+
We use JIRA for issue tracking and project management.
8+
This software component is part of the O²/FLP project in the ALICE experiment.
9+
10+
## Getting started
11+
12+
Getting acquainted with the introduction chapters is absolutely essential, glossing over the whole documentation is highly advised.
13+
14+
A development environment setup will be necessary for compiling binaries and running unit tests, see [Building](/docs/building.md) for details.
15+
16+
## Testing
17+
18+
Run unit tests in the Control project with `make test`.
19+
To obtain coverage reports, run `make coverage`.
20+
21+
Typically, you will also want to prepare a test setup in form of an [FLP suite deployment](https://alice-flp.docs.cern.ch/system-configuration/utils/o2-flp-setup/) on a virtual machine.
22+
Since AliECS interacts with many other project components, the last testing step might involve replacing the modified binary on the test VM and trying out the new functionality or the fix.
23+
24+
The binaries are installed at `/opt/o2/bin`.
25+
26+
`o2-aliecs-core` and `o2-apricot` are ran as systemd services, so you will need to restart them after replacing the binary.
27+
28+
`o2-aliecs-executor` is started by `mesos-slave` if it is not running already at environment creation.
29+
To make sure that the replaced binary is used, kill the running process (`pkill -f o2-aliecs-executor`).
30+
31+
## Pull requests guidelines
32+
33+
- Make sure your work has a corresponding JIRA ticket and it is assigned to yourself.
34+
Trivial PRs are acceptable without a ticket.
35+
36+
- Work on your changes in your fork on a dedicated branch with a descriptive name.
37+
38+
- Make focused, logically atomic commits with clear messages and descriptions explaining the design choices.
39+
Multiple commits per pull request are allowed.
40+
However, please make sure that the project can be built and the tests pass at any commit.
41+
42+
- Commit message or description should include the JIRA ticket number
43+
44+
- Add tests for your changes whenever possible.
45+
Gomega/Ginkgo tests are preferred, but other style of tests are also welcome.
46+
47+
- Add documentation for new features.
48+
49+
- Your contribution will be reviewed by the project maintainers once the PR is marked as ready for review.

0 commit comments

Comments
 (0)