Bump GCC version in build.yml to 14#801
Conversation
WalkthroughBumps default GCC from 13 to 14 in Changes
Sequence Diagram(s)sequenceDiagram
participant GH as GitHub Actions
participant BuildWF as build.yml
participant OldWF as old-compilers.yml
participant Runner as Ubuntu runner
note right of BuildWF `#DDEBF7`: Default GCC toolchain = 14
GH->>BuildWF: workflow triggered
BuildWF->>Runner: install g++-14 + g++-14-multilib
Runner-->>BuildWF: gcc-14/g++-14 available
BuildWF->>Runner: configure CMake (V=14) & run jobs
opt legacy GCC 13 support
note right of OldWF `#F7F3DD`: Guarded install for VERSION==13
GH->>OldWF: legacy workflow triggered
OldWF->>Runner: if VERSION==13 add PPA & install g++-13
Runner-->>OldWF: gcc-13 available
OldWF->>Runner: run GCC-13 matrix jobs (Release/Debug + sanitizers)
end
Estimated code review effort🎯 2 (Simple) | ⏱️ ~10 minutes
Possibly related PRs
Poem
Pre-merge checks and finishing touches✅ Passed checks (3 passed)
✨ Finishing touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
7b993cc to
b5a5b87
Compare
Enabled by build.yml now running on Ubuntu 24.04. Add GCC 13 to old-compilers.yml.
b5a5b87 to
8160e7c
Compare
There was a problem hiding this comment.
Actionable comments posted: 1
📜 Review details
Configuration used: Path: .coderabbit.yaml
Review profile: ASSERTIVE
Plan: Pro
📒 Files selected for processing (2)
.github/workflows/build.yml(3 hunks).github/workflows/old-compilers.yml(2 hunks)
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (10)
- GitHub Check: Codacy Static Code Analysis
- GitHub Check: Codacy Static Code Analysis
- GitHub Check: Codacy Static Code Analysis
- GitHub Check: Codacy Static Code Analysis
- GitHub Check: Codacy Static Code Analysis
- GitHub Check: Codacy Static Code Analysis
- GitHub Check: Codacy Static Code Analysis
- GitHub Check: Codacy Static Code Analysis
- GitHub Check: Codacy Static Code Analysis
- GitHub Check: Codacy Static Code Analysis
🔇 Additional comments (5)
.github/workflows/old-compilers.yml (2)
630-687: GCC 13 matrix entries properly structured.The 8 new GCC 13 matrix configurations follow the established pattern from GCC 12, with appropriate STATS and BOOST settings. Configuration looks sound.
630-735: The original review comment's premise is incorrect.Verification shows there are no duplicate GCC 13 configurations. The script output confirms exactly 8 GCC 13 matrix entries (lines 630–681) and 1 setup step (line 730). The AI summary claiming "duplicates" is simply wrong. The code adds GCC 13 support once, not twice.
Likely an incorrect or invalid review comment.
.github/workflows/build.yml (3)
39-100: GCC 14 migration complete and consistent.All matrix entry names correctly updated from GCC 13 to GCC 14, following established naming patterns. Configuration remains consistent with prior GCC 13 approach.
288-288: Dependency update properly matched to version bump.Line 288 correctly updates to
g++-14 g++-14-multilib, aligning with the GCC 14 matrix entries.
346-346: Version variable correctly updated.Line 346 sets
V=14for GCC, which is then used in CC/CXX exports (lines 348-349). Propagation is correct.
| - name: Setup dependencies for GCC 13 (PPA) | ||
| run: | | ||
| sudo add-apt-repository ppa:ubuntu-toolchain-r/test | ||
| sudo apt-get update | ||
| sudo apt-get install -y g++-13 | ||
| if: env.COMPILER == 'gcc' && env.VERSION == '13' |
There was a problem hiding this comment.
Missing multilib package for GCC 13 installation.
The PPA setup installs only g++-13, but .github/workflows/build.yml line 288 installs g++-14 g++-14-multilib. For consistency and to ensure proper multilib support (needed for 32-bit compilation), install g++-13-multilib as well.
- name: Setup dependencies for GCC 13 (PPA)
run: |
sudo add-apt-repository ppa:ubuntu-toolchain-r/test
sudo apt-get update
- sudo apt-get install -y g++-13
+ sudo apt-get install -y g++-13 g++-13-multilib
if: env.COMPILER == 'gcc' && env.VERSION == '13'📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| - name: Setup dependencies for GCC 13 (PPA) | |
| run: | | |
| sudo add-apt-repository ppa:ubuntu-toolchain-r/test | |
| sudo apt-get update | |
| sudo apt-get install -y g++-13 | |
| if: env.COMPILER == 'gcc' && env.VERSION == '13' | |
| - name: Setup dependencies for GCC 13 (PPA) | |
| run: | | |
| sudo add-apt-repository ppa:ubuntu-toolchain-r/test | |
| sudo apt-get update | |
| sudo apt-get install -y g++-13 g++-13-multilib | |
| if: env.COMPILER == 'gcc' && env.VERSION == '13' |
🤖 Prompt for AI Agents
In .github/workflows/old-compilers.yml around lines 730 to 735, the GCC 13 PPA
step installs only g++-13 but omits the multilib package; update the apt-get
install command to include g++-13-multilib so the step installs both g++-13 and
g++-13-multilib (matching the pattern used for GCC 14) to enable 32-bit/multilib
builds.
|



Enabled by build.yml now running on Ubuntu 24.04.
Add GCC 13 to old-compilers.yml.
Summary by CodeRabbit