blob: 39a7775765901f8fbc81176497800438d56acdfe [file] [log] [blame]
Anas Nashif15ca53db2019-02-26 02:09:52 +01001.. _bug_reporting:
2
3Bug Reporting
4##############
Anas Nashif63d330e2019-02-13 14:22:40 -05005
6To maintain traceability and relation between proposals, changes, features, and
Anas Nashif15ca53db2019-02-26 02:09:52 +01007issues, it is recommended to cross-reference source code commits with the
8relevant GitHub issues and vice versa.
9Any changes that originate from a tracked feature or issue should contain a
10reference to the feature by mentioning the corresponding issue or pull-request
11identifiers.
Anas Nashif63d330e2019-02-13 14:22:40 -050012
13At any time it should be possible to establish the origin of a change and the
14reason behind it by following the references in the code.
Erwan Gouriou4af00692021-06-17 10:01:59 +020015
16Reporting a regression issue
17****************************
18
19It could happen that the issue being reported is identified as a regression,
20as the use case is known to be working on earlier commit or release.
21In this case, providing directly the guilty commit when submitting the bug
22gains a lot of time in the eventual bug fixing.
23
24To identify the commit causing the regression, several methods could be used,
25but tree bisecting method is an efficient one that doesn't require deep code
26expertise and can be used by every one.
27
28For this, `git bisect`_ is the recommended tool.
29
30Recommendations on the process:
31
32* Run ``west update`` on each bisection step.
33* Once the bisection is over and a culprit identifed, verify manually the result.
34
35.. _git bisect:
36 https://git-scm.com/docs/git-bisect