build(toolchain): integrate S-CORE global toolchain configuration - #503
Open
srinivasugithub wants to merge 14 commits into
Open
srinivasugithub wants to merge 14 commits into
srinivasugithub wants to merge 14 commits into
Conversation
srinivasugithub
requested review from
4og,
antonkri,
arkjedrz,
fbaeuerle and
pawelrutkaq
as code owners
August 24, 2026 05:59
srinivasugithub
requested a deployment
to
workflow-approval
August 24, 2026 05:59 — with
GitHub Actions
Waiting
srinivasugithub
requested a deployment
to
workflow-approval
August 24, 2026 05:59 — with
GitHub Actions
Waiting
srinivasugithub
requested a deployment
to
workflow-approval
August 24, 2026 05:59 — with
GitHub Actions
Waiting
srinivasugithub
requested a deployment
to
workflow-approval
August 24, 2026 05:59 — with
GitHub Actions
Waiting
srinivasugithub
requested a deployment
to
workflow-approval
August 24, 2026 06:47 — with
GitHub Actions
Waiting
srinivasugithub
requested a deployment
to
workflow-approval
August 24, 2026 06:47 — with
GitHub Actions
Waiting
srinivasugithub
requested a deployment
to
workflow-approval
August 24, 2026 06:47 — with
GitHub Actions
Waiting
srinivasugithub
requested a deployment
to
workflow-approval
August 24, 2026 06:47 — with
GitHub Actions
Waiting
Contributor
|
Documentation preview for this pull request is available at: |
srinivasugithub
force-pushed
the
feature/S-CORE_global_toolchain_configuration
branch
from
August 24, 2026 09:23
d83e962 to
f05ead2
Compare
srinivasugithub
requested a deployment
to
workflow-approval
August 24, 2026 09:23 — with
GitHub Actions
Waiting
srinivasugithub
requested a deployment
to
workflow-approval
August 24, 2026 09:23 — with
GitHub Actions
Waiting
srinivasugithub
requested a deployment
to
workflow-approval
August 24, 2026 09:23 — with
GitHub Actions
Waiting
srinivasugithub
requested a deployment
to
workflow-approval
August 24, 2026 09:23 — with
GitHub Actions
Waiting
srinivasugithub
requested a deployment
to
workflow-approval
August 24, 2026 09:32 — with
GitHub Actions
Waiting
srinivasugithub
requested a deployment
to
workflow-approval
August 24, 2026 09:32 — with
GitHub Actions
Waiting
srinivasugithub
requested a deployment
to
workflow-approval
August 24, 2026 09:32 — with
GitHub Actions
Waiting
srinivasugithub
requested a deployment
to
workflow-approval
August 24, 2026 09:32 — with
GitHub Actions
Waiting
Adopts the central S-CORE toolchain configuration from module_template, including `score.bazelrc/score_toolchain.bazelrc` and the central S-CORE toolchain block in `MODULE.bazel`. - Imports `score_toolchain.bazelrc` via `.bazelrc`. - Replaces custom x86_64 target configurations with central ones. - Keeps repository-specific additions (aarch64 tools and configs) separate.
…ation toolchain registration - Marks the `gcc` and `ferrocene` extensions in the parent `MODULE.bazel` with `dev_dependency = True` to prevent downstream workspaces (like `examples/integration`) from transitive resolution crashes. - Registers `build --config=_score_common` globally in `.bazelrc` so that host toolchains are properly configured for generic and cross-compilation builds (e.g., `bl-aarch64-linux`, `docs_check`, `copyright-fix`).
srinivasugithub
force-pushed
the
feature/S-CORE_global_toolchain_configuration
branch
from
August 26, 2026 08:39
cbac4cd to
115aac6
Compare
srinivasugithub
requested a deployment
to
workflow-approval
August 26, 2026 08:39 — with
GitHub Actions
Waiting
srinivasugithub
requested a deployment
to
workflow-approval
August 26, 2026 08:39 — with
GitHub Actions
Waiting
srinivasugithub
requested a deployment
to
workflow-approval
August 26, 2026 08:39 — with
GitHub Actions
Waiting
srinivasugithub
requested a deployment
to
workflow-approval
August 26, 2026 08:39 — with
GitHub Actions
Waiting
…re-autosd-x86_64 config - Regenerates examples/integration/MODULE.bazel.lock against the merged main branch dependencies. - Corrects a copy-paste typo in score.bazelrc/score_toolchain.bazelrc where build:score-autosd-aarch64 was mistakenly used instead of build:score-autosd-x86_64 for registration of the x86_64 AutoSD toolchain and platform.
…te module templates - Update MODULE.bazel to adopt the central S-CORE Toolchains (DO NOT MODIFY) section from module_template. - Prune all redundant repository-specific toolchain additions from MODULE.bazel now that they are natively covered by the central configuration. - Update rules_rust version to 0.68.2-score to utilize local cache and platforms to 1.1.0 to match central transitive requirements. - Overwrite score.bazelrc/score_toolchain.bazelrc with the central, corrected definition from module_template. - Refactor build:bl-aarch64-linux in .bazelrc to inherit the central build:score-linux-aarch64 configuration. - Update MODULE.bazel.lock with correct version mappings and hashes.
Signed-off-by: srinivasugithub <skd1cob@bosch.com>
- Add dev_dependency = True to both the 'gcc' and 'ferrocene' use_extension declarations in root MODULE.bazel. - This prevents downstream workspaces (like examples/integration) from transitively evaluating these extensions, avoiding repository visibility and root-module validation crashes during downstream builds. - Update both root and examples/integration MODULE.bazel.lock files to synchronize the dependency graphs.
- Revert the sdp_version of QNX imagefs toolchains in root MODULE.bazel to "8.0.0". This resolves a mismatch where score_rules_imagefs attempted to resolve a non-existent "sdp_8.0.4" platform target from score_bazel_platforms@1.1.0, and restores alignment with the "8.0.0" toolchain configurations registered in .bazelrc. - Synchronize root MODULE.bazel.lock.
|
Fixes #455 |
There was a problem hiding this comment.
🟡 Changes recommended
The protected toolchain block diverges from its central reference, and _score_common is expanded twice.
Once you've addressed the issues Copilot identified, you can request another Copilot review.
Pull request overview
Integrates shared S-CORE toolchain configuration while retaining repository-specific build aliases.
Changes:
- Imports central Bazel toolchain profiles.
- Updates C++, Rust, Linux, and QNX toolchain declarations.
- Regenerates Bzlmod lockfiles.
File summaries
| File | Description |
|---|---|
.bazelrc |
Imports and aliases shared profiles. |
MODULE.bazel |
Updates toolchain dependencies and declarations. |
MODULE.bazel.lock |
Records updated dependency resolution. |
examples/integration/MODULE.bazel.lock |
Updates integration dependency resolution. |
score.bazelrc/score_toolchain.bazelrc |
Adds shared platform profiles. |
Review details
- Files reviewed: 3/5 changed files
- Comments generated: 4
- Review effort level: Balanced
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
…ate comments - Disable the global _score_common expansion in .bazelrc to avoid duplicate option expansion warnings during builds. - Explicitly add --config=_score_common to the bl-aarch64-qnx profile to ensure it continues to inherit host settings properly. - Update the bl-aarch64-linux configuration comment to accurately state it leverages the central S-CORE definition.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
S-CORE Toolchain Integration
This PR integrates the central S-CORE toolchain configuration from the
module_templaterepository unchanged, as defined inMODULE.bazelandscore.bazelrc/score_toolchain.bazelrc.Report of Changes and Differences
1. What Works As-Is with the Central Configuration
--config=bl-x86_64-linuxworks flawlessly by leveraging--config=score-linux-x86_64fromscore_toolchain.bazelrc. All 120+ C++ unit tests execute and pass successfully.--config=bl-x86_64-qnxleveraging--config=score-qnx-x86_64from the central configuration.try-import %workspace%/score.bazelrc/score_toolchain.bazelrcin.bazelrcworks without issues.2. What is Missing from the Central Configuration
score_ebclfsa_toolchain) and AutoSD10 (score_autosd10_aarch64_toolchain) toolchains, leaving out a general Linux GCC aarch64 cross-compiler.MODULE.bazel, the centraluse_repoblock forqccimportsscore_qcc_aarch64_toolchainbut omitsscore_qcc_aarch64_toolchain_pkg(the target sysroot), which is required to link and compile ARM64 QNX targets.score_toolchain.bazelrc: There are no pre-defined configurations for standard Linux ARM64 cross-compiling or QNX ARM64 inscore_toolchain.bazelrc.3. What Differs Between the Central Configuration and this Repository
aarch64-linuxandaarch64-qnxarchitectures as first-class configurations.4. What Repository-Specific Configuration Had to be Added, and Why
MODULE.bazel(placed cleanly under "Repository-specific toolchain additions"):score_gcc_aarch64_toolchainto compile and link standard Linux ARM64 targets.use_repo(qcc, \"score_qcc_aarch64_toolchain_pkg\")to import the QNX aarch64 SDP package (sysroot) necessary for building QNX aarch64 targets..bazelrc:build:bl-aarch64-linuxandbuild:bl-aarch64-qnxbecause they are not provided byscore_toolchain.bazelrc.5. Configurations That Were Safely Removed
.bazelrc:extra_toolchainsforscore_gcc_x86_64_toolchainandscore_toolchains_rust//toolchains/ferrocene.host_platform.bl-x86_64-linuxtarget configuration to simply use--config=score-linux-x86_64.bl-x86_64-qnxtarget configuration to simply use--config=score-qnx-x86_64.6. Candidates/Improvements for
module_templatescore_qcc_aarch64_toolchain_pkgtouse_repo:In the central
MODULE.bazel, add"score_qcc_aarch64_toolchain_pkg"to theuse_repo(qcc, ...)block. This is generally required for any S-CORE module compiling for QNX aarch64.Standard GCC
aarch64-linuxshould be part of the central S-CORE configurations since ARM64 Linux cross-compiling is universally applicable across S-CORE modules.