diff --git a/rcl/QUALITY_DECLARATION.md b/rcl/QUALITY_DECLARATION.md index 96ae378a6..665197e93 100644 --- a/rcl/QUALITY_DECLARATION.md +++ b/rcl/QUALITY_DECLARATION.md @@ -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). @@ -53,11 +53,11 @@ All pull requests will be peer-reviewed, check [ROS 2 Developer Guide](https://i All pull requests must pass CI on all [tier 1 platforms](https://www.ros.org/reps/rep-2000.html#support-tiers). -Currently nightly results can be seen here: -* [linux-aarch64_release](https://ci.ros2.org/view/nightly/job/nightly_linux-aarch64_release/lastBuild/testReport/rcl/) -* [linux_release](https://ci.ros2.org/view/nightly/job/nightly_linux_release/lastBuild/testReport/rcl/) -* [mac_osx_release](https://ci.ros2.org/view/nightly/job/nightly_osx_release/lastBuild/testReport/rcl/) -* [windows_release](https://ci.ros2.org/view/nightly/job/nightly_win_rel/lastBuild/testReport/rcl/) +Though there are no nightly jobs for foxy outside of linux, each change is tested on ci.ros2.org. +* [linux-aarch64](https://ci.ros2.org/job/ci_linux-aarch64) +* [linux](https://ci.ros2.org/job/ci_linux) +* [mac_osx](https://ci.ros2.org/job/ci_osx) +* [windows](https://ci.ros2.org/job/ci_windows) ### Documentation Policy [2.v] @@ -71,7 +71,7 @@ All pull requests must resolve related documentation changes before merging. ### Public API Documentation [3.ii] -`rcl` has embedded API documentation and it is generated using doxygen. Currently, its latest version is hosted [here](http://docs.ros2.org/latest/api/rcl/). +`rcl` has embedded API documentation and it is generated using doxygen. Currently, its latest version is hosted [here](http://docs.ros2.org/foxy/api/rcl/). New additions to the public API require documentation before being added. @@ -79,13 +79,13 @@ New additions to the public API require documentation before being added. The license for `rcl` is Apache 2.0, and a summary is in each source file, the type is declared in the [`package.xml`](./package.xml) manifest file, and a full copy of the license is in the [`LICENSE`](../LICENSE) file. -There is an automated test which runs a linter that ensures each file has a license statement. [Here](https://ci.ros2.org/view/nightly/job/nightly_linux_release/lastBuild/testReport/rcl/) can be found a list with the latest results of the various linters being run on the package. +There is an automated test which runs a linter that ensures each file has a license statement. [Here](http://build.ros2.org/view/Fpr/job/Fpr__rcl__ubuntu_focal_amd64/lastCompletedBuild/testReport/rcl) can be found a list with the latest results of the various linters being run on the package. ### Copyright Statements [3.iv] The copyright holders each provide a statement of copyright in each source code file in `rcl`. -There is an automated test which runs a linter that ensures each file has at least one copyright statement. Latest linter result report can be seen [Here](https://ci.ros2.org/view/nightly/job/nightly_linux_release/lastBuild/testReport/rcl/copyright/). +There is an automated test which runs a linter that ensures each file has at least one copyright statement. Latest linter result report can be seen [Here](http://build.ros2.org/view/Fpr/job/Fpr__rcl__ubuntu_focal_amd64/lastCompletedBuild/testReport/rcl/copyright). ## Testing [4] @@ -93,11 +93,11 @@ There is an automated test which runs a linter that ensures each file has at lea Most features in `rcl` have corresponding tests which simulate typical usage, and they are located in the [`test`](./test) directory. New features are required to have tests before being added. -Currently nightly test results can be seen here: -* [linux-aarch64_release](https://ci.ros2.org/view/nightly/job/nightly_linux-aarch64_release/lastBuild/testReport/rcl/) -* [linux_release](https://ci.ros2.org/view/nightly/job/nightly_linux_release/lastBuild/testReport/rcl/) -* [mac_osx_release](https://ci.ros2.org/view/nightly/job/nightly_osx_release/lastBuild/testReport/rcl/) -* [windows_release](https://ci.ros2.org/view/nightly/job/nightly_win_rel/lastBuild/testReport/rcl/) +Though there are no nightly jobs for foxy outside of linux, each change is tested on ci.ros2.org. +* [linux-aarch64](https://ci.ros2.org/job/ci_linux-aarch64) +* [linux](https://ci.ros2.org/job/ci_linux) +* [mac_osx](https://ci.ros2.org/job/ci_osx) +* [windows](https://ci.ros2.org/job/ci_windows) ### Public API Testing [4.ii] @@ -116,21 +116,27 @@ This includes: 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/nightly_linux_coverage/lastSuccessfulBuild/cobertura/src_ros2_rcl_rcl_src_rcl/). A description of how coverage statistics are calculated is summarized in this page ["ROS 2 Onboarding Guide"](https://index.ros.org/doc/ros2/Contributing/ROS-2-On-boarding-Guide/#note-on-coverage-runs). +Current coverage statistics can be viewed [here](https://ci.ros2.org/job/nightly_linux_foxy_coverage/lastSuccessfulBuild/cobertura/src_ros2_rcl_rcl_src_rcl/). A description of how coverage statistics are calculated is summarized in this page ["ROS 2 Onboarding Guide"](https://index.ros.org/doc/ros2/Contributing/ROS-2-On-boarding-Guide/#note-on-coverage-runs). ### 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/Fci/job/Fci__benchmark_ubuntu_focal_amd64/BenchmarkTable/) +* [Performance](http://build.ros2.org/view/Fci/job/Fci__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] `rcl` uses and passes all the ROS2 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-and-static-analysis). Passing implies there are no linter/static errors when testing against CI of supported platforms. -Currently nightly test results can be seen here: -* [linux-aarch64_release](https://ci.ros2.org/view/nightly/job/nightly_linux-aarch64_release/lastBuild/testReport/rcl/) -* [linux_release](https://ci.ros2.org/view/nightly/job/nightly_linux_release/lastBuild/testReport/rcl/) -* [mac_osx_release](https://ci.ros2.org/view/nightly/job/nightly_osx_release/lastBuild/testReport/rcl/) -* [windows_release](https://ci.ros2.org/view/nightly/job/nightly_win_rel/lastBuild/testReport/rcl/) +Though there are no nightly jobs for foxy outside of linux, each change is tested on ci.ros2.org. +* [linux-aarch64](https://ci.ros2.org/job/ci_linux-aarch64) +* [linux](https://ci.ros2.org/job/ci_linux) +* [mac_osx](https://ci.ros2.org/job/ci_osx) +* [windows](https://ci.ros2.org/job/ci_windows) ## Dependencies [5] @@ -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` @@ -201,6 +207,12 @@ It is **Quality Level 1**, see its [Quality Declaration document](https://gitlab `rcl` supports all of the tier 1 platforms as described in [REP-2000](https://www.ros.org/reps/rep-2000.html#support-tiers), and tests each change against all of them. +Though there are no nightly jobs for foxy outside of linux, each change is tested on ci.ros2.org. +* [linux-aarch64](https://ci.ros2.org/job/ci_linux-aarch64) +* [linux](https://ci.ros2.org/job/ci_linux) +* [mac_osx](https://ci.ros2.org/job/ci_osx) +* [windows](https://ci.ros2.org/job/ci_windows) + ## Security [7] ### Vulnerability Disclosure Policy [7.i] @@ -238,7 +250,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 | ✓ | diff --git a/rcl/README.md b/rcl/README.md index 51cf9c100..75eb94845 100644 --- a/rcl/README.md +++ b/rcl/README.md @@ -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. diff --git a/rcl_action/QUALITY_DECLARATION.md b/rcl_action/QUALITY_DECLARATION.md index 6416efe84..fa646e1bb 100644 --- a/rcl_action/QUALITY_DECLARATION.md +++ b/rcl_action/QUALITY_DECLARATION.md @@ -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). @@ -64,7 +64,7 @@ It is [hosted](http://design.ros2.org/articles/actions.html). ### Public API Documentation [3.ii] -Most of `rcl_action` has embedded API documentation and it is [hosted](http://docs.ros2.org/latest/api/rcl_action/). +Most of `rcl_action` has embedded API documentation and it is [hosted](http://docs.ros2.org/foxy/api/rcl_action/). ### License [3.iii] @@ -72,7 +72,7 @@ The license for `rcl_action` is Apache 2.0, and a summary is in each source file There is an automated test which runs a linter that ensures each file has a license statement. -The most recent test results can be found [here](https://ci.ros2.org/view/nightly/job/nightly_linux_release/lastBuild/testReport/rcl_action/copyright/). +The most recent test results can be found [here](http://build.ros2.org/view/Fpr/job/Fpr__rcl_action__ubuntu_focal_amd64/lastCompletedBuild/testReport/rcl_action). ### Copyright Statements [3.iv] @@ -80,7 +80,7 @@ The copyright holders each provide a statement of copyright in each source code 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/lastBuild/testReport/rcl_action/copyright/). +The results of the test can be found [here](http://build.ros2.org/view/Fpr/job/Fpr__rcl_action__ubuntu_focal_amd64/lastCompletedBuild/testReport/rcl_action/copyright/). ## Testing [4] @@ -89,11 +89,11 @@ The results of the test can be found [here](https://ci.ros2.org/view/nightly/job `rcl_action` has feature tests, which test for proper node state transitions. The tests are located in the [test](test) subdirectory. New features are required to have tests before being added. -Currently nightly test results can be seen here: -* [linux-aarch64_release](https://ci.ros2.org/view/nightly/job/nightly_linux-aarch64_release/lastBuild/testReport/rcl_action/) -* [linux_release](https://ci.ros2.org/view/nightly/job/nightly_linux_release/lastBuild/testReport/rcl_action/) -* [mac_osx_release](https://ci.ros2.org/view/nightly/job/nightly_osx_release/lastBuild/testReport/rcl_action/) -* [windows_release](https://ci.ros2.org/view/nightly/job/nightly_win_rel/lastBuild/testReport/rcl_action/) +Though there are no nightly jobs for foxy outside of linux, each change is tested on ci.ros2.org. +* [linux-aarch64](https://ci.ros2.org/job/ci_linux-aarch64) +* [linux](https://ci.ros2.org/job/ci_linux) +* [mac_osx](https://ci.ros2.org/job/ci_osx) +* [windows](https://ci.ros2.org/job/ci_windows) ### Public API Testing [4.ii] @@ -110,17 +110,23 @@ This includes: 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/nightly_linux_coverage/lastSuccessfulBuild/cobertura/src_ros2_rcl_rcl_action_src_rcl_action/). A description of how coverage statistics are calculated is summarized in this page ["ROS 2 Onboarding Guide"](https://index.ros.org/doc/ros2/Contributing/ROS-2-On-boarding-Guide/#note-on-coverage-runs). +Current coverage statistics can be viewed [here](https://ci.ros2.org/job/nightly_linux_foxy_coverage/lastCompletedBuild/cobertura/src_ros2_rcl_rcl_action_src_rcl_action/). A description of how coverage statistics are calculated is summarized in this page ["ROS 2 Onboarding Guide"](https://index.ros.org/doc/ros2/Contributing/ROS-2-On-boarding-Guide/#note-on-coverage-runs). ### 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/Fci/job/Fci__benchmark_ubuntu_focal_amd64/BenchmarkTable/) +* [Performance](http://build.ros2.org/view/Fci/job/Fci__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] `rcl_action` 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). -Results of the nightly linter tests can be found [here](https://ci.ros2.org/view/nightly/job/nightly_linux_release/lastBuild/testReport/rcl_action). +Results of the nightly linter tests can be found [here](http://build.ros2.org/view/Fpr/job/Fpr__rcl_action__ubuntu_focal_amd64/lastCompletedBuild/testReport/rcl_action). ## Dependencies [5] @@ -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` @@ -171,11 +177,11 @@ It is **Quality Level 1**, see its [Quality Declaration document](https://github `rcl_action` supports all of the tier 1 platforms as described in [REP-2000](https://www.ros.org/reps/rep-2000.html#support-tiers), and tests each change against all of them. -Currently nightly results can be seen here: -* [linux-aarch64_release](https://ci.ros2.org/view/nightly/job/nightly_linux-aarch64_release/lastBuild/testReport/rcl_action/) -* [linux_release](https://ci.ros2.org/view/nightly/job/nightly_linux_release/lastBuild/testReport/rcl_action/) -* [mac_osx_release](https://ci.ros2.org/view/nightly/job/nightly_osx_release/lastBuild/testReport/rcl_action/) -* [windows_release](https://ci.ros2.org/view/nightly/job/nightly_win_rel/lastBuild/testReport/rcl_action/) +Though there are no nightly jobs for foxy outside of linux, each change is tested on ci.ros2.org. +* [linux-aarch64](https://ci.ros2.org/job/ci_linux-aarch64) +* [linux](https://ci.ros2.org/job/ci_linux) +* [mac_osx](https://ci.ros2.org/job/ci_osx) +* [windows](https://ci.ros2.org/job/ci_windows) # Security [7] diff --git a/rcl_action/README.md b/rcl_action/README.md index 73843dd40..b3295e1f2 100644 --- a/rcl_action/README.md +++ b/rcl_action/README.md @@ -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. diff --git a/rcl_lifecycle/QUALITY_DECLARATION.md b/rcl_lifecycle/QUALITY_DECLARATION.md index cee4ac427..daf615162 100644 --- a/rcl_lifecycle/QUALITY_DECLARATION.md +++ b/rcl_lifecycle/QUALITY_DECLARATION.md @@ -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). @@ -72,7 +72,7 @@ The license for `rcl_lifecycle` is Apache 2.0, and a summary is in each source f There is an automated test which runs a linter that ensures each file has a license statement. -The most recent test results can be found [here](https://ci.ros2.org/view/nightly/job/nightly_linux_release/lastBuild/testReport/rcl_lifecycle/copyright/). +The most recent test results can be found [here](http://build.ros2.org/view/Fpr/job/Fpr__rcl_lifecycle__ubuntu_focal_amd64/lastCompletedBuild/testReport/rcl_lifecycle). ### Copyright Statements [3.iv] @@ -80,7 +80,7 @@ The copyright holders each provide a statement of copyright in each source code 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/lastBuild/testReport/rcl_lifecycle/copyright/). +The results of the test can be found [here](http://build.ros2.org/view/Fpr/job/Fpr__rcl_lifecycle__ubuntu_focal_amd64/lastCompletedBuild/testReport/rcl_lifecycle). ## Testing [4] @@ -89,12 +89,11 @@ The results of the test can be found [here](https://ci.ros2.org/view/nightly/job `rcl_lifecycle` has feature tests, which test for proper node state transitions. The tests are located in the [test](test) subdirectory. New features are required to have tests before being added. -Currently nightly test results can be seen here: -* [linux-aarch64_release](https://ci.ros2.org/view/nightly/job/nightly_linux-aarch64_release/lastBuild/testReport/rcl_lifecycle/) -* [linux_release](https://ci.ros2.org/view/nightly/job/nightly_linux_release/lastBuild/testReport/rcl_lifecycle/) -* [mac_osx_release](https://ci.ros2.org/view/nightly/job/nightly_osx_release/lastBuild/testReport/rcl_lifecycle/) -* [windows_release](https://ci.ros2.org/view/nightly/job/nightly_win_rel/lastBuild/testReport/rcl_lifecycle/) - +Though there are no nightly jobs for foxy outside of linux, each change is tested on ci.ros2.org. +* [linux-aarch64](https://ci.ros2.org/job/ci_linux-aarch64) +* [linux](https://ci.ros2.org/job/ci_linux) +* [mac_osx](https://ci.ros2.org/job/ci_osx) +* [windows](https://ci.ros2.org/job/ci_windows) ### Public API Testing [4.ii] @@ -111,17 +110,23 @@ This includes: 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/nightly_linux_coverage/lastSuccessfulBuild/cobertura/src_ros2_rcl_rcl_lifecycle_src/). A description of how coverage statistics are calculated is summarized in this page ["ROS 2 Onboarding Guide"](https://index.ros.org/doc/ros2/Contributing/ROS-2-On-boarding-Guide/#note-on-coverage-runs). +Current coverage statistics can be viewed [here](https://ci.ros2.org/job/nightly_linux_foxy_coverage/lastCompletedBuild/cobertura/src_ros2_rcl_rcl_lifecycle_src/). A description of how coverage statistics are calculated is summarized in this page ["ROS 2 Onboarding Guide"](https://index.ros.org/doc/ros2/Contributing/ROS-2-On-boarding-Guide/#note-on-coverage-runs). ### 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/Fci/job/Fci__benchmark_ubuntu_focal_amd64/BenchmarkTable/) +* [Performance](http://build.ros2.org/view/Fci/job/Fci__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] `rcl_lifecycle` 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). -Results of the nightly linter tests can be found [here](https://ci.ros2.org/view/nightly/job/nightly_linux_release/lastBuild/testReport/rcl_lifecycle). +Results of the nightly linter tests can be found [here](http://build.ros2.org/view/Fpr/job/Fpr__rcl_lifecycle__ubuntu_focal_amd64/lastCompletedBuild/testReport/rcl_lifecycle). ## Dependencies [5] @@ -138,25 +143,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` @@ -172,11 +177,11 @@ It is **Quality Level 1**, see its [Quality Declaration document](https://github `rcl_lifecycle` supports all of the tier 1 platforms as described in [REP-2000](https://www.ros.org/reps/rep-2000.html#support-tiers), and tests each change against all of them. -Currently nightly results can be seen here: -* [linux-aarch64_release](https://ci.ros2.org/view/nightly/job/nightly_linux-aarch64_release/lastBuild/testReport/rcl_lifecycle/) -* [linux_release](https://ci.ros2.org/view/nightly/job/nightly_linux_release/lastBuild/testReport/rcl_lifecycle/) -* [mac_osx_release](https://ci.ros2.org/view/nightly/job/nightly_osx_release/lastBuild/testReport/rcl_lifecycle/) -* [windows_release](https://ci.ros2.org/view/nightly/job/nightly_win_rel/lastBuild/testReport/rcl_lifecycle/) +Though there are no nightly jobs for foxy outside of linux, each change is tested on ci.ros2.org. +* [linux-aarch64](https://ci.ros2.org/job/ci_linux-aarch64) +* [linux](https://ci.ros2.org/job/ci_linux) +* [mac_osx](https://ci.ros2.org/job/ci_osx) +* [windows](https://ci.ros2.org/job/ci_windows) # Security [7] diff --git a/rcl_lifecycle/README.md b/rcl_lifecycle/README.md index 77aa9e823..c1983d169 100644 --- a/rcl_lifecycle/README.md +++ b/rcl_lifecycle/README.md @@ -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. diff --git a/rcl_yaml_param_parser/QUALITY_DECLARATION.md b/rcl_yaml_param_parser/QUALITY_DECLARATION.md index 6f61726d7..f00574aab 100644 --- a/rcl_yaml_param_parser/QUALITY_DECLARATION.md +++ b/rcl_yaml_param_parser/QUALITY_DECLARATION.md @@ -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). @@ -59,11 +59,11 @@ All pull requests must resolve related documentation changes before merging. ### Feature Documentation [3.i] -`rcl_yaml_param_parser` provides the main elements of its API listed using doxygen and is hosted [here](http://docs.ros2.org/latest/api/rcl_yaml_param_parser/index.html). +`rcl_yaml_param_parser` provides the main elements of its API listed using doxygen and is hosted [here](http://docs.ros2.org/foxy/api/rcl_yaml_param_parser/index.html). ### Public API Documentation [3.ii] -`rcl_yaml_param_parser` has embedded API documentation and it is generated using doxygen. Currently, its latest version is hosted [here](http://docs.ros2.org/latest/api/rcl_yaml_param_parser/index.html). Latest version has to be generated before considering this item fully resolved. +`rcl_yaml_param_parser` has embedded API documentation and it is generated using doxygen. Currently, its latest version is hosted [here](http://docs.ros2.org/foxy/api/rcl_yaml_param_parser/index.html). Latest version has to be generated before considering this item fully resolved. All of `rcl_yaml_param_parser` has embedded API documentation. It is not yet hosted publicly. @@ -73,7 +73,7 @@ The license for `rcl_yaml_param_parser` is Apache 2.0, and a summary is in each There is an automated test which runs a linter that ensures each file has a license statement. -The most recent test results can be found [here](https://ci.ros2.org/view/nightly/job/nightly_linux_release/lastBuild/testReport/rcl_yaml_param_parser/copyright/). +The most recent test results can be found [here](http://build.ros2.org/view/Fpr/job/Fpr__rcl_yaml_param_parser__ubuntu_focal_amd64/lastCompletedBuild/testReport/rcl_yaml_param_parser). ### Copyright Statements [3.iv] @@ -81,7 +81,7 @@ The copyright holders each provide a statement of copyright in each source code 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/lastBuild/testReport/rcl_yaml_param_parser/copyright/). +The results of the test can be found [here](http://build.ros2.org/view/Fpr/job/Fpr__rcl_yaml_param_parser__ubuntu_focal_amd64/lastCompletedBuild/testReport/rcl_yaml_param_parser/copyright/). ## Testing [4] @@ -89,11 +89,11 @@ The results of the test can be found [here](https://ci.ros2.org/view/nightly/job Most features in `rcl_yaml_param_parser` have corresponding tests which simulate typical usage, and they are located in the [`test`](./test) directory. New features are required to have tests before being added. -Currently nightly test results can be seen here: -* [linux-aarch64_release](https://ci.ros2.org/view/nightly/job/nightly_linux-aarch64_release/lastBuild/testReport/rcl_yaml_param_parser/) -* [linux_release](https://ci.ros2.org/view/nightly/job/nightly_linux_release/lastBuild/testReport/rcl_yaml_param_parser/) -* [mac_osx_release](https://ci.ros2.org/view/nightly/job/nightly_osx_release/lastBuild/testReport/rcl_yaml_param_parser/) -* [windows_release](https://ci.ros2.org/view/nightly/job/nightly_win_rel/lastBuild/testReport/rcl_yaml_param_parser/) +Though there are no nightly jobs for foxy outside of linux, each change is tested on ci.ros2.org. +* [linux-aarch64](https://ci.ros2.org/job/ci_linux-aarch64) +* [linux](https://ci.ros2.org/job/ci_linux) +* [mac_osx](https://ci.ros2.org/job/ci_osx) +* [windows](https://ci.ros2.org/job/ci_windows) ### Public API Testing [4.ii] @@ -110,17 +110,25 @@ This includes: 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/nightly_linux_coverage/lastSuccessfulBuild/cobertura/src_ros2_rcl_rcl_yaml_param_parser_src/). A description of how coverage statistics are calculated is summarized in this page ["ROS 2 Onboarding Guide"](https://index.ros.org/doc/ros2/Contributing/ROS-2-On-boarding-Guide/#note-on-coverage-runs). +Current coverage statistics can be viewed [here](https://ci.ros2.org/job/nightly_linux_foxy_coverage/lastCompletedBuild/cobertura/src_ros2_rcl_rcl_yaml_param_parser_src/). A description of how coverage statistics are calculated is summarized in this page ["ROS 2 Onboarding Guide"](https://index.ros.org/doc/ros2/Contributing/ROS-2-On-boarding-Guide/#note-on-coverage-runs). ### 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/Fci/job/Fci__benchmark_ubuntu_focal_amd64/BenchmarkTable/) +* [Performance](http://build.ros2.org/view/Fci/job/Fci__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] `rcl_yaml_param_parser` 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). -Results of the nightly linter tests can be found [here](https://ci.ros2.org/view/nightly/job/nightly_linux_release/lastBuild/testReport/rcl_yaml_param_parser). +Results of the nightly linter tests can be found [here](http://build.ros2.org/view/Fpr/job/Fpr__rcl_yaml_param_parser__ubuntu_focal_amd64/lastCompletedBuild/testReport/rcl_yaml_param_parser). ## Dependencies [5] @@ -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` @@ -157,11 +165,11 @@ It is **Quality Level 1**, see its [Quality Declaration document](https://github `rcl_yaml_param_parser` supports all of the tier 1 platforms as described in [REP-2000](https://www.ros.org/reps/rep-2000.html#support-tiers), and tests each change against all of them. -Currently nightly results can be seen here: -* [linux-aarch64_release](https://ci.ros2.org/view/nightly/job/nightly_linux-aarch64_release/lastBuild/testReport/rcl_yaml_param_parser/) -* [linux_release](https://ci.ros2.org/view/nightly/job/nightly_linux_release/lastBuild/testReport/rcl_yaml_param_parser/) -* [mac_osx_release](https://ci.ros2.org/view/nightly/job/nightly_osx_release/lastBuild/testReport/rcl_yaml_param_parser/) -* [windows_release](https://ci.ros2.org/view/nightly/job/nightly_win_rel/lastBuild/testReport/rcl_yaml_param_parser/) +Though there are no nightly jobs for foxy outside of linux, each change is tested on ci.ros2.org. +* [linux-aarch64](https://ci.ros2.org/job/ci_linux-aarch64) +* [linux](https://ci.ros2.org/job/ci_linux) +* [mac_osx](https://ci.ros2.org/job/ci_osx) +* [windows](https://ci.ros2.org/job/ci_windows) # Security [7] diff --git a/rcl_yaml_param_parser/README.md b/rcl_yaml_param_parser/README.md index 7d0c161e3..5cb8382d7 100644 --- a/rcl_yaml_param_parser/README.md +++ b/rcl_yaml_param_parser/README.md @@ -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.