Skip to content

WIP: Integration process documentation#266

Open
antonkri wants to merge 2 commits into
mainfrom
ankr_integration_process
Open

WIP: Integration process documentation#266
antonkri wants to merge 2 commits into
mainfrom
ankr_integration_process

Conversation

@antonkri

Copy link
Copy Markdown
Contributor

Work in progress — this is a first version of the integration process documentation intended to be reviewed by the colleagues responsible for integration.

Summary

Adds step-by-step integration process documentation under docs/integration_process/:

  • step_1_add_module.rst – adding a module
  • step_2_documentation.rst – documentation
  • step_3_unit_tests.rst – unit tests
  • step_4_platforms.rst – platforms
  • step_5_component_tests.rst – component tests
  • step_6_integration_tests.rst – integration tests
  • step_7_reporting.rst – reporting
  • step_8_code_quality.rst – code quality
  • checklist.rst – checklist
  • reference.rst – reference
  • updates to integration_process.rst

Note

This is a WIP and a first draft. Feedback from the integration-responsible colleagues is very welcome.

@github-actions

Copy link
Copy Markdown

The created documentation from the pull request is available at: docu-html

###################

This document is a step-by-step *how-to* for module owners who want to integrate
their own S-CORE module into the **Reference Integration** for the first time.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

first time or bring back after exclusion.

or integrate in general to be a part of SCORE releases

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done

* The module builds and tests pass standalone on Linux ``x86_64``.
* You know the commit hash you want to pin (the integration always pins an exact
commit, never a floating branch).

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

missing step - module is registered in score bazel registry

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done

* The module name follows the ``score_<name>`` convention (e.g.
``score_communication``). The same name is used as the Bazel
``bazel_dep`` / repository name (``@score_<name>//...``).
* The module builds and tests pass standalone on Linux ``x86_64``.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

we currently build all modules for Linux x86, QNX x86, QNX aarch64 - this is bare minimum

also showcases are additionally built with autosd and EB

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done

``rust_coverage_report`` target for every module that declares ``rust`` in its
``langs`` (skipped for C++-only modules).

Commit the regenerated files together with the ``known_good.json`` change. CI

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

also bazel lockfile needs to be regenerated and commited.

bazel mod deps --lockfile_mode=update

We have it only in table below as fix if fails but after adding new module this will happen in 100%.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done


.. _patches:

1.3 (optional) Add Bazel patches

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

highly preferred to not have it, especially for a new module - make a good impression ;)

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Added a note, that this is more an exception as a rule

injected for this module (feature flags, config selections).
* ``metadata.exclude_test_targets`` — test targets that must **not** run
(flaky, environment-specific or not meaningful out-of-tree); they are passed as
``-@score_my_module<target>`` exclusions. Supports wildcards such as

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

they are passed as -@score_my_module... but the user needs to write just //path/to:excluded_target
Its obvious if you open known_good and look at the content but not from this intruction

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

fixed

by CI. This is the rung that turns a library into something that *runs* inside
the integration images.

The integration ships four target images, each built and tested by its own

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

we dont ship images - someone could read it as ready to flash files are attached to the artifacts.
We just offer a way to create them on your own

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

rephrased


.. _add_showcase:

4.1 Add a runtime showcase

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

fixed


.. _add_directly:

4.2 Add a binary directly to an image

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this one also 4.4 4.2

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

fixed

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

all of these are integrated in step 3 unit tests - if everything is working in step 3, no additional actions are needed here

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I wanted to separate execution of unit-tests and coverage measurement. I've added a note, hope that's ok

# *******************************************************************************

###################
Integration Process

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We need some split between how to operate reference integration and the documentation generated by reference integration?! Since the docs generated by reference integration serve as documentation of a release, IMHO operational stuff should not be included there.

The docs should start with "this is the documentation for the score 0.8 reference integration/product; this is what it can do". And that should be the scope. Nothing else.

antonkri added 2 commits June 19, 2026 08:27
Add step-by-step integration process documentation including module
addition, documentation, unit tests, platforms, component tests,
integration tests, reporting, and code quality steps, plus a checklist
and reference.
@antonkri antonkri force-pushed the ankr_integration_process branch from da3c5db to d34c639 Compare June 19, 2026 06:27
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

documentation Improvements or additions to documentation

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants