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

Run all unit tests via Bazel wildcards instead of acceptlist#52
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
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