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
57 changes: 53 additions & 4 deletions .bazelrc
Original file line number Diff line number Diff line change
@@ -1,9 +1,58 @@
build --java_language_version=17
build --tool_java_language_version=17
build --java_runtime_version=remotejdk_17
build --tool_java_runtime_version=remotejdk_17
# *******************************************************************************
# 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
# *******************************************************************************

test --test_output=errors

common --registry=https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/
common --registry=https://bcr.bazel.build
common --@score_logging//score/mw/log/flags:KRemote_Logging=False

build --@score_baselibs//score/json:base_library=nlohmann
build --credential_helper="*.qnx.com=%workspace%/.github/tools/qnx_credential_helper.py"

# -------------------------------------------------------------------------------
# Shared configuration for simple test execution
# -------------------------------------------------------------------------------
build:time_shared --incompatible_strict_action_env
build:time_shared --sandbox_writable_path=/var/tmp
build:time_shared --host_platform=@score_bazel_platforms//:x86_64-linux

# -------------------------------------------------------------------------------
# Config dedicated to host platform CPU:x86_64 and OS:Linux
# -------------------------------------------------------------------------------
build:time-x86_64-linux --config=time_shared
build:time-x86_64-linux --platforms=@score_bazel_platforms//:x86_64-linux-gcc_12.2.0-posix
build:time-x86_64-linux --extra_toolchains=@score_gcc_x86_64_toolchain//:x86_64-linux-gcc_12.2.0-posix
# -------------------------------------------------------------------------------
# Config dedicated to target platform CPU:x86_64 and OS:QNX
# -------------------------------------------------------------------------------
build:time-x86_64-qnx --config=time_shared
build:time-x86_64-qnx --platforms=@score_bazel_platforms//:x86_64-qnx-sdp_8.0.0-posix
build:time-x86_64-qnx --extra_toolchains=@score_qcc_x86_64_toolchain//:x86_64-qnx-sdp_8.0.0-posix

# -------------------------------------------------------------------------------
# Config dedicated to target platform CPU:arm64 and OS:QNX
# -------------------------------------------------------------------------------
build:time-arm64-qnx --config=time_shared
build:time-arm64-qnx --platforms=@score_bazel_platforms//:aarch64-qnx-sdp_8.0.0-posix
build:time-arm64-qnx --extra_toolchains=@score_qcc_aarch64_toolchain//:aarch64-qnx-sdp_8.0.0-posix

# -------------------------------------------------------------------------------
# Import local user workspace file, if exists
# -------------------------------------------------------------------------------
try-import %workspace%/user.bazelrc

