Skip to content

Commit 0d827c7

Browse files
authored
Integrate EB corbos Linux for Safety Applications (#27)
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 0d827c7

24 files changed

+2004
-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 --@score_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: 82 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,82 @@
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+
module(
17+
name = "reference_integration_ebclfsa",
18+
version = "0.1.0",
19+
compatibility_level = 0,
20+
)
21+
22+
bazel_dep(name = "rules_cc", version = "0.2.0")
23+
24+
bazel_dep(name = "score_toolchains_gcc", version = "0.0.0", dev_dependency=True)
25+
git_override(
26+
module_name = "score_toolchains_gcc",
27+
remote = "https://github.com/Elektrobit/eclipse-score_toolchains_gcc.git",
28+
commit = "fb009e490b9b8f28805d587f50d0bf6d885f3414",
29+
)
30+
gcc = use_extension("@score_toolchains_gcc//extentions:gcc.bzl", "gcc", dev_dependency=True)
31+
gcc.toolchain(
32+
url = "https://linux.elektrobit.com/tmp/score/fastdev-sdk-ubuntu-ebcl-deb-qemu-arm64.tar.xz",
33+
sha256 = "cf8d277a2b95bbdad3e177c488fa77d01723510690a911218ef33747574d78fe",
34+
strip_prefix = "fastdev-sdk-ubuntu-ebcl-deb-qemuarm64",
35+
)
36+
37+
# TODO to be moved to toolchain. https://github.com/eclipse-score/toolchains_gcc/issues/11
38+
gcc.extra_features(
39+
features = [
40+
"minimal_warnings",
41+
"treat_warnings_as_errors",
42+
],
43+
)
44+
gcc.warning_flags(
45+
minimal_warnings = ["-Wall", "-Wno-error=deprecated-declarations"],
46+
strict_warnings = ["-Wextra", "-Wpedantic"],
47+
treat_warnings_as_errors = ["-Werror"],
48+
)
49+
50+
use_repo(gcc, "gcc_toolchain", "gcc_toolchain_gcc")
51+
52+
53+
bazel_dep(name = "rules_boost", repo_name = "com_github_nelhage_rules_boost")
54+
archive_override(
55+
module_name = "rules_boost",
56+
urls = ["https://github.com/nelhage/rules_boost/archive/refs/heads/master.tar.gz"],
57+
strip_prefix = "rules_boost-master",
58+
)
59+
60+
bazel_dep(name = "boost.program_options", version = "1.87.0")
61+
62+
bazel_dep(name = "score_baselibs")
63+
single_version_override(
64+
module_name = "score_baselibs",
65+
version = "0.1.3",
66+
patch_strip = 1,
67+
patches = [
68+
"//patches:fix_hard_coded_amd64.patch",
69+
],
70+
)
71+
bazel_dep(name = "score_communication")
72+
single_version_override(
73+
module_name = "score_communication",
74+
version = "0.1.1",
75+
)
76+
77+
# git_override are not forwarded by bazel_dep, so we need to redefine it here
78+
git_override(
79+
module_name = "trlc",
80+
remote = "https://github.com/bmw-software-engineering/trlc.git",
81+
commit = "650b51a47264a4f232b3341f473527710fc32669", # trlc-2.0.2 release
82+
)

0 commit comments

Comments
 (0)