Skip to content

Commit

Permalink
Update QDs to QL 1 (#866)
Browse files Browse the repository at this point in the history
Signed-off-by: Stephen Brawner <[email protected]>
  • Loading branch information
brawner committed Nov 25, 2020
1 parent 4376552 commit f5f4dac
Show file tree
Hide file tree
Showing 8 changed files with 54 additions and 28 deletions.
24 changes: 15 additions & 9 deletions rcl/QUALITY_DECLARATION.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ This document is a declaration of software quality for the `rcl` package, based

# `rcl` Quality Declaration

The package `rcl` claims to be in the **Quality Level 2** category.
The package `rcl` claims to be in the **Quality Level 1** category when it is used with a **Quality Level 1** middleware.

Below are the rationales, notes, and caveats for this claim, organized by each requirement listed in the [Package Quality Categories in REP-2004](https://index.ros.org/doc/ros2/Contributing/Developer-Guide/#package-quality-categories).

Expand Down Expand Up @@ -120,7 +120,13 @@ Current coverage statistics can be viewed [here](https://ci.ros2.org/job/nightly

### Performance [4.iv]

`rcl` does not conduct performance tests.
`rcl` follows the recommendations for performance testing of C code in the [ROS 2 Developer Guide](https://index.ros.org/doc/ros2/Contributing/Developer-Guide/#performance), and opts to do performance analysis on each release rather than each change.

System level performance benchmarks that cover features of `rcl` can be found at:
* [Benchmarks](http://build.ros2.org/view/Rci/job/Rci__benchmark_ubuntu_focal_amd64/BenchmarkTable/)
* [Performance](http://build.ros2.org/view/Rci/job/Rci__nightly-performance_ubuntu_focal_amd64/lastCompletedBuild/)

Changes that introduce regressions in performance must be adequately justified in order to be accepted and merged.

### Linters and Static Analysis [4.v]

Expand All @@ -145,37 +151,37 @@ It also has several test dependencies, which do not affect the resulting quality

The `rmw` package provides the API used by `rcl` to interact with the underlying middleware in an abstract way.

It is **Quality Level 4**, see its [Quality Declaration document](https://github.com/ros2/rmw/rmw/QUALITY_DECLARATION.md).
It is **Quality Level 1**, see its [Quality Declaration document](https://github.com/ros2/rmw/blob/foxy/rmw/QUALITY_DECLARATION.md).

#### `rcl_interfaces`

The `rcl_interfaces` package provides some common ROS Message and ROS Service types which are used to implement certain client library features.

It is **Quality Level 2**, see its [Quality Declaration document](https://github.com/ros2/rcl_interfaces/blob/foxy/rcl_interfaces/QUALITY_DECLARATION.md).
It is **Quality Level 1**, see its [Quality Declaration document](https://github.com/ros2/rcl_interfaces/blob/foxy/rcl_interfaces/QUALITY_DECLARATION.md).

#### `rcl_logging_spdlog`

The `rcl_logging_spdlog` package provides the default logging implementation by wrapping the `spdlog` library.

It is **Quality Level 4**, see its [Quality Declaration document](https://github.com/ros2/rcl_logging/rcl_logging_spdlog/Quality_Declaration.md).
It is **Quality Level 1**, see its [Quality Declaration document](https://github.com/ros2/rcl_logging/blob/foxy/rcl_logging_spdlog/QUALITY_DECLARATION.md).

#### `rcl_yaml_param_parser`

The `rcl_yaml_param_parser` package provides an API that is used to parse YAML configuration files which may be used to configure ROS and specific nodes.

It is **Quality Level 2**, see its [Quality Declaration document](https://github.com/ros2/rcl/tree/foxy/rcl_yaml_param_parser/Quality_Declaration.md).
It is **Quality Level 1**, see its [Quality Declaration document](https://github.com/ros2/rcl/blob/foxy/rcl_yaml_param_parser/QUALITY_DECLARATION.md).

#### `rcutils`

The `rcutils` package provides an API which contains common utilities and data structures needed when programming in C.

It is **Quality Level 2**, see its [Quality Declaration document](https://github.com/ros2/rcutils/blob/foxy/QUALITY_DECLARATION.md).
It is **Quality Level 1**, see its [Quality Declaration document](https://github.com/ros2/rcutils/blob/foxy/QUALITY_DECLARATION.md).

#### `rmw_implementation`

The `rmw_implementation` package provides access to the default rmw implementation, and provides the ability to dynamically switch rmw implementations if more than one is available.

It is **Quality Level 2**, see its [Quality Declaration document](https://github.com/ros2/rmw_implementation/blob/foxy/rmw_implementation/QUALITY_DECLARATION.md).
It is **Quality Level 1**, see its [Quality Declaration document](https://github.com/ros2/rmw_implementation/blob/foxy/rmw_implementation/QUALITY_DECLARATION.md).

#### `rosidl_runtime_c`

Expand Down Expand Up @@ -238,7 +244,7 @@ The chart below compares the requirements in the REP-2004 with the current state
|4.ii| Public API tests ||
|4.iii.a| Using coverage ||
|4.iii.a| Coverage policy ||
|4.iv.a| Performance tests (if applicable) | |
|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 ||
Expand Down
2 changes: 1 addition & 1 deletion rcl/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,4 +4,4 @@ Library to support implementation of language specific ROS Client Libraries.

Features are described in detail at [http://docs.ros2.org](http://docs.ros2.org/latest/api/rcl/index.html)

This package claims to be in the **Quality Level 2** category, see the [Quality Declaration](./QUALITY_DECLARATION.md) for more details.
This package claims to be in the **Quality Level 1** category, see the [Quality Declaration](./QUALITY_DECLARATION.md) for more details.
18 changes: 12 additions & 6 deletions rcl_action/QUALITY_DECLARATION.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ This document is a declaration of software quality for the `rcl_action` package,

# `rcl_action` Quality Declaration

The package `rcl_action` claims to be in the **Quality Level 2** category.
The package `rcl_action` claims to be in the **Quality Level 1** category when it is used with a **Quality Level 1** middleware.

Below are the rationales, notes, and caveats for this claim, organized by each requirement listed in the [Package Quality Categories in REP-2004](https://index.ros.org/doc/ros2/Contributing/Developer-Guide/#package-quality-categories).

Expand Down Expand Up @@ -114,7 +114,13 @@ Current coverage statistics can be viewed [here](https://ci.ros2.org/job/nightly

### Performance [4.iv]

`rcl_action` does not currently have performance tests.
`rcl_action` follows the recommendations for performance testing of C code in the [ROS 2 Developer Guide](https://index.ros.org/doc/ros2/Contributing/Developer-Guide/#performance), and opts to do performance analysis on each release rather than each change.

System level performance benchmarks that cover features of `rcl_action` can be found at:
* [Benchmarks](http://build.ros2.org/view/Rci/job/Rci__benchmark_ubuntu_focal_amd64/BenchmarkTable/)
* [Performance](http://build.ros2.org/view/Rci/job/Rci__nightly-performance_ubuntu_focal_amd64/lastCompletedBuild/)

Changes that introduce regressions in performance must be adequately justified in order to be accepted and merged.

### Linters and Static Analysis [4.v]

Expand All @@ -137,25 +143,25 @@ It also has several test dependencies, which do not affect the resulting quality

`action_msgs` provides messages and services for ROS 2 actions.

It is **Quality Level 2**, see its [Quality Declaration document](https://github.com/ros2/rcl_interfaces/blob/foxy/action_msgs/QUALITY_DECLARATION.md).
It is **Quality Level 1**, see its [Quality Declaration document](https://github.com/ros2/rcl_interfaces/blob/foxy/action_msgs/QUALITY_DECLARATION.md).

#### `rcl`

`rcl` is the ROS 2 client library in C.

It is **Quality Level 2**, see its [Quality Declaration document](../rcl/QUALITY_DECLARATION).
It is **Quality Level 1**, see its [Quality Declaration document](../rcl/QUALITY_DECLARATION.md).

#### `rcutils`

`rcutils` provides commonly used functionality in C.

It is **Quality Level 2**, see its [Quality Declaration document](https://github.com/ros2/rcutils/blob/foxy/QUALITY_DECLARATION.md).
It is **Quality Level 1**, see its [Quality Declaration document](https://github.com/ros2/rcutils/blob/foxy/QUALITY_DECLARATION.md).

#### `rmw`

`rmw` is the ROS 2 middleware library.

It is **Quality Level 2**, see its [Quality Declaration document](https://github.com/ros2/rmw/blob/foxy/rmw/QUALITY_DECLARATION.md).
It is **Quality Level 1**, see its [Quality Declaration document](https://github.com/ros2/rmw/blob/foxy/rmw/QUALITY_DECLARATION.md).

#### `rosidl_runtime_c`

Expand Down
2 changes: 1 addition & 1 deletion rcl_action/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,4 +9,4 @@ http://design.ros2.org/articles/actions.html

## Quality Declaration

This package claims to be in the **Quality Level 2** category, see the [Quality Declaration](./QUALITY_DECLARATION.md) for more details.
This package claims to be in the **Quality Level 1** category, see the [Quality Declaration](./QUALITY_DECLARATION.md) for more details.
18 changes: 12 additions & 6 deletions rcl_lifecycle/QUALITY_DECLARATION.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ This document is a declaration of software quality for the `rcl_lifecycle` packa

# `rcl_lifecycle` Quality Declaration

The package `rcl_lifecycle` claims to be in the **Quality Level 2** category.
The package `rcl_lifecycle` claims to be in the **Quality Level 1** category when it is used with a **Quality Level 1** middleware.

Below are the rationales, notes, and caveats for this claim, organized by each requirement listed in the [Package Quality Categories in REP-2004](https://index.ros.org/doc/ros2/Contributing/Developer-Guide/#package-quality-categories).

Expand Down Expand Up @@ -115,7 +115,13 @@ Current coverage statistics can be viewed [here](https://ci.ros2.org/job/nightly

### Performance [4.iv]

`rcl_lifecycle` does not currently have performance tests.
`rcl_lifecycle` follows the recommendations for performance testing of C code in the [ROS 2 Developer Guide](https://index.ros.org/doc/ros2/Contributing/Developer-Guide/#performance), and opts to do performance analysis on each release rather than each change.

System level performance benchmarks that cover features of `rcl_lifecycle` can be found at:
* [Benchmarks](http://build.ros2.org/view/Rci/job/Rci__benchmark_ubuntu_focal_amd64/BenchmarkTable/)
* [Performance](http://build.ros2.org/view/Rci/job/Rci__nightly-performance_ubuntu_focal_amd64/lastCompletedBuild/)

Changes that introduce regressions in performance must be adequately justified in order to be accepted and merged.

### Linters and Static Analysis [4.v]

Expand All @@ -138,25 +144,25 @@ It also has several test dependencies, which do not affect the resulting quality

`lifecycle_msgs` provides message and services for managing lifecycle nodes.

It is **Quality Level 2**, see its [Quality Declaration document](https://github.com/ros2/rcl_interfaces/blob/foxy/lifecycle_msgs/QUALITY_DECLARATION.md).
It is **Quality Level 1**, see its [Quality Declaration document](https://github.com/ros2/rcl_interfaces/blob/foxy/lifecycle_msgs/QUALITY_DECLARATION.md).

#### `rcl`

`rcl` is the ROS 2 client library in C.

It is **Quality Level 2**, see its [Quality Declaration document](../rcl/QUALITY_DECLARATION).
It is **Quality Level 1**, see its [Quality Declaration document](../rcl/QUALITY_DECLARATION.md).

#### `rcutils`

`rcutils` provides commonly used functionality in C.

It is **Quality Level 2**, see its [Quality Declaration document](https://github.com/ros2/rcutils/blob/foxy/QUALITY_DECLARATION.md).
It is **Quality Level 1**, see its [Quality Declaration document](https://github.com/ros2/rcutils/blob/foxy/QUALITY_DECLARATION.md).

#### `rmw`

`rmw` is the ROS 2 middleware library.

It is **Quality Level 2**, see its [Quality Declaration document](https://github.com/ros2/rmw/blob/foxy/rmw/QUALITY_DECLARATION.md).
It is **Quality Level 1**, see its [Quality Declaration document](https://github.com/ros2/rmw/blob/foxy/rmw/QUALITY_DECLARATION.md).

#### `rosidl_runtime_c`

Expand Down
2 changes: 1 addition & 1 deletion rcl_lifecycle/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,4 +9,4 @@ https://design.ros2.org/articles/node_lifecycle.html

## Quality Declaration

This package claims to be in the **Quality Level 2** category, see the [Quality Declaration](./QUALITY_DECLARATION.md) for more details.
This package claims to be in the **Quality Level 1** category, see the [Quality Declaration](./QUALITY_DECLARATION.md) for more details.
14 changes: 11 additions & 3 deletions rcl_yaml_param_parser/QUALITY_DECLARATION.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ This document is a declaration of software quality for the `rcl_yaml_param_parse

# `rcl_yaml_param_parser` Quality Declaration

The package `rcl_yaml_param_parser` claims to be in the **Quality Level 2** category.
The package `rcl_yaml_param_parser` claims to be in the **Quality Level 1** category.

Below are the rationales, notes, and caveats for this claim, organized by each requirement listed in the [Package Quality Categories in REP-2004](https://index.ros.org/doc/ros2/Contributing/Developer-Guide/#package-quality-categories).

Expand Down Expand Up @@ -114,7 +114,15 @@ Current coverage statistics can be viewed [here](https://ci.ros2.org/job/nightly

### Performance [4.iv]

`rcl_yaml_param_parser` does not currently have performance tests.
`rcl_yaml_param_parser` follows the recommendations for performance testing of C/C++ code in the [ROS 2 Developer Guide](https://index.ros.org/doc/ros2/Contributing/Developer-Guide/#performance), and opts to do performance analysis on each release rather than each change.

The performance tests of `rcl_yaml_param_parser` are located in the [test/benchmark directory](https://github.com/ros2/rcl/tree/foxy/rcl_yaml_param_parser/test/benchmark).

Package and system level performance benchmarks that cover features of `rcl_yaml_param_parser` can be found at:
* [Benchmarks](http://build.ros2.org/view/Rci/job/Rci__benchmark_ubuntu_focal_amd64/BenchmarkTable/)
* [Performance](http://build.ros2.org/view/Rci/job/Rci__nightly-performance_ubuntu_focal_amd64/lastCompletedBuild/)

Changes that introduce regressions in performance must be adequately justified in order to be accepted and merged.

### Linters and Static Analysis [4.v]

Expand All @@ -135,7 +143,7 @@ It also has several test dependencies, which do not affect the resulting quality

`rcutils` provides commonly used functionality in C.

It is **Quality Level 2**, see its [Quality Declaration document](https://github.com/ros2/rcutils/blob/foxy/QUALITY_DECLARATION.md).
It is **Quality Level 1**, see its [Quality Declaration document](https://github.com/ros2/rcutils/blob/foxy/QUALITY_DECLARATION.md).

#### `libyaml_vendor`

Expand Down
2 changes: 1 addition & 1 deletion rcl_yaml_param_parser/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -30,4 +30,4 @@ This package depends on C libyaml.

## Quality Declaration

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

0 comments on commit f5f4dac

Please sign in to comment.