From 1154a1b088c6ff765604fb25774c67b8e74109df Mon Sep 17 00:00:00 2001 From: Nikola Radakovic Date: Tue, 11 Aug 2026 17:53:43 +0200 Subject: [PATCH 1/3] Add config for GCC 15.3.0 The new configuration for gcc 15.3.0 is added to be available for developer testing. resolves: #100 --- .github/workflows/aarch64-linux.yml | 21 +++++ .github/workflows/x86_64-linux.yml | 27 +++++++ MODULE.bazel | 2 +- MODULE.bazel.lock | 4 +- packages/linux/aarch64/gcc/15.3.0/BUILD | 16 ++++ packages/linux/aarch64/gcc/15.3.0/gcc.BUILD | 56 +++++++++++++ packages/linux/x86_64/gcc/15.3.0/BUILD | 16 ++++ packages/linux/x86_64/gcc/15.3.0/gcc.BUILD | 56 +++++++++++++ packages/version_matrix.bzl | 12 +++ tests/.bazelrc | 15 ++++ tests/MODULE.bazel | 30 ++++++- tests/MODULE.bazel.lock | 89 +++++++++++++++++++-- 12 files changed, 334 insertions(+), 10 deletions(-) create mode 100644 packages/linux/aarch64/gcc/15.3.0/BUILD create mode 100644 packages/linux/aarch64/gcc/15.3.0/gcc.BUILD create mode 100644 packages/linux/x86_64/gcc/15.3.0/BUILD create mode 100644 packages/linux/x86_64/gcc/15.3.0/gcc.BUILD diff --git a/.github/workflows/aarch64-linux.yml b/.github/workflows/aarch64-linux.yml index e6afa5f..45df6e0 100644 --- a/.github/workflows/aarch64-linux.yml +++ b/.github/workflows/aarch64-linux.yml @@ -42,3 +42,24 @@ jobs: - name: Guardrail (no legacy features) run: | bazel test --config=aarch64-linux -- //:guardrail_tests + generic-aarch64-linux-gcc15: + runs-on: ubuntu-latest + defaults: + run: + working-directory: ./tests + 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 (basic) + run: | + bazel build --config=aarch64-linux-gcc15 -- //:language_and_standards_tests //:feature_verification_tests + - name: Guardrail (no legacy features) + run: | + bazel test --config=aarch64-linux-gcc15 -- //:guardrail_tests diff --git a/.github/workflows/x86_64-linux.yml b/.github/workflows/x86_64-linux.yml index 98c8969..437ae57 100644 --- a/.github/workflows/x86_64-linux.yml +++ b/.github/workflows/x86_64-linux.yml @@ -48,3 +48,30 @@ jobs: - name: Bazel Test (force_pic) run: | bazel test --lockfile_mode=error --config=x86_64-linux --force_pic -- //feature_verification/opt_in_features:force_pic_flags_test + generic-x86_64-linux-gcc15: + runs-on: ubuntu-latest + defaults: + run: + working-directory: ./tests + 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 (basic) + run: | + bazel build --lockfile_mode=error --config=x86_64-linux-gcc15 -- //:language_and_standards_tests //:feature_verification_tests + - name: Guardrail (no legacy features) + run: | + bazel test --lockfile_mode=error --config=x86_64-linux-gcc15 -- //:guardrail_tests + - name: Bazel Test + run: | + bazel test --lockfile_mode=error --config=x86_64-linux-gcc15 -- //:language_and_standards_tests //:feature_verification_tests + - name: Bazel Test (force_pic) + run: | + bazel test --lockfile_mode=error --config=x86_64-linux-gcc15 --force_pic -- //feature_verification/opt_in_features:force_pic_flags_test diff --git a/MODULE.bazel b/MODULE.bazel index b2982ed..56461ef 100644 --- a/MODULE.bazel +++ b/MODULE.bazel @@ -22,7 +22,7 @@ bazel_dep(name = "bazel_skylib", version = "1.8.2") # Constraint values for specifying platforms and toolchains # ******************************************************************************* bazel_dep(name = "platforms", version = "1.1.0") -bazel_dep(name = "score_bazel_platforms", version = "0.1.2") +bazel_dep(name = "score_bazel_platforms", version = "1.0.0") # ******************************************************************************* # C++ Rules for Bazel diff --git a/MODULE.bazel.lock b/MODULE.bazel.lock index 5d24324..3ee3f49 100644 --- a/MODULE.bazel.lock +++ b/MODULE.bazel.lock @@ -487,8 +487,8 @@ "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/rules_shell/0.4.1/MODULE.bazel": "not found", "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/rules_shell/0.5.0/MODULE.bazel": "not found", "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/rules_shell/0.6.1/MODULE.bazel": "not found", - "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/score_bazel_platforms/0.1.2/MODULE.bazel": "d1889bf36241521c5d5c401aaf1e98242a60f9cab9d223f8190e5d7087956e83", - "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/score_bazel_platforms/0.1.2/source.json": "549c18a968c1ab76135ad38fd15981fcc04d377a62f20e2e5e0b5faa9de2b01d", + "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/score_bazel_platforms/1.0.0/MODULE.bazel": "e5e386e6fc0a447a2f4a47e872e3747822e9d58994b7b55e248c78e5a3e382c0", + "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/score_bazel_platforms/1.0.0/source.json": "fb428e5f4cb6cbf0e00442e72c8d038746e0eaa7493dcec394ee99be727dcb3b", "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/score_cr_checker/0.2.2/MODULE.bazel": "dc36d9c35543db918c3fb5b93a8e684431f56c7c784cf2a1b90f35802a373c98", "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/score_cr_checker/0.3.1/MODULE.bazel": "f49e037d7fbc0b2a8b2734fc6b47334e8cc8589ca7a5aa0f3ccca85cc5f79fac", "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/score_dash_license_checker/0.1.1/MODULE.bazel": "76681dbd2d45b5c540869a2337174086c56c54953aab1d02cd878b59d31d13a5", diff --git a/packages/linux/aarch64/gcc/15.3.0/BUILD b/packages/linux/aarch64/gcc/15.3.0/BUILD new file mode 100644 index 0000000..6e19dcb --- /dev/null +++ b/packages/linux/aarch64/gcc/15.3.0/BUILD @@ -0,0 +1,16 @@ +# ******************************************************************************* +# 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 +# ******************************************************************************* + +exports_files([ + "gcc.BUILD", +]) diff --git a/packages/linux/aarch64/gcc/15.3.0/gcc.BUILD b/packages/linux/aarch64/gcc/15.3.0/gcc.BUILD new file mode 100644 index 0000000..4725a73 --- /dev/null +++ b/packages/linux/aarch64/gcc/15.3.0/gcc.BUILD @@ -0,0 +1,56 @@ +# ******************************************************************************* +# 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 +# ******************************************************************************* + +"""Build file for GCC external package""" + +package(default_visibility = ["//visibility:public"]) + +filegroup( + name = "all_files", + srcs = glob(["*/**/*"]), +) + +filegroup( + name = "bin", + srcs = ["bin"], +) + +filegroup( + name = "ar", + srcs = ["bin/aarch64-unknown-linux-gnu-ar"], +) + +filegroup( + name = "cc", + srcs = ["bin/aarch64-unknown-linux-gnu-gcc"], +) + +filegroup( + name = "gcov", + srcs = ["bin/aarch64-unknown-linux-gnu-gcov"], +) + +filegroup( + name = "cxx", + srcs = ["bin/aarch64-unknown-linux-gnu-g++"], +) + +filegroup( + name = "strip", + srcs = ["bin/aarch64-unknown-linux-gnu-strip"], +) + +filegroup( + name = "sysroot_dir", + srcs = ["aarch64-unknown-linux-gnu/sysroot"], +) diff --git a/packages/linux/x86_64/gcc/15.3.0/BUILD b/packages/linux/x86_64/gcc/15.3.0/BUILD new file mode 100644 index 0000000..6e19dcb --- /dev/null +++ b/packages/linux/x86_64/gcc/15.3.0/BUILD @@ -0,0 +1,16 @@ +# ******************************************************************************* +# 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 +# ******************************************************************************* + +exports_files([ + "gcc.BUILD", +]) diff --git a/packages/linux/x86_64/gcc/15.3.0/gcc.BUILD b/packages/linux/x86_64/gcc/15.3.0/gcc.BUILD new file mode 100644 index 0000000..dc6fbb1 --- /dev/null +++ b/packages/linux/x86_64/gcc/15.3.0/gcc.BUILD @@ -0,0 +1,56 @@ +# ******************************************************************************* +# 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 +# ******************************************************************************* + +"""Build file for GCC external package""" + +package(default_visibility = ["//visibility:public"]) + +filegroup( + name = "all_files", + srcs = glob(["*/**/*"]), +) + +filegroup( + name = "bin", + srcs = ["bin"], +) + +filegroup( + name = "ar", + srcs = ["bin/x86_64-unknown-linux-gnu-ar"], +) + +filegroup( + name = "cc", + srcs = ["bin/x86_64-unknown-linux-gnu-gcc"], +) + +filegroup( + name = "gcov", + srcs = ["bin/x86_64-unknown-linux-gnu-gcov"], +) + +filegroup( + name = "cxx", + srcs = ["bin/x86_64-unknown-linux-gnu-g++"], +) + +filegroup( + name = "strip", + srcs = ["bin/x86_64-unknown-linux-gnu-strip"], +) + +filegroup( + name = "sysroot_dir", + srcs = ["x86_64-unknown-linux-gnu/sysroot"], +) diff --git a/packages/version_matrix.bzl b/packages/version_matrix.bzl index 0943dd2..b07ea78 100644 --- a/packages/version_matrix.bzl +++ b/packages/version_matrix.bzl @@ -21,6 +21,12 @@ VERSION_MATRIX = { "strip_prefix": "aarch64-unknown-linux-gnu", "url": "https://github.com/eclipse-score/toolchains_gcc_packages/releases/download/v0.0.4/aarch64-unknown-linux-gnu_gcc12.tar.gz", }, + "aarch64-linux-gcc_15.3.0": { + "build_file": "@score_bazel_cpp_toolchains//packages/linux/aarch64/gcc/15.3.0:gcc.BUILD", + "sha256": "ff9fe6caed22f15a1dd87a93bff5cfa1536b5dddcff3364827f97ebc01a494a1", + "strip_prefix": "aarch64-unknown-linux-gnu", + "url": "https://github.com/eclipse-score/toolchains_gcc_packages/releases/download/v0.0.5/aarch64-unknown-linux-gnu_gcc15.tar.gz", + }, "aarch64-linux-autosd10": { "build_file": "@score_bazel_cpp_toolchains//packages/linux/aarch64/autosd/10.0:autosd.BUILD", "extra_c_compile_flags": [ @@ -86,6 +92,12 @@ VERSION_MATRIX = { "strip_prefix": "x86_64-unknown-linux-gnu", "url": "https://github.com/eclipse-score/toolchains_gcc_packages/releases/download/v0.0.4/x86_64-unknown-linux-gnu_gcc12.tar.gz", }, + "x86_64-linux-gcc_15.3.0": { + "build_file": "@score_bazel_cpp_toolchains//packages/linux/x86_64/gcc/15.3.0:gcc.BUILD", + "sha256": "c65e21725d4d9993bab0b4ef2aed7065a4bf1b0f232a068d778eb670f80daa60", + "strip_prefix": "x86_64-unknown-linux-gnu", + "url": "https://github.com/eclipse-score/toolchains_gcc_packages/releases/download/v0.0.5/x86_64-unknown-linux-gnu_gcc15.tar.gz", + }, "x86_64-linux-autosd10": { "build_file": "@score_bazel_cpp_toolchains//packages/linux/x86_64/autosd/10.0:autosd.BUILD", "extra_c_compile_flags": [ diff --git a/tests/.bazelrc b/tests/.bazelrc index 5894835..47b095d 100644 --- a/tests/.bazelrc +++ b/tests/.bazelrc @@ -27,6 +27,14 @@ build:x86_64-linux --host_platform=@score_bazel_platforms//:x86_64-linux-gcc_12. build:x86_64-linux --extra_toolchains=@score_gcc_toolchain//:x86_64-linux-gcc_12.2.0 build:x86_64-linux --host_features=use_pthread +# ------------------------------------------------------------------------------- +# Different toolchain configuration for x86_64-linux-gcc15 (host) +# ------------------------------------------------------------------------------- +build:x86_64-linux-gcc15 --config=shared +build:x86_64-linux-gcc15 --host_platform=@score_bazel_platforms//:x86_64-linux-gcc_15.3.0-posix +build:x86_64-linux-gcc15 --extra_toolchains=@score_gcc_toolchain_15//:x86_64-linux-gcc_15.3.0 +build:x86_64-linux-gcc15 --host_features=use_pthread + # ------------------------------------------------------------------------------- # Different toolchain configuration for x86_64-linux (host) # ------------------------------------------------------------------------------- @@ -76,6 +84,13 @@ build:aarch64-linux --config=x86_64-linux build:aarch64-linux --platforms=@score_bazel_platforms//:aarch64-linux-gcc_12.2.0-posix build:aarch64-linux --extra_toolchains=@score_aarch64_gcc_toolchain//:aarch64-linux-gcc_12.2.0 +# ------------------------------------------------------------------------------- +# Toolchain configuration for aarch64-linux (target) +# ------------------------------------------------------------------------------- +build:aarch64-linux-gcc15 --config=x86_64-linux +build:aarch64-linux-gcc15 --platforms=@score_bazel_platforms//:aarch64-linux-gcc_15.3.0-posix +build:aarch64-linux-gcc15 --extra_toolchains=@score_aarch64_gcc_toolchain_15//:aarch64-linux-gcc_15.3.0 + # ------------------------------------------------------------------------------- # Toolchain configuration for x86_64-linux-autosd10 (target) # ------------------------------------------------------------------------------- diff --git a/tests/MODULE.bazel b/tests/MODULE.bazel index 11bce18..6f275c1 100644 --- a/tests/MODULE.bazel +++ b/tests/MODULE.bazel @@ -31,7 +31,9 @@ bazel_dep(name = "bazel_skylib", version = "1.9.0") # Constraint values for specifying platforms and toolchains # ******************************************************************************* bazel_dep(name = "platforms", version = "1.1.0") -bazel_dep(name = "score_bazel_platforms", version = "0.1.2") + +# TODO: DO NOT MERGE IT WITH THIS !!!! +bazel_dep(name = "score_bazel_platforms", version = "1.0.0") # ******************************************************************************* # C++ Rules for Bazel @@ -91,6 +93,17 @@ gcc.toolchain( version = "12.2.0", ) +# ******************************************************************************* +# Setting default GCC (CPU:x86_64|OS:Linux|V:15.3.0|ES:posix) +# ******************************************************************************* +gcc.toolchain( + name = "score_gcc_toolchain_15", + target_cpu = "x86_64", + target_os = "linux", + use_default_package = True, + version = "15.3.0", +) + # ******************************************************************************* # Setting default GCC (CPU:aarch64|OS:Linux|V:12.2.0|ES:posix) # ******************************************************************************* @@ -102,6 +115,17 @@ gcc.toolchain( version = "12.2.0", ) +# ******************************************************************************* +# Setting default GCC (CPU:aarch64|OS:Linux|V:15.3.0|ES:posix) +# ******************************************************************************* +gcc.toolchain( + name = "score_aarch64_gcc_toolchain_15", + target_cpu = "aarch64", + target_os = "linux", + use_default_package = True, + version = "15.3.0", +) + # ******************************************************************************* # Setting custom GCC (CPU:x86_64|OS:Linux|V:12.2.0|ES:posix) # ******************************************************************************* @@ -171,9 +195,11 @@ use_repo( gcc, "my_toolchain", "score_aarch64_gcc_toolchain", + "score_aarch64_gcc_toolchain_15", "score_autosd_10_toolchain", "score_ebclfsa_toolchain", "score_gcc_toolchain", + "score_gcc_toolchain_15", "score_gcc_toolchain_bp", "score_qcc_arm_toolchain", "score_qcc_arm_toolchain_pkg", @@ -184,7 +210,7 @@ use_repo( # ******************************************************************************* # Set dependency to Bazel ImageFS repository # ******************************************************************************* -bazel_dep(name = "score_rules_imagefs", version = "0.0.3", dev_dependency = True) +bazel_dep(name = "score_rules_imagefs", version = "0.0.4", dev_dependency = True) # ******************************************************************************* # Setting ImageFS toolchains (CPU:x86_64|OS:QNX|version(sdp):8.0.0) diff --git a/tests/MODULE.bazel.lock b/tests/MODULE.bazel.lock index 1e20ba1..6fe2457 100644 --- a/tests/MODULE.bazel.lock +++ b/tests/MODULE.bazel.lock @@ -537,8 +537,8 @@ "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/rules_shell/0.5.0/MODULE.bazel": "not found", "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/rules_shell/0.6.1/MODULE.bazel": "not found", "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/score_bazel_platforms/0.1.1/MODULE.bazel": "236e5bdff6f2d6de6f96cc4f5f4b1bf2cd6137547ce279668a2dd4c54cd4236c", - "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/score_bazel_platforms/0.1.2/MODULE.bazel": "d1889bf36241521c5d5c401aaf1e98242a60f9cab9d223f8190e5d7087956e83", - "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/score_bazel_platforms/0.1.2/source.json": "549c18a968c1ab76135ad38fd15981fcc04d377a62f20e2e5e0b5faa9de2b01d", + "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/score_bazel_platforms/1.0.0/MODULE.bazel": "e5e386e6fc0a447a2f4a47e872e3747822e9d58994b7b55e248c78e5a3e382c0", + "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/score_bazel_platforms/1.0.0/source.json": "fb428e5f4cb6cbf0e00442e72c8d038746e0eaa7493dcec394ee99be727dcb3b", "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/score_cr_checker/0.2.2/MODULE.bazel": "dc36d9c35543db918c3fb5b93a8e684431f56c7c784cf2a1b90f35802a373c98", "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/score_cr_checker/0.3.1/MODULE.bazel": "f49e037d7fbc0b2a8b2734fc6b47334e8cc8589ca7a5aa0f3ccca85cc5f79fac", "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/score_dash_license_checker/0.1.1/MODULE.bazel": "76681dbd2d45b5c540869a2337174086c56c54953aab1d02cd878b59d31d13a5", @@ -572,7 +572,8 @@ "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/score_qnx_unit_tests/0.2.0/MODULE.bazel": "aaffff67916dd058737aac8e04368f12b214e7646ff58adbab48e6429d1a5410", "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/score_qnx_unit_tests/0.2.0/source.json": "c40a614fd88beab7cb65b8640debd44eff3fbc32a7839734ef1112f265d2eeef", "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/score_rules_imagefs/0.0.3/MODULE.bazel": "d87fcd3485438284fa96d6a5a81923d6b6672468947423517cc43c4d7692ca6a", - "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/score_rules_imagefs/0.0.3/source.json": "5f2de07264fbc8f3adecffde5aea326b9f8fccf9e74fd6a057fc9c3556b00cfa", + "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/score_rules_imagefs/0.0.4/MODULE.bazel": "e0a846244a2bb99939d8c3bde2d3d6b5a5c868e0514aeb6af37657d39622e68d", + "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/score_rules_imagefs/0.0.4/source.json": "d8bd021bff025a483a04e5fbd0f73b745bcdb90daa1f2ac01f4cc16a34f7174a", "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/score_rust_policies/0.0.2/MODULE.bazel": "ade2bad4a331b02d9b7e7d9842e8de8c6fded6186486e02c4f7db5cd4b71d34d", "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/score_rust_policies/0.0.2/source.json": "fbcbc738e652b0c68d5d28dd1db09f2e643dc111f5739b2f6af7ec56c2e88043", "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/score_starpls_lsp/0.1.0/MODULE.bazel": "b2f8c4c8d8e851706255ff9002b448bff6e040b8f0c6adedbde2a09375aa16cc", @@ -1368,8 +1369,8 @@ }, "@@score_bazel_cpp_toolchains+//extensions:gcc.bzl%gcc": { "general": { - "bzlTransitiveDigest": "4CcIVnMoRvSIo0RsIRsjL/6772ziuRiT8YmEfxhfCmA=", - "usagesDigest": "1UfIz7yPBC2LyOHghQlB2yltcJXkkGH7NQITjVhleH8=", + "bzlTransitiveDigest": "k0Poh7g76vVDdUlgMYBtFBF1aGJ46pOj0iy05dby95c=", + "usagesDigest": "dWr2zFjJ8fBvweFk2KWoZzQqJ+aKnb9A8QACQhKlUfw=", "recordedFileInputs": {}, "recordedDirentsInputs": {}, "envVariables": {}, @@ -1407,6 +1408,17 @@ "strip_prefix": "x86_64-unknown-linux-gnu" } }, + "score_gcc_toolchain_15_pkg": { + "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive", + "attributes": { + "urls": [ + "https://github.com/eclipse-score/toolchains_gcc_packages/releases/download/v0.0.5/x86_64-unknown-linux-gnu_gcc15.tar.gz" + ], + "build_file": "@@score_bazel_cpp_toolchains+//packages/linux/x86_64/gcc/15.3.0:gcc.BUILD", + "sha256": "c65e21725d4d9993bab0b4ef2aed7065a4bf1b0f232a068d778eb670f80daa60", + "strip_prefix": "x86_64-unknown-linux-gnu" + } + }, "score_aarch64_gcc_toolchain_pkg": { "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive", "attributes": { @@ -1418,6 +1430,17 @@ "strip_prefix": "aarch64-unknown-linux-gnu" } }, + "score_aarch64_gcc_toolchain_15_pkg": { + "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive", + "attributes": { + "urls": [ + "https://github.com/eclipse-score/toolchains_gcc_packages/releases/download/v0.0.5/aarch64-unknown-linux-gnu_gcc15.tar.gz" + ], + "build_file": "@@score_bazel_cpp_toolchains+//packages/linux/aarch64/gcc/15.3.0:gcc.BUILD", + "sha256": "ff9fe6caed22f15a1dd87a93bff5cfa1536b5dddcff3364827f97ebc01a494a1", + "strip_prefix": "aarch64-unknown-linux-gnu" + } + }, "score_qcc_toolchain_pkg": { "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive", "attributes": { @@ -1518,6 +1541,34 @@ "use_base_constraints_only": false } }, + "score_gcc_toolchain_15": { + "repoRuleId": "@@score_bazel_cpp_toolchains+//rules:gcc.bzl%gcc_toolchain", + "attributes": { + "extra_compile_flags": [], + "extra_c_compile_flags": [], + "extra_cxx_compile_flags": [], + "extra_known_features": [], + "extra_enabled_features": [], + "extra_link_flags": [], + "license_info_variable": "", + "license_info_value": "", + "license_path": "/opt/score_qnx/license/licenses", + "sdk_version": "", + "sdp_version": "", + "tc_compiler_library_search_paths": [], + "tc_cpu": "x86_64", + "tc_identifier": "gcc_15.3.0", + "tc_os": "linux", + "tc_pkg_repo": "score_gcc_toolchain_15_pkg", + "tc_system_toolchain": false, + "tc_runtime_ecosystem": "", + "gcc_version": "15.3.0", + "cc_toolchain_config": "@@score_bazel_cpp_toolchains+//templates/linux:cc_toolchain_config.bzl.template", + "cc_toolchain_flags": "@@score_bazel_cpp_toolchains+//templates/linux:cc_toolchain_flags.bzl.template", + "cc_toolchain_shared_features": "@@score_bazel_cpp_toolchains+//templates:cc_toolchain_shared_features.bzl.template", + "use_base_constraints_only": false + } + }, "score_aarch64_gcc_toolchain": { "repoRuleId": "@@score_bazel_cpp_toolchains+//rules:gcc.bzl%gcc_toolchain", "attributes": { @@ -1546,6 +1597,34 @@ "use_base_constraints_only": false } }, + "score_aarch64_gcc_toolchain_15": { + "repoRuleId": "@@score_bazel_cpp_toolchains+//rules:gcc.bzl%gcc_toolchain", + "attributes": { + "extra_compile_flags": [], + "extra_c_compile_flags": [], + "extra_cxx_compile_flags": [], + "extra_known_features": [], + "extra_enabled_features": [], + "extra_link_flags": [], + "license_info_variable": "", + "license_info_value": "", + "license_path": "/opt/score_qnx/license/licenses", + "sdk_version": "", + "sdp_version": "", + "tc_compiler_library_search_paths": [], + "tc_cpu": "aarch64", + "tc_identifier": "gcc_15.3.0", + "tc_os": "linux", + "tc_pkg_repo": "score_aarch64_gcc_toolchain_15_pkg", + "tc_system_toolchain": false, + "tc_runtime_ecosystem": "", + "gcc_version": "15.3.0", + "cc_toolchain_config": "@@score_bazel_cpp_toolchains+//templates/linux:cc_toolchain_config.bzl.template", + "cc_toolchain_flags": "@@score_bazel_cpp_toolchains+//templates/linux:cc_toolchain_flags.bzl.template", + "cc_toolchain_shared_features": "@@score_bazel_cpp_toolchains+//templates:cc_toolchain_shared_features.bzl.template", + "use_base_constraints_only": false + } + }, "my_toolchain": { "repoRuleId": "@@score_bazel_cpp_toolchains+//rules:gcc.bzl%gcc_toolchain", "attributes": { From d862d7e69251b5bcf33bba17b5587815971a063e Mon Sep 17 00:00:00 2001 From: Nikola Radakovic Date: Thu, 13 Aug 2026 11:48:34 +0200 Subject: [PATCH 2/3] Add permissions for workflows Add permissions for workflows. --- .github/workflows/aarch64-linux.yml | 3 +++ .github/workflows/autosd.yml | 3 +++ .github/workflows/checks.yml | 3 +++ .github/workflows/ebclfsa.yml | 3 +++ .github/workflows/qnx.yml | 3 +++ .github/workflows/x86_64-linux.yml | 3 +++ 6 files changed, 18 insertions(+) diff --git a/.github/workflows/aarch64-linux.yml b/.github/workflows/aarch64-linux.yml index 45df6e0..c9ab84a 100644 --- a/.github/workflows/aarch64-linux.yml +++ b/.github/workflows/aarch64-linux.yml @@ -11,6 +11,9 @@ # SPDX-License-Identifier: Apache-2.0 # ******************************************************************************* name: Bazel Build (Aarch64-Linux) +permissions: + contents: read + actions: write on: pull_request: types: [opened, reopened, synchronize] diff --git a/.github/workflows/autosd.yml b/.github/workflows/autosd.yml index 8977d51..89260af 100644 --- a/.github/workflows/autosd.yml +++ b/.github/workflows/autosd.yml @@ -11,6 +11,9 @@ # SPDX-License-Identifier: Apache-2.0 # ******************************************************************************* name: Bazel Build (AutoSD 10) +permissions: + contents: read + actions: write on: pull_request: types: [opened, reopened, synchronize] diff --git a/.github/workflows/checks.yml b/.github/workflows/checks.yml index c74d046..0ea8d26 100644 --- a/.github/workflows/checks.yml +++ b/.github/workflows/checks.yml @@ -11,6 +11,9 @@ # SPDX-License-Identifier: Apache-2.0 # ******************************************************************************* name: S-CORE CI Checks +permissions: + contents: read + actions: write on: pull_request: push: diff --git a/.github/workflows/ebclfsa.yml b/.github/workflows/ebclfsa.yml index 1fff5aa..ee239cd 100644 --- a/.github/workflows/ebclfsa.yml +++ b/.github/workflows/ebclfsa.yml @@ -11,6 +11,9 @@ # SPDX-License-Identifier: Apache-2.0 # ******************************************************************************* name: Bazel Build (Aarch64-Linux)(ebclfsa) +permissions: + contents: read + actions: write on: pull_request: types: [opened, reopened, synchronize] diff --git a/.github/workflows/qnx.yml b/.github/workflows/qnx.yml index 63823e5..391f596 100644 --- a/.github/workflows/qnx.yml +++ b/.github/workflows/qnx.yml @@ -11,6 +11,9 @@ # SPDX-License-Identifier: Apache-2.0 # ******************************************************************************* name: Bazel Build (QNX) +permissions: + contents: read + actions: write on: pull_request: types: [opened, reopened, synchronize] diff --git a/.github/workflows/x86_64-linux.yml b/.github/workflows/x86_64-linux.yml index 437ae57..cd88c00 100644 --- a/.github/workflows/x86_64-linux.yml +++ b/.github/workflows/x86_64-linux.yml @@ -11,6 +11,9 @@ # SPDX-License-Identifier: Apache-2.0 # ******************************************************************************* name: Bazel Build (x86_64-Linux) +permissions: + contents: read + actions: write on: pull_request: types: [opened, reopened, synchronize] From 0a13834761ce0cef38b2bb89b560c90929baf495 Mon Sep 17 00:00:00 2001 From: Nikola Radakovic Date: Thu, 13 Aug 2026 12:33:03 +0200 Subject: [PATCH 3/3] Add documentation for gcc15 Add in documentation info for gcc15. --- docs/extension_api.md | 10 ++++++++-- docs/migration_guide.md | 3 +++ 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/docs/extension_api.md b/docs/extension_api.md index c69f923..68d4bed 100644 --- a/docs/extension_api.md +++ b/docs/extension_api.md @@ -61,7 +61,8 @@ Required attributes: Common package selection attributes: - `use_default_package`: resolve package metadata from `packages/version_matrix.bzl` -- `version`: GCC version string for Linux toolchains +- `version`: GCC version string for Linux toolchains (e.g. `12.2.0` or `15.3.0` — + see `packages/version_matrix.bzl` for all versions currently packaged) - `sdp_version`: QNX SDP version string - `sdk_version`: alternative SDK identifier used in matrix resolution - `sdp_to_link`: override the package repository name that the toolchain uses @@ -121,8 +122,13 @@ configuration such as: --extra_toolchains=@score_gcc_toolchain//:x86_64-linux-gcc_12.2.0 ``` +A newer GCC 15.3.0 toolchain is packaged as well; activate it the same way by +referencing its generated label (e.g. +`--extra_toolchains=@score_gcc_toolchain_15//:x86_64-linux-gcc_15.3.0`). + The test workspace under `tests/` provides complete `.bazelrc` -configurations for this activation step. +configurations for this activation step, including a `x86_64-linux-gcc15` / +`aarch64-linux-gcc15` config pair for the GCC 15.3.0 toolchain. ## Migrating Downstream Workspaces diff --git a/docs/migration_guide.md b/docs/migration_guide.md index c25cd8c..17e40ef 100644 --- a/docs/migration_guide.md +++ b/docs/migration_guide.md @@ -189,6 +189,9 @@ gcc.toolchain( use_repo(gcc, "score_gcc_toolchain") ``` +> GCC 15.3.0 is available too — set `version = "15.3.0"` instead. See +> [Extension API](extension_api.md#gcctoolchain-attributes) for details. + These flow through the `extra_compile_flags`, `extra_c_compile_flags`, `extra_cxx_compile_flags`, and `extra_link_flags` hooks documented in [Extension API](extension_api.md) and [Toolchain features](features.md). Use them