You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/gettingstarted/contributingtocode.md
+25-4Lines changed: 25 additions & 4 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -19,6 +19,10 @@ Before starting to write your first piece of code, please get familiar with the
19
19
and also check for more detailed instructions from your [PWG](../advanced-specifics/README.md).
20
20
```
21
21
22
+
```tip
23
+
See the [Tools](../tools/README.md) section for suggestions on tools that can make your work with the O2Physics analysis framework much more effective.
24
+
```
25
+
22
26
In order to contribute new code to the central repository, please follow these steps:
23
27
24
28
- If you are adding a new workflow:
@@ -66,17 +70,34 @@ __Give your pull request a short and meaningful title.__
66
70
67
71
### Automatic checks
68
72
69
-
Pull requests are tested with automatic checks which get restarted whenever the commits in the PR change.
73
+
Pull requests are tested with automatic continuous-integration (CI) checks which get restarted whenever the commits in the PR change.
74
+
75
+
The CI checks evaluate:
76
+
77
+
- Code formatting
78
+
- Code quality
79
+
-[MegaLinter](https://megalinter.io/)
80
+
-[O2 linter](../tools/o2linter.md)
81
+
- Compilation: Verifies that the code compiles without problems on all supported platforms.
82
+
- PR properties
83
+
- Labeler: Assigns [labels](https://github.com/AliceO2Group/O2Physics/labels) to the PR based on which parts of the code base were modified.
84
+
- Title prefix checker: Verifies that the title of the PR has a valid prefix with tags corresponding to the labels. If a valid prefix is not found, it is created.
85
+
86
+
Checks flagged as "Required" must succeed before a PR can be merged.
87
+
70
88
The compilation checks ("build/...") run only on PRs marked as ready for review (i.e. not on draft PRs).
71
89
PRs from first-time contributors (who have not authored any commit in the repository yet) require an approval to start the compilation checks.
72
90
73
-
If a check fails, you can click on "Details" to see more information about the errors in the log of the test.
91
+
If a check fails, you can click on the name of the check to see more information about the errors in the log of the test.
74
92
75
93
If the clang-format check (or a formatting linter in MegaLinter) fails, an automatic PR with the formatting fixes is opened in your fork and a notification email is sent to you.
76
94
You have to merge this formatting PR to update your branch (and your opened PR).
77
95
78
-
```note
79
-
This means that _you do not have to format your (C++ and Python) code_, as the automatic formatting check does that for you.
96
+
```tip
97
+
_You do not have to format your (C++ and Python) code manually_.
98
+
99
+
- You can let your PR get formatted by the automatic formatting check.
100
+
- Or you can use [pre-commit hooks](../tools/README.md#pre-commit-hooks) to format your code automatically when you make a commit.
Copy file name to clipboardExpand all lines: docs/tools/README.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -67,7 +67,7 @@ This helps to apply the [Include What You Use](https://github.com/AliceO2Group/O
67
67
68
68
#### Sorting `#include`s
69
69
70
-
The [`llvm-include-order`](https://clang.llvm.org/extra/clang-tidy/checks/llvm/include-order.html) check sorts `#include`s from most specific to least specific to ensure that the headers does not have any hidden dependencies.
70
+
The [`llvm-include-order`](https://clang.llvm.org/extra/clang-tidy/checks/llvm/include-order.html) check sorts `#include`s from most specific to least specific to ensure that the headers do not have any hidden dependencies.
71
71
72
72
Unfortunately, the [LLVM include style](https://llvm.org/docs/CodingStandards.html#include-style) is incompatible with the [Google include style](https://google.github.io/styleguide/cppguide.html#Names_and_Order_of_Includes) applied by `cpplint`.
@@ -122,7 +123,7 @@ If the missing table is not mentioned there, try to find the missing workflow fo
122
123
123
124
#### General cases
124
125
125
-
You can identify the missing workflow by running the [`find_dependencies.py`](https://github.com/AliceO2Group/O2Physics/blob/master/Scripts/find_dependencies.py) script.
126
+
You can identify the missing workflow by running the [dependency finder](../tools/dependencyFinder.md).
126
127
The procedure is simple: If the error message complains about a missing table `DF_<id>/O2<table>` then you have to run `$O2PHYSICS_ROOT/share/scripts/find_dependencies.py -t <table>`
127
128
inside the O2Physics environment and add the correct one among the listed producer workflows to your command line.
0 commit comments