Skip to content

Qnx doc transition - #939

Merged
LittleHuba merged 2 commits into
mainfrom
qnx-doc-transition
Aug 18, 2026
Merged

Qnx doc transition#939
LittleHuba merged 2 commits into
mainfrom
qnx-doc-transition

Conversation

@castler

@castler castler commented Aug 17, 2026

Copy link
Copy Markdown
Contributor

No description provided.

Comment thread quality/unit_testing/test_on_qnx.bzl Outdated
Comment on lines +18 to +25
"//command_line_option:extra_toolchains": [
"@gcc_toolchain_x86_64//:cc_toolchain",
"@score_toolchains_rust//toolchains/ferrocene:ferrocene_x86_64_unknown_linux_gnu",
"//bazel/toolchains:score_communication_libclang_toolchain",
"@score_qnx_x86_64_ifs_toolchain//:ifs-x86_64-qnx-sdp_8.0.0",
"@score_qcc_x86_64_toolchain//:x86_64-qnx-sdp_8.0.0",
],
"//command_line_option:platforms": "@score_bazel_platforms//:x86_64-qnx-sdp_8.0.0-posix",

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.

This is quite uggly... I understand that there is no better workaround. But we should at least put a warning in the bazelrc that the list there must be kept in sync with this list here.

Having the two lists diverge can lead to interesting problems.

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.

Good catch — this exact duplication is now gone: the QNX toolchains (@score_qnx_x86_64_ifs_toolchain//:ifs-x86_64-qnx-sdp_8.0.0 and @score_qcc_x86_64_toolchain//:x86_64-qnx-sdp_8.0.0) are declared in MODULE.bazel but were previously only registered via .bazelrc. I added a register_toolchains(...) call for them in MODULE.bazel, so the transition no longer needs to list any toolchains at all — it only sets //command_line_option:platforms. That removes the two-lists-must-stay-in-sync problem entirely rather than just warning about it. Pushed as 46ba34d8; verified bazel build //docs/sphinx:sphinx_doc and bazel build --config=qnx_x86_64 //score/message_passing:qnx_dispatch_test (identical resolved config, cache-hit) both still succeed.

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.

Follow-up: you're right that having register_toolchains() in MODULE.bazel alongside the same toolchains still listed via --extra_toolchains in .bazelrc's qnx_x86_64/qnx_arm64 configs just moved the duplication rather than removing it. Removed those four now-redundant --extra_toolchains lines from .bazelrc (the ifs/qcc toolchains for both x86_64 and arm64) and extended register_toolchains() to cover all four, so each toolchain is now declared in exactly one place. The ferrocene toolchain entries stay in .bazelrc since they aren't part of this transition/global-registration scope. Verified bazel build //docs/sphinx:sphinx_doc, --config=qnx_x86_64, and --config=qnx_arm64 all still resolve toolchains correctly. Pushed as 5e2fa67f.

@castler
castler force-pushed the qnx-doc-transition branch 2 times, most recently from 46ba34d to 5e2fa67 Compare August 18, 2026 08:06

visibility(["//..."])

_QNX_PLATFORM = "@score_bazel_platforms//:x86_64-qnx-sdp_8.0.0-posix"

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.

Given that we want to employ arm64 runners in CI at some point in time, will this break qnx_arm64 builds?
Should we do an architecture selection for the correct platform?

@LittleHuba
LittleHuba added this pull request to the merge queue Aug 18, 2026
Merged via the queue into main with commit bf58b34 Aug 18, 2026
12 checks passed
@LittleHuba
LittleHuba deleted the qnx-doc-transition branch August 18, 2026 08:50
@github-project-automation github-project-automation Bot moved this from Backlog to Done in COM - Communication FT Aug 18, 2026
castler and others added 2 commits August 18, 2026 11:06
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Now that the dependable_element references unit_tests through the
test_on_qnx transition, the QNX-only qnx_dispatch_test can be restored
to the suite. The transition ensures the suite is analyzed in QNX config,
satisfying the target_compatible_with constraint.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

2 participants