Skip to content

Run all unit tests via Bazel wildcards instead of acceptlist - #52

Open
Chahult wants to merge 3 commits into
eclipse-score:mainfrom
Chahult:run-all-unit-tests
Open

Chahult wants to merge 3 commits into
eclipse-score:mainfrom
Chahult:run-all-unit-tests

Conversation

@Chahult

@Chahult Chahult commented Aug 12, 2026

Copy link
Copy Markdown
Contributor

Replace the acceptlist-JSON-driven test/clang-tidy/coverage target lists in test.yml, static-analysis.yml and coverage_report.yml with wildcard //score/config_management/... invocations, excluding the known non-OSS-buildable factory unit_tests_mw_com target and the dependability safety-metadata targets. Remove the now-unused deps-acceptlist-check.yml workflow and deps_acceptlist.json.

Wildcard testing surfaced that score/config_management/config_provider is currently broken against its own pinned score_communication dependency (OptionalProxyData collapsed to a plain Optional alias, replaced by ProxyFuture) and references internal-only targets/packages that don't exist in the OSS tree. Since score/config_management/** is synced from an internal source and can't be edited directly here, these fixes are shipped as bazel/patches/001-adapt-proxy-api-and-remove-internal-targets.patch and applied transiently in CI (git apply, with a --check guard so it becomes a no-op once the fix syncs in for real), mirroring the existing wire_unit_test_to_lobster.patch pattern in docs.yml.

Locally verified with the patch applied: bazel build and bazel test both succeed for //score/config_management/... with the same exclusions used in CI (20/20 tests pass).

Replace the acceptlist-JSON-driven test/clang-tidy/coverage target lists in
test.yml, static-analysis.yml and coverage_report.yml with wildcard
//score/config_management/... invocations, excluding the known
non-OSS-buildable factory unit_tests_mw_com target and the dependability
safety-metadata targets. Remove the now-unused deps-acceptlist-check.yml
workflow and deps_acceptlist.json.

