v0.8 aligment#272
Merged
Merged
Conversation
|
The created documentation from the pull request is available at: docu-html |
6f66025 to
6709773
Compare
6709773 to
c7210a2
Compare
Update score_communication to 0e0640998096049a8dd65a4173b03a988d5a85a7 and pull in the cascading dependency and toolchain changes required by it. Modules: - score_communication -> 0e064099 - score_tooling -> 7099e272 (needs component(target_compatible_with)) - add lobster git_override, bump trlc -> 8d25f639 (required by new tooling) Toolchain: - add LLVM/libclang toolchain (toolchains_llvm 1.8.0, llvm 19.1.7) used by the score_tooling C++ parser for communication code generation (bazel_common/score_llvm_libclang.MODULE.bazel, bazel/toolchains/BUILD, registered via .bazelrc --extra_toolchains) Flags: - tracing library flag moved from communication into baselibs: .bazelrc now sets @score_baselibs//score/analysis/tracing/generic_trace_library:implementation Patches: - 001-expose-comm-examples: rewritten to export the new rust example config - 003-module-deps-visibility: regenerated for the new MODULE.bazel - 002-tests-visibility and 004-tracing-library-target: removed (obsolete) Showcase: - migrate standalone comm showcase from the removed C++ ipc_bridge example to the rust com-api-example (BUILD, com.score.json, itf test_showcases.py)
…on eb-aarch64
The communication bump pulls score_qnx_unit_tests@0.2.0 which requests
score_rules_imagefs@0.0.3, forcing the reference integration off its pinned
0.0.1, and the new mw/com Rust com-api FFI now links C++ objects into the EB
aarch64 image. That broke four previously-green checks:
- Bzlmod Lockfile Check: imagefs extension digest changed in the lock.
- QNX8 Build: imagefs 0.0.3 removed the `ext_repo_maping` attribute used by
images/qnx_{x86_64,aarch64}/build/BUILD.
- Code Quality & Documentation: rules_android (0.6.6, via grpc-java ->
rules_jvm_external) android_sdk_repository fails on CI because ANDROID_HOME
points at an incomplete SDK.
- EB corbos aarch64: undefined references to the GCC outline-atomics helpers
(__aarch64_*_acq_rel) when statically linking the C++ com/baselibs objects
into the Rust //images/ebclfsa_aarch64:run binary.
Fixes:
- single_version_override score_rules_imagefs to 0.0.1 so the existing QNX
image definitions keep working (fixes the lockfile and QNX checks).
- .bazelrc: common --repo_env=ANDROID_HOME= so android_sdk_repository emits an
empty stub instead of failing; no code here uses Android.
- ferrocene_aarch64_ebclfsa: add -Clink-arg=-lgcc so the aarch64 outline-atomics
helpers resolve in the static Rust link.
- Regenerate MODULE.bazel.lock accordingly.
de11797 to
19f9b83
Compare
Cherry-picked from PR #279 (eclipse-score/reference_integration) commit 019d846 onto the communication-bump branch. Conflicts resolved by keeping this branch's score_communication (0e064099) and score_tooling (7099e272) bumps while taking PR #279's target_sw changes: - score_logging -> 6c855d97 (+ patches/logging:001-restore-remote-backend-in-datarouter) - score_baselibs -> version 0.2.9 (+ patches/baselibs:001-restore-trace-library-mock-visibility) - score_persistency -> 3f674b12 (drops the string-view patch) - .bazelrc: add dlt_output_enable=True datarouter flag Regenerated the derived MODULE.bazel module files, rust_coverage/BUILD and MODULE.bazel.lock. Removed now-unreferenced baselibs/persistency patches. Local verification: bazel builds @score_logging//score/mw/log/... (18 targets), @score_communication//score/mw/com/impl/... (187) and //showcases/standalone:comm against baselibs 0.2.9; logging + communication unit tests pass.
- Update known_good hash to caf5a187 with new code_root_path //score/... - Add aarch64 fd-values bazel patch (sync_fd 3 -> 111) - Exclude health_monitor rust miri_tests (bazelrc -miri, rust_coverage query) - Bump flatbuffers to 25.12.19 - Adapt simple_lifecycle showcase to new launch_manager path + logging.json
score_baselibs and lifecycle use library APIs stabilized after the rules_rust default host toolchain (Rust 1.86.0): is_multiple_of (1.87) and NonNull::from_ref / str::from_utf8* inherent constructors / array-length inference (1.89). The new lifecycle rust_supervised_app example pulls the baselibs Rust logging stack into the x86_64 host build, which failed to compile with 1.86.0. Ferrocene (only used for safety-target configs) is not involved in this build. Register Rust 1.89.0 as the default host toolchain.
Update persistency to latest main. The new revision switched its log dependency from baselibs_rust to baselibs, so the persistency safety_level workaround now targets @score_baselibs//src/log instead of @score_baselibs_rust//src/log (in known_good.json extra_test_config and the ferrocene-coverage-per config). The bm_kvs_cpp exclusion is still required (depends on the google_benchmark dev-dependency).
The updated persistency logs Path values via score_log macros, which require ScoreDebug only available at safety_level=qm. Since persistency switched its log dependency from baselibs_rust to baselibs, the global _common config must also set @score_baselibs//src/log:safety_level=qm, otherwise platform/image builds (AutoSD, QNX, Linux, EB) fail to compile persistency's rust_kvs json_backend.rs.
The mpmc_concurrent_queue_tsan_test in score_lifecycle_health aborts with 'FATAL: ThreadSanitizer: unexpected memory mapping' on Ubuntu 24.04 runners, where vm.mmap_rnd_bits defaults to 32. That high ASLR entropy is incompatible with the sanitizer shadow-memory layout. Lower it to 28 before running the unit tests (google/sanitizers#1614). Best-effort so local runs are unaffected.
The mpmc_concurrent_queue_tsan_test in score_lifecycle_health reports a ThreadSanitizer data race and fails the unit test run. Exclude it in known_good.json until the upstream race is fixed.
…cy docs docs-as-code v4.6.0 (46cfe046) provides the needs metamodel with the `derived_from` attribute that persistency 35a937f3 uses, resolving the metamodel mismatch that had disabled persistency in the docs build. Aligned score_process to v1.6.0 (04e9cd30), the version docs-as-code v4.6.0 declares (its own needs reference process gd_req__impl_diagram_* IDs that only exist in 1.6.0). score_logging and score_persistency declare score_process/score_platform as dev_dependency; transitive dev-deps are invisible in bzlmod, so their //:needs_json targets could not resolve @score_process. Added patches dropping dev_dependency = True for both modules. Validated: //:docs_combo_experimental (CI docs target) builds successfully, incl. under --lockfile_mode=error.
The Known Good check regenerates the MODULE.bazel files from known_good.json. Record the two new patches under bazel_patches so generation reproduces them and the check passes.
rmaddikery
reviewed
Jul 9, 2026
| @@ -0,0 +1,14 @@ | |||
| diff --git a/score/datarouter/BUILD b/score/datarouter/BUILD | |||
Contributor
There was a problem hiding this comment.
As discussed, With https://github.com/eclipse-score/logging/releases/tag/v0.2.2 this patch is NO longer needed
Contributor
There was a problem hiding this comment.
You are right but you still need to fix doc as code as dev deps otherwise new release cannot be integrated
@rules_pkg is only loaded from score_communication test/quality/integration_testing paths, which the reference integration does not build. The com-api-example showcase resolves and compiles without it, so the 003-module-deps-visibility patch no longer needs to un-dev rules_pkg.
PiotrKorkus
approved these changes
Jul 9, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Workaround TODOs
Temporary workarounds introduced in this integration branch. Each must be reverted once the upstream fix lands.
mpmc_concurrent_queue_tsan_test— TSAN data race in lifecycle (known_good.json)vm.mmap_rnd_bits=28for sanitizer tests (scripts/quality_runners.py)health_monitorRustmiri_tests(known_good.json, lifecycle)sync_fd 3 → 111(patches/lifecycle/001-aarch64-fd-values.patch)@score_baselibs//src/log:safety_level=qmin_common(needed by persistency) (.bazelrc)bm_kvs_cpp— pullsgoogle_benchmarkdev-dependency (known_good.json, persistency)score_rules_imagefsfrom0.0.1— blocked byqnx_unit_tests@0.2.0 → imagefs@0.0.3(bazel_common/score_images.MODULE.bazel)ANDROID_HOME=stub forrules_androidon CI (.bazelrc)-Clink-arg=-lgccfor eb-aarch64 outline-atomics helpers (bazel_common/score_rust_toolchains.MODULE.bazel)001-restore-trace-library-mock-visibility001-restore-remote-backend-in-datarouter001-expose-comm-examples,003-module-deps-visibility