Repository navigation
test: extend downstream coverage compatibility checks - #47
AlexanderLanin wants to merge 3 commits into
Conversation
Check six more consumer repositories with one parametrized test target. Keep reports separate for each consumer and require measured coverage without enforcing consumer-specific coverage thresholds. Signed-off-by: Alexander Lanin <Alexander.Lanin@etas.com>
License Check Results🚀 The license check job ran with the Bazel command: bazel run //:license-checkStatus: Click to expand output |
There was a problem hiding this comment.
🟡 Changes recommended
Nested Bazel commands still inherit the crypto consumer’s strict lockfile mode, which can block dependency resolution before coverage runs.
1 open issue
What changed in this PR
Expands downstream compatibility testing from two to eight S-CORE consumers, using a shared test to catch coverage-tool integration failures.
Changes:
- Replaces separate consumer tests with one parametrized coverage test.
- Runs each consumer in a separate CI job and retains consumer-specific reports.
- Removes explicit strict lockfile flags and consumer-specific coverage thresholds while preserving measured-coverage checks.
| File | Description |
|---|---|
tests/compatibility/test_lifecycle.py |
Removes the standalone lifecycle test. |
tests/compatibility/test_consumers.py |
Adds shared coverage checks for eight consumers. |
tests/compatibility/test_baselibs.py |
Removes the standalone baselibs test. |
tests/compatibility/BUILD |
Defines the shared parametrized test target. |
tests/compatibility/_consumer_workspace.py |
Separates retained reports by consumer and removes lockfile preparation. |
README.md |
Documents selecting an individual consumer. |
.github/workflows/compatibility_tests.yml |
Expands the CI matrix and updates report paths. |
Review effort: Balanced
|
Documentation preview for this pull request is available at: |
|
The
Failing compatibility job. The last successful coverage run on time/main also resolved v1.11.1 but restored a repository cache, which likely masks the broken download. The published archive/registry entry needs to be corrected upstream. |
Consumer bazelrc files can enforce strict lockfile checks. Override that setting for both nested Bazel commands so the local coverage-tool override can update the temporary workspace lockfile. Signed-off-by: Alexander Lanin <Alexander.Lanin@etas.com>
Decode consumer output with replacement for invalid UTF-8 so successful builds do not fail while their output is read. Retain complete Bazel logs and publish concise command summaries with early errors and the log tail. Signed-off-by: Alexander Lanin <Alexander.Lanin@etas.com>

Coverage tool changes should be checked against all current S-CORE consumers so integration problems are caught before reaching downstream repositories.
Add compatibility checks for
inc_security_crypto,inc_someip_gateway,kyron,logging,persistency, andtimealongsidebaselibsandlifecycle. A shared parametrized pytest target runs one consumer per CI job and retains separate reports. The checks require generated reports with measured coverage, while allowing temporary lockfile updates and leaving consumer-specific coverage thresholds to downstream CI.Publish concise command summaries and retain full Bazel logs to make downstream failures easier to diagnose. Invalid UTF-8 in consumer output no longer turns a successful build into a test failure.
Fixes #41.