# Coverage configuration for C++
coverage --features=coverage
coverage --combined_report=lcov
coverage --cache_test_results=no
48 changes: 48 additions & 0 deletions .clang-format
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think we should centralize that into https://github.com/eclipse-score/score_cpp_policies

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Agree, but it is empty now
I created the issue to fix it. we can jump on it, when it will be available
eclipse-score/score#2678

Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
BasedOnStyle: Google
AccessModifierOffset: -2
AllowAllParametersOfDeclarationOnNextLine: false
AllowShortBlocksOnASingleLine: Empty
AllowShortCaseLabelsOnASingleLine: false
AllowShortEnumsOnASingleLine: false
# Empty is required in AllowShortFunctionsOnASingleLine over Inline because Inline contradicts with AUTOSAR rule A7-1-7
# Such rule is no longer existing in MISRA C++:2023, once we are fully migrated to MISRA C++:2023, switching to Inline
# could be reconsidered
AllowShortFunctionsOnASingleLine: Empty
AllowShortIfStatementsOnASingleLine: Never
AllowShortLambdasOnASingleLine: Empty
AllowShortLoopsOnASingleLine: false
BinPackArguments: false
BinPackParameters: false
BraceWrapping:
AfterCaseLabel: true
AfterClass: true
AfterControlStatement: Always
AfterEnum: true
AfterFunction: true
AfterNamespace: true
AfterObjCDeclaration: true
AfterStruct: true
AfterUnion: true
BeforeCatch: true
BeforeElse: true
IndentBraces: false
BreakBeforeBraces: Custom
ColumnLimit: 120
DerivePointerAlignment: false
IncludeBlocks: Preserve
IncludeCategories:
- Regex: '^(<|")(assert|complex|ctype|errno|fenv|float|inttypes|iso646|limits|locale|math|setjmp|signal|stdalign|stdargh|stdatomic|stdbool|stddef|stdint|stdio|stdlib|stdnoreturn|string|tgmath|threads|time|uchar|wchar|wctype)\.h(>|")$'
Priority: 2
- Regex: '^(<|")(cstdlib|csignal|csetjmp|cstdarg|typeinfo|typeindex|type_traits|bitset|functional|utility|ctime|chrono|cstddef|initializer_list|tuple|any|optional|variant|new|memory|scoped_allocator|memory_resource|climits|cfloat|cstdint|cinttypes|limits|exception|stdexcept|cassert|system_error|cerrno|cctype|cwctype|cstring|cwchar|cuchar|string|string_view|array|vector|deque|list|forward_list|set|map|unordered_set|unordered_map|stack|queue|algorithm|execution|teratorslibrary|iterator|cmath|complex|valarray|random|numeric|ratio|cfenv|iosfwd|ios|istream|ostream|iostream|fstream|sstream|strstream|iomanip|streambuf|cstdio|locale|clocale|codecvt|regex|atomic|thread|mutex|shared_mutex|future|condition_variable|filesystem|ciso646|ccomplex|ctgmath|cstdalign|cstdbool)(>|")$'
Priority: 3
- Regex: '^(<|").*(>|")$'
Priority: 1
IndentWidth: 4
InsertNewlineAtEOF: true
KeepEmptyLinesAtTheStartOfBlocks: true
QualifierAlignment: Left
CommentPragmas: '^.*A2Lfactory:'
---
# Make sure language specific settings are below the generic settings to be compatible to all languages.
Language: Cpp
Standard: c++17
38 changes: 38 additions & 0 deletions .github/workflows/build_linux.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
# *******************************************************************************
# 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: Bazel Build (Linux)
on:
pull_request:
types: [opened, reopened, synchronize]
push:
branches:
- main
merge_group:
types: [checks_requested]
workflow_call:
jobs:
linux-build:
runs-on: ubuntu-latest
steps:
- name: Checkout Repository
uses: actions/checkout@v6
- name: Setup Bazel
uses: bazel-contrib/setup-bazel@0.18.0
with:
bazelisk-cache: true
disk-cache: ${{ github.job }}
repository-cache: true
cache-save: ${{ github.event_name == 'push' }}
- name: Bazel Build
run: |
bazel build --config time-x86_64-linux -- //score/... //examples/...
41 changes: 41 additions & 0 deletions .github/workflows/build_qnx8.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
# *******************************************************************************
# 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: Bazel Build (QNX8)
on:
pull_request_target:
types: [opened, reopened, synchronize]
merge_group:
types: [checks_requested]
push:
branches:
- main
jobs:
qnx-build:
uses: eclipse-score/cicd-workflows/.github/workflows/qnx-build.yml@main
permissions:
contents: read
pull-requests: read
strategy:
matrix:
config: ['time-x86_64-qnx', 'time-arm64-qnx']
with:
bazel-target: '//score/... //examples/...'
bazel-config: ${{ matrix.config }}
credential-helper: 'tools/qnx_credential_helper.py'
environment-name: 'workflow-approval'
bazel-disk-cache: ${{ github.workflow }}-${{ github.job }}-${{ matrix.config }}
secrets:
score-qnx-license: ${{ secrets.SCORE_QNX_LICENSE }}
score-qnx-user: ${{ secrets.SCORE_QNX_USER }}
score-qnx-password: ${{ secrets.SCORE_QNX_PASSWORD }}
34 changes: 34 additions & 0 deletions .github/workflows/code_coverage.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
# *******************************************************************************
# 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: Code Coverage (>85%)
on:
pull_request:
types: [opened, reopened, synchronize]
push:
branches:
- main
merge_group:
types: [checks_requested]
release:
types: [created]

jobs:
code-coverage:
uses: eclipse-score/cicd-workflows/.github/workflows/cpp-coverage.yml@main
with:
bazel-target: "//score/..."
bazel-config: "time-x86_64-linux"
extra-bazel-flags: "--test_output=errors --nocache_test_results"
artifact-name-suffix: "_cpp"
retention-days: 10
min-coverage: 85
42 changes: 42 additions & 0 deletions .github/workflows/comp_tests.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
# *******************************************************************************
# Copyright (c) 2025 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: Component Tests execution (Linux)