Wildcard testing surfaced that score/config_management/config_provider is
currently broken against its own pinned score_communication dependency
(OptionalProxyData collapsed to a plain Optional<T> alias, replaced by
ProxyFuture) and references internal-only targets/packages that don't exist
in the OSS tree. Since score/config_management/** is synced from an internal
source and can't be edited directly here, these fixes are shipped as
bazel/patches/001-adapt-proxy-api-and-remove-internal-targets.patch and
applied transiently in CI (git apply, with a --check guard so it becomes a
no-op once the fix syncs in for real), mirroring the existing
wire_unit_test_to_lobster.patch pattern in docs.yml.

Locally verified with the patch applied: bazel build and bazel test both
succeed for //score/config_management/... with the same exclusions used in
CI (20/20 tests pass).
@github-actions

github-actions Bot commented Aug 12, 2026

Copy link
Copy Markdown

License Check Results

🚀 The license check job ran with the Bazel command:

bazel run //:license-check

Status: ⚠️ Needs Review

Click to expand output
[License Check Output]
Extracting Bazel installation...
Starting local Bazel server (8.5.1) and connecting to it...
INFO: Invocation ID: 12b44b8c-41da-4d12-9455-5e5b86ec0a20
Computing main repo mapping: 
Computing main repo mapping: 
Computing main repo mapping: 
WARNING: For repository 'rules_rust', the root module requires module version rules_rust@0.68.1-score, but got rules_rust@0.68.2-score in the resolved dependency graph. Please update the version in your MODULE.bazel or set --check_direct_dependencies=off
WARNING: For repository 'grpc-java', the root module requires module version grpc-java@1.70.0, but got grpc-java@1.78.0 in the resolved dependency graph. Please update the version in your MODULE.bazel or set --check_direct_dependencies=off
Computing main repo mapping: 
Computing main repo mapping: 
Loading: 
Loading: 3 packages loaded
Loading: 3 packages loaded
    currently loading: 
Loading: 3 packages loaded
    currently loading: 
Loading: 3 packages loaded
    currently loading: 
Loading: 3 packages loaded
    currently loading: 
Loading: 3 packages loaded
    currently loading: 
Analyzing: target //:license-check (4 packages loaded, 0 targets configured)
Analyzing: target //:license-check (4 packages loaded, 0 targets configured)

Analyzing: target //:license-check (36 packages loaded, 10 targets configured)

Analyzing: target //:license-check (90 packages loaded, 10 targets configured)

Analyzing: target //:license-check (120 packages loaded, 455 targets configured)

Analyzing: target //:license-check (161 packages loaded, 3178 targets configured)

Analyzing: target //:license-check (165 packages loaded, 6916 targets configured)

Analyzing: target //:license-check (167 packages loaded, 9247 targets configured)

Analyzing: target //:license-check (167 packages loaded, 9247 targets configured)

Analyzing: target //:license-check (176 packages loaded, 11275 targets configured)

Analyzing: target //:license-check (177 packages loaded, 11395 targets configured)

Analyzing: target //:license-check (177 packages loaded, 11395 targets configured)

Analyzing: target //:license-check (177 packages loaded, 11395 targets configured)

INFO: Analyzed target //:license-check (178 packages loaded, 12974 targets configured).
[12 / 16] JavaToolchainCompileClasses external/rules_java+/toolchains/platformclasspath_classes; 0s disk-cache
INFO: From Generating Dash formatted dependency file ...:
INFO: Successfully converted 2 packages from Cargo.lock to bazel-out/k8-fastbuild/bin/formatted.txt
[14 / 16] [Prepa] JavaToolchainCompileBootClasspath external/rules_java+/toolchains/platformclasspath.jar
[15 / 16] Building license.check.license_check.jar (); 0s disk-cache, multiplex-worker
INFO: Found 1 target...
Target //:license.check.license_check up-to-date:
  bazel-bin/license.check.license_check
  bazel-bin/license.check.license_check.jar
INFO: Elapsed time: 204.008s, Critical Path: 2.67s
INFO: 16 processes: 12 internal, 3 processwrapper-sandbox, 1 worker.
INFO: Build completed successfully, 16 total actions
INFO: Running command line: bazel-bin/license.check.license_check ./formatted.txt <args omitted>
usage: org.eclipse.dash.licenses.cli.Main [-batch <int>] [-cd <url>]
       [-confidence <int>] [-ef <url>] [-excludeSources <sources>] [-help] [-lic
       <url>] [-project <shortname>] [-repo <url>] [-review] [-summary <file>]
       [-timeout <seconds>] [-token <token>]

The docs job builds //score/config_management/dependability:config_management_rst, whose
component() targets reference the unit()-wrapped config_daemon_app_unit /
config_provider_details_unit targets from wire_unit_test_to_lobster.patch. Those unit()
targets pull in the :details cc_library as `implementation`, which requires actually
compiling config_provider_impl.cpp - but only wire_unit_test_to_lobster.patch was applied
in docs.yml, not bazel/patches/001-adapt-proxy-api-and-remove-internal-targets.patch, so
the build hit the same OptionalProxyData/ProxyFuture compile error fixed elsewhere.

Chain a second git-apply (with the same --check no-op guard) for
001-adapt-proxy-api-and-remove-internal-targets.patch before `bazel run //:docs`.

Locally verified: with both patches applied, `bazel build //score/config_management/dependability/...`
(which //:docs depends on via config_management_rst) now completes successfully, including
the full sphinx/LOBSTER doc build.
score_communication's ProvidedServices dynamic_cast lookup bug (fixed
upstream in commit 9a91fc9528070a2358becc042443b84346651fc7 on
Chahult/communication.git, branch fix/v0.2.1_provided_service_container_count)
caused the real config_daemon binary to crash at runtime with
"ConfigDaemon::Run Failed to create InitialQualifierStateSender callback"
(exit code 1), since GetServices<>() always returned nullptr regardless
of whether the service had actually been registered.

Bump the pin to pick up that fix, and fix the last 2 remaining
unit_test_mw_com test call sites that used GetServices<ProvidedServiceDecorator>
directly instead of GetServices<ProvidedServiceBuilder::DecoratorType> (the
only alias consistent with internal storage), which were still failing.

Verified: all 10/10 unit_test_mw_com tests pass, and the real config_daemon
binary now runs successfully instead of crashing.
@github-actions

Copy link
Copy Markdown

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

@Chahult
Chahult force-pushed the run-all-unit-tests branch from a4c86a1 to 0cee26b Compare August 18, 2026 05:38

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

Status: No status

Development

Successfully merging this pull request may close these issues.

1 participant