Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 1 addition & 2 deletions .bazelrc
Original file line number Diff line number Diff line change
Expand Up @@ -25,9 +25,7 @@ common --@score_logging//score/datarouter/build_configuration_flags:persistent_l
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
Expand All @@ -43,6 +41,7 @@ build:shared --host_platform=@score_bazel_platforms//:x86_64-linux

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 --extra_toolchains=@score_toolchains_rust//toolchains/ferrocene:ferrocene_x86_64_unknown_linux_gnu
build:x86_64-linux --features=-treat_warnings_as_errors # due to baselibs deprecations

# this is deprecated, use build:x86_64-linux instead
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/reusable_integration-build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -65,7 +65,7 @@ on:
description: 'Optional configuration for the integration test.'
required: false
type: string
default: 'bl-x86_64-linux'
default: 'x86_64-linux'
repo_runner_labels:
description: 'Runner label(s) for the job; single label or JSON string/array.'
required: false
Expand Down
58 changes: 16 additions & 42 deletions .github/workflows/reusable_smoke-test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -139,12 +139,12 @@ jobs:
matrix:
config:
- x86_64-linux
# - arm64-linux
# Add more configs here as needed
# - bl-aarch64-linux
# - bl-x86_64-qnx
# - arm64-qnx8_0
# - x86_64-qnx8_0
uses: ./.github/workflows/reusable_integration-build.yml
secrets:
REPO_READ_TOKEN: ${{ secrets.REPO_READ_TOKEN != '' && secrets.REPO_READ_TOKEN || github.token }}
secrets: inherit
with:
known_good: ${{ needs.preparation.outputs.known_good_updated }}
config: ${{ matrix.config }}
Expand All @@ -157,6 +157,12 @@ jobs:
needs: [integration-test, docs]
if: always()
steps:
- name: Checkout repository
uses: actions/checkout@v4.2.2
with:
repository: ${{ env.REFERENCE_INTEGRATION_REPO }}
ref: ${{ inputs.target_branch }}
token: ${{ secrets.REPO_READ_TOKEN != '' && secrets.REPO_READ_TOKEN || github.token }}
# get all artefacts from integration-test job with name bazel-build-logs-*
- name: Download Integration Test Artifacts
uses: actions/download-artifact@v4
Expand All @@ -166,41 +172,9 @@ jobs:
merge-multiple: true
- name: Publish Integration Test Summary
run: |
{
echo '## Overall Status'
echo
if [ "${{ needs.integration-test.result }}" == "success" ]; then
echo '- Integration Test: ✅ **SUCCESS**'
else
echo '- Integration Test: ❌ **FAILURE**'
fi

if [ "${{ needs.docs.result }}" == "success" ]; then
echo '- Documentation Generation: ✅ **SUCCESS**'
else
echo '- Documentation Generation: ❌ **FAILURE**'
fi

echo
echo '---'
echo
echo '## Integration Test Summary'
echo

# Process each build_summary.md file from different configs
for summary_file in _logs/integration_test_logs/*/build_summary.md; do
if [ -f "$summary_file" ]; then
config_name=$(basename $(dirname "$summary_file"))
echo "### Configuration: $config_name"
echo
cat "$summary_file"
echo
fi
done

# If no summary files found, check direct path
if [ -f _logs/integration_test_logs/build_summary.md ]; then
cat _logs/integration_test_logs/build_summary.md
echo
fi
} >> "$GITHUB_STEP_SUMMARY"
ls -l _logs/integration_test_logs || true
python3 scripts/publish_integration_summary.py \
--integration-result "${{ needs.integration-test.result }}" \
--docs-result "${{ needs.docs.result }}" \
--logs-dir "_logs/integration_test_logs" \
>> "$GITHUB_STEP_SUMMARY"
1 change: 0 additions & 1 deletion .github/workflows/test_integration.yml
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,6 @@ on:
# - cron: '30 2 * * *' # Every night at 02:30 UTC on main branch
jobs:
integration_test:
if: false # Disable job as now latest greatest main loop does not work
uses: ./.github/workflows/reusable_smoke-test.yml
secrets: inherit
with:
Expand Down
6 changes: 5 additions & 1 deletion MODULE.bazel
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ include("//:score_modules.MODULE.bazel")
include("//:score_toolchains.MODULE.bazel")

## Python
bazel_dep(name = "rules_python", version = "1.5.1")
bazel_dep(name = "rules_python", version = "1.8.3")

PYTHON_VERSION = "3.12"

Expand Down Expand Up @@ -56,3 +56,7 @@ git_override(
bazel_dep(name = "rules_rust", version = "0.67.0")
bazel_dep(name = "score_itf", version = "0.1.0")
bazel_dep(name = "score_crates", version = "0.0.6")
single_version_override(
module_name = "score_crates",
version = "0.0.6",
)
23 changes: 22 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,9 @@ The reference integration workspace serves as a single Bazel build environment t

## Structure of integration folder

> [!NOTE]
> For more details about the integration folder structure and deployment showcases, see [integration/README.md](integration/README.md).

Intention for each folder is described below

### bazel_common
Expand Down Expand Up @@ -145,10 +148,28 @@ In case of doubt, choose the first.
1. Switch to local path overrides, using the VSCode Task (`Terminal`->`Run Task...`) "Switch Bazel modules to `local_path_overrides`".
Note that you can switch back to `git_overrides` (the default) using the task "Switch Bazel modules to `git_overrides`"

2. Run VSCode Task "<Name>: Generate workspace", e.g. "Gita: Generate workspace".
**Command line:**
```bash
python3 scripts/known_good/update_module_from_known_good.py --override-type local_path
```

2. Update workspace metadata from known good, using the VSCode Task "Update workspace metadata from known good".
This will generate the `.gita-workspace.csv` file based on `known_good.json`.

**Command line:**
```bash
python3 scripts/known_good/known_good_to_workspace_metadata.py
```

3. Run VSCode Task "<Name>: Generate workspace", e.g. "Gita: Generate workspace".
This will clone all modules using the chosen workspace manager.
The modules will be in sub-directories starting with `score_`.
Note that the usage of different workspace managers is mutually exclusive.

**Command line:**
```bash
gita clone --preserve-path --from-file .gita-workspace.csv
```

When you now run Bazel, it will use the local working copies of all modules and not download them from git remotes.
You can make local changes to each module, which will be directly reflected in the next Bazel run.
Expand Down
5 changes: 4 additions & 1 deletion build_config.json
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,9 @@
"score_baselibs": {
"build_targets": "@score_baselibs//score/..."
},
"score_baselibs_rust": {
"build_targets": "@score_baselibs_rust//src/..."
},
"score_communication": {
"build_targets": "@score_communication//score/mw/com:com"
},
Expand All @@ -19,7 +22,7 @@
"build_targets": "@score_test_scenarios//test_scenarios_rust:test_scenarios_rust @score_test_scenarios//test_scenarios_cpp:test_scenarios_cpp"
},
"score_feo": {
"build_targets": "-- @score_feo//... -@score_feo//:docs -@score_feo//:ide_support -@score_feo//:needs_json"
"build_targets": "-- @score_feo//feo/... @score_feo//feo-com/... @score_feo//feo-cpp-build/... @score_feo//feo-cpp-macros/... -@score_feo//feo:libfeo_rust -@score_feo//feo:libfeo_recording_rust -@score_feo//feo-com:libfeo_com_rust -@score_feo//examples/rust/..."
},
"score_logging": {
"build_targets": "@score_logging//score/mw/log"
Expand Down
2 changes: 0 additions & 2 deletions integration/MODULE.bazel
Original file line number Diff line number Diff line change
Expand Up @@ -34,8 +34,6 @@ include("//bazel_common:score_python.MODULE.bazel")
# Score modules
include("//bazel_common:score_modules.MODULE.bazel")

bazel_dep(name = "score_itf", version = "0.1.0")

bazel_dep(name = "rules_boost", repo_name = "com_github_nelhage_rules_boost")
archive_override(
module_name = "rules_boost",
Expand Down
1 change: 1 addition & 0 deletions integration/bazel_common/score_modules.MODULE.bazel
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@ bazel_dep(name = "score_baselibs", version = "0.1.3")
bazel_dep(name = "score_communication", version = "0.1.1",) # EB needs 0.1.2 but others does not work with it
bazel_dep(name = "score_persistency", version = "0.2.1")
bazel_dep(name = "score_scrample", version = "0.1.0")
bazel_dep(name = "score_itf", version = "0.1.0")
bazel_dep(name = "score_orchestrator")
git_override(
module_name = "score_orchestrator",
Expand Down
30 changes: 17 additions & 13 deletions known_good.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,27 +2,31 @@
"modules": {
"score_baselibs": {
"repo": "https://github.com/eclipse-score/baselibs.git",
"hash": "fe74ff32f2cb8b2c99af019e7907ad9486e70b09"
"hash": "ffd1c812213c66a436ed982632f6942528b58be8"
},
"score_baselibs_rust": {
"repo": "https://github.com/eclipse-score/baselibs_rust.git",
"hash": "0eba2934fa8b0e1a343ec6bf6f7ff00cec27d81c"
},
"score_communication": {
"repo": "https://github.com/eclipse-score/communication.git",
"hash": "73caa2d2b6f45f806bbd30bdf8675ab1ad551387"
"hash": "0c0ea032995eaa766f5bdcec031bc02ee10d4587"
},
"score_logging": {
"repo": "https://github.com/eclipse-score/logging.git",
"hash": "8d14d2beec9bb3ccd7a2e24926eacd13b0ffc7d1"
"hash": "2b3e56cf12cf582d0c0a235cad3d1d9b9fc1e494"
},
"score_persistency": {
"repo": "https://github.com/eclipse-score/persistency.git",
"hash": "69356def0bd731fda9aedc8c65336d8c2ca499da"
"hash": "9c1f0c1b1cd9b49621ecf4f9d541ded100fe2c08"
},
"score_orchestrator": {
"repo": "https://github.com/eclipse-score/orchestrator.git",
"hash": "18e136c34750c5db707f27f917d52efc7541e087"
"hash": "fd6e21820a361b0c5ab69553f01bd68174d89ffd"
},
"score_kyron": {
"repo": "https://github.com/eclipse-score/kyron.git",
"hash": "ed312bdc6a50abc73f97b8c7e2ad4726fed06e81"
"hash": "d146401db4557d840850a7b5fc21b0f4fc8aac20"
},
"score_feo": {
"repo": "https://github.com/eclipse-score/feo.git",
Expand All @@ -31,32 +35,32 @@
},
"score_tooling": {
"repo": "https://github.com/eclipse-score/tooling.git",
"hash": "8894fe5440436a8c6d9e214c97b18d619c7f7eac"
"hash": "17671026150db4b4cc1b35e48af81b97e13685e5"
},
"score_platform": {
"repo": "https://github.com/eclipse-score/score.git",
"hash": "f4769c4b86bfe46b29b56b6c3e262c5b82db334b"
"hash": "22aed6f3bb7339fa50cc7e004de3c5af3d2eab6e"
},
"score_bazel_platforms": {
"repo": "https://github.com/eclipse-score/bazel_platforms.git",
"hash": "2286de89c35d5660ad183906a6f010b33fcac8db"
"hash": "3ac1b805ba42b58a13f8960f947b7866c8bcf26c"
},
"score_test_scenarios": {
"repo": "https://github.com/eclipse-score/testing_tools.git",
"hash": "6b5e85863e8fb5687251c19f5bb81e0a3afdf581"
},
"score_docs_as_code": {
"repo": "https://github.com/eclipse-score/docs-as-code.git",
"hash": "a9babc30a7ab1ac43c75415b9784b2bc81ed0f9d"
"hash": "ba006429268e6bd9b856088f7a4217742ed09025"
},
"score_process": {
"repo": "https://github.com/eclipse-score/process_description.git",
"hash": "496fb6dc347de414d9cbe7523204fdeb6b511197"
"hash": "6c772cf05a493218a5ac6071361bf0b66c5427b2"
},
"score_lifecycle_health": {
"repo": "https://github.com/eclipse-score/lifecycle.git",
"hash": "4a9928d74847ed9e4f346836c3a8ac7ea75f1851"
"hash": "297808cf7c0013e08a0982133a0add1d9b1a9d9e"
}
},
"timestamp": "2026-01-26T11:01:36+00:00Z"
"timestamp": "2026-02-10T21:12:42+00:00Z"
}
33 changes: 20 additions & 13 deletions score_modules.MODULE.bazel
Original file line number Diff line number Diff line change
Expand Up @@ -11,49 +11,56 @@
# SPDX-License-Identifier: Apache-2.0
# *******************************************************************************

# Generated from known_good.json at 2026-01-26T11:01:36+00:00Z
# Generated from known_good.json at 2026-02-10T21:12:42+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 = "fe74ff32f2cb8b2c99af019e7907ad9486e70b09",
commit = "ffd1c812213c66a436ed982632f6942528b58be8",
)

bazel_dep(name = "score_baselibs_rust")
git_override(
module_name = "score_baselibs_rust",
remote = "https://github.com/eclipse-score/baselibs_rust.git",
commit = "0eba2934fa8b0e1a343ec6bf6f7ff00cec27d81c",
)

bazel_dep(name = "score_communication")
git_override(
module_name = "score_communication",
remote = "https://github.com/eclipse-score/communication.git",
commit = "73caa2d2b6f45f806bbd30bdf8675ab1ad551387",
commit = "0c0ea032995eaa766f5bdcec031bc02ee10d4587",
)

bazel_dep(name = "score_logging")
git_override(
module_name = "score_logging",
remote = "https://github.com/eclipse-score/logging.git",
commit = "8d14d2beec9bb3ccd7a2e24926eacd13b0ffc7d1",
commit = "2b3e56cf12cf582d0c0a235cad3d1d9b9fc1e494",
)

bazel_dep(name = "score_persistency")
git_override(
module_name = "score_persistency",
remote = "https://github.com/eclipse-score/persistency.git",
commit = "69356def0bd731fda9aedc8c65336d8c2ca499da",
commit = "9c1f0c1b1cd9b49621ecf4f9d541ded100fe2c08",
)

bazel_dep(name = "score_orchestrator")
git_override(
module_name = "score_orchestrator",
remote = "https://github.com/eclipse-score/orchestrator.git",
commit = "18e136c34750c5db707f27f917d52efc7541e087",
commit = "fd6e21820a361b0c5ab69553f01bd68174d89ffd",
)

bazel_dep(name = "score_kyron")
git_override(
module_name = "score_kyron",
remote = "https://github.com/eclipse-score/kyron.git",
commit = "ed312bdc6a50abc73f97b8c7e2ad4726fed06e81",
commit = "d146401db4557d840850a7b5fc21b0f4fc8aac20",
)

bazel_dep(name = "score_feo")
Expand All @@ -67,21 +74,21 @@ bazel_dep(name = "score_tooling")
git_override(
module_name = "score_tooling",
remote = "https://github.com/eclipse-score/tooling.git",
commit = "fe54d6aa717eb695298a4f0ca938f19e7fd18051",
commit = "17671026150db4b4cc1b35e48af81b97e13685e5",
)

bazel_dep(name = "score_platform")
git_override(
module_name = "score_platform",
remote = "https://github.com/eclipse-score/score.git",
commit = "6ef2b8c740eb538d9b9b44fabd3dea5e0a888da6",
commit = "22aed6f3bb7339fa50cc7e004de3c5af3d2eab6e",
)

bazel_dep(name = "score_bazel_platforms")
git_override(
module_name = "score_bazel_platforms",
remote = "https://github.com/eclipse-score/bazel_platforms.git",
commit = "2286de89c35d5660ad183906a6f010b33fcac8db",
commit = "3ac1b805ba42b58a13f8960f947b7866c8bcf26c",
)

bazel_dep(name = "score_test_scenarios")
Expand All @@ -95,19 +102,19 @@ 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 = "e8622001d597ebc12244f006dde2e0a58c203ef0",
commit = "ba006429268e6bd9b856088f7a4217742ed09025",
)

bazel_dep(name = "score_process")
git_override(
module_name = "score_process",
remote = "https://github.com/eclipse-score/process_description.git",
commit = "496fb6dc347de414d9cbe7523204fdeb6b511197",
commit = "6c772cf05a493218a5ac6071361bf0b66c5427b2",
)

bazel_dep(name = "score_lifecycle_health")
git_override(
module_name = "score_lifecycle_health",
remote = "https://github.com/eclipse-score/lifecycle.git",
commit = "4a9928d74847ed9e4f346836c3a8ac7ea75f1851",
commit = "297808cf7c0013e08a0982133a0add1d9b1a9d9e",
)
Loading
Loading