Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Progress toward Quality Level 1 #451

Closed
54 tasks done
Blast545 opened this issue Mar 25, 2020 · 4 comments
Closed
54 tasks done

Progress toward Quality Level 1 #451

Blast545 opened this issue Mar 25, 2020 · 4 comments
Assignees

Comments

@Blast545
Copy link
Contributor

Blast545 commented Mar 25, 2020

This issue tracks the progression of packages in rosidl that have been deemed necessary for Quality Level 1 and a 1.0 version level. It follows the outline described in REP 2004.

The packages slated for Quality Level 1 for ROS 2 Foxy are:

  • rosidl_runtime_c
  • rosidl_runtime_cpp
  • rosidl_typesupport_interface

Excluded for Quality Level 1 at this time:

  • rosidl_adapter
  • rosidl_cmake
  • rosidl_generator_c
  • rosidl_generator_cpp
  • rosidl_parser
  • rosidl_typesupport_introspection_c
  • rosidl_typesupport_introspection_cpp

Progress common to all packages:

  • Version Policy
  • Version >= 1.0.0
  • Change Control Process
  • API and ABI stability within a ROS distribution
  • Quality Declaration document for each package
  • Vulnerability Disclosure Policy

Documentation

  • Declared set of licenses
  • Copyright statement in each source file
    • Checked with ament_copyright

Platform Support

  • Supports all tier 1 platforms as described in REP-2000

Progress of specific packages

rosidl_runtime_c

Documentation

  • Per-feature documentation.
  • Per-item documentation in public API.
    • Hosted

Dependencies:

  • Runtime "ROS" dependencies are level 1
    • rosidl_typesupport_interface -> QL2
  • non-ROS dependencies are equivalent level 1
    • None

Testing:

  • Must have system tests which cover all items in the "feature" documentation
  • Must have system, integration, and/or unit tests which cover all of the public API
  • Code Coverage > 95%:
      • Must have code coverage tracking for the package -> here
      • Must have and enforce a code coverage policy for new changes Policy
  • Performance tests: not currently available.
  • Linters and Static Analysis:

rosidl_runtime_cpp

Documentation

  • Per-feature documentation.
  • Per-item documentation in public API.
    • Hosted
  • Quality Declaration document

Dependencies:

  • Runtime "ROS" dependencies are level 1
    • rosidl_typesupport_interface -> QL2
  • non-ROS dependencies are equivalent level 1
    • None

Testing:

  • Must have system tests which cover all items in the "feature" documentation
  • Must have system, integration, and/or unit tests which cover all of the public API
    • This package is mostly composed of types and functions that do not require testing.
  • Code Coverage > 95%:
      • Must have code coverage tracking for the package -> Here
      • Must have and enforce a code coverage policy for new changes Policy
  • Performance:
      • Must have performance tests
  • Linters and Static Analysis:

rosidl_typesupport_interface

Documentation

  • Per-feature documentation.
  • Per-item documentation in public API.
    • Hosted

Dependencies:

  • Runtime "ROS" dependencies are level 1
    • None
  • non-ROS dependencies are equivalent level 1
    • None

Testing:

  • Must have system tests which cover all items in the "feature" documentation
  • Must have system, integration, and/or unit tests which cover all of the public API
  • Code Coverage:
      • Must have code coverage tracking for the package. Not needed, package defines C macro definitions.
      • Must have and enforce a code coverage policy for new changes Policy
  • Performance:
      • Must have performance tests
  • Linters and Static Analysis:
@chapulina
Copy link
Contributor

@Blast545 , when the generators were split in 2 in #442 we started focusing on the rosidl_runtime_X packages instead of the generators. Do you think you could add those to this issue? Their QDs are up-to-date for level 2 since #499 and #500, so this should be quick. Thanks!

@Blast545
Copy link
Contributor Author

@chapulina done. I added a couple of extra links to be more clear about the statements of this issue. Let me know if you think this is fine, to update other issues with this format.

@chapulina
Copy link
Contributor

Looks great, thanks!

@chapulina
Copy link
Contributor

All 3 packages are level 1! 🎉

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants