Skip to content

Commit d31de99

Browse files
authored
gh-actions: add clang-17 (#1127)
* gh-actions macos: skip coverage report
1 parent 14311d6 commit d31de99

8 files changed

+164
-15
lines changed

.github/workflows/ci.yml

+24-15
Original file line numberDiff line numberDiff line change
@@ -401,39 +401,39 @@ jobs:
401401
fail-fast: false
402402
matrix:
403403
include:
404-
- version: 16
404+
- version: 17
405405
cross: armv7
406406
arch_deb: armhf
407407
arch_gnu_abi: eabihf
408408
arch_gnu: arm
409409
distro: ubuntu-22.04
410-
- version: 16
410+
- version: 17
411411
cross: aarch64
412412
arch_gnu: aarch64
413413
arch_deb: arm64
414414
distro: ubuntu-22.04
415-
- version: 16
415+
- version: 17
416416
cross: armel
417417
arch_gnu_abi: eabi
418418
arch_deb: armel
419419
arch_gnu: arm
420420
distro: ubuntu-22.04
421-
- version: 16
421+
- version: 17
422422
cross: riscv64
423423
arch_gnu: riscv64
424424
arch_deb: riscv64
425425
distro: ubuntu-22.04
426-
# - version: 16
426+
# - version: 17
427427
# cross: s390x
428428
# arch_gnu: s390x
429429
# arch_deb: s390x
430430
# distro: ubuntu-22.04
431-
- version: 16
431+
- version: 17
432432
cross: ppc64el
433433
arch_deb: ppc64el
434434
arch_gnu: powerpc64le
435435
distro: ubuntu-22.04
436-
# - version: 16
436+
# - version: 17
437437
# cross: mips64el # needs newer Ubuntu (23.04+)
438438
# arch_deb: mips64el
439439
# arch_gnu: mips64el
@@ -450,6 +450,7 @@ jobs:
450450
- name: Install APT Dependencies
451451
run: |
452452
sudo add-apt-repository ppa:savoury1/virtualisation
453+
sudo add-apt-repository ppa:savoury1/build-tools
453454
sudo add-apt-repository ppa:savoury1/display
454455
sudo apt-get update -y
455456
sudo apt-get -yq install ninja-build parallel \
@@ -524,6 +525,13 @@ jobs:
524525
distro: ubuntu-22.04
525526
arch_flags: -ffast-math -Wno-unsafe-buffer-usage
526527
ccache: 'true'
528+
- version: "17"
529+
distro: ubuntu-22.04
530+
arch_flags: -march=native -Wno-unsafe-buffer-usage
531+
- version: "17"
532+
distro: ubuntu-22.04
533+
arch_flags: -ffast-math -Wno-unsafe-buffer-usage
534+
ccache: 'true'
527535
runs-on: ${{ matrix.distro }}
528536
env:
529537
CFLAGS: ${{ matrix.arch_flags }} -Wall -Weverything -Werror -fno-lax-vector-conversions
@@ -537,6 +545,7 @@ jobs:
537545
- name: Install APT Dependencies
538546
run: |
539547
sudo add-apt-repository ppa:ubuntu-toolchain-r/test
548+
sudo add-apt-repository ppa:savoury1/build-tools
540549
sudo add-apt-repository ppa:savoury1/display
541550
sudo apt-get update
542551
sudo apt-get -yq install gcovr ninja-build python3-pip clang-${{ matrix.version }}
@@ -604,19 +613,19 @@ jobs:
604613
find /usr/local/bin -type l -exec sh -c 'readlink -f "$1" \
605614
| grep -q ^/Library/Frameworks/Python.framework/Versions/' _ {} \; -exec rm -v {} \;
606615
- name: Install Homebrew Dependencies
607-
run: brew install meson ninja gcovr
616+
run: brew install meson ninja # gcovr
608617
- name: Configure
609-
run: meson setup build -Db_coverage=true
618+
run: meson setup build # -Db_coverage=true
610619
- name: Build
611620
run: ninja -C build -v
612621
- name: Test
613622
run: meson test -C build --print-errorlogs $(meson test -C build --list | grep -v emul)
614-
- name: Coverage Report
615-
run: ninja -C build -v coverage-xml
616-
- name: CodeCov.io
617-
uses: codecov/codecov-action@v3
618-
with:
619-
file: ./build/meson-logs/coverage.xml
623+
# - name: Coverage Report
624+
# run: ninja -C build -v coverage-xml
625+
# - name: CodeCov.io
626+
# uses: codecov/codecov-action@v3
627+
# with:
628+
# file: ./build/meson-logs/coverage.xml
620629

621630
icc:
622631
runs-on: ubuntu-22.04
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
[binaries]
2+
c = ['ccache', 'clang-17']
3+
cpp = ['ccache', 'clang++-17']
4+
ar = 'llvm-ar-17'
5+
strip = 'llvm-strip-17'
6+
objcopy = 'llvm-objcopy-17'
7+
ld = 'llvm-ld-17'
8+
exe_wrapper = ['qemu-aarch64-static', '-L', '/usr/aarch64-linux-gnu']
9+
10+
[properties]
11+
c_args = ['--target=aarch64-linux-gnu', '-march=armv8-a+simd+crypto+crc+bf16', '-isystem=/usr/aarch64-linux-gnu/include', '-Weverything', '-fno-lax-vector-conversions', '-Werror', '-Wno-unsafe-buffer-usage']
12+
cpp_args = ['--target=aarch64-linux-gnu', '-march=armv8-a+simd+crypto+crc+bf16', '-isystem=/usr/aarch64-linux-gnu/include', '-Weverything', '-fno-lax-vector-conversions', '-Werror', '-Wno-unsafe-buffer-usage']
13+
c_link_args = ['--target=aarch64-linux-gnu']
14+
cpp_link_args = ['--target=aarch64-linux-gnu']
15+
16+
[host_machine]
17+
system = 'linux'
18+
cpu_family = 'aarch64'
19+
cpu = 'arm64'
20+
endian = 'little'
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
[binaries]
2+
c = ['ccache', 'clang-17']
3+
cpp = ['ccache', 'clang++-17']
4+
ar = 'llvm-ar-17'
5+
strip = 'llvm-strip-17'
6+
objcopy = 'llvm-objcopy-17'
7+
ld = 'llvm-ld-17'
8+
exe_wrapper = ['qemu-arm-static', '-L', '/usr/arm-linux-gnueabi']
9+
10+
[properties]
11+
c_args = ['--target=arm-linux-gnueabi', '-isystem=/usr/arm-linux-gnueabi/include', '-Weverything', '-fno-lax-vector-conversions', '-Werror', '-Wno-unsafe-buffer-usage']
12+
cpp_args = ['--target=arm-linux-gnueabi', '-isystem=/usr/arm-linux-gnueabi/include', '-Weverything', '-fno-lax-vector-conversions', '-Werror', '-Wno-unsafe-buffer-usage']
13+
c_link_args = ['--target=arm-linux-gnueabi']
14+
cpp_link_args = ['--target=arm-linux-gnueabi']
15+
16+
[host_machine]
17+
system = 'linux'
18+
cpu_family = 'arm'
19+
cpu = 'generic'
20+
endian = 'little'
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
[binaries]
2+
c = ['ccache', 'clang-17']
3+
cpp = ['ccache', 'clang++-17']
4+
ar = 'llvm-ar-17'
5+
strip = 'llvm-strip-17'
6+
objcopy = 'llvm-objcopy-17'
7+
ld = 'llvm-ld-17'
8+
exe_wrapper = ['qemu-arm-static', '-L', '/usr/arm-linux-gnueabihf']
9+
10+
[properties]
11+
c_args = ['--target=arm-linux-gnueabihf', '-march=armv7-a', '-mfpu=neon', '-isystem=/usr/arm-linux-gnueabihf/include', '-Weverything', '-fno-lax-vector-conversions', '-Werror', '-Wno-unsafe-buffer-usage']
12+
cpp_args = ['--target=arm-linux-gnueabihf', '-march=armv7-a', '-mfpu=neon', '-isystem=/usr/arm-linux-gnueabihf/include', '-Weverything', '-fno-lax-vector-conversions', '-Werror', '-Wno-unsafe-buffer-usage']
13+
c_link_args = ['--target=arm-linux-gnueabihf']
14+
cpp_link_args = ['--target=arm-linux-gnueabihf']
15+
16+
[host_machine]
17+
system = 'linux'
18+
cpu_family = 'arm'
19+
cpu = 'armv8-a'
20+
endian = 'little'
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
[binaries]
2+
c = ['ccache', 'clang-17']
3+
cpp = ['ccache', 'clang++-17']
4+
ar = 'llvm-ar-17'
5+
strip = 'llvm-strip-17'
6+
objcopy = 'llvm-objcopy-17'
7+
ld = 'llvm-ld-17'
8+
exe_wrapper = ['qemu-mips64el-static', '-cpu', 'Loongson-3A4000', '-L', '/usr/mips64el-linux-gnuabi64']
9+
10+
[properties]
11+
c_args = ['--target=mips64el-linux-gnuabi64', '-march=mips64r5', '-mmsa', '-isystem=/usr/mips64el-linux-gnuabi64/include', '-Weverything', '-fno-lax-vector-conversions', '-Werror', '-Wno-unsafe-buffer-usage']
12+
cpp_args = ['--target=mips64el-linux-gnuabi64', '-march=mips64r5', '-mmsa', '-isystem=/usr/mips64el-linux-gnuabi64/include', '-Weverything', '-fno-lax-vector-conversions', '-Werror', '-Wno-unsafe-buffer-usage']
13+
c_link_args = ['--target=mips64el-linux-gnuabi64']
14+
cpp_link_args = ['--target=mips64el-linux-gnuabi64']
15+
16+
[host_machine]
17+
system = 'linux'
18+
cpu_family = 'mips64el'
19+
cpu = 'mips64el'
20+
endian = 'little'
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
[binaries]
2+
c = ['ccache', 'clang-17']
3+
cpp = ['ccache', 'clang++-17']
4+
ar = 'llvm-ar-17'
5+
strip = 'llvm-strip-17'
6+
objcopy = 'llvm-objcopy-17'
7+
ld = 'llvm-ld-17'
8+
exe_wrapper = ['qemu-ppc64le-static', '-L', '/usr/powerpc64le-linux-gnu/']
9+
10+
[properties]
11+
c_args = ['--target=powerpc64le-linux-gnu', '-isystem=/usr/powerpc64le-linux-gnu/include', '-Weverything', '-fno-lax-vector-conversions', '-Werror', '-Wno-deprecated-altivec-src-compat', '-Wno-unsafe-buffer-usage']
12+
cpp_args = ['--target=powerpc64le-linux-gnu', '-isystem=/usr/powerpc64le-linux-gnu/include', '-Weverything', '-fno-lax-vector-conversions', '-Werror', '-Wno-deprecated-altivec-src-compat', '-Wno-unsafe-buffer-usage']
13+
c_link_args = ['--target=powerpc64le-linux-gnu']
14+
cpp_link_args = ['--target=powerpc64le-linux-gnu']
15+
16+
[host_machine]
17+
system = 'linux'
18+
cpu_family = 'ppc64'
19+
cpu = 'ppc64el'
20+
endian = 'little'
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
[binaries]
2+
c = ['ccache', 'clang-17']
3+
cpp = ['ccache', 'clang++-17']
4+
ar = 'llvm-ar-17'
5+
strip = 'llvm-strip-17'
6+
objcopy = 'llvm-objcopy-17'
7+
ld = 'llvm-ld-17'
8+
exe_wrapper = ['qemu-riscv64-static', '-L', '/usr/riscv64-linux-gnu/']
9+
10+
[properties]
11+
c_args = ['--target=riscv64-linux-gnu', '-isystem=/usr/riscv64-linux-gnu/include', '-Wextra', '-Werror', '-Wno-unsafe-buffer-usage']
12+
cpp_args = ['--target=riscv64-linux-gnu', '-isystem=/usr/riscv64-linux-gnu/include', '-Wextra', '-Werror', '-Wno-unsafe-buffer-usage']
13+
c_link_args = ['--target=riscv64-linux-gnu']
14+
cpp_link_args = ['--target=riscv64-linux-gnu']
15+
16+
[host_machine]
17+
system = 'linux'
18+
cpu_family = 'riscv64'
19+
cpu = 'riscv64'
20+
endian = 'little'
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
[binaries]
2+
c = ['ccache', 'clang-17']
3+
cpp = ['ccache', 'clang++-17']
4+
ar = 'llvm-ar-17'
5+
strip = 'llvm-strip-17'
6+
objcopy = 'llvm-objcopy-17'
7+
ld = 'llvm-ld-17'
8+
exe_wrapper = ['qemu-s390x-static', '-L', '/usr/s390x-linux-gnu/']
9+
10+
[properties]
11+
c_args = ['--target=s390x-ibm-linux', '-mpcu=z196', '-isystem=/usr/s390x-linux-gnu/include', '-Weverything', '-fno-lax-vector-conversions', '-Werror', '-Wno-unsafe-buffer-usage']
12+
cpp_args = ['--target=s390x-ibm-linux', '-mpcu=z196', '-isystem=/usr/s390x-linux-gnu/include', '-Weverything', '-fno-lax-vector-conversions', '-Werror', '-Wno-unsafe-buffer-usage']
13+
c_link_args = ['--target=s390x-ibm-linux']
14+
cpp_link_args = ['--target=s390x-ibm-linux']
15+
16+
[host_machine]
17+
system = 'linux'
18+
cpu_family = 's390x'
19+
cpu = 's390x'
20+
endian = 'big'

0 commit comments

Comments
 (0)