From 3650a9ab42f6feae5367e52aa4d62df2b701e7cd Mon Sep 17 00:00:00 2001 From: "rahul.singh" Date: Wed, 14 Jan 2026 11:44:36 +0100 Subject: [PATCH 1/6] QNX Toolchain setup for eclipse-score-logging - Add qnx_x86_64 and qnx_arm64 build configurations in .bazelrc - Register QNX QCC toolchains for x86_64 and aarch64 in MODULE.bazel - Make qnx_creds.py executable for credential helper functionality Issue: SWP-235282 --- .bazelrc | 12 ++++++++++++ MODULE.bazel | 3 +++ scripts/internal/qnx_creds.py | 0 3 files changed, 15 insertions(+) mode change 100644 => 100755 scripts/internal/qnx_creds.py diff --git a/.bazelrc b/.bazelrc index 7796054..e6ec35e 100644 --- a/.bazelrc +++ b/.bazelrc @@ -42,6 +42,18 @@ build:build_qnx8 --extra_toolchains=@score_toolchains_rust//toolchains/aarch64-u build:build_qnx8 --extra_toolchains=@toolchains_qnx_ifs//:ifs_x86_64 build:build_qnx8 --extra_toolchains=@toolchains_qnx_ifs//:ifs_aarch64 +common:qnx_x86_64 --host_platform=@score_bazel_platforms//:x86_64-linux +common:qnx_x86_64 --platforms=@score_bazel_platforms//:x86_64-qnx8_0 +common:qnx_x86_64 --extra_toolchains=@toolchains_qnx_ifs//:ifs_x86_64 +common:qnx_x86_64 --extra_toolchains=@toolchains_qnx_qcc//:qcc_x86_64 +common:qnx_x86_64 --sandbox_writable_path=/var/tmp + +common:qnx_arm64 --host_platform=@score_bazel_platforms//:x86_64-linux +common:qnx_arm64 --platforms=@score_bazel_platforms//:arm64-qnx8_0 +common:qnx_arm64 --extra_toolchains=@toolchains_qnx_ifs//:ifs_aarch64 +common:qnx_arm64 --extra_toolchains=@toolchains_qnx_qcc//:qcc_aarch64 +common:qnx_arm64 --sandbox_writable_path=/var/tmp + common --extra_toolchains=@gcc_toolchain//:host_gcc_12 common --extra_toolchains=@score_toolchains_rust//toolchains/x86_64-unknown-linux-gnu:toolchain_x86_64_linux diff --git a/MODULE.bazel b/MODULE.bazel index f048bc3..70cd1eb 100644 --- a/MODULE.bazel +++ b/MODULE.bazel @@ -103,6 +103,9 @@ use_repo(toolchains_qnx, "toolchains_qnx_sdp") use_repo(toolchains_qnx, "toolchains_qnx_qcc") use_repo(toolchains_qnx, "toolchains_qnx_ifs") +register_toolchains("@toolchains_qnx_qcc//:qcc_x86_64") +register_toolchains("@toolchains_qnx_qcc//:qcc_aarch64") + # C++ dependencies bazel_dep(name = "googletest", version = "1.17.0.bcr.1") diff --git a/scripts/internal/qnx_creds.py b/scripts/internal/qnx_creds.py old mode 100644 new mode 100755 From d0828716cbaf4bae081a14ca0432ff42957fdb36 Mon Sep 17 00:00:00 2001 From: "rahul.singh" Date: Fri, 16 Jan 2026 10:59:52 +0100 Subject: [PATCH 2/6] QNX Toolchain setup for eclipse-score-logging - Add common:qnx base config to eliminate duplication. - Set qnx_creds.py as executable for credential helper Issue: SWP-235282 --- .bazelrc | 12 +++++++----- MODULE.bazel | 3 --- 2 files changed, 7 insertions(+), 8 deletions(-) diff --git a/.bazelrc b/.bazelrc index e6ec35e..7afbfee 100644 --- a/.bazelrc +++ b/.bazelrc @@ -34,7 +34,11 @@ build --experimental_retain_test_configuration_across_testonly #https://github.c common --registry=https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/ common --registry=https://bcr.bazel.build -common --credential_helper=*.qnx.com=%workspace%/scripts/internal/qnx_creds.py + +# Base QNX config (shared flags) +common:qnx --host_platform=@score_bazel_platforms//:x86_64-linux +common:qnx --credential_helper=*.qnx.com=%workspace%/scripts/internal/qnx_creds.py +common:qnx --sandbox_writable_path=/var/tmp build:build_qnx8 --platforms=@score_bazel_platforms//:arm64-qnx8_0 build:build_qnx8 --extra_toolchains=@toolchains_qnx_qcc//:qcc_aarch64 @@ -42,17 +46,15 @@ build:build_qnx8 --extra_toolchains=@score_toolchains_rust//toolchains/aarch64-u build:build_qnx8 --extra_toolchains=@toolchains_qnx_ifs//:ifs_x86_64 build:build_qnx8 --extra_toolchains=@toolchains_qnx_ifs//:ifs_aarch64 -common:qnx_x86_64 --host_platform=@score_bazel_platforms//:x86_64-linux +common:qnx_x86_64 --config=qnx common:qnx_x86_64 --platforms=@score_bazel_platforms//:x86_64-qnx8_0 common:qnx_x86_64 --extra_toolchains=@toolchains_qnx_ifs//:ifs_x86_64 common:qnx_x86_64 --extra_toolchains=@toolchains_qnx_qcc//:qcc_x86_64 -common:qnx_x86_64 --sandbox_writable_path=/var/tmp -common:qnx_arm64 --host_platform=@score_bazel_platforms//:x86_64-linux +common:qnx_arm64 --config=qnx common:qnx_arm64 --platforms=@score_bazel_platforms//:arm64-qnx8_0 common:qnx_arm64 --extra_toolchains=@toolchains_qnx_ifs//:ifs_aarch64 common:qnx_arm64 --extra_toolchains=@toolchains_qnx_qcc//:qcc_aarch64 -common:qnx_arm64 --sandbox_writable_path=/var/tmp common --extra_toolchains=@gcc_toolchain//:host_gcc_12 common --extra_toolchains=@score_toolchains_rust//toolchains/x86_64-unknown-linux-gnu:toolchain_x86_64_linux diff --git a/MODULE.bazel b/MODULE.bazel index 70cd1eb..f048bc3 100644 --- a/MODULE.bazel +++ b/MODULE.bazel @@ -103,9 +103,6 @@ use_repo(toolchains_qnx, "toolchains_qnx_sdp") use_repo(toolchains_qnx, "toolchains_qnx_qcc") use_repo(toolchains_qnx, "toolchains_qnx_ifs") -register_toolchains("@toolchains_qnx_qcc//:qcc_x86_64") -register_toolchains("@toolchains_qnx_qcc//:qcc_aarch64") - # C++ dependencies bazel_dep(name = "googletest", version = "1.17.0.bcr.1") From 0cf6731c08fbaec0c81d1e2be67d7fad0013b2f8 Mon Sep 17 00:00:00 2001 From: "rahul.singh" Date: Mon, 19 Jan 2026 08:11:50 +0100 Subject: [PATCH 3/6] QNX Toolchain setup for eclipse-score-logging - Add QNX build configs and CI workflow using reusable workflows --- .bazelrc | 3 ++ .github/workflows/build_and_test_qnx.yml | 36 ++++++++++++++++++++++++ 2 files changed, 39 insertions(+) create mode 100644 .github/workflows/build_and_test_qnx.yml diff --git a/.bazelrc b/.bazelrc index 7afbfee..e67ed11 100644 --- a/.bazelrc +++ b/.bazelrc @@ -56,6 +56,9 @@ common:qnx_arm64 --platforms=@score_bazel_platforms//:arm64-qnx8_0 common:qnx_arm64 --extra_toolchains=@toolchains_qnx_ifs//:ifs_aarch64 common:qnx_arm64 --extra_toolchains=@toolchains_qnx_qcc//:qcc_aarch64 +common:x86_64-qnx --config=qnx_x86_64 +common:arm64-qnx --config=qnx_arm64 + common --extra_toolchains=@gcc_toolchain//:host_gcc_12 common --extra_toolchains=@score_toolchains_rust//toolchains/x86_64-unknown-linux-gnu:toolchain_x86_64_linux diff --git a/.github/workflows/build_and_test_qnx.yml b/.github/workflows/build_and_test_qnx.yml new file mode 100644 index 0000000..b44a05b --- /dev/null +++ b/.github/workflows/build_and_test_qnx.yml @@ -0,0 +1,36 @@ +name: QNX Build (gated) + +on: + pull_request_target: + types: [opened, reopened, synchronize] + +jobs: + qnx-build-x86_64: + uses: eclipse-score/cicd-workflows/.github/workflows/qnx-build.yml@main + permissions: + contents: read + pull-requests: read + with: + bazel-target: "//..." + bazel-config: "x86_64-qnx" + credential-helper: "scripts/internal/qnx_creds.py" + environment-name: "workflow-approval" + secrets: + score-qnx-license: ${{ secrets.SCORE_QNX_LICENSE }} + score-qnx-user: ${{ secrets.SCORE_QNX_USER }} + score-qnx-password: ${{ secrets.SCORE_QNX_PASSWORD }} + + qnx-build-arm64: + uses: eclipse-score/cicd-workflows/.github/workflows/qnx-build.yml@main + permissions: + contents: read + pull-requests: read + with: + bazel-target: "//..." + bazel-config: "arm64-qnx" + credential-helper: "scripts/internal/qnx_creds.py" + environment-name: "workflow-approval" + secrets: + score-qnx-license: ${{ secrets.SCORE_QNX_LICENSE }} + score-qnx-user: ${{ secrets.SCORE_QNX_USER }} + score-qnx-password: ${{ secrets.SCORE_QNX_PASSWORD }} From de39064865f5d3196b5a32f3f695178397cf1fe5 Mon Sep 17 00:00:00 2001 From: "rahul.singh" Date: Mon, 19 Jan 2026 14:59:05 +0100 Subject: [PATCH 4/6] QNX Toolchain setup for eclipse-score-logging - Add copyright header to QNX CI workflow file --- .github/workflows/build_and_test_qnx.yml | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/.github/workflows/build_and_test_qnx.yml b/.github/workflows/build_and_test_qnx.yml index b44a05b..23bfb48 100644 --- a/.github/workflows/build_and_test_qnx.yml +++ b/.github/workflows/build_and_test_qnx.yml @@ -1,3 +1,16 @@ +# ******************************************************************************* +# 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: QNX Build (gated) on: From 31b179eaa6cc517db66880bdf013f0043c37f550 Mon Sep 17 00:00:00 2001 From: "rahul.singh" Date: Tue, 20 Jan 2026 09:38:43 +0100 Subject: [PATCH 5/6] Add copyright header to QNX workflow file --- .github/workflows/build_and_test_qnx.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build_and_test_qnx.yml b/.github/workflows/build_and_test_qnx.yml index 23bfb48..77653ae 100644 --- a/.github/workflows/build_and_test_qnx.yml +++ b/.github/workflows/build_and_test_qnx.yml @@ -1,5 +1,5 @@ # ******************************************************************************* -# Copyright (c) 2026 Contributors to the Eclipse Foundation +# Copyright (c) 2025 Contributors to the Eclipse Foundation # # See the NOTICE file(s) distributed with this work for additional # information regarding copyright ownership. From 92a3ca382cafd7561dbee608d3c9d8793adb522e Mon Sep 17 00:00:00 2001 From: "rahul.singh" Date: Wed, 21 Jan 2026 09:14:18 +0100 Subject: [PATCH 6/6] Add QNX build support with reusable CI workflows Configure QNX toolchains for x86_64 and arm64 platforms with S-CORE reusable workflows. Enable Rust support for arm64-qnx. --- .bazelrc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.bazelrc b/.bazelrc index e67ed11..3850a2d 100644 --- a/.bazelrc +++ b/.bazelrc @@ -42,9 +42,8 @@ common:qnx --sandbox_writable_path=/var/tmp build:build_qnx8 --platforms=@score_bazel_platforms//:arm64-qnx8_0 build:build_qnx8 --extra_toolchains=@toolchains_qnx_qcc//:qcc_aarch64 -build:build_qnx8 --extra_toolchains=@score_toolchains_rust//toolchains/aarch64-unknown-qnx8_0:toolchain_aarch64_qnx8_0 -build:build_qnx8 --extra_toolchains=@toolchains_qnx_ifs//:ifs_x86_64 build:build_qnx8 --extra_toolchains=@toolchains_qnx_ifs//:ifs_aarch64 +build:build_qnx8 --extra_toolchains=@score_toolchains_rust//toolchains/aarch64-unknown-qnx8_0:toolchain_aarch64_qnx8_0 common:qnx_x86_64 --config=qnx common:qnx_x86_64 --platforms=@score_bazel_platforms//:x86_64-qnx8_0 @@ -55,6 +54,7 @@ common:qnx_arm64 --config=qnx common:qnx_arm64 --platforms=@score_bazel_platforms//:arm64-qnx8_0 common:qnx_arm64 --extra_toolchains=@toolchains_qnx_ifs//:ifs_aarch64 common:qnx_arm64 --extra_toolchains=@toolchains_qnx_qcc//:qcc_aarch64 +common:qnx_arm64 --extra_toolchains=@score_toolchains_rust//toolchains/aarch64-unknown-qnx8_0:toolchain_aarch64_qnx8_0 common:x86_64-qnx --config=qnx_x86_64 common:arm64-qnx --config=qnx_arm64