Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
57 commits
Select commit Hold shift + click to select a range
2fce808
Preparation of initial pitch
mikehaller Dec 19, 2025
201fb77
Disable some workflows temporarily
mikehaller Dec 19, 2025
a2f1987
Disable docs build temporarily
mikehaller Dec 19, 2025
f0eb6e4
Fix workflows
mikehaller Dec 19, 2025
2fd77f6
Add some high level design docs
BjoernAtBosch Jan 7, 2026
35fdfa4
Remove CRC dependency and disable SubTLV features
jorgecasal Jan 7, 2026
62490af
Merge pull request #1 from etas-contrib/issue-94128-remove-crc-depend…
mikehaller Jan 7, 2026
8476de2
Introduce coverage report workflow
jorgecasal Jan 12, 2026
ec54a4b
Add missing contribution templates and requirement directories
jorgecasal Jan 7, 2026
1d973bc
Demo app
mikehaller Jan 14, 2026
579dcd1
Readme
mikehaller Jan 14, 2026
96f011d
Add synchronizedTimeBaseProviders configuration
BjoernAtBosch Jan 14, 2026
5e391f4
Fix docs build
mikehaller Jan 15, 2026
c64f3fe
Update score-process 1.3.1
mikehaller Jan 15, 2026
61dfa26
Establish new structure for time_utility_lib and its unit tests
BjoernAtBosch Jan 12, 2026
42b69d5
Re-enable remaining tsync-utility-lib tests
BjoernAtBosch Jan 12, 2026
bde4dbc
Fix indentation of public/protected/private of classes
BjoernAtBosch Jan 12, 2026
e0cfe26
Restructure tsync-lib
BjoernAtBosch Jan 12, 2026
ec90c30
Re-enable examples
BjoernAtBosch Jan 12, 2026
d84101a
Restructure tsync-daemon
BjoernAtBosch Jan 13, 2026
c3ce3ea
Add remaining tsync-utility-lib tests
BjoernAtBosch Jan 13, 2026
78d43aa
Add UTs for tsync-daemon (worker tests missing)
BjoernAtBosch Jan 13, 2026
772cded
Fix SharedMemTimeBaseReader_UT.cpp
TimofteBogdan1900 Jan 14, 2026
b63e014
Refactor abort handler setup in unit tests
TimofteBogdan1900 Jan 15, 2026
a44550a
Enable tsync-daemon Worker_UT
BjoernAtBosch Jan 15, 2026
12dcd2e
Cleanup tests folder
BjoernAtBosch Jan 15, 2026
230de66
Enable abort/exit tests of tsync-daemon worker
BjoernAtBosch Jan 15, 2026
9d46019
Some cleanup
BjoernAtBosch Jan 15, 2026
6068fe7
Update S-CORE deps
BjoernAtBosch Jan 16, 2026
3e47c90
Fix Init_OnAddDomainMappingFailure_Aborts
TimofteBogdan1900 Jan 16, 2026
a2fb0f1
Build workflow
mikehaller Jan 16, 2026
d735987
Tests moved to src folders
mikehaller Jan 16, 2026
2282bd3
Install libpcap-dev in build yml
mikehaller Jan 16, 2026
2bf01a4
Fix coverage workflow
mikehaller Jan 16, 2026
2d74735
Fix path for local gh action
mikehaller Jan 16, 2026
0ee4af3
Minor demo changes
mikehaller Jan 16, 2026
1bfbc88
Enable tsync-lib unit tests (partially not working)
BjoernAtBosch Jan 16, 2026
691d13d
Enable examples again
BjoernAtBosch Jan 16, 2026
fca489c
Skip failing tsync-lib tests for time being
BjoernAtBosch Jan 16, 2026
f1fbd7e
Add docs/todo.txt
BjoernAtBosch Jan 16, 2026
b9e6cb0
Enable remaining unit tests of tsync-lib
BjoernAtBosch Jan 19, 2026
f1fbfb4
Update README.md
BjoernAtBosch Jan 21, 2026
717eaaf
Enable UTs for tsync-ptp-lib
TimofteBogdan1900 Jan 21, 2026
17e9b6d
Initial local coverage report
TimofteBogdan1900 Jan 22, 2026
bb7abbf
Revert usage of _Exit() for better code coverage
TimofteBogdan1900 Jan 23, 2026
a1892aa
Update the yml git action for code coverage
TimofteBogdan1900 Jan 23, 2026
db88882
Remove gathering of logging files
TimofteBogdan1900 Jan 23, 2026
ed78c7f
Each test runs its own /dev/shm/
TimofteBogdan1900 Jan 23, 2026
692b03c
Disable free_disk_space to reuse cached results for tests
TimofteBogdan1900 Jan 23, 2026
3929e5e
Temp disable SharedMemTimeBaseWriter_UT.cpp
TimofteBogdan1900 Jan 23, 2026
60b1dd0
Disable SynchronizedTimeBaseProvider_UT
TimofteBogdan1900 Jan 23, 2026
b191a06
Tests run sequential
TimofteBogdan1900 Jan 23, 2026
4518826
Re Enable cleanup of linux machine
TimofteBogdan1900 Jan 23, 2026
d2a56c4
Collect logs for failed testcases
TimofteBogdan1900 Jan 23, 2026
2c03b3b
Fix action
TimofteBogdan1900 Jan 23, 2026
ca051e7
Fix unintialised mem_region_
TimofteBogdan1900 Jan 23, 2026
7d284b4
Remove workaround for tc execution
TimofteBogdan1900 Jan 23, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
24 changes: 18 additions & 6 deletions .bazelrc
Original file line number Diff line number Diff line change
@@ -1,9 +1,21 @@
build --java_language_version=17
build --tool_java_language_version=17
build --java_runtime_version=remotejdk_17
build --tool_java_runtime_version=remotejdk_17

