Skip to content

Commit 7178ba4

Browse files
committed
Integrate EB corbos Linux for Safety Applications
This uses the ipc_bridge example of communication as example / test. It also contains extensive documentation about the integration itself, and a CI workflow.
1 parent e461d64 commit 7178ba4

25 files changed

+2021
-0
lines changed

.devcontainer/devcontainer.json

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
{
2+
"name": "eclipse-s-core",
3+
"image": "ghcr.io/eclipse-score/devcontainer:0.1.0",
4+
"postStartCommand": "ssh-keygen -f '/home/vscode/.ssh/known_hosts' -R '[localhost]:2222' || true"
5+
}
Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
# *******************************************************************************
2+
# Copyright (c) 2025 Contributors to the Eclipse Foundation
3+
#
4+
# See the NOTICE file(s) distributed with this work for additional
5+
# information regarding copyright ownership.
6+
#
7+
# This program and the accompanying materials are made available under the
8+
# terms of the Apache License Version 2.0 which is available at
9+
# https://www.apache.org/licenses/LICENSE-2.0
10+
#
11+
# SPDX-License-Identifier: Apache-2.0
12+
# *******************************************************************************
13+
14+
name: Build for and Test on EB corbos Linux for Safety Applications
15+
16+
on:
17+
pull_request:
18+
paths:
19+
- 'ebclfsa/**'
20+
workflow_dispatch:
21+
22+
jobs:
23+
build:
24+
name: build-and-test-ebclfsa
25+
runs-on: ubuntu-latest
26+
container:
27+
image: ghcr.io/eclipse-score/devcontainer:0.1.0
28+
29+
steps:
30+
- name: Checkout repository
31+
uses: actions/checkout@v4
32+
33+
- name: Build for EB corbos Linux for Safety Applications and run tests
34+
run: bazel build --config=aarch64 --spawn_strategy=local //example/ipc_bridge_hi_wrapper:run_example
35+
working-directory: ./ebclfsa
36+
37+
- name: Upload test logs
38+
uses: actions/upload-artifact@v5
39+
with:
40+
name: test-logs
41+
path: ebclfsa/bazel-bin/example/ipc_bridge_hi_wrapper/*.log

ebclfsa/.bazelrc

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
common --@score_baselibs//score/mw/log/detail/flags:KUse_Stub_Implementation_Only=False
2+
common --@score_baselibs//score/mw/log/flags:KRemote_Logging=False
3+
common --@score_baselibs//score/json:base_library=nlohmann
4+
common --@communication//score/mw/com/flags:tracing_library=stub
5+
6+
common --registry=https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/
7+
common --registry=https://bcr.bazel.build
8+
9+
common --extra_toolchains=@gcc_toolchain//:aarch64_gcc_13
10+
build:aarch64 --platforms=@score_toolchains_gcc//platforms:aarch64-linux

ebclfsa/BUILD

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
# *******************************************************************************
2+
# Copyright (c) 2025 Contributors to the Eclipse Foundation
3+
#
4+
# See the NOTICE file(s) distributed with this work for additional
5+
# information regarding copyright ownership.
6+
#
7+
# This program and the accompanying materials are made available under the
8+
# terms of the Apache License Version 2.0 which is available at
9+
# https://www.apache.org/licenses/LICENSE-2.0
10+
#
11+
# SPDX-License-Identifier: Apache-2.0
12+
13+
# *******************************************************************************

ebclfsa/MODULE.bazel

Lines changed: 88 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,88 @@
1+
# *******************************************************************************
2+
# Copyright (c) 2025 Contributors to the Eclipse Foundation
3+
#
4+
# See the NOTICE file(s) distributed with this work for additional
5+
# information regarding copyright ownership.
6+
#
7+
# This program and the accompanying materials are made available under the
8+
# terms of the Apache License Version 2.0 which is available at
9+
# https://www.apache.org/licenses/LICENSE-2.0
10+
#
11+
# SPDX-License-Identifier: Apache-2.0
12+
# *******************************************************************************
13+
14+
"EB corbos Linux for Safety Applications - S-CORE Reference Integration"
15+
16+
17+
module(
18+
name = "reference_integration_ebclfsa",
19+
version = "0.1",
20+
compatibility_level = 0,
21+
)
22+
23+
24+
bazel_dep(name = "rules_cc", version = "0.2.0")
25+
26+
bazel_dep(name = "score_toolchains_gcc", version = "0.4", dev_dependency=True)
27+
git_override(
28+
module_name = "score_toolchains_gcc",
29+
remote = "https://github.com/Elektrobit/eclipse-score_toolchains_gcc.git",
30+
commit = "fb009e490b9b8f28805d587f50d0bf6d885f3414",
31+
)
32+
gcc = use_extension("@score_toolchains_gcc//extentions:gcc.bzl", "gcc", dev_dependency=True)
33+
gcc.toolchain(
34+
url = "https://linux.elektrobit.com/tmp/score/fastdev-sdk-ubuntu-ebcl-deb-qemu-arm64.tar.xz",
35+
sha256 = "cf8d277a2b95bbdad3e177c488fa77d01723510690a911218ef33747574d78fe",
36+
strip_prefix = "fastdev-sdk-ubuntu-ebcl-deb-qemuarm64",
37+
)
38+
39+
# TODO to be moved to toolchain. https://github.com/eclipse-score/toolchains_gcc/issues/11
40+
gcc.extra_features(
41+
features = [
42+
"minimal_warnings",
43+
"treat_warnings_as_errors",
44+
],
45+
)
46+
gcc.warning_flags(
47+
minimal_warnings = ["-Wall", "-Wno-error=deprecated-declarations"],
48+
strict_warnings = ["-Wextra", "-Wpedantic"],
49+
treat_warnings_as_errors = ["-Werror"],
50+
)
51+
52+
use_repo(gcc, "gcc_toolchain", "gcc_toolchain_gcc")
53+
54+
55+
bazel_dep(name = "rules_boost", repo_name = "com_github_nelhage_rules_boost")
56+
archive_override(
57+
module_name = "rules_boost",
58+
urls = ["https://github.com/nelhage/rules_boost/archive/refs/heads/master.tar.gz"],
59+
strip_prefix = "rules_boost-master",
60+
)
61+
62+
bazel_dep(name = "boost.program_options", version = "1.87.0")
63+
64+
bazel_dep(name = "score_baselibs", version = "0.0.0")
65+
git_override(
66+
module_name = "score_baselibs",
67+
remote = "https://github.com/eclipse-score/baselibs.git",
68+
commit = "edc4f8841c2210d11ef310049a78644ff3d039a3", # latest main (2025-11-11)
69+
patch_strip = 1,
70+
patches = [
71+
"//patches:fix_wait_free_stack.patch",
72+
"//patches:fix_hard_coded_amd64.patch",
73+
],
74+
)
75+
bazel_dep(name = "communication", version = "0.0.0")
76+
git_override(
77+
module_name = "communication",
78+
remote = "https://github.com/eclipse-score/communication.git",
79+
commit = "ff40e5f1e90ce406b71c664cc6c8e902ab465305", # latest main (2025-11-11)
80+
)
81+
82+
# TRLC dependency for requirements traceability
83+
bazel_dep(name = "trlc", version = "0.0.0")
84+
git_override(
85+
module_name = "trlc",
86+
remote = "https://github.com/bmw-software-engineering/trlc.git",
87+
commit = "650b51a47264a4f232b3341f473527710fc32669", # trlc-2.0.2 release
88+
)

0 commit comments

Comments
 (0)