Skip to content

Commit 8a87ba0

Browse files
authored
build: bump minimum Clang version to 19
This is now required by V8. Refs: nodejs/node-v8#302 PR-URL: #59048 Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com> Reviewed-By: Rafael Gonzaga <rafael.nunu@hotmail.com> Reviewed-By: Matteo Collina <matteo.collina@gmail.com> Reviewed-By: Luigi Pinca <luigipinca@gmail.com> Reviewed-By: Richard Lau <richard.lau@ibm.com> Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Marco Ippolito <marcoippolito54@gmail.com>
1 parent 037b655 commit 8a87ba0

File tree

7 files changed

+56
-12
lines changed

7 files changed

+56
-12
lines changed
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
name: Install Clang
2+
description: Installs a specific Clang version. Useful if the GitHub runner does not have it by default.
3+
inputs:
4+
clang-version:
5+
description: The Clang major version to install
6+
required: true
7+
8+
runs:
9+
using: composite
10+
steps:
11+
- name: Install Clang
12+
shell: bash
13+
run: |
14+
sudo apt-get update
15+
sudo apt-get install -y clang-${{ inputs.clang-version }}

.github/workflows/build-tarball.yml

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -30,8 +30,9 @@ concurrency:
3030
env:
3131
PYTHON_VERSION: '3.12'
3232
FLAKY_TESTS: keep_retrying
33-
CC: sccache clang
34-
CXX: sccache clang++
33+
CLANG_VERSION: '19'
34+
CC: sccache clang-19
35+
CXX: sccache clang++-19
3536
SCCACHE_GHA_ENABLED: 'true'
3637

3738
permissions:
@@ -45,6 +46,10 @@ jobs:
4546
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
4647
with:
4748
persist-credentials: false
49+
- name: Install Clang ${{ env.CLANG_VERSION }}
50+
uses: ./.github/actions/install-clang
51+
with:
52+
clang-version: ${{ env.CLANG_VERSION }}
4853
- name: Set up Python ${{ env.PYTHON_VERSION }}
4954
uses: actions/setup-python@a26af69be951a213d495a4c3e4e4022e16d87065 # v5.6.0
5055
with:
@@ -75,6 +80,10 @@ jobs:
7580
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
7681
with:
7782
persist-credentials: false
83+
- name: Install Clang ${{ env.CLANG_VERSION }}
84+
uses: ./.github/actions/install-clang
85+
with:
86+
clang-version: ${{ env.CLANG_VERSION }}
7887
- name: Set up Python ${{ env.PYTHON_VERSION }}
7988
uses: actions/setup-python@a26af69be951a213d495a4c3e4e4022e16d87065 # v5.6.0
8089
with:

.github/workflows/coverage-linux-without-intl.yml

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -36,8 +36,9 @@ concurrency:
3636
env:
3737
PYTHON_VERSION: '3.12'
3838
FLAKY_TESTS: keep_retrying
39-
CC: sccache clang
40-
CXX: sccache clang++
39+
CLANG_VERSION: '19'
40+
CC: sccache clang-19
41+
CXX: sccache clang++-19
4142
SCCACHE_GHA_ENABLED: 'true'
4243

4344
permissions:
@@ -51,6 +52,10 @@ jobs:
5152
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
5253
with:
5354
persist-credentials: false
55+
- name: Install Clang ${{ env.CLANG_VERSION }}
56+
uses: ./.github/actions/install-clang
57+
with:
58+
clang-version: ${{ env.CLANG_VERSION }}
5459
- name: Set up Python ${{ env.PYTHON_VERSION }}
5560
uses: actions/setup-python@a26af69be951a213d495a4c3e4e4022e16d87065 # v5.6.0
5661
with:

.github/workflows/coverage-linux.yml

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -36,8 +36,9 @@ concurrency:
3636
env:
3737
PYTHON_VERSION: '3.12'
3838
FLAKY_TESTS: keep_retrying
39-
CC: sccache clang
40-
CXX: sccache clang++
39+
CLANG_VERSION: '19'
40+
CC: sccache clang-19
41+
CXX: sccache clang++-19
4142
SCCACHE_GHA_ENABLED: 'true'
4243

4344
permissions:
@@ -51,6 +52,10 @@ jobs:
5152
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
5253
with:
5354
persist-credentials: false
55+
- name: Install Clang ${{ env.CLANG_VERSION }}
56+
uses: ./.github/actions/install-clang
57+
with:
58+
clang-version: ${{ env.CLANG_VERSION }}
5459
- name: Set up Python ${{ env.PYTHON_VERSION }}
5560
uses: actions/setup-python@a26af69be951a213d495a4c3e4e4022e16d87065 # v5.6.0
5661
with:

.github/workflows/test-internet.yml

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -33,8 +33,9 @@ concurrency:
3333
env:
3434
PYTHON_VERSION: '3.12'
3535
FLAKY_TESTS: keep_retrying
36-
CC: clang
37-
CXX: clang++
36+
CLANG_VERSION: '19'
37+
CC: clang-19
38+
CXX: clang++-19
3839

3940
permissions:
4041
contents: read
@@ -47,6 +48,10 @@ jobs:
4748
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
4849
with:
4950
persist-credentials: false
51+
- name: Install Clang ${{ env.CLANG_VERSION }}
52+
uses: ./.github/actions/install-clang
53+
with:
54+
clang-version: ${{ env.CLANG_VERSION }}
5055
- name: Set up Python ${{ env.PYTHON_VERSION }}
5156
uses: actions/setup-python@a26af69be951a213d495a4c3e4e4022e16d87065 # v5.6.0
5257
with:

.github/workflows/test-linux.yml

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,8 +27,9 @@ concurrency:
2727
env:
2828
PYTHON_VERSION: '3.12'
2929
FLAKY_TESTS: keep_retrying
30-
CC: sccache clang
31-
CXX: sccache clang++
30+
CLANG_VERSION: '19'
31+
CC: sccache clang-19
32+
CXX: sccache clang++-19
3233
SCCACHE_GHA_ENABLED: 'true'
3334

3435
permissions:
@@ -47,6 +48,10 @@ jobs:
4748
with:
4849
persist-credentials: false
4950
path: node
51+
- name: Install Clang ${{ env.CLANG_VERSION }}
52+
uses: ./node/.github/actions/install-clang
53+
with:
54+
clang-version: ${{ env.CLANG_VERSION }}
5055
- name: Set up Python ${{ env.PYTHON_VERSION }}
5156
uses: actions/setup-python@a26af69be951a213d495a4c3e4e4022e16d87065 # v5.6.0
5257
with:

configure.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1236,8 +1236,8 @@ def check_compiler(o):
12361236
print_verbose(f"Detected {'clang ' if is_clang else ''}C++ compiler (CXX={CXX}) version: {version_str}")
12371237
if not ok:
12381238
warn(f'failed to autodetect C++ compiler version (CXX={CXX})')
1239-
elif clang_version < (8, 0, 0) if is_clang else gcc_version < (12, 2, 0):
1240-
warn(f'C++ compiler (CXX={CXX}, {version_str}) too old, need g++ 12.2.0 or clang++ 8.0.0')
1239+
elif clang_version < (19, 1, 0) if is_clang else gcc_version < (12, 2, 0):
1240+
warn(f'C++ compiler (CXX={CXX}, {version_str}) too old, need g++ 12.2.0 or clang++ 19.1.0')
12411241

12421242
ok, is_clang, clang_version, gcc_version = try_check_compiler(CC, 'c')
12431243
version_str = ".".join(map(str, clang_version if is_clang else gcc_version))

0 commit comments

Comments
 (0)