diff --git a/.bazelrc b/.bazelrc index 2be5855993..f2100efefb 100644 --- a/.bazelrc +++ b/.bazelrc @@ -17,9 +17,18 @@ common --registry=https://bcr.bazel.build # Flags needed by score_baselibs and communication modules. # Do not add more! -build --@score_baselibs//score/mw/log/flags:KRemote_Logging=False -build --@score_baselibs//score/json:base_library=nlohmann -build --@score_communication//score/mw/com/flags:tracing_library=stub +common --@score_baselibs//score/mw/log/flags:KRemote_Logging=False +common --@score_baselibs//score/json:base_library=nlohmann +common --@score_communication//score/mw/com/flags:tracing_library=stub +common --@score_baselibs//score/memory/shared/flags:use_typedshmd=False +common --@score_logging//score/datarouter/build_configuration_flags:persistent_logging=False +common --@score_logging//score/datarouter/build_configuration_flags:persistent_config_feature_enabled=False +common --@score_logging//score/datarouter/build_configuration_flags:enable_nonverbose_dlt=False +common --@score_logging//score/datarouter/build_configuration_flags:enable_dynamic_configuration_in_datarouter=False +common --@score_logging//score/datarouter/build_configuration_flags:dlt_file_transfer_feature=False +common --@score_logging//score/datarouter/build_configuration_flags:use_local_vlan=True +common --@score_logging//score/mw/log/detail/flags:KUse_Stub_Implementation_Only=False +common --@score_logging//score/mw/log/flags:KRemote_Logging=False # stop legacy behavior of creating __init__.py files build --incompatible_default_to_explicit_init_py @@ -29,12 +38,15 @@ build --experimental_retain_test_configuration_across_testonly #https://github.c test --test_tag_filters=-manual test --test_output=errors -build:_bl_common --host_platform=@score_bazel_platforms//:x86_64-linux +build:shared --sandbox_writable_path=/var/tmp +build:shared --host_platform=@score_bazel_platforms//:x86_64-linux -# This config is for internal module usage ONLY. -build:bl-x86_64-linux --config=_bl_common -build:bl-x86_64-linux --platforms=@score_bazel_platforms//:x86_64-linux -build:bl-x86_64-linux --extra_toolchains=@gcc_toolchain//:host_gcc_12 +build:x86_64-linux --config=shared +build:x86_64-linux --platforms=@score_bazel_platforms//:x86_64-linux-gcc_12.2.0-posix +build:x86_64-linux --features=-treat_warnings_as_errors # due to baselibs deprecations + +# this is deprecated, use build:x86_64-linux instead +build:_bl_common --host_platform=@score_bazel_platforms//:x86_64-linux # This config is for internal module usage ONLY. build:bl-x86_64-qnx --config=_bl_common diff --git a/.github/workflows/build_and_test_on_every_pr.yml b/.github/workflows/build_and_test_on_every_pr.yml index b0fafafe6e..9cb19b46d5 100644 --- a/.github/workflows/build_and_test_on_every_pr.yml +++ b/.github/workflows/build_and_test_on_every_pr.yml @@ -47,10 +47,10 @@ jobs: - name: Bazel execute showcase examples run: | set -e - bazel build --config bl-x86_64-linux //feature_showcase:all_examples + bazel build --config x86_64-linux //feature_showcase:all_examples while read -r target; do - bazel run --config bl-x86_64-linux "$target" + bazel run --config x86_64-linux "$target" done < ci/showcase_targets_run.txt - name: Feature Integration Tests run: | - bazel test --config bl-x86_64-linux //feature_integration_tests/test_cases:fit + bazel test --config x86_64-linux //feature_integration_tests/test_cases:fit diff --git a/.github/workflows/release_verification.yml b/.github/workflows/release_verification.yml index c68bbd2880..6692980ee7 100644 --- a/.github/workflows/release_verification.yml +++ b/.github/workflows/release_verification.yml @@ -59,7 +59,7 @@ jobs: //:test_persistency_qemu \ - name: Bazel execute showcase examples run: | - bazel build --config bl-x86_64-linux //feature_showcase:all_examples + bazel build --config x86_64-linux //feature_showcase:all_examples release_verification: runs-on: ubuntu-latest needs: [test_target] diff --git a/.github/workflows/reusable_smoke-test.yml b/.github/workflows/reusable_smoke-test.yml index ac5326c99d..47dbef7f00 100644 --- a/.github/workflows/reusable_smoke-test.yml +++ b/.github/workflows/reusable_smoke-test.yml @@ -138,7 +138,7 @@ jobs: fail-fast: false matrix: config: - - bl-x86_64-linux + - x86_64-linux # Add more configs here as needed # - bl-aarch64-linux # - bl-x86_64-qnx diff --git a/README.md b/README.md index 18d238158f..a2b1b59224 100644 --- a/README.md +++ b/README.md @@ -18,21 +18,22 @@ bazel run //:docs_combo_experimental ``` ## Working Builds ✅ -The following modules build successfully with the `bl-x86_64-linux` configuration: +The following modules build successfully with the `x86_64-linux` configuration: ### Baselibs ```bash -bazel build --config bl-x86_64-linux @score_baselibs//score/... --verbose_failures +bazel build --config x86_64-linux @score_baselibs//score/... --verbose_failures +bazel build --config x86_64-linux @score_baselibs//score/... --verbose_failures ``` ### Communication ```bash -bazel build --config bl-x86_64-linux @score_communication//score/mw/com:com --verbose_failures +bazel build --config x86_64-linux @score_communication//score/mw/com:com --verbose_failures ``` ### Persistency ```bash -bazel build --config bl-x86_64-linux \ +bazel build --config x86_64-linux \ @score_persistency//src/cpp/src/... \ @score_persistency//src/rust/... \ --verbose_failures @@ -43,18 +44,18 @@ bazel build --config bl-x86_64-linux \ ### Orchestration and `kyron` - async runtime for Rust ```bash -bazel build --config bl-x86_64-linux @score_orchestrator//src/... +bazel build --config x86_64-linux @score_orchestrator//src/... ``` ## Feature showcase examples The examples that are aiming to showcase features provided by S-CORE are located in `feature_showcase` folder. -You can run them currently for host platform using `--config bl-x86_64-linux`. +You can run them currently for host platform using `--config x86_64-linux`. Execute `bazel query //feature_showcase/...` to obtain list of targets that You can run. ```bash -bazel build --config bl-x86_64-linux @score_orchestrator//src/... --verbose_failures +bazel build --config x86_64-linux @score_orchestrator//src/... --verbose_failures ``` ## Operating system integrations @@ -146,7 +147,7 @@ bazel build @feo//... --verbose_failures ### Persistency (Full Build) ```bash -bazel build --config bl-x86_64-linux @score_persistency//src/... --verbose_failures +bazel build --config x86_64-linux @score_persistency//src/... --verbose_failures ``` ## System Dependencies diff --git a/build_config.json b/build_config.json index 85c986fea1..c7fd8cd99a 100644 --- a/build_config.json +++ b/build_config.json @@ -22,7 +22,7 @@ "build_targets": "-- @score_feo//... -@score_feo//:docs -@score_feo//:ide_support -@score_feo//:needs_json" }, "score_logging": { - "build_targets": "@score_logging//score/... --@score_baselibs//score/memory/shared/flags:use_typedshmd=False --@score_baselibs//score/json:base_library=nlohmann --@score_logging//score/datarouter/build_configuration_flags:persistent_logging=False --@score_logging//score/datarouter/build_configuration_flags:persistent_config_feature_enabled=False --@score_logging//score/datarouter/build_configuration_flags:enable_nonverbose_dlt=False --@score_logging//score/datarouter/build_configuration_flags:enable_dynamic_configuration_in_datarouter=False --@score_logging//score/datarouter/build_configuration_flags:dlt_file_transfer_feature=False --@score_logging//score/datarouter/build_configuration_flags:use_local_vlan=True" + "build_targets": "@score_logging//score/mw/log" } } } diff --git a/known_good.json b/known_good.json index 3bbe51131d..5d0bf111bf 100644 --- a/known_good.json +++ b/known_good.json @@ -2,23 +2,23 @@ "modules": { "score_baselibs": { "repo": "https://github.com/eclipse-score/baselibs.git", - "hash": "ccfe7dc563bedc77fe6e19bd7050104e80fdf7e1" + "hash": "fe74ff32f2cb8b2c99af019e7907ad9486e70b09" }, "score_communication": { "repo": "https://github.com/eclipse-score/communication.git", - "hash": "1d3e115e953de771cfb6c780cf677cf3fe5e8bee" + "hash": "73caa2d2b6f45f806bbd30bdf8675ab1ad551387" }, "score_logging": { "repo": "https://github.com/eclipse-score/logging.git", - "hash": "cddfb10832cf384ee5c3f8553fb898f56c1d1def" + "hash": "8d14d2beec9bb3ccd7a2e24926eacd13b0ffc7d1" }, "score_persistency": { "repo": "https://github.com/eclipse-score/persistency.git", - "hash": "652f78a822dac698dcb60f80adbc3aea488ebee5" + "hash": "69356def0bd731fda9aedc8c65336d8c2ca499da" }, "score_orchestrator": { "repo": "https://github.com/eclipse-score/orchestrator.git", - "hash": "dcf5518ac78d01cc06ed8a7ffe9e476c2fa43bd6" + "hash": "18e136c34750c5db707f27f917d52efc7541e087" }, "score_kyron": { "repo": "https://github.com/eclipse-score/kyron.git", @@ -31,11 +31,11 @@ }, "score_tooling": { "repo": "https://github.com/eclipse-score/tooling.git", - "hash": "092d229dbc671febe87ddce5c9763b1f62e2dbaf" + "hash": "8894fe5440436a8c6d9e214c97b18d619c7f7eac" }, "score_platform": { "repo": "https://github.com/eclipse-score/score.git", - "hash": "dafe356f60f725ff77941c220200e1df28965d2d" + "hash": "f4769c4b86bfe46b29b56b6c3e262c5b82db334b" }, "score_bazel_platforms": { "repo": "https://github.com/eclipse-score/bazel_platforms.git", @@ -47,12 +47,12 @@ }, "score_docs_as_code": { "repo": "https://github.com/eclipse-score/docs-as-code.git", - "hash": "d9f95fd2fdf2df494a8d499b5f061a84f320b53b" + "hash": "a9babc30a7ab1ac43c75415b9784b2bc81ed0f9d" }, "score_process": { "repo": "https://github.com/eclipse-score/process_description.git", - "hash": "86f77b5514e32694efed3541558041b653830380" + "hash": "496fb6dc347de414d9cbe7523204fdeb6b511197" } }, - "timestamp": "2026-01-21T08:46:20+00:00Z" + "timestamp": "2026-01-26T11:01:36+00:00Z" } diff --git a/score_modules.MODULE.bazel b/score_modules.MODULE.bazel index 1cb1850873..7be01d5c79 100644 --- a/score_modules.MODULE.bazel +++ b/score_modules.MODULE.bazel @@ -11,42 +11,42 @@ # SPDX-License-Identifier: Apache-2.0 # ******************************************************************************* -# Generated from known_good.json at 2026-01-21T08:46:20+00:00Z +# Generated from known_good.json at 2026-01-26T16:26:12+00:00Z # Do not edit manually - use scripts/known_good/update_module_from_known_good.py bazel_dep(name = "score_baselibs") git_override( module_name = "score_baselibs", remote = "https://github.com/eclipse-score/baselibs.git", - commit = "ccfe7dc563bedc77fe6e19bd7050104e80fdf7e1", + commit = "efc061359d159244a9bd31a6f1dc74f9246c07b6", ) bazel_dep(name = "score_communication") git_override( module_name = "score_communication", remote = "https://github.com/eclipse-score/communication.git", - commit = "1d3e115e953de771cfb6c780cf677cf3fe5e8bee", + commit = "73caa2d2b6f45f806bbd30bdf8675ab1ad551387", ) bazel_dep(name = "score_logging") git_override( module_name = "score_logging", remote = "https://github.com/eclipse-score/logging.git", - commit = "cddfb10832cf384ee5c3f8553fb898f56c1d1def", + commit = "8d14d2beec9bb3ccd7a2e24926eacd13b0ffc7d1", ) bazel_dep(name = "score_persistency") git_override( module_name = "score_persistency", remote = "https://github.com/eclipse-score/persistency.git", - commit = "652f78a822dac698dcb60f80adbc3aea488ebee5", + commit = "0037034bf853e5f955f028fab54ed319fb0441c3", ) bazel_dep(name = "score_orchestrator") git_override( module_name = "score_orchestrator", remote = "https://github.com/eclipse-score/orchestrator.git", - commit = "dcf5518ac78d01cc06ed8a7ffe9e476c2fa43bd6", + commit = "18e136c34750c5db707f27f917d52efc7541e087", ) bazel_dep(name = "score_kyron") @@ -67,14 +67,14 @@ bazel_dep(name = "score_tooling") git_override( module_name = "score_tooling", remote = "https://github.com/eclipse-score/tooling.git", - commit = "092d229dbc671febe87ddce5c9763b1f62e2dbaf", + commit = "8894fe5440436a8c6d9e214c97b18d619c7f7eac", ) bazel_dep(name = "score_platform") git_override( module_name = "score_platform", remote = "https://github.com/eclipse-score/score.git", - commit = "dafe356f60f725ff77941c220200e1df28965d2d", + commit = "a853a294f3fda8d40fde3ac76f60bd03fcdc6a4a", ) bazel_dep(name = "score_bazel_platforms") @@ -95,12 +95,12 @@ bazel_dep(name = "score_docs_as_code") git_override( module_name = "score_docs_as_code", remote = "https://github.com/eclipse-score/docs-as-code.git", - commit = "d9f95fd2fdf2df494a8d499b5f061a84f320b53b", + commit = "f784d4370240cc0eafce779e5c317f6bf8988fb2", ) bazel_dep(name = "score_process") git_override( module_name = "score_process", remote = "https://github.com/eclipse-score/process_description.git", - commit = "86f77b5514e32694efed3541558041b653830380", + commit = "496fb6dc347de414d9cbe7523204fdeb6b511197", ) diff --git a/score_toolchains.MODULE.bazel b/score_toolchains.MODULE.bazel index 6a0207f842..baf7e8d538 100644 --- a/score_toolchains.MODULE.bazel +++ b/score_toolchains.MODULE.bazel @@ -11,42 +11,30 @@ # SPDX-License-Identifier: Apache-2.0 # ******************************************************************************* -# QNX toolchain -bazel_dep(name = "score_toolchains_qnx", version = "0.0.6") -toolchains_qnx = use_extension("@score_toolchains_qnx//:extensions.bzl", "toolchains_qnx") -toolchains_qnx.sdp( - sha256 = "f2e0cb21c6baddbcb65f6a70610ce498e7685de8ea2e0f1648f01b327f6bac63", - strip_prefix = "installation", - url = "https://www.qnx.com/download/download/79858/installation.tgz", -) -use_repo(toolchains_qnx, "toolchains_qnx_sdp") -use_repo(toolchains_qnx, "toolchains_qnx_qcc") -use_repo(toolchains_qnx, "toolchains_qnx_ifs") -register_toolchains( - "@toolchains_qnx_ifs//:ifs_x86_64", - "@toolchains_qnx_ifs//:ifs_aarch64", - dev_dependency = True, -) -#gcc toolchain for baselibs -bazel_dep(name = "score_toolchains_gcc", version = "0.5", dev_dependency = False) -gcc = use_extension("@score_toolchains_gcc//extentions:gcc.bzl", "gcc", dev_dependency = False) -# Align toolchain archive with persistency module (v0.0.3) so its labels (e.g. host_gcc_12) are present. +bazel_dep(name = "score_bazel_cpp_toolchains", version = "0.2.0") +gcc = use_extension("@score_bazel_cpp_toolchains//extensions:gcc.bzl", "gcc", dev_dependency = True) + +# ******************************************************************************* +# Setting default GCC (CPU:x86_64|OS:Linux|V:12.2.0|ES:posix) +# ******************************************************************************* gcc.toolchain( - url = "https://github.com/eclipse-score/toolchains_gcc_packages/releases/download/v0.0.3/x86_64-unknown-linux-gnu_gcc12.tar.gz", - sha256 = "8fa85c2a93a6bef1cf866fa658495a2416dfeec692e4246063b791abf18da083", - strip_prefix = "x86_64-unknown-linux-gnu", + name = "score_gcc_toolchain", + target_cpu = "x86_64", + target_os = "linux", + version = "12.2.0", + use_default_package = True, ) -gcc.extra_features( - features = [ - "minimal_warnings", - "treat_warnings_as_errors", - ], + +use_repo( + gcc, + "score_gcc_toolchain", ) -gcc.warning_flags( - minimal_warnings = ["-Wall", "-Wno-error=deprecated-declarations", "-Wno-error=narrowing"], - strict_warnings = ["-Wextra", "-Wpedantic"], - treat_warnings_as_errors = ["-Werror"], + + +rust = use_extension("@rules_rust//rust:extensions.bzl", "rust") +rust.toolchain( + edition = "2021", + versions = ["1.93.0"], ) -use_repo(gcc, "gcc_toolchain", "gcc_toolchain_gcc") -register_toolchains("@gcc_toolchain//:all") +use_repo(rust, "rust_toolchains") diff --git a/scripts/integration_test.py b/scripts/integration_test.py index ac1e043b56..866876bc0e 100755 --- a/scripts/integration_test.py +++ b/scripts/integration_test.py @@ -265,8 +265,8 @@ def main(): ) parser.add_argument( '--config', - default=os.environ.get('CONFIG', 'bl-x86_64-linux'), - help='Bazel config to use (default: bl-x86_64-linux, or from CONFIG env var)' + default=os.environ.get('CONFIG', 'x86_64-linux'), + help='Bazel config to use (default: x86_64-linux, or from CONFIG env var)' ) args = parser.parse_args() diff --git a/scripts/known_good/update_module_latest.py b/scripts/known_good/update_module_latest.py index 7d6bfd384d..44006afe60 100755 --- a/scripts/known_good/update_module_latest.py +++ b/scripts/known_good/update_module_latest.py @@ -133,24 +133,22 @@ def main(argv: list[str]) -> int: for mod in known_good.modules.values(): try: - # Use module-specific branch if available, otherwise use command-line branch branch = mod.branch if mod.branch else args.branch if use_gh: latest = fetch_latest_commit_gh(mod.owner_repo, branch) else: latest = fetch_latest_commit(mod.owner_repo, branch, token) - - # Only reuse version if hash did not change - if latest != mod.hash: + + old_hash = mod.hash + if latest != old_hash: mod.hash = latest mod.version = None # Clear version when hash changes - - # Display format: if version exists, show "version -> hash", otherwise "hash -> hash" - if mod.version: - print(f"{mod.name}: {mod.version} -> {latest[:8]} (branch {branch})") + if mod.version: + print(f"{mod.name}: {mod.version} -> {latest[:8]} (branch {branch})") + else: + print(f"{mod.name}: {old_hash[:8]} -> {latest[:8]} (branch {branch})") else: - old_hash = known_good.modules[mod.name].hash - print(f"{mod.name}: {old_hash[:8]} -> {latest[:8]} (branch {branch})") + print(f"{mod.name}: {old_hash[:8]} (no update)") except Exception as e: # noqa: BLE001 failures += 1 print(f"ERROR {mod.name}: {e}", file=sys.stderr) diff --git a/scripts/run_unit_tests.sh b/scripts/run_unit_tests.sh index c82416f9f4..7f12776f36 100755 --- a/scripts/run_unit_tests.sh +++ b/scripts/run_unit_tests.sh @@ -3,7 +3,7 @@ set -uo pipefail # Integration unit test script. -CONFIG=${CONFIG:-bl-x86_64-linux} +CONFIG=${CONFIG:-x86_64-linux} LOG_DIR=${LOG_DIR:-_logs/logs_ut} SUMMARY_FILE=${SUMMARY_FILE:-_logs/ut_summary.md} mkdir -p "${LOG_DIR}" || true @@ -23,26 +23,25 @@ declare -A UT_TARGET_GROUPS=( # -@score_communication//score/mw/com/impl/configuration:config_parser_test \ # -@score_communication//score/mw/com/impl/configuration:configuration_test \ # -@score_communication//score/mw/com/impl/tracing/configuration:tracing_filter_config_parser_test" - [persistency]="@score_persistency//:unit_tests -- \ - -@score_persistency//src/cpp/tests:test_kvs_cpp" # C++ test has linker issues with logging library + [persistency]="@score_persistency//src/rust/rust_kvs:tests" # C++ test has linker issues with logging library [orchestrator]="@score_orchestrator//src/..." # ok [kyron]="@score_kyron//:unit_tests" # ok [feo]="@score_feo//... --build_tests_only" # ok (flag required or error from docs) - [logging]="@score_logging//score/... \ - --@score_baselibs//score/memory/shared/flags:use_typedshmd=False \ - --@score_baselibs//score/json:base_library=nlohmann \ - --@score_logging//score/datarouter/build_configuration_flags:persistent_logging=False \ - --@score_logging//score/datarouter/build_configuration_flags:persistent_config_feature_enabled=False \ - --@score_logging//score/datarouter/build_configuration_flags:enable_nonverbose_dlt=False \ - --@score_logging//score/datarouter/build_configuration_flags:enable_dynamic_configuration_in_datarouter=False \ - --@score_logging//score/datarouter/build_configuration_flags:dlt_file_transfer_feature=False \ - --@score_logging//score/datarouter/build_configuration_flags:use_local_vlan=True \ - --test_tag_filters=-manual \ - -- -@score_logging//score/datarouter/test/ut/ut_logging:dltprotocolUT \ - -@score_logging//score/datarouter/test/ut/ut_logging:persistentLogConfigUT \ - -@score_logging//score/datarouter/test/ut/ut_logging:socketserverConfigUT \ - -@score_logging//score/mw/log/legacy_non_verbose_api:unit_test \ - -@score_logging//score/datarouter/test/ut/ut_logging:socketserverUT " + # [logging]="@score_logging//score/... \ + # --@score_baselibs//score/memory/shared/flags:use_typedshmd=False \ + # --@score_baselibs//score/json:base_library=nlohmann \ + # --@score_logging//score/datarouter/build_configuration_flags:persistent_logging=False \ + # --@score_logging//score/datarouter/build_configuration_flags:persistent_config_feature_enabled=False \ + # --@score_logging//score/datarouter/build_configuration_flags:enable_nonverbose_dlt=False \ + # --@score_logging//score/datarouter/build_configuration_flags:enable_dynamic_configuration_in_datarouter=False \ + # --@score_logging//score/datarouter/build_configuration_flags:dlt_file_transfer_feature=False \ + # --@score_logging//score/datarouter/build_configuration_flags:use_local_vlan=True \ + # --test_tag_filters=-manual \ + # -- -@score_logging//score/datarouter/test/ut/ut_logging:dltprotocolUT \ + # -@score_logging//score/datarouter/test/ut/ut_logging:persistentLogConfigUT \ + # -@score_logging//score/datarouter/test/ut/ut_logging:socketserverConfigUT \ + # -@score_logging//score/mw/log/legacy_non_verbose_api:unit_test \ + # -@score_logging//score/datarouter/test/ut/ut_logging:socketserverUT " ) # Markdown table header