Skip to content

Commit

Permalink
Update Quality Declarations to QL3. (#404)
Browse files Browse the repository at this point in the history
Signed-off-by: Michel Hidalgo <michel@ekumenlabs.com>
  • Loading branch information
hidmic authored and ahcorde committed Oct 27, 2020
1 parent b5e2015 commit 3255c8e
Show file tree
Hide file tree
Showing 3 changed files with 71 additions and 8 deletions.
2 changes: 1 addition & 1 deletion rmw_fastrtps_cpp/QUALITY_DECLARATION.md
Original file line number Diff line number Diff line change
Expand Up @@ -160,7 +160,7 @@ This package conforms to the Vulnerability Disclosure Policy in [REP-2006](https

# Current status Summary

The chart below compares the requirements in the REP-2004 with the current state of the `rmw_dds_common` package.
The chart below compares the requirements in the REP-2004 with the current state of the `rmw_fastrtps_cpp` package.

|Number| Requirement| Current state |
|--|--|--|
Expand Down
75 changes: 69 additions & 6 deletions rmw_fastrtps_shared_cpp/QUALITY_DECLARATION.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,9 @@ This document is a declaration of software quality for the `rmw_fastrtps_shared_

# `rmw_fastrtps_shared_cpp` Quality Declaration

The package `rmw_fastrtps_shared_cpp` claims to be in the **Quality Level 4** category.
The package `rmw_fastrtps_shared_cpp` claims to be in the **Quality Level 3** category.

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).
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).

## Version Policy [1]

Expand Down Expand Up @@ -72,15 +72,15 @@ The license for `rmw_fastrtps_shared_cpp` is Apache 2.0, and a summary is in eac

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

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

### Copyright Statements [3.iv]

The copyright holders each provide a statement of copyright in each source code file in `rmw_fastrtps_shared_cpp`.

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

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

## Testing [4]

Expand All @@ -95,7 +95,24 @@ The latest nightly test results can be seen [here](https://ci.ros2.org/view/nigh

### Coverage [4.iii]

`rmw_fastrtps_shared_cpp` does not currently track test coverage.
`rmw_fastrtps_shared_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.

This includes:

- tracking and reporting line coverage statistics
- achieving and maintaining a reasonable branch line coverage (90-100%)
- no lines are manually skipped in coverage calculations

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.

Current coverage statistics can be viewed
[here](https://ci.ros2.org/job/ci_linux_coverage/lastSuccessfulBuild/cobertura/install_rmw_fastrtps_shared_cpp_include_rmw_fastrtps_shared_cpp/),
[here](https://ci.ros2.org/job/ci_linux_coverage/lastSuccessfulBuild/cobertura/src_ros2_rmw_fastrtps_rmw_fastrtps_shared_cpp_include_rmw_fastrtps_shared_cpp/),
[here](https://ci.ros2.org/job/ci_linux_coverage/lastSuccessfulBuild/cobertura/src_ros2_rmw_fastrtps_rmw_fastrtps_shared_cpp_src/), and
[here](https://ci.ros2.org/job/ci_linux_coverage/lastSuccessfulBuild/cobertura/src_ros2_rmw_fastrtps_rmw_fastrtps_shared_cpp_src_types/).
This package does not yet meet the 95% coverage guideline.

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).

### Performance [4.iv]

Expand Down Expand Up @@ -137,6 +154,52 @@ Currently nightly results can be seen here:
* [mac_osx_release](https://ci.ros2.org/view/nightly/job/nightly_osx_release/lastBuild/testReport/rmw_fastrtps_shared_cpp/)
* [windows_release](https://ci.ros2.org/view/nightly/job/nightly_win_rel/lastBuild/testReport/rmw_fastrtps_shared_cpp/)

## Vulnerability Disclosure Policy [7.i]
## Security [7]

### Vulnerability Disclosure Policy [7.i]

This package conforms to the Vulnerability Disclosure Policy in [REP-2006](https://www.ros.org/reps/rep-2006.html).

# Current status Summary

The chart below compares the requirements in the REP-2004 with the current state of the `rmw_fastrtps_shared_cpp` package.

|Number| Requirement| Current state |
|--|--|--|
|1| **Version policy** |---|
|1.i|Version Policy available ||
|1.ii|Stable version ||
|1.iii|Declared public API||
|1.iv|API stability policy||
|1.v|ABI stability policy||
|1.vi_|API/ABI stable within ros distribution||
|2| **Change control process** |---|
|2.i| All changes occur on change request ||
|2.ii| Contributor origin (DCO, CLA, etc) ||
|2.iii| Peer review policy ||
|2.iv| CI policy for change requests ||
|2.v| Documentation policy for change requests ||
|3| **Documentation** | --- |
|3.i| Per feature documentation ||
|3.ii| Per public API item documentation | * |
|3.iii| Declared License(s) ||
|3.iv| Copyright in source files||
|3.v.a| Quality declaration linked to README ||
|3.v.b| Centralized declaration available for peer review ||
|4| **Testing** | --- |
|4.i| Feature items tests ||
|4.ii| Public API tests ||
|4.iii.a| Using coverage ||
|4.iii.a| Coverage policy ||
|4.iv.a| Performance tests (if applicable) ||
|4.iv.b| Performance tests policy||
|4.v.a| Code style enforcement (linters)||
|4.v.b| Use of static analysis tools ||
|5| **Dependencies** | --- |
|5.i| Must not have ROS lower level dependencies ||
|5.ii| Optional ROS lower level dependencies||
|5.iii| Justifies quality use of non-ROS dependencies ||
|6| **Platform support** | --- |
|6.i| Support targets Tier1 ROS platforms||
|7| **Security** | --- |
|7.i| Vulnerability Disclosure Policy ||
2 changes: 1 addition & 1 deletion rmw_fastrtps_shared_cpp/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,4 +4,4 @@

## Quality Declaration

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

0 comments on commit 3255c8e

Please sign in to comment.