Skip to content

Conversation

@RSingh1511
Copy link
Contributor

@RSingh1511 RSingh1511 commented Jan 16, 2026

  • 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

Notes for Reviewer

Pre-Review Checklist for the PR Author

  • PR title is short, expressive and meaningful
  • Commits are properly organized
  • Relevant issues are linked in the References section
  • Tests are conducted
  • Unit tests are added

Checklist for the PR Reviewer

  • Commits are properly organized and messages are according to the guideline
  • Unit tests have been written for new behavior
  • Public API is documented
  • PR title describes the changes

Post-review Checklist for the PR Author

  • All open points are addressed and tracked via issues

References

Closes #

@github-actions
Copy link

github-actions bot commented Jan 16, 2026

License Check Results

🚀 The license check job ran with the Bazel command:

bazel run //:license-check

Status: ⚠️ Needs Review

Click to expand output
[License Check Output]
Extracting Bazel installation...
Starting local Bazel server (8.3.0) and connecting to it...
INFO: Invocation ID: 84363826-7f7b-40c7-9975-bf98e8dac791
Computing main repo mapping: 
Computing main repo mapping: 
Computing main repo mapping: 
Computing main repo mapping: 
Computing main repo mapping: 
WARNING: For repository 'rules_python', the root module requires module version rules_python@1.4.1, but got rules_python@1.5.1 in the resolved dependency graph. Please update the version in your MODULE.bazel or set --check_direct_dependencies=off
WARNING: For repository 'bazel_skylib', the root module requires module version bazel_skylib@1.7.1, but got bazel_skylib@1.8.1 in the resolved dependency graph. Please update the version in your MODULE.bazel or set --check_direct_dependencies=off
WARNING: For repository 'rules_cc', the root module requires module version rules_cc@0.1.1, but got rules_cc@0.2.8 in the resolved dependency graph. Please update the version in your MODULE.bazel or set --check_direct_dependencies=off
WARNING: For repository 'aspect_rules_lint', the root module requires module version aspect_rules_lint@1.0.3, but got aspect_rules_lint@1.10.2 in the resolved dependency graph. Please update the version in your MODULE.bazel or set --check_direct_dependencies=off
WARNING: For repository 'buildifier_prebuilt', the root module requires module version buildifier_prebuilt@7.3.1, but got buildifier_prebuilt@8.2.0.2 in the resolved dependency graph. Please update the version in your MODULE.bazel or set --check_direct_dependencies=off
WARNING: For repository 'googletest', the root module requires module version googletest@1.17.0.bcr.1, but got googletest@1.17.0.bcr.2 in the resolved dependency graph. Please update the version in your MODULE.bazel or set --check_direct_dependencies=off
Computing main repo mapping: 
Loading: 
Loading: 4 packages loaded
Loading: 4 packages loaded
    currently loading: 
WARNING: Target pattern parsing failed.
ERROR: Skipping '//:license-check': no such target '//:license-check': target 'license-check' not declared in package '' defined by /home/runner/work/logging/logging/BUILD
ERROR: no such target '//:license-check': target 'license-check' not declared in package '' defined by /home/runner/work/logging/logging/BUILD
INFO: Elapsed time: 9.984s
INFO: 0 processes.
ERROR: Build did NOT complete successfully
ERROR: Build failed. Not running target

@github-actions
Copy link

The created documentation from the pull request is available at: docu-html

Copy link
Contributor

@rmaddikery rmaddikery left a comment

Choose a reason for hiding this comment

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

Why is scripts/internal/qnx_creds.py an empty file?

Copy link
Contributor

@pawelrutkaq pawelrutkaq left a comment

Choose a reason for hiding this comment

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

please add qnx builds jobs from reusable workflows in score.

MODULE.bazel Outdated
use_repo(toolchains_qnx, "toolchains_qnx_qcc")
use_repo(toolchains_qnx, "toolchains_qnx_ifs")

register_toolchains("@toolchains_qnx_qcc//:qcc_x86_64")
Copy link
Contributor

Choose a reason for hiding this comment

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