permissions:
contents: write
pages: write
pull-requests: write
id-token: write

on:
pull_request:
types: [opened, reopened, synchronize] # Allows forks to trigger the docs build
push:
branches:
- main
merge_group:
types: [checks_requested]
release:
types: [created]

jobs:
run-comp-tests:
uses: eclipse-score/cicd-workflows/.github/workflows/tests.yml@main
permissions:
contents: read
pull-requests: read
with:
bazel-target: 'test --config=time-x86_64-linux //score/...'
upload-name: 'bazel-testlogs'
packages: 'fakechroot'
2 changes: 0 additions & 2 deletions .github/workflows/copyright.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,5 +20,3 @@ on:
jobs:
copyright-check:
uses: eclipse-score/cicd-workflows/.github/workflows/copyright.yml@main
with:
bazel-target: "run //:copyright.check"
2 changes: 1 addition & 1 deletion .github/workflows/docs-cleanup.yml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# *******************************************************************************
# Copyright (c) 2025 Contributors to the Eclipse Foundation
# Copyright (c) 2026 Contributors to the Eclipse Foundation
#
# See the NOTICE file(s) distributed with this work for additional
# information regarding copyright ownership.
Expand Down
14 changes: 11 additions & 3 deletions .github/workflows/docs.yml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# *******************************************************************************
# Copyright (c) 2025 Contributors to the Eclipse Foundation
# Copyright (c) 2026 Contributors to the Eclipse Foundation
#
# See the NOTICE file(s) distributed with this work for additional
# information regarding copyright ownership.
Expand Down Expand Up @@ -29,14 +29,22 @@ on:
types: [checks_requested]

jobs:
build-docs:
docs-verify:
uses: eclipse-score/cicd-workflows/.github/workflows/docs-verify.yml@main
permissions:
pull-requests: write
contents: read
with:
bazel-docs-verify-target: "//:docs_check"

docs-build:
needs: docs-verify
uses: eclipse-score/cicd-workflows/.github/workflows/docs.yml@main
permissions:
contents: write
pages: write
pull-requests: write
id-token: write

with:
# the bazel-target depends on your repo specific docs_targets configuration (e.g. "suffix")
bazel-target: "//:docs -- --github_user=${{ github.repository_owner }} --github_repo=${{ github.event.repository.name }}"
Expand Down
4 changes: 0 additions & 4 deletions .github/workflows/format.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,15 +12,11 @@
# *******************************************************************************

name: Formatting checks

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

jobs:
formatting-check:
uses: eclipse-score/cicd-workflows/.github/workflows/format.yml@main
with:
bazel-target: "test //:format.check" # optional, this is the default
4 changes: 2 additions & 2 deletions .github/workflows/license_check.yml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# *******************************************************************************
# Copyright (c) 2025 Contributors to the Eclipse Foundation
# Copyright (c) 2026 Contributors to the Eclipse Foundation
#
# See the NOTICE file(s) distributed with this work for additional
# information regarding copyright ownership.
Expand All @@ -11,7 +11,7 @@
# SPDX-License-Identifier: Apache-2.0
# *******************************************************************************

name: License check preparation
name: License check
on:
pull_request_target:
types: [opened, reopened, synchronize]
Expand Down
20 changes: 13 additions & 7 deletions BUILD
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# *******************************************************************************
# Copyright (c) 2025 Contributors to the Eclipse Foundation
# Copyright (c) 2026 Contributors to the Eclipse Foundation
#
# See the NOTICE file(s) distributed with this work for additional
# information regarding copyright ownership.
Expand All @@ -20,11 +20,21 @@ setup_starpls(
visibility = ["//visibility:public"],
)

docs(
data = [
"@score_process//:needs_json",
],
source_dir = "docs",
)

copyright_checker(
name = "copyright",
srcs = [
"src",
"tests",
".github",
"docs",
"examples",
"score",
"tools",
"//:BUILD",
"//:MODULE.bazel",
],
Expand All @@ -42,7 +52,3 @@ dash_license_checker(

# Add target for formatting checks
use_format_targets()

docs(
source_dir = "docs",
)
Loading
Loading