Skip to content

Remove unnecessary stuff#282

Closed
LittleHuba wants to merge 20 commits into
mainfrom
ulhu_remove_unnecessary_stuff
Closed

Remove unnecessary stuff#282
LittleHuba wants to merge 20 commits into
mainfrom
ulhu_remove_unnecessary_stuff

Conversation

@LittleHuba

Copy link
Copy Markdown

No description provided.

4og and others added 20 commits July 1, 2026 12:52
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.
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.
@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.
@pawelrutkaq

Copy link
Copy Markdown
Contributor

please dont merge

Base automatically changed from 4og-baselibs-update to main July 9, 2026 21:30
@LittleHuba

Copy link
Copy Markdown
Author

There is no intention to merge this from my side. This is to highlight the wrong testing strategy that forces all these patches that users should never ever do.

@pawelrutkaq

Copy link
Copy Markdown
Contributor

The DR8 will be implemented for 0.9 ;)

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.

4 participants