shall never be registered

@RSingh1511
Copy link
Contributor Author

Why is scripts/internal/qnx_creds.py an empty file?

just change the permission of qnx_cred file. Yes, it’s needed: qnx_creds.py must be executable so Bazel can run it as --credential_helper during the QNX SDP fetch from qnx.com otherwise downloads fail

@RSingh1511 RSingh1511 temporarily deployed to workflow-approval January 16, 2026 10:00 — with GitHub Actions Inactive
@rmaddikery
Copy link
Contributor

please add qnx builds jobs from reusable workflows in score.

@Rahul-Sutariya
Here's an example: https://github.com/eclipse-score/communication/blob/main/.github/workflows/build_and_test_qnx.yml
Another example PR that setup a workflow using gcc toolchain:
#7

@pawelrutkaq
Copy link
Contributor

pawelrutkaq commented Jan 16, 2026

please add qnx builds jobs from reusable workflows in score.

@Rahul-Sutariya Here's an example: https://github.com/eclipse-score/communication/blob/main/.github/workflows/build_and_test_qnx.yml Another example PR that setup a workflow using gcc toolchain: #7

We shall sue reusable workflows. https://github.com/eclipse-score/cicd-workflows
You can look into usage at https://github.com/eclipse-score/baselibs_rust

@pawelrutkaq
Copy link
Contributor

Btw this has to go along with new rust toolchain for toolchain_rust .0.3.0 if you want to add x86_64 QNX

@RSingh1511
Copy link
Contributor Author

please add qnx builds jobs from reusable workflows in score.

@Rahul-Sutariya Here's an example: https://github.com/eclipse-score/communication/blob/main/.github/workflows/build_and_test_qnx.yml Another example PR that setup a workflow using gcc toolchain: #7

We shall sue reusable workflows. https://github.com/eclipse-score/cicd-workflows You can look into usage at https://github.com/eclipse-score/baselibs_rust

Done: Added QNX builds using reusable workflows from eclipse-score/cicd-workflows. Both x86_64 and arm64 jobs are included

FScholPer
FScholPer previously approved these changes Jan 20, 2026
Copy link
Contributor

@rmaddikery rmaddikery left a comment

Choose a reason for hiding this comment

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

CI QNX8 Build job confirms build with qnx8 toolchain integration:
https://github.com/eclipse-score/logging/actions/runs/21205455825/job/61000746490?pr=27

FScholPer
FScholPer previously approved these changes Jan 23, 2026
- 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
- Add common:qnx base config to eliminate duplication.
- Set qnx_creds.py as executable for credential helper

Issue: SWP-235282
- Add QNX build configs and CI workflow using reusable workflows
- Add copyright header to QNX CI workflow file
Configure QNX toolchains for x86_64 and arm64 platforms with
S-CORE reusable workflows. Enable Rust support for arm64-qnx.
Copy link
Contributor

@pawelrutkaq pawelrutkaq left a comment

Choose a reason for hiding this comment

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

I am pretty sur it does not work at all. Ie:

pawel@pawel-VirtualBox ~/qorix/repos/logging (pr-27) $ bazel build --config x86_64-qnx //...
WARNING: For repository 'rules_python', the root module requires module version rules_python@1.4.1, but got rules_python@1.5.1 in the resolved dependency graph. Please update the version in your MODULE.bazel or set --check_direct_dependencies=off
WARNING: For repository 'bazel_skylib', the root module requires module version bazel_skylib@1.7.1, but got bazel_skylib@1.8.1 in the resolved dependency graph. Please update the version in your MODULE.bazel or set --check_direct_dependencies=off
WARNING: For repository 'rules_cc', the root module requires module version rules_cc@0.1.1, but got rules_cc@0.2.8 in the resolved dependency graph. Please update the version in your MODULE.bazel or set --check_direct_dependencies=off
WARNING: For repository 'aspect_rules_lint', the root module requires module version aspect_rules_lint@1.0.3, but got aspect_rules_lint@1.10.2 in the resolved dependency graph. Please update the version in your MODULE.bazel or set --check_direct_dependencies=off
WARNING: For repository 'buildifier_prebuilt', the root module requires module version buildifier_prebuilt@7.3.1, but got buildifier_prebuilt@8.2.0.2 in the resolved dependency graph. Please update the version in your MODULE.bazel or set --check_direct_dependencies=off
WARNING: For repository 'googletest', the root module requires module version googletest@1.17.0.bcr.1, but got googletest@1.17.0.bcr.2 in the resolved dependency graph. Please update the version in your MODULE.bazel or set --check_direct_dependencies=off
ERROR: /home/pawel/qorix/repos/logging/BUILD:48:5: While resolving toolchains for target //:ide_support (05966f3): No matching toolchains found for types:
  @@bazel_tools//tools/python:toolchain_type
To debug, rerun with --toolchain_resolution_debug='@@bazel_tools//tools/python:toolchain_type'
For more information on platforms or toolchains see https://bazel.build/concepts/platforms-intro.
Use --verbose_failures to see the command lines of failed build steps.
ERROR: Analysis of target '//:ide_support' failed; build aborted
INFO: Elapsed time: 0.983s, Critical Path: 0.05s
INFO: 2 processes: 2 internal.

What's more I don't see usage feroceen toolchain, old one does not support x86-64 QNX. Did you tried to run it locally, if yes can you give me commend to recheck ? The CI does not run your changes at all until they are not merged to master

@@ -0,0 +1,49 @@
# *******************************************************************************
Copy link
Contributor

Choose a reason for hiding this comment

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

Also please do not add new file for QNX8 build, please override old one or clean up.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Done

- Upgrade to score_toolchains_rust@0.4.0 for x86_64 QNX Rust support
- Update workflow to build both x86_64 and arm64 QNX
- Exclude Python targets from QNX builds
@RSingh1511
Copy link
Contributor Author

I am pretty sur it does not work at all. Ie:

pawel@pawel-VirtualBox ~/qorix/repos/logging (pr-27) $ bazel build --config x86_64-qnx //...
WARNING: For repository 'rules_python', the root module requires module version rules_python@1.4.1, but got rules_python@1.5.1 in the resolved dependency graph. Please update the version in your MODULE.bazel or set --check_direct_dependencies=off
WARNING: For repository 'bazel_skylib', the root module requires module version bazel_skylib@1.7.1, but got bazel_skylib@1.8.1 in the resolved dependency graph. Please update the version in your MODULE.bazel or set --check_direct_dependencies=off
WARNING: For repository 'rules_cc', the root module requires module version rules_cc@0.1.1, but got rules_cc@0.2.8 in the resolved dependency graph. Please update the version in your MODULE.bazel or set --check_direct_dependencies=off
WARNING: For repository 'aspect_rules_lint', the root module requires module version aspect_rules_lint@1.0.3, but got aspect_rules_lint@1.10.2 in the resolved dependency graph. Please update the version in your MODULE.bazel or set --check_direct_dependencies=off
WARNING: For repository 'buildifier_prebuilt', the root module requires module version buildifier_prebuilt@7.3.1, but got buildifier_prebuilt@8.2.0.2 in the resolved dependency graph. Please update the version in your MODULE.bazel or set --check_direct_dependencies=off
WARNING: For repository 'googletest', the root module requires module version googletest@1.17.0.bcr.1, but got googletest@1.17.0.bcr.2 in the resolved dependency graph. Please update the version in your MODULE.bazel or set --check_direct_dependencies=off
ERROR: /home/pawel/qorix/repos/logging/BUILD:48:5: While resolving toolchains for target //:ide_support (05966f3): No matching toolchains found for types:
  @@bazel_tools//tools/python:toolchain_type
To debug, rerun with --toolchain_resolution_debug='@@bazel_tools//tools/python:toolchain_type'
For more information on platforms or toolchains see https://bazel.build/concepts/platforms-intro.
Use --verbose_failures to see the command lines of failed build steps.
ERROR: Analysis of target '//:ide_support' failed; build aborted
INFO: Elapsed time: 0.983s, Critical Path: 0.05s
INFO: 2 processes: 2 internal.

What's more I don't see usage feroceen toolchain, old one does not support x86-64 QNX. Did you tried to run it locally, if yes can you give me commend to recheck ? The CI does not run your changes at all until they are not merged to master

Thanks for the review. I addressed the //:ide_support Python toolchain failure by excluding //:ide_support, //:starpls_server, and //:docs (same in CI). I also updated the Rust toolchain to the Ferrocene-based version that supports x86_64 QNX and configured it via .bazelrc --extra_toolchains.
I tested locally with:
bazel build --config=x86_64-qnx //... -//:ide_support -//:starpls_server -//:docs
and similarly for arm64. The extra workflow file was removed and changes are in build_qnx8.yml only.

@pawelrutkaq
Copy link
Contributor

I am pretty sur it does not work at all. Ie:

pawel@pawel-VirtualBox ~/qorix/repos/logging (pr-27) $ bazel build --config x86_64-qnx //...
WARNING: For repository 'rules_python', the root module requires module version rules_python@1.4.1, but got rules_python@1.5.1 in the resolved dependency graph. Please update the version in your MODULE.bazel or set --check_direct_dependencies=off
WARNING: For repository 'bazel_skylib', the root module requires module version bazel_skylib@1.7.1, but got bazel_skylib@1.8.1 in the resolved dependency graph. Please update the version in your MODULE.bazel or set --check_direct_dependencies=off
WARNING: For repository 'rules_cc', the root module requires module version rules_cc@0.1.1, but got rules_cc@0.2.8 in the resolved dependency graph. Please update the version in your MODULE.bazel or set --check_direct_dependencies=off
WARNING: For repository 'aspect_rules_lint', the root module requires module version aspect_rules_lint@1.0.3, but got aspect_rules_lint@1.10.2 in the resolved dependency graph. Please update the version in your MODULE.bazel or set --check_direct_dependencies=off
WARNING: For repository 'buildifier_prebuilt', the root module requires module version buildifier_prebuilt@7.3.1, but got buildifier_prebuilt@8.2.0.2 in the resolved dependency graph. Please update the version in your MODULE.bazel or set --check_direct_dependencies=off
WARNING: For repository 'googletest', the root module requires module version googletest@1.17.0.bcr.1, but got googletest@1.17.0.bcr.2 in the resolved dependency graph. Please update the version in your MODULE.bazel or set --check_direct_dependencies=off
ERROR: /home/pawel/qorix/repos/logging/BUILD:48:5: While resolving toolchains for target //:ide_support (05966f3): No matching toolchains found for types:
  @@bazel_tools//tools/python:toolchain_type
To debug, rerun with --toolchain_resolution_debug='@@bazel_tools//tools/python:toolchain_type'
For more information on platforms or toolchains see https://bazel.build/concepts/platforms-intro.
Use --verbose_failures to see the command lines of failed build steps.
ERROR: Analysis of target '//:ide_support' failed; build aborted
INFO: Elapsed time: 0.983s, Critical Path: 0.05s
INFO: 2 processes: 2 internal.

What's more I don't see usage feroceen toolchain, old one does not support x86-64 QNX. Did you tried to run it locally, if yes can you give me commend to recheck ? The CI does not run your changes at all until they are not merged to master

Thanks for the review. I addressed the //:ide_support Python toolchain failure by excluding //:ide_support, //:starpls_server, and //:docs (same in CI). I also updated the Rust toolchain to the Ferrocene-based version that supports x86_64 QNX and configured it via .bazelrc --extra_toolchains. I tested locally with: bazel build --config=x86_64-qnx //... -//:ide_support -//:starpls_server -//:docs and similarly for arm64. The extra workflow file was removed and changes are in build_qnx8.yml only.

We shall make bazel build --config=x86_64-qnx //... working. I think the problem is that you are missing dev_dep toolchain registration for python tooling like here https://github.com/eclipse-score/baselibs_rust/blob/main/MODULE.bazel#L93

@RSingh1511
Copy link
Contributor Author

I am pretty sur it does not work at all. Ie:

pawel@pawel-VirtualBox ~/qorix/repos/logging (pr-27) $ bazel build --config x86_64-qnx //...
WARNING: For repository 'rules_python', the root module requires module version rules_python@1.4.1, but got rules_python@1.5.1 in the resolved dependency graph. Please update the version in your MODULE.bazel or set --check_direct_dependencies=off
WARNING: For repository 'bazel_skylib', the root module requires module version bazel_skylib@1.7.1, but got bazel_skylib@1.8.1 in the resolved dependency graph. Please update the version in your MODULE.bazel or set --check_direct_dependencies=off
WARNING: For repository 'rules_cc', the root module requires module version rules_cc@0.1.1, but got rules_cc@0.2.8 in the resolved dependency graph. Please update the version in your MODULE.bazel or set --check_direct_dependencies=off
WARNING: For repository 'aspect_rules_lint', the root module requires module version aspect_rules_lint@1.0.3, but got aspect_rules_lint@1.10.2 in the resolved dependency graph. Please update the version in your MODULE.bazel or set --check_direct_dependencies=off
WARNING: For repository 'buildifier_prebuilt', the root module requires module version buildifier_prebuilt@7.3.1, but got buildifier_prebuilt@8.2.0.2 in the resolved dependency graph. Please update the version in your MODULE.bazel or set --check_direct_dependencies=off
WARNING: For repository 'googletest', the root module requires module version googletest@1.17.0.bcr.1, but got googletest@1.17.0.bcr.2 in the resolved dependency graph. Please update the version in your MODULE.bazel or set --check_direct_dependencies=off
ERROR: /home/pawel/qorix/repos/logging/BUILD:48:5: While resolving toolchains for target //:ide_support (05966f3): No matching toolchains found for types:
  @@bazel_tools//tools/python:toolchain_type
To debug, rerun with --toolchain_resolution_debug='@@bazel_tools//tools/python:toolchain_type'
For more information on platforms or toolchains see https://bazel.build/concepts/platforms-intro.
Use --verbose_failures to see the command lines of failed build steps.
ERROR: Analysis of target '//:ide_support' failed; build aborted
INFO: Elapsed time: 0.983s, Critical Path: 0.05s
INFO: 2 processes: 2 internal.

What's more I don't see usage feroceen toolchain, old one does not support x86-64 QNX. Did you tried to run it locally, if yes can you give me commend to recheck ? The CI does not run your changes at all until they are not merged to master

Thanks for the review. I addressed the //:ide_support Python toolchain failure by excluding //:ide_support, //:starpls_server, and //:docs (same in CI). I also updated the Rust toolchain to the Ferrocene-based version that supports x86_64 QNX and configured it via .bazelrc --extra_toolchains. I tested locally with: bazel build --config=x86_64-qnx //... -//:ide_support -//:starpls_server -//:docs and similarly for arm64. The extra workflow file was removed and changes are in build_qnx8.yml only.

We shall make bazel build --config=x86_64-qnx //... working. I think the problem is that you are missing dev_dep toolchain registration for python tooling like here https://github.com/eclipse-score/baselibs_rust/blob/main/MODULE.bazel#L93