test --test_output=errors
# .bazelrc

# From https://github.com/eclipse-score/bazel_registry
common --registry=https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/
common --registry=https://bcr.bazel.build

common --enable_bzlmod

common --@score_baselibs//score/mw/log/flags:KRemote_Logging=False
common --@score_baselibs//score/json:base_library=nlohmann


## Coverage settings

# With this instrumentation filter we ensure that `bazel coverage //src/...` is yielding the correct results
# The filter is that bazel instruments the path UNLESS the path contains /test/ or /tests/"
coverage --instrumentation_filter="//src(?!.*[/:](test|tests)[/:])"

coverage --combined_report=lcov
coverage --coverage_report_generator=@bazel_tools//tools/test/CoverageOutputGenerator/java/com/google/devtools/coverageoutputgenerator:Main
coverage --test_env=COVERAGE_GCOV_OPTIONS=-bcu
4 changes: 4 additions & 0 deletions .devcontainer/devcontainer.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
{
"name": "eclipse-s-core",
"image": "ghcr.io/eclipse-score/devcontainer:latest"
}
32 changes: 32 additions & 0 deletions .github/actions/free_disk_space/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
# *******************************************************************************
# Copyright (c) 2026 Contributors to the Eclipse Foundation
#
# See the NOTICE file(s) distributed with this work for additional
# information regarding copyright ownership.
#
# This program and the accompanying materials are made available under the
# terms of the Apache License Version 2.0 which is available at
# https://www.apache.org/licenses/LICENSE-2.0
#
# SPDX-License-Identifier: Apache-2.0
# *******************************************************************************

name: "Free Disk Space"
description: "Configures and calls endersonmenezes/free-disk-space to free disk space"

branding:
icon: command
color: gray-dark

runs:
using: composite
steps:
- name: Free Disk Space (Ubuntu)
uses: endersonmenezes/free-disk-space@v3
with:
remove_android: true
remove_dotnet: true
remove_haskell: true
remove_tool_cache: true
remove_swap: true
rm_cmd: "rmz"
47 changes: 47 additions & 0 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
# *******************************************************************************
# Copyright (c) 2026 Contributors to the Eclipse Foundation
#
# See the NOTICE file(s) distributed with this work for additional
# information regarding copyright ownership.
#
# This program and the accompanying materials are made available under the
# terms of the Apache License Version 2.0 which is available at
# https://www.apache.org/licenses/LICENSE-2.0
#
# SPDX-License-Identifier: Apache-2.0
# *******************************************************************************

name: Build & Test
on:
pull_request:
types: [opened, reopened, synchronize]
push:
branches:
- main
merge_group:
types: [checks_requested]
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v4.2.2
- name: Setup Bazel
uses: bazel-contrib/setup-bazel@0.18.0
with:
# Avoid downloading Bazel every time.
bazelisk-cache: true
# Store build cache per workflow.
disk-cache: ${{ github.workflow }}
# Share repository cache between workflows.
repository-cache: true
- name: Install dependencies
run: |
sudo apt-get update
sudo apt-get install -y libpcap-dev
- name: Bazel build
run: |
bazel build //...
- name: Bazel test
run: |
bazel test //src/...
14 changes: 9 additions & 5 deletions .github/workflows/copyright.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,11 +12,15 @@
# *******************************************************************************

name: Copyright checks
on:
pull_request:
types: [opened, reopened, synchronize]
merge_group:
types: [checks_requested]

# TODO: Reenable after pitch
on: workflow_dispatch
# on:
# pull_request:
# types: [opened, reopened, synchronize]
# merge_group:
# types: [checks_requested]

jobs:
copyright-check:
uses: eclipse-score/cicd-workflows/.github/workflows/copyright.yml@main
Expand Down
97 changes: 97 additions & 0 deletions .github/workflows/coverage_report.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,97 @@
# *******************************************************************************
# Copyright (c) 2026 Contributors to the Eclipse Foundation
#
# See the NOTICE file(s) distributed with this work for additional
# information regarding copyright ownership.
#
# This program and the accompanying materials are made available under the
# terms of the Apache License Version 2.0 which is available at
# https://www.apache.org/licenses/LICENSE-2.0
#
# SPDX-License-Identifier: Apache-2.0
#
# *******************************************************************************

name: Coverage Report

on:
# Runs on every pull request regardless of path changes
pull_request:
# Allows manual triggering for testing without inputs
workflow_dispatch:

jobs:
coverage-report:
runs-on: ubuntu-22.04
permissions:
contents: read # Changed from write, as we no longer upload to Releases

steps:
- name: Checkout Repository
uses: actions/checkout@v4.2.2

- name: Free Disk Space (Ubuntu)
uses: ./.github/actions/free_disk_space

- name: Install lcov
run: |
sudo apt-get update
sudo apt-get install -y lcov

- name: Setup Bazel with shared caching
uses: bazel-contrib/setup-bazel@0.15.0
with:
bazelisk-cache: true
disk-cache: ${{ github.workflow }}
repository-cache: true

- name: Run Unit Test with Coverage for C++
run: |
# Note: Unit tests are not yet fully migrated to bazel from cmake
bazel coverage //src/... --build_tests_only

- name: Collect Bazel Test Logs
if: always()
run: |
mkdir -p failed_test_logs

# Check if logs directory exists to avoid script errors
if [ -d "bazel-testlogs" ]; then
echo "Collecting test.log and test.xml files..."
find bazel-testlogs/ -name 'test.log' -print0 | xargs -0 -I{} cp --parents {} failed_test_logs/
else
echo "bazel-testlogs directory not found. Build might have failed before tests ran."
fi
shell: bash

- name: Upload Test Logs Artifact
if: always() # RUNS EVEN IF TESTS FAIL
uses: actions/upload-artifact@v4
with:
name: bazel-test-logs
path: failed_test_logs/
retention-days: 2


- name: Generate HTML Coverage Report
run: |
OUTPUT_PATH=$(bazel info output_path)
if [ -f "${OUTPUT_PATH}/_coverage/_coverage_report.dat" ]; then
genhtml "${OUTPUT_PATH}/_coverage/_coverage_report.dat" \
-o=cpp_coverage \
--show-details \
--legend \
--function-coverage \
--branch-coverage
else
echo "Cannot run test coverage report generation as no coverage data file found."
fi
shell: bash

# It will be available for download in the Actions "Summary" tab
# Note: upload-artifact automatically creates a zip file, so we don't need to zip manually
- name: Upload Coverage Artifacts
uses: actions/upload-artifact@v4
with:
name: ${{ github.event.repository.name }}_coverage_report
path: cpp_coverage/
8 changes: 5 additions & 3 deletions .github/workflows/docs-cleanup.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,9 +18,11 @@ permissions:
pages: write
id-token: write

on:
schedule:
- cron: '0 0 * * *' # Runs every day at midnight UTC
# TODO: Reenable after pitch
on: workflow_dispatch
# on:
# schedule:
# - cron: '0 0 * * *' # Runs every day at midnight UTC

jobs:
docs-cleanup:
Expand Down
18 changes: 10 additions & 8 deletions .github/workflows/docs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,14 +19,16 @@ permissions:
pull-requests: write
id-token: write

on:
pull_request_target:
types: [opened, reopened, synchronize] # Allows forks to trigger the docs build
push:
branches:
- main
merge_group:
types: [checks_requested]
# TODO: Reenable after pitch
# on:
on: workflow_dispatch
# pull_request_target:
# types: [opened, reopened, synchronize] # Allows forks to trigger the docs build
# push:
# branches:
# - main
# merge_group:
# types: [checks_requested]

jobs:
build-docs:
Expand Down
12 changes: 7 additions & 5 deletions .github/workflows/format.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,11 +13,13 @@

name: Formatting checks

on:
pull_request:
types: [opened, reopened, synchronize]
merge_group:
types: [checks_requested]
# TODO: Reenable after pitch
on: workflow_dispatch
# on:
# pull_request:
# types: [opened, reopened, synchronize]
# merge_group:
# types: [checks_requested]

jobs:
formatting-check:
Expand Down
18 changes: 7 additions & 11 deletions BUILD
Original file line number Diff line number Diff line change
Expand Up @@ -15,11 +15,6 @@ load("@score_docs_as_code//:docs.bzl", "docs")
load("@score_tooling//:defs.bzl", "copyright_checker", "dash_license_checker", "setup_starpls", "use_format_targets")
load("//:project_config.bzl", "PROJECT_CONFIG")

setup_starpls(
name = "starpls_server",
visibility = ["//visibility:public"],
)

copyright_checker(
name = "copyright",
srcs = [
Expand All @@ -33,12 +28,13 @@ copyright_checker(
visibility = ["//visibility:public"],
)

dash_license_checker(
src = "//examples:cargo_lock",
file_type = "", # let it auto-detect based on project_config
project_config = PROJECT_CONFIG,
visibility = ["//visibility:public"],
)
# TODO: C++ project is unsupported by dash_license_checker for now
# dash_license_checker(
# src = "//examples:cargo_lock",
# file_type = "", # let it auto-detect based on project_config
# project_config = PROJECT_CONFIG,
# visibility = ["//visibility:public"],
# )

# Add target for formatting checks
use_format_targets()
Expand Down
6 changes: 3 additions & 3 deletions CONTRIBUTION.md
Original file line number Diff line number Diff line change
Expand Up @@ -23,13 +23,13 @@ In case you want to fix a bug or contribute an improvement, please perform the f
1) Create a PR by using the corresponding template ([Bugfix PR template](.github/PULL_REQUEST_TEMPLATE/bug_fix.md) or [Improvement PR template](.github/PULL_REQUEST_TEMPLATE/improvement.md)). Please mark your PR as draft until it's ready for review by the Committers (see the [Eclipse Foundation Project Handbook](https://www.eclipse.org/projects/handbook/#contributing-committers) for more information on the role definitions). Improvements are requested by the definition or modification of [Stakeholder Requirements](docs/stakeholder_requirements) or [Tool Requirements](docs/tool_requirements) and may be implemented after acceptance/merge of the request by a second Improvement PR. The needed reviews are automatically triggered via the [CODEOWNERS](.github/CODEOWNERS) file in the repository.
2) Initiate content review by opening a corresponding issue for the PR when it is ready for review. Review of the PR and final merge into the project repository is in responsibility of the Committers. Use the [Bugfix Issue template](.github/ISSUE_TEMPLATE/bug_fix.md) or [Improvement Issue template](.github/ISSUE_TEMPLATE/improvement.md) for this.

Please check here for our Git Commit Rules in the [Configuration_Tool_Guidelines](https://eclipse-score.github.io/score/process_description/guidelines/index.html).
Please check here for our Git Commit Rules in the [Git_Guidelines](https://eclipse-score.github.io/score/main/contribute/general/git.html).

Please use the [Stakeholder and Tool Requirements Template](https://eclipse-score.github.io/score/process_description/templates/index.html) when defining these requirements.
Please use the [Stakeholder and Tool Requirements Template](https://eclipse-score.github.io/process_description/main/process_areas/requirements_engineering/guidance/requirements_templates.html) when defining these requirements.

![Contribution guide workflow](./docs/_assets/contribution_guide.svg "Contribution guide workflow")

#### Additional Information
Please note, that all Git commit messages must adhere the rules described in the [Eclipse Foundation Project Handbook](https://www.eclipse.org/projects/handbook/#resources-commit).

Please find process descriptions here: [process description](https://eclipse-score.github.io/score/process_description/).
Please find process descriptions here: [process description](https://eclipse-score.github.io/process_description/).
Loading
Loading