Skip to content

Commit

Permalink
gh-actions: test with clang-16
Browse files Browse the repository at this point in the history
  • Loading branch information
mr-c committed Oct 18, 2023
1 parent 5e7c4d4 commit d31f5bc
Show file tree
Hide file tree
Showing 6 changed files with 122 additions and 17 deletions.
39 changes: 22 additions & 17 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -384,40 +384,34 @@ jobs:
strategy:
matrix:
include:
- version: 15
- version: 16
cross: armv7
arch_deb: armhf
arch_gnu_abi: eabihf
arch_gnu: arm
distro: ubuntu-22.04
- version: 15
- version: 16
cross: aarch64
arch_gnu: aarch64
arch_deb: arm64
distro: ubuntu-22.04
- version: 15
- version: 16
cross: armel
arch_gnu_abi: eabi
arch_deb: armel
arch_gnu: arm
distro: ubuntu-22.04
- version: 15
- version: 16
cross: riscv64
arch_gnu: riscv64
arch_deb: riscv64
distro: ubuntu-22.04
# - version: 15
# cross: armel
# arch_gnu_abi: eabi
# arch_deb: armel
# arch_gnu: arm
# distro: ubuntu-22.04
# - version: 15
# cross: s390x
# arch_gnu: s390x
# arch_deb: s390x
# distro: ubuntu-22.04
- version: 15
- version: 16
cross: s390x
arch_gnu: s390x
arch_deb: s390x
distro: ubuntu-22.04
- version: 16
cross: ppc64el
arch_deb: ppc64el
arch_gnu: powerpc64le
Expand All @@ -433,6 +427,7 @@ jobs:
- name: Install APT Dependencies
run: |
sudo add-apt-repository ppa:savoury1/virtualisation
sudo add-apt-repository ppa:savoury1/display
sudo apt-get update -y
sudo apt-get -yq install ninja-build parallel \
binfmt-support clang-${{ matrix.version }} clang++-${{ matrix.version }} \
Expand All @@ -457,6 +452,7 @@ jobs:
strategy:
fail-fast: false
matrix:
ppa: [ ubuntu-toolchain-r/test ]
include:
- version: "7"
distro: ubuntu-20.04
Expand Down Expand Up @@ -497,6 +493,15 @@ jobs:
distro: ubuntu-22.04
arch_flags: -ffast-math
ccache: 'true'
- version: "16"
distro: ubuntu-22.04
arch_flags: -march=native
ppa: savoury1/display
- version: "16"
distro: ubuntu-22.04
arch_flags: -ffast-math
ccache: 'true'
ppa: savoury1/display
runs-on: ${{ matrix.distro }}
env:
CFLAGS: ${{ matrix.arch_flags }} -Wall -Weverything -Werror -fno-lax-vector-conversions
Expand All @@ -509,7 +514,7 @@ jobs:
run: cat /proc/cpuinfo
- name: Install APT Dependencies
run: |
sudo add-apt-repository ppa:ubuntu-toolchain-r/test
sudo add-apt-repository ppa:${{ matrix.ppa }}
sudo apt-get update
sudo apt-get -yq install gcovr ninja-build python3-pip clang-${{ matrix.version }}
sudo python3 -m pip install meson==0.55.0
Expand Down
20 changes: 20 additions & 0 deletions docker/cross-files/aarch64-clang-16-ccache.cross
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
[binaries]
c = ['ccache', 'clang-16']
cpp = ['ccache', 'clang++-16']
ar = 'llvm-ar-16'
strip = 'llvm-strip-16'
objcopy = 'llvm-objcopy-16'
ld = 'llvm-ld-16'
exe_wrapper = ['qemu-aarch64-static', '-L', '/usr/aarch64-linux-gnu']

[properties]
c_args = ['--target=aarch64-linux-gnu', '-march=armv8-a+simd+crypto+crc', '-isystem=/usr/aarch64-linux-gnu/include', '-Weverything', '-fno-lax-vector-conversions', '-Werror']
cpp_args = ['--target=aarch64-linux-gnu', '-march=armv8-a+simd+crypto+crc', '-isystem=/usr/aarch64-linux-gnu/include', '-Weverything', '-fno-lax-vector-conversions', '-Werror']
c_link_args = ['--target=aarch64-linux-gnu']
cpp_link_args = ['--target=aarch64-linux-gnu']

[host_machine]
system = 'linux'
cpu_family = 'aarch64'
cpu = 'arm64'
endian = 'little'
20 changes: 20 additions & 0 deletions docker/cross-files/armv7-clang-16-ccache.cross
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
[binaries]
c = ['ccache', 'clang-16']
cpp = ['ccache', 'clang++-16']
ar = 'llvm-ar-16'
strip = 'llvm-strip-16'
objcopy = 'llvm-objcopy-16'
ld = 'llvm-ld-16'
exe_wrapper = ['qemu-arm-static', '-L', '/usr/arm-linux-gnueabihf']

[properties]
c_args = ['--target=arm-linux-gnueabihf', '-march=armv7-a', '-mfpu=neon', '-isystem=/usr/arm-linux-gnueabihf/include', '-Weverything', '-fno-lax-vector-conversions', '-Werror']
cpp_args = ['--target=arm-linux-gnueabihf', '-march=armv7-a', '-mfpu=neon', '-isystem=/usr/arm-linux-gnueabihf/include', '-Weverything', '-fno-lax-vector-conversions', '-Werror']
c_link_args = ['--target=arm-linux-gnueabihf']
cpp_link_args = ['--target=arm-linux-gnueabihf']

[host_machine]
system = 'linux'
cpu_family = 'arm'
cpu = 'armv8-a'
endian = 'little'
20 changes: 20 additions & 0 deletions docker/cross-files/ppc64el-clang-16-ccache.cross
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
[binaries]
c = ['ccache', 'clang-16']
cpp = ['ccache', 'clang++-16']
ar = 'llvm-ar-16'
strip = 'llvm-strip-16'
objcopy = 'llvm-objcopy-16'
ld = 'llvm-ld-16'
exe_wrapper = ['qemu-ppc64le-static', '-L', '/usr/powerpc64le-linux-gnu/']

[properties]
c_args = ['--target=powerpc64le-linux-gnu', '-isystem=/usr/powerpc64le-linux-gnu/include', '-Weverything', '-fno-lax-vector-conversions', '-Werror', '-Wno-deprecated-altivec-src-compat']
cpp_args = ['--target=powerpc64le-linux-gnu', '-isystem=/usr/powerpc64le-linux-gnu/include', '-Weverything', '-fno-lax-vector-conversions', '-Werror', '-Wno-deprecated-altivec-src-compat']
c_link_args = ['--target=powerpc64le-linux-gnu']
cpp_link_args = ['--target=powerpc64le-linux-gnu']

[host_machine]
system = 'linux'
cpu_family = 'ppc64'
cpu = 'ppc64el'
endian = 'little'
20 changes: 20 additions & 0 deletions docker/cross-files/riscv64-clang-16-ccache.cross
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
[binaries]
c = ['ccache', 'clang-16']
cpp = ['ccache', 'clang++-16']
ar = 'llvm-ar-16'
strip = 'llvm-strip-16'
objcopy = 'llvm-objcopy-16'
ld = 'llvm-ld-16'
exe_wrapper = ['qemu-riscv64-static', '-L', '/usr/riscv64-linux-gnu/']

[properties]
c_args = ['--target=riscv64-linux-gnu', '-isystem=/usr/riscv64-linux-gnu/include', '-Wextra', '-Werror']
cpp_args = ['--target=riscv64-linux-gnu', '-isystem=/usr/riscv64-linux-gnu/include', '-Wextra', '-Werror']
c_link_args = ['--target=riscv64-linux-gnu']
cpp_link_args = ['--target=riscv64-linux-gnu']

[host_machine]
system = 'linux'
cpu_family = 'riscv64'
cpu = 'riscv64'
endian = 'little'
20 changes: 20 additions & 0 deletions docker/cross-files/s390x-clang-16-ccache.cross
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
[binaries]
c = ['ccache', 'clang-16']
cpp = ['ccache', 'clang++-16']
ar = 'llvm-ar-16'
strip = 'llvm-strip-16'
objcopy = 'llvm-objcopy-16'
ld = 'llvm-ld-16'
exe_wrapper = ['qemu-s390x-static', '-L', '/usr/s390x-linux-gnu/']

[properties]
c_args = ['--target=s390x-ibm-linux', '-mpcu=z196', '-isystem=/usr/s390x-linux-gnu/include', '-Weverything', '-fno-lax-vector-conversions', '-Werror']
cpp_args = ['--target=s390x-ibm-linux', '-mpcu=z196', '-isystem=/usr/s390x-linux-gnu/include', '-Weverything', '-fno-lax-vector-conversions', '-Werror']
c_link_args = ['--target=s390x-ibm-linux']
cpp_link_args = ['--target=s390x-ibm-linux']

[host_machine]
system = 'linux'
cpu_family = 's390x'
cpu = 's390x'
endian = 'big'

0 comments on commit d31f5bc

Please sign in to comment.