Thanks for the reference. I've verified our Python toolchain registration already matches baselibs_rust exactly (MODULE.bazel lines 80-85 with dev_dependency = True).
Regarding bazel build --config=x86_64-qnx . - I checked how baselibs_rust handles this, and they use the same approach we have: their QNX CI builds scope to production code only (//src/...), not (//...)

@RSingh1511
Copy link
Contributor Author

I am pretty sur it does not work at all. Ie:

pawel@pawel-VirtualBox ~/qorix/repos/logging (pr-27) $ bazel build --config x86_64-qnx //...
WARNING: For repository 'rules_python', the root module requires module version rules_python@1.4.1, but got rules_python@1.5.1 in the resolved dependency graph. Please update the version in your MODULE.bazel or set --check_direct_dependencies=off
WARNING: For repository 'bazel_skylib', the root module requires module version bazel_skylib@1.7.1, but got bazel_skylib@1.8.1 in the resolved dependency graph. Please update the version in your MODULE.bazel or set --check_direct_dependencies=off
WARNING: For repository 'rules_cc', the root module requires module version rules_cc@0.1.1, but got rules_cc@0.2.8 in the resolved dependency graph. Please update the version in your MODULE.bazel or set --check_direct_dependencies=off
WARNING: For repository 'aspect_rules_lint', the root module requires module version aspect_rules_lint@1.0.3, but got aspect_rules_lint@1.10.2 in the resolved dependency graph. Please update the version in your MODULE.bazel or set --check_direct_dependencies=off
WARNING: For repository 'buildifier_prebuilt', the root module requires module version buildifier_prebuilt@7.3.1, but got buildifier_prebuilt@8.2.0.2 in the resolved dependency graph. Please update the version in your MODULE.bazel or set --check_direct_dependencies=off
WARNING: For repository 'googletest', the root module requires module version googletest@1.17.0.bcr.1, but got googletest@1.17.0.bcr.2 in the resolved dependency graph. Please update the version in your MODULE.bazel or set --check_direct_dependencies=off
ERROR: /home/pawel/qorix/repos/logging/BUILD:48:5: While resolving toolchains for target //:ide_support (05966f3): No matching toolchains found for types:
  @@bazel_tools//tools/python:toolchain_type
To debug, rerun with --toolchain_resolution_debug='@@bazel_tools//tools/python:toolchain_type'
For more information on platforms or toolchains see https://bazel.build/concepts/platforms-intro.
Use --verbose_failures to see the command lines of failed build steps.
ERROR: Analysis of target '//:ide_support' failed; build aborted
INFO: Elapsed time: 0.983s, Critical Path: 0.05s
INFO: 2 processes: 2 internal.

What's more I don't see usage feroceen toolchain, old one does not support x86-64 QNX. Did you tried to run it locally, if yes can you give me commend to recheck ? The CI does not run your changes at all until they are not merged to master

Thanks for the review. I addressed the //:ide_support Python toolchain failure by excluding //:ide_support, //:starpls_server, and //:docs (same in CI). I also updated the Rust toolchain to the Ferrocene-based version that supports x86_64 QNX and configured it via .bazelrc --extra_toolchains. I tested locally with: bazel build --config=x86_64-qnx //... -//:ide_support -//:starpls_server -//:docs and similarly for arm64. The extra workflow file was removed and changes are in build_qnx8.yml only.

We shall make bazel build --config=x86_64-qnx //... working. I think the problem is that you are missing dev_dep toolchain registration for python tooling like here https://github.com/eclipse-score/baselibs_rust/blob/main/MODULE.bazel#L93

Thanks for the reference. I've verified our Python toolchain registration already matches baselibs_rust exactly (MODULE.bazel lines 80-85 with dev_dependency = True). Regarding bazel build --config=x86_64-qnx . - I checked how baselibs_rust handles this, and they use the same approach we have: their QNX CI builds scope to production code only (//src/...), not (//...)

See: https://github.com/eclipse-score/baselibs_rust/blob/main/.github/workflows/qnx.yml#L12

bazel-target: '//src/...'
This is because root-level dev tools (:docs, :copyright, :starpls_server) are generated by macros that don't support target_compatible_with, so they can't be marked QNX-incompatible.

@RSingh1511 RSingh1511 temporarily deployed to workflow-approval January 27, 2026 10:04 — with GitHub Actions Inactive
@RSingh1511 RSingh1511 temporarily deployed to workflow-approval January 27, 2026 14:30 — with GitHub Actions Inactive
@pawelrutkaq
Copy link
Contributor

pawelrutkaq commented Jan 28, 2026

I am pretty sur it does not work at all. Ie:

pawel@pawel-VirtualBox ~/qorix/repos/logging (pr-27) $ bazel build --config x86_64-qnx //...
WARNING: For repository 'rules_python', the root module requires module version rules_python@1.4.1, but got rules_python@1.5.1 in the resolved dependency graph. Please update the version in your MODULE.bazel or set --check_direct_dependencies=off
WARNING: For repository 'bazel_skylib', the root module requires module version bazel_skylib@1.7.1, but got bazel_skylib@1.8.1 in the resolved dependency graph. Please update the version in your MODULE.bazel or set --check_direct_dependencies=off
WARNING: For repository 'rules_cc', the root module requires module version rules_cc@0.1.1, but got rules_cc@0.2.8 in the resolved dependency graph. Please update the version in your MODULE.bazel or set --check_direct_dependencies=off
WARNING: For repository 'aspect_rules_lint', the root module requires module version aspect_rules_lint@1.0.3, but got aspect_rules_lint@1.10.2 in the resolved dependency graph. Please update the version in your MODULE.bazel or set --check_direct_dependencies=off
WARNING: For repository 'buildifier_prebuilt', the root module requires module version buildifier_prebuilt@7.3.1, but got buildifier_prebuilt@8.2.0.2 in the resolved dependency graph. Please update the version in your MODULE.bazel or set --check_direct_dependencies=off
WARNING: For repository 'googletest', the root module requires module version googletest@1.17.0.bcr.1, but got googletest@1.17.0.bcr.2 in the resolved dependency graph. Please update the version in your MODULE.bazel or set --check_direct_dependencies=off
ERROR: /home/pawel/qorix/repos/logging/BUILD:48:5: While resolving toolchains for target //:ide_support (05966f3): No matching toolchains found for types:
  @@bazel_tools//tools/python:toolchain_type
To debug, rerun with --toolchain_resolution_debug='@@bazel_tools//tools/python:toolchain_type'
For more information on platforms or toolchains see https://bazel.build/concepts/platforms-intro.
Use --verbose_failures to see the command lines of failed build steps.
ERROR: Analysis of target '//:ide_support' failed; build aborted
INFO: Elapsed time: 0.983s, Critical Path: 0.05s
INFO: 2 processes: 2 internal.

What's more I don't see usage feroceen toolchain, old one does not support x86-64 QNX. Did you tried to run it locally, if yes can you give me commend to recheck ? The CI does not run your changes at all until they are not merged to master

Thanks for the review. I addressed the //:ide_support Python toolchain failure by excluding //:ide_support, //:starpls_server, and //:docs (same in CI). I also updated the Rust toolchain to the Ferrocene-based version that supports x86_64 QNX and configured it via .bazelrc --extra_toolchains. I tested locally with: bazel build --config=x86_64-qnx //... -//:ide_support -//:starpls_server -//:docs and similarly for arm64. The extra workflow file was removed and changes are in build_qnx8.yml only.

We shall make bazel build --config=x86_64-qnx //... working. I think the problem is that you are missing dev_dep toolchain registration for python tooling like here https://github.com/eclipse-score/baselibs_rust/blob/main/MODULE.bazel#L93

Thanks for the reference. I've verified our Python toolchain registration already matches baselibs_rust exactly (MODULE.bazel lines 80-85 with dev_dependency = True). Regarding bazel build --config=x86_64-qnx . - I checked how baselibs_rust handles this, and they use the same approach we have: their QNX CI builds scope to production code only (//src/...), not (//...)

See: https://github.com/eclipse-score/baselibs_rust/blob/main/.github/workflows/qnx.yml#L12

bazel-target: '//src/...' This is because root-level dev tools (:docs, :copyright, :starpls_server) are generated by macros that don't support target_compatible_with, so they can't be marked QNX-incompatible.

In other repos they work so not really sure why it would not work here ? (is baselib_rust)
EDIT:
Sorry I confused it, but now you also changed the invocation so its okey ;)

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/ferrocene:ferrocene_aarch64_unknown_nto_qnx800

Copy link
Contributor

Choose a reason for hiding this comment

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

we shall clean this up, either we use

common:x86_64-qnx --config=qnx_x86_64
common:arm64-qnx --config=qnx_arm64

or build_qnx8

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants