Skip to content

Commit 0279d44

Browse files
committed
update README.md, delete known_good.json as it is not needed/used now
1 parent 521034a commit 0279d44

File tree

4 files changed

+58
-114
lines changed

4 files changed

+58
-114
lines changed

β€Ž.github/workflows/test_integration.ymlβ€Ž

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -40,10 +40,6 @@ jobs:
4040
run: |
4141
echo 'Disk space after cleanup:'
4242
df -h
43-
# - name: Link bazel cache to /mnt
44-
# run: |
45-
# mkdir -p /mnt/bazel-cache
46-
# ls -s /mnt/bazel-cache /home/runner/.cache
4743
- name: Checkout repository
4844
uses: actions/checkout@v4.2.2
4945
- name: Setup Bazel

β€ŽMODULE.bazelβ€Ž

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,6 @@ archive_override(
4545
)
4646

4747
# git_override are not forwarded by bazel_dep, so we need to redefine it here
48-
bazel_dep(name = "trlc", version = "0.0.0")
4948
git_override(
5049
module_name = "trlc",
5150
remote = "https://github.com/bmw-software-engineering/trlc.git",

β€ŽREADME.mdβ€Ž

Lines changed: 58 additions & 71 deletions
Original file line numberDiff line numberDiff line change
@@ -1,104 +1,107 @@
1-
# Reference Integration
1+
# Score Reference Integration
22

3-
Integration workspace for the Eclipse Score project. This repository is used to validate cross-module builds (e.g. baselibs, communication, persistency, feo, etc.) from a single Bazel workspace.
3+
This workspace integrates multiple Eclipse Score modules (baselibs, communication, persistency, orchestrator, feo, etc.) to validate cross-repository builds and detect integration issues early in the development cycle.
44

5-
## βœ… Working Build Commands
5+
## Overview
66

7-
### Baselibs
7+
The reference integration workspace serves as a single Bazel build environment to:
8+
- Validate cross-module dependency graphs
9+
- Detect label and repository boundary issues
10+
- Test toolchain and platform support (Linux, QNX, LLVM/GCC)
11+
- Prepare for release validation workflows
12+
13+
## Working Builds βœ…
14+
15+
The following modules build successfully with the `bl-x86_64-linux` configuration:
816

17+
### Baselibs
918
```bash
1019
bazel build --config bl-x86_64-linux @score_baselibs//score/... --verbose_failures
1120
```
1221

1322
### Communication
14-
1523
```bash
1624
bazel build --config bl-x86_64-linux @score_communication//score/... --verbose_failures
1725
```
1826

1927
### Persistency
20-
2128
```bash
22-
bazel build \
23-
@score_persistency//src/... \
24-
--extra_toolchains=@llvm_toolchain//:cc-toolchain-x86_64-linux \
25-
--copt=-Wno-deprecated-declarations \
26-
--verbose_failures
29+
bazel build --config bl-x86_64-linux \
30+
@score_persistency//src/cpp/src/... \
31+
@score_persistency//src/rust/... \
32+
--verbose_failures
2733
```
28-
```bash
29-
bazel build --config bl-x86_64-linux @score_persistency//src/... --verbose_failures
30-
```
31-
```bash
32-
bazel build --config bl-x86_64-linux @score_persistency//src/cpp/src/... @score_persistency//src/rust/... --verbose_failures
33-
```
34-
35-
> Note: Python tests for `@score_persistency` cannot be built from this integration workspace due to Bazel external repository visibility limitations. The pip extension and Python dependencies must be accessed within their defining module.
3634

3735
### Orchestrator
3836
```bash
39-
bazel build --config bl-x86_64-linux @score_orchestrator//src/... --verbose_failures
37+
bazel build --config bl-x86_64-linux @score_orchestrator//src/... --verbose_failures
4038
```
4139

4240

43-
## ⚠️ Observed Issues
41+
## Known Issues ⚠️
4442

4543
### Orchestrator
46-
BUILD:14 - load("@score_toolchains_qnx//rules/fs:ifs.bzl", "qnx_ifs")
47-
either score_toolchains_qnx is a dev_dep or it is directly loaded.
44+
**Issue:** Direct toolchain loading at `BUILD:14`
45+
```
46+
load("@score_toolchains_qnx//rules/fs:ifs.bzl", "qnx_ifs")
47+
```
48+
**Resolution needed:** Refactor to use proper toolchain resolution instead of direct load statements.
49+
50+
### Communication
51+
**Module:** `score/mw/com/requirements`
4852

49-
### communication: score/mw/com/requirements
50-
Problems when building from a different repo:
51-
- Some `BUILD` files use `@//third_party` instead of `//third_party` (repository-qualified vs. local label mismatch).
52-
- `runtime_test.cpp:get_path` is checking `safe_posix_platform` (likely an outdated module name) instead of `external/communication+/`.
53-
- fixed in feature/build_from_reference_repo https://github.com/etas-contrib/score_communication.git
53+
**Issues when building from external repository:**
54+
1. **Label inconsistency:** Some `BUILD` files use `@//third_party` instead of `//third_party` (repository-qualified vs. local label). Should standardize on local labels within the module.
55+
2. **Outdated path reference:** `runtime_test.cpp:get_path` checks for `safe_posix_platform` (likely obsolete module name) instead of `external/score_communication+/`.
5456

55-
### communication: get_git_info
56-
@score_communication//third_party/... here get_git_info is causing problems because it cannot find github root from e.g.
57-
/home/runner/.bazel/sandbox/processwrapper-sandbox/1689/execroot/_main/bazel-out/k8-opt-exec-ST-8abfa5a323e1/bin/external/communication+/third_party/traceability/tools/source_code_linker/parsed_source_files_for_source_code_linker.runfiles/communication+/third_party/traceability/tools/source_code_linker/get_git_info.py
58-
is this needed? should we fix it?
57+
### Persistency
58+
**Test failures in `src/cpp/tests`:**
59+
1. **Dependency misconfiguration:** `google_benchmark` should not be a dev-only dependency if required by tests. Consider separating benchmark targets.
60+
2. **Compiler-specific issue in `test_kvs.cpp`:** Contains GCC-specific self-move handling that is incorrect and fails with GCC (only builds with LLVM). Needs portable fix or removal of undefined behavior.
5961

60-
### Toolchain / Version Drift
61-
- Persistency uses `llvm_toolchain 1.2.0` while baselibs uses `1.4.0`. Aligning versions may reduce incompatibilities. Also Persistency does not work with `1.4.0`.
62+
## Build Blockers 🚧
6263

63-
## 🚧 Not Yet Working
64+
The following builds are currently failing:
6465

66+
### FEO (Full Build)
6567
```bash
66-
bazel build @score_persistency//src/cpp/... --extra_toolchains=@llvm_toolchain//:cc-toolchain-x86_64-linux
67-
6868
bazel build @feo//... --verbose_failures
6969
```
7070

71-
71+
### Persistency (Full Build)
7272
```bash
73-
bazel mod graph
73+
bazel build --config bl-x86_64-linux @score_persistency//src/... --verbose_failures
7474
```
75-
It is working with latest baselibs (dev_dependency = True for score_toolchains_qnx), but communication is not building with it.
7675

77-
### Missing System Packages (for feo build)
78-
Install required system dependencies:
76+
## System Dependencies
77+
78+
### Required Packages for FEO
79+
Install the following system packages before building FEO:
7980
```bash
8081
sudo apt-get update
8182
sudo apt-get install -y protobuf-compiler libclang-dev
8283
```
8384

84-
## πŸ§ͺ To Be Done
85+
## Pending Tasks πŸ§ͺ
8586

86-
```bash
87-
bazel test @itf//...
88-
```
87+
- [ ] Add test targets once cross-repository visibility constraints are clarified
88+
- [ ] Normalize third-party label usage across all `BUILD` files
89+
- [ ] Resolve FEO build failures
90+
- [ ] Fix Persistency full build
91+
- [ ] Address compiler-specific issues in test suites
8992

90-
Add test targets once cross-repo visibility constraints are clarified.
93+
## Proxy & External Dependencies 🌐
9194

92-
Configuration handling (instead of baselibs.bazelrc,...)
95+
### Current Issue
9396

94-
## 🌐 Proxy & Dependency Handling
97+
The `starpls.bzl` file ([source](https://github.com/eclipse-score/tooling/blob/main/starpls/starpls.bzl)) uses `curl` directly for downloading dependencies, which:
98+
- Bypasses Bazel's managed fetch lifecycle and dependency tracking
99+
- Breaks reproducibility and remote caching expectations
100+
- May fail in corporate proxy-restricted environments
95101

96-
`starpls.bzl` (see: https://github.com/eclipse-score/tooling/blob/main/starpls/starpls.bzl) uses `curl` directly, which:
97-
- Bypasses Bazel's fetch/dependency tracking.
98-
- May fail in a proxy-restricted environment.
102+
### Workaround
99103

100-
### Possible Workaround
101-
Use a `local_path_override` and set proxy environment variables before invoking the rule:
104+
Use a `local_path_override` and configure proxy environment variables before building:
102105

103106
```bash
104107
export http_proxy=http://127.0.0.1:3128
@@ -107,7 +110,7 @@ export HTTP_PROXY=http://127.0.0.1:3128
107110
export HTTPS_PROXY=http://127.0.0.1:3128
108111
```
109112

110-
Example Bazel module override snippet:
113+
Add this to your `MODULE.bazel`:
111114
```python
112115
local_path_override(module_name = "score_tooling", path = "../tooling")
113116
```
@@ -116,21 +119,5 @@ local_path_override(module_name = "score_tooling", path = "../tooling")
116119
- Replace raw `curl` calls with Bazel `http_archive` or `repository_ctx.download` for reproducibility.
117120
- Parameterize proxy usage via environment or Bazel config flags.
118121

119-
## πŸ” Next Investigation Targets
120-
- Normalize third-party label usage (`@//third_party` vs `//third_party`).
121-
- Update `runtime_test.cpp:get_path` logic for new module layout.
122-
- Unify LLVM toolchain versions across modules.
123-
- Introduce integration tests for `@itf` once build succeeds.
124-
125-
## πŸ“Œ Quick Reference
126-
127-
| Area | Status | Action |
128-
|------|--------|--------|
129-
| baselibs build | βœ… | Keep as baseline |
130-
| communication build | βœ… | Fix label style inconsistencies |
131-
| persistency (Python tests) | 🚫 | Not supported cross-repo |
132-
| feo build | ❌ | Install system deps + inspect failures |
133-
| itf tests | ⏳ | Add after build stabilization |
134-
135122
## πŸ—‚ Notes
136123
Keep this file updated as integration issues are resolved. Prefer converting ad-hoc shell steps into Bazel rules or documented scripts under `tools/` for repeatability.

β€Žknown_good.jsonβ€Ž

Lines changed: 0 additions & 38 deletions
This file was deleted.

0 commit comments

Comments
Β (0)