Skip to content

chore(known_good): bump score_docs_as_code to preview the stakeholder requirements report - #377

Open
antonkri wants to merge 5 commits into
mainfrom
feat/platform-report-stakeholder-requirements
Open

antonkri wants to merge 5 commits into
mainfrom
feat/platform-report-stakeholder-requirements

Conversation

@antonkri

@antonkri antonkri commented Sep 29, 2026 •

Copy link
Copy Markdown
Contributor

What

Bumps score_docs_as_code in known_good.json to latest on main (47f686dcc802cfb89e6472c5fa9f05bfae5d550b), so the new Stakeholder Requirements chapter of the platform verification report can be seen in a real build, and adds/restructures the platform integration tests that feed testlinks into that chapter.

Companion PR: eclipse-score/docs-as-code#875 (merged)

Effect on the rendered docs

docs/verification_report/platform_verification_report.rst instantiates the template with :report_version: v1.0, so the new chapter appears above Features and is version-scoped to v1.0 stakeholder requirements. It renders two pie charts (status, test coverage) and a folded requirements table with the same columns as the per-feature requirements table.

Platform integration tests

  • Added platform_integration_tests/, driving each //showcases demo application on the deployed target image (Docker on linux-x86_64, QEMU on QNX x86_64) through the showcase entrypoint /showcases/bin/cli, and asserting it runs to completion.
  • Each showcase test is annotated with @add_test_properties(partially_verifies=[...]) pointing at the stakeholder requirement it demonstrates (communication, logging, execution model, health management, vehicle time). The decorator comes from ITF's own attribute_plugin wrapper (@score_itf//score/itf/plugins:attribute_plugin), matching the pattern in itf's own test_attribute_plugin.py, rather than wiring the score_tooling library in directly with a manual -p attribute_plugin flag.
  • Every showcase test lives in its own platform_integration_tests/<module> package (communication/, logging/, kyron/, lifecycle/, time/), each with a dedicated BUILD and py_itf_test target. //platform_integration_tests:pit is a test_suite collecting all five; the shared showcase-driving helper (showcase_runner.py) is a py_library used by all of them.
  • Run //platform_integration_tests:pit in the test_and_docs workflow, before the documentation build, so the source code linker picks up the testlinks from bazel-testlogs and the platform verification report shows the coverage.
  • Removed test_run_all_showcases from feature_integration_tests/itf/test_showcases.py: it ran every showcase via /showcases/bin/cli --examples=all, which is now redundant with (and duplicated the execution of) the per-module tests above.

Process steps followed

  • Ran python3 scripts/known_good/update_module_from_known_good.py after editing known_good.json; it regenerated bazel_common/score_modules_tooling.MODULE.bazel, which is committed here as well.
  • Ran bazel mod deps --lockfile_mode=update. It produced no diff for this bump, and MODULE.bazel.lock contains no score_docs_as_code entry or commit hash at all, so no lockfile change is expected for this bump.

Note on scope

The previously pinned hash a26274882b0ff41187e502c7bcdd26bbf5858232 was the pre-merge commit of the companion docs-as-code PR; it has since been merged to main as 47f686dcc802cfb89e6472c5fa9f05bfae5d550b, which is what's pinned now.

@github-actions

Copy link
Copy Markdown

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

@antonkri
antonkri force-pushed the feat/platform-report-stakeholder-requirements branch 2 times, most recently from 4be00d8 to bb5b695 Compare September 29, 2026 15:23
@antonkri
antonkri marked this pull request as draft September 30, 2026 06:14
@antonkri
antonkri force-pushed the feat/platform-report-stakeholder-requirements branch 3 times, most recently from dfd3c08 to 891860c Compare September 30, 2026 07:25
…ments report

Pins score_docs_as_code to a26274882b0ff41187e502c7bcdd26bbf5858232, which
adds the "Stakeholder Requirements" chapter to the platform verification
report template (eclipse-score/docs-as-code#875).

main pins score_docs_as_code to the released version 8.3.0, but that release
does not yet contain the stakeholder requirements chapter (the pinned commit
is two commits ahead of v8.3.0). Until a release containing it exists, this
overrides to the git commit via git_override instead of single_version_override.

Regenerated bazel_common/score_modules_tooling.MODULE.bazel accordingly and
updated MODULE.bazel.lock via `bazel mod tidy` to drop the score_docs_as_code
8.3.0 registry entries that no longer apply under the git_override.
Stakeholder requirements are platform-level and should be verified by
platform-level tests, not by the feature integration tests (which verify
individual `feat_req`). The `//showcases` demo applications are exactly such
platform-level scenarios, so reference them as platform integration tests
instead of rewriting them:

* Add `platform_integration_tests/` with a `py_itf_test` that drives each
  showcase on the deployed target image (Docker on linux-x86_64) through the
  showcase entrypoint `/showcases/bin/cli` and asserts it runs to completion.
* Annotate each test with `@add_test_properties(partially_verifies=[...])`
  pointing at the stakeholder requirement the showcase demonstrates
  (communication, logging, execution model, health management, vehicle time).
  `py_itf_test` does not register `attribute_plugin` (unlike `score_py_pytest`),
  so it is wired up in the BUILD file.
* Run `//platform_integration_tests:pit` in the `test_and_docs` workflow, before
  the documentation build, so the source code linker picks up the testlinks from
  `bazel-testlogs` and the platform verification report shows the coverage.
@antonkri
antonkri force-pushed the feat/platform-report-stakeholder-requirements branch from 891860c to 4442ada Compare September 30, 2026 08:02

@PiotrKorkus PiotrKorkus left a comment

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.

Blocking till DaC commit will be merged - eclipse-score/docs-as-code#875

Comment thread known_good.json Outdated
"score_docs_as_code": {
"repo": "https://github.com/eclipse-score/docs-as-code.git",
"version": "8.3.0"
"hash": "a26274882b0ff41187e502c7bcdd26bbf5858232"

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.

lets keep unmerged commits away from ref_int.

@AlexanderLanin

Copy link
Copy Markdown
Member

please keep DAC on official releases only

Comment thread platform_integration_tests/BUILD Outdated
"manual",
],
deps = [
"@score_tooling//python_basics/score_pytest:attribute_plugin",

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.

_CLI = "/showcases/bin/cli"


def _run_showcases(target, *names: str) -> None:

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.

make it a helper function in separate file

test_type="interface-test",
derivation_technique="requirements-analysis",
)
def test_communication_showcase(target):

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.

For better maintenance, I would suggest to create a separate file for each Module - communcation, logging etc. Then it is easily expandable.

deps = [
"@score_tooling//python_basics/score_pytest:attribute_plugin",
],
)

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.

once all Modules are splitted across files - create separate py_itf target as well. Finally collect all in single PIT test_suite

@antonkri antonkri reopened this Sep 30, 2026
@antonkri

Copy link
Copy Markdown
Contributor Author

reopend as draft

…odule packages

- Move each showcase test into its own platform_integration_tests/<module>
  folder with a dedicated BUILD and py_itf_test target.
- Turn platform_integration_tests:pit into a test_suite collecting the
  per-module targets; showcase_runner becomes a shared py_library.
- Widen images/linux_x86_64:image_load visibility to __subpackages__.
- Remove the duplicated test_run_all_showcases from
  feature_integration_tests/itf, now redundant with platform_integration_tests.

@PiotrKorkus PiotrKorkus left a comment

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.

test part looks good, @AlexanderLanin please check DaC version

@antonkri

Copy link
Copy Markdown
Contributor Author

@AlexanderLanin

we now use "the official" commit from main. If it is ok, please approve. If you want us to use a real release, please create a new version in docs-as-code. Thank you!

@antonkri
antonkri marked this pull request as ready for review September 30, 2026 13:28

This branch has not been deployed

No deployments
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

Successfully merging this pull request may close these issues.

3 participants