Skip to content

Separate the deployed platform from the showcases that verify it - #401

Draft
antonkri wants to merge 4 commits into
mainfrom
refactor/deployment-layering
Draft

antonkri wants to merge 4 commits into
mainfrom
refactor/deployment-layering

Conversation

@antonkri

Copy link
Copy Markdown
Contributor

Image content is now split into three layers: the image itself (//images/), the deployed S-CORE platform (//deploy) and the showcases that demonstrate and verify it (//showcases).

Before this change the two upper layers were mixed in both directions: the lifecycle showcase shipped the launch_manager and the standalone showcase shipped the config_daemon, while the persistency test scenarios binary was packaged with the platform applications. A showcase that ships the component it exercises verifies the binary it brought along instead of the one the distribution deployed, so a distribution failing to deploy an S-CORE module would still pass.

  • Add //deploy with one package per module (lifecycle, logging, communication, config_management) and the aggregate :platform_bundle / :platform_tar that every image consumes.
  • Move launch_manager and config_daemon from the showcases into //deploy; the showcase manifests now drive the deployed binaries.
  • Move the persistency test scenarios binary from the platform packaging into //showcases.
  • Fold images/common/apps into //deploy and point all images at the single platform bundle.
  • Document the layering and the layer 2 / layer 3 contract in deploy/README.md and in the platform integration guide.

@github-actions

Copy link
Copy Markdown

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

Image content is now split into three layers: the image itself
(//images/<variant>), the deployed S-CORE platform (//deploy) and the
showcases that demonstrate and verify it (//showcases).

Before this change the two upper layers were mixed in both directions:
the lifecycle showcase shipped the launch_manager and the standalone
showcase shipped the config_daemon, while the persistency test scenarios
binary was packaged with the platform applications. A showcase that
ships the component it exercises verifies the binary it brought along
instead of the one the distribution deployed, so a distribution failing
to deploy an S-CORE module would still pass.

- Add //deploy with one package per module (lifecycle, logging,
  communication, config_management) and the aggregate :platform_bundle /
  :platform_tar that every image consumes.
- Move launch_manager and config_daemon from the showcases into //deploy;
  the showcase manifests now drive the deployed binaries.
- Move the persistency test scenarios binary from the platform packaging
  into //showcases.
- Fold images/common/apps into //deploy and point all images at the
  single platform bundle.
- Document the layering and the layer 2 / layer 3 contract in
  deploy/README.md and in the platform integration guide.
The datarouter and mw::com configuration files lived under
feature_integration_tests/configs/ but were never read by the feature
integration tests. Their only consumers are the deployment packages and
the ebclfsa image, so they belong next to the module they configure.

Files move unchanged; the packaged paths stay /usr/bin/datarouter/etc/*
and /etc/*. What remains in feature_integration_tests/configs is the test
harness configuration (dlt_config_*, qemu_bridge_config).
Use score_pkg_bundle instead of a hand-written pkg_files. An alias keeps the
installed binary name bin/cpp_tests_persistency, since score_pkg_bundle names
binaries after their label.
@antonkri
antonkri force-pushed the refactor/deployment-layering branch from 6fcf940 to 35929a6 Compare October 15, 2026 13:41
The showcases are shipped in the QNX image, but only the ITF suite ran there,
so none of them was ever executed on QNX. Run //platform_integration_tests:pit
against the same QEMU image.
@antonkri
antonkri force-pushed the refactor/deployment-layering branch from 35929a6 to 6c7ff63 Compare October 15, 2026 14:07

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.

1 participant