Skip to content

Commit ebf06c7

Browse files
hidmicahcorde
authored andcommitted
Update Quality Declaration to QL3. (#403)
Signed-off-by: Michel Hidalgo <[email protected]>
1 parent 087240d commit ebf06c7

File tree

2 files changed

+67
-9
lines changed

2 files changed

+67
-9
lines changed

rmw_fastrtps_cpp/QUALITY_DECLARATION.md

Lines changed: 66 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,9 @@ This document is a declaration of software quality for the `rmw_fastrtps_cpp` pa
22

33
# `rmw_fastrtps_cpp` Quality Declaration
44

5-
The package `rmw_fastrtps_cpp` claims to be in the **Quality Level 4** category.
5+
The package `rmw_fastrtps_cpp` claims to be in the **Quality Level 3** category.
66

7-
Below are the rationales, notes, and caveats for this claim, organized by each requirement listed in the [Package Requirements for Quality Level 4 in REP-2004](https://www.ros.org/reps/rep-2004.html).
7+
Below are the rationales, notes, and caveats for this claim, organized by each requirement listed in the [Package Requirements for Quality Level 3 in REP-2004](https://www.ros.org/reps/rep-2004.html).
88

99
## Version Policy [1]
1010

@@ -49,7 +49,7 @@ Following the recommended guidelines for ROS Core packages, all pull requests mu
4949

5050
### Continuous Integration [2.iv]
5151

52-
All pull request must pass CI on all [tier 1 platforms](https://www.ros.org/reps/rep-2000.html#support-tiers)
52+
All pull request must pass CI on all [tier 1 platforms](https://www.ros.org/reps/rep-2000.html#support-tiers).
5353

5454
### Documentation Policy [2.v]
5555

@@ -72,15 +72,15 @@ The license for `rmw_fastrtps_cpp` is Apache 2.0, and a summary is in each sourc
7272

7373
There is an automated test which runs a linter that ensures each file has a license statement.
7474

75-
Most recent test results can be found [here](https://ci.ros2.org/view/nightly/job/nightly_linux_release/1525/testReport/rmw_fastrtps_cpp/copyright/)
75+
Most recent test results can be found [here](https://ci.ros2.org/view/nightly/job/nightly_linux_release/lastBuild/testReport/rmw_fastrtps_cpp/copyright/)
7676

7777
### Copyright Statements [3.iv]
7878

7979
The copyright holders each provide a statement of copyright in each source code file in `rmw_fastrtps_cpp`.
8080

8181
There is an automated test which runs a linter that ensures each file has at least one copyright statement.
8282

83-
The results of the test can be found [here](https://ci.ros2.org/view/nightly/job/nightly_linux_release/1525/testReport/rmw_fastrtps_cpp/copyright/).
83+
The results of the test can be found [here](https://ci.ros2.org/view/nightly/job/nightly_linux_release/lastBuild/testReport/rmw_fastrtps_cpp/copyright/).
8484

8585
## Testing [4]
8686

@@ -94,7 +94,19 @@ There is no API testing in `rmw_fastrtps_cpp`.
9494

9595
### Coverage [4.iii]
9696

97-
`rmw_fastrtps_cpp` does not currently track test coverage.
97+
`rmw_fastrtps_cpp` follows the recommendations for ROS Core packages in the [ROS 2 Developer Guide](https://index.ros.org/doc/ros2/Contributing/Developer-Guide/#coverage), and opts to use branch coverage instead of line coverage.
98+
99+
This includes:
100+
101+
- tracking and reporting line coverage statistics
102+
- achieving and maintaining a reasonable branch line coverage (90-100%)
103+
- no lines are manually skipped in coverage calculations
104+
105+
Changes are required to make a best effort to keep or increase coverage before being accepted, but decreases are allowed if properly justified and accepted by reviewers.
106+
107+
Current coverage statistics can be viewed [here](https://ci.ros2.org/job/ci_linux_coverage/lastSuccessfulBuild/cobertura/src_ros2_rmw_fastrtps_rmw_fastrtps_cpp_src/). This package does not yet meet the 95% coverage guideline.
108+
109+
A summary of how these statistics are calculated can be found in the [ROS 2 On-boarding guide](https://index.ros.org/doc/ros2/Contributing/ROS-2-On-boarding-Guide/#note-on-coverage-runs).
98110

99111
### Performance [4.iv]
100112

@@ -104,7 +116,7 @@ There is no API testing in `rmw_fastrtps_cpp`.
104116

105117
`rmw_fastrtps_cpp` uses and passes all the standard linters and static analysis tools for a C++ package as described in the [ROS 2 Developer Guide](https://index.ros.org/doc/ros2/Contributing/Developer-Guide/#linters).
106118

107-
Results of the nightly linter tests can be found [here](https://ci.ros2.org/view/nightly/job/nightly_linux_release/1525/testReport/rmw_fastrtps_cpp).
119+
Results of the nightly linter tests can be found [here](https://ci.ros2.org/view/nightly/job/nightly_linux_release/lastBuild/testReport/rmw_fastrtps_cpp).
108120

109121
## Dependencies [5]
110122

@@ -140,6 +152,52 @@ Currently nightly results can be seen here:
140152
* [mac_osx_release](https://ci.ros2.org/view/nightly/job/nightly_osx_release/lastBuild/testReport/rmw_fastrtps_cpp/)
141153
* [windows_release](https://ci.ros2.org/view/nightly/job/nightly_win_rel/lastBuild/testReport/rmw_fastrtps_cpp/)
142154

143-
## Vulnerability Disclosure Policy [7.i]
155+
## Security [7]
156+
157+
### Vulnerability Disclosure Policy [7.i]
144158

145159
This package conforms to the Vulnerability Disclosure Policy in [REP-2006](https://www.ros.org/reps/rep-2006.html).
160+
161+
# Current status Summary
162+
163+
The chart below compares the requirements in the REP-2004 with the current state of the `rmw_dds_common` package.
164+
165+
|Number| Requirement| Current state |
166+
|--|--|--|
167+
|1| **Version policy** |---|
168+
|1.i|Version Policy available ||
169+
|1.ii|Stable version ||
170+
|1.iii|Declared public API||
171+
|1.iv|API stability policy||
172+
|1.v|ABI stability policy||
173+
|1.vi_|API/ABI stable within ros distribution||
174+
|2| **Change control process** |---|
175+
|2.i| All changes occur on change request ||
176+
|2.ii| Contributor origin (DCO, CLA, etc) ||
177+
|2.iii| Peer review policy ||
178+
|2.iv| CI policy for change requests ||
179+
|2.v| Documentation policy for change requests ||
180+
|3| **Documentation** | --- |
181+
|3.i| Per feature documentation ||
182+
|3.ii| Per public API item documentation | * |
183+
|3.iii| Declared License(s) ||
184+
|3.iv| Copyright in source files||
185+
|3.v.a| Quality declaration linked to README ||
186+
|3.v.b| Centralized declaration available for peer review ||
187+
|4| **Testing** | --- |
188+
|4.i| Feature items tests ||
189+
|4.ii| Public API tests | None |
190+
|4.iii.a| Using coverage ||
191+
|4.iii.a| Coverage policy ||
192+
|4.iv.a| Performance tests (if applicable) ||
193+
|4.iv.b| Performance tests policy||
194+
|4.v.a| Code style enforcement (linters)||
195+
|4.v.b| Use of static analysis tools ||
196+
|5| **Dependencies** | --- |
197+
|5.i| Must not have ROS lower level dependencies ||
198+
|5.ii| Optional ROS lower level dependencies||
199+
|5.iii| Justifies quality use of non-ROS dependencies ||
200+
|6| **Platform support** | --- |
201+
|6.i| Support targets Tier1 ROS platforms||
202+
|7| **Security** | --- |
203+
|7.i| Vulnerability Disclosure Policy ||

rmw_fastrtps_cpp/README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,4 +6,4 @@ For more information see the repository level [README](../README.md)
66

77
## Quality Declaration
88

9-
This package claims to be in the **Quality Level 4** category, see the [Quality Declaration](QUALITY_DECLARATION.md) for more details.
9+
This package claims to be in the **Quality Level 3** category, see the [Quality Declaration](QUALITY_DECLARATION.md) for more details.

0 commit comments

Comments
 (0)