8787 x86 :
8888 runs-on : ubuntu-22.04
8989 strategy :
90+ fail-fast : false
9091 matrix :
9192 isax :
9293 - -mavx512bw -mavx512vl -mavx512cd -mavx512dq -mavx512vbmi -mavx512ifma -mavx512vpopcntdq -mavx512bitalg -mavx512vnni -mvpclmulqdq
@@ -105,9 +106,16 @@ jobs:
105106 - -mavx
106107 - -mfma
107108 - -mavx2
109+ include :
110+ - target : tgl
111+ - isax : -mavx512bw -mavx512vl -mavx512cd -mavx512dq -mavx512vbmi -mavx512ifma -mavx512vpopcntdq -mavx512bitalg -mavx512vnni -mvpclmulqdq -mavx512fp16
112+ target : spr
108113 env :
109114 CFLAGS : -Wall -Wextra -Werror ${{ matrix.isax }}
110115 CXXFLAGS : -Wall -Wextra -Werror ${{ matrix.isax }}
116+ CC : gcc-12
117+ CXX : g++-12
118+ INTEL_TARGET : ${{ matrix.target }}
111119 steps :
112120 - uses : actions/checkout@v3
113121 with :
@@ -121,10 +129,13 @@ jobs:
121129 key : ${{ github.job }}-${{ matrix.isax }}
122130 - name : Install APT Dependencies
123131 run : |
124- sudo apt-get install -y ninja-build ninja-build python3-pip parallel gcovr
132+ sudo apt-get install -y ninja-build ninja-build python3-pip parallel gcovr g++-12 gcc-12
125133 sudo python3 -m pip install meson==0.55.0
134+ - name : add ccache to the build path
135+ run : |
136+ export PATH="/usr/lib/ccache:/usr/local/opt/ccache/libexec:$PATH"
126137 - name : Configure
127- run : meson setup build -Db_coverage=true
138+ run : meson setup build -Db_coverage=true || (cat build/meson-logs/meson-log.txt ; false)
128139 - name : Build
129140 run : ninja -C build -v
130141 - name : Test
@@ -238,6 +249,7 @@ jobs:
238249
239250 gcc :
240251 strategy :
252+ fail-fast : false
241253 matrix :
242254 include :
243255 # - version: 4.7
@@ -308,6 +320,9 @@ jobs:
308320 sudo apt-get update
309321 sudo apt-get -yq install gcovr python3-pip ninja-build parallel "${CC}" "${CXX}"
310322 sudo python3 -m pip install meson==0.55.0
323+ - name : add ccache to the build path
324+ run : |
325+ export PATH="/usr/lib/ccache:/usr/local/opt/ccache/libexec:$PATH"
311326 - name : Configure
312327 run : meson setup build
313328 - name : Build
@@ -317,8 +332,21 @@ jobs:
317332
318333 gcc-qemu :
319334 strategy :
335+ fail-fast : false
320336 matrix :
321337 include :
338+ - version : 12
339+ cross : armel
340+ arch_gnu_abi : eabi
341+ arch_deb : armel
342+ arch_gnu : arm
343+ distro : ubuntu-22.04
344+ - version : 12
345+ cross : armv7
346+ arch_gnu : arm
347+ arch_gnu_abi : eabihf
348+ arch_deb : armhf
349+ distro : ubuntu-22.04
322350 - version : 12
323351 cross : aarch64
324352 arch_gnu : aarch64
@@ -352,8 +380,8 @@ jobs:
352380 sudo add-apt-repository ppa:savoury1/virtualisation
353381 sudo apt-get update -y
354382 sudo apt-get -yq install ninja-build parallel \
355- gcc-${{ matrix.version }}-${{ matrix.arch_gnu }}-linux-gnu \
356- g++-${{ matrix.version }}-${{ matrix.arch_gnu }}-linux-gnu binfmt-support \
383+ gcc-${{ matrix.version }}-${{ matrix.arch_gnu }}-linux-gnu${{ matrix.arch_gnu_abi }} \
384+ g++-${{ matrix.version }}-${{ matrix.arch_gnu }}-linux-gnu${{ matrix.arch_gnu_abi }} binfmt-support \
357385 qemu-user-static python3-pip libc6-${{ matrix.arch_deb }}-cross libstdc++-${{ matrix.version }}-dev-${{ matrix.arch_deb }}-cross
358386 sudo python3 -m pip install meson==0.55.0
359387 - name : ccache
@@ -370,31 +398,84 @@ jobs:
370398 - name : Test
371399 run : meson test -C build --print-errorlogs --print-errorlogs $(meson test -C build --list | grep -v emul)
372400
401+ clang-qemu :
402+ strategy :
403+ matrix :
404+ include :
405+ - version : 15
406+ cross : armv7
407+ arch_deb : armhf
408+ arch_gnu_abi : eabihf
409+ arch_gnu : arm
410+ distro : ubuntu-22.04
411+ - version : 15
412+ cross : aarch64
413+ arch_gnu : aarch64
414+ arch_deb : arm64
415+ distro : ubuntu-22.04
416+ - version : 15
417+ cross : armel
418+ arch_gnu_abi : eabi
419+ arch_deb : armel
420+ arch_gnu : arm
421+ distro : ubuntu-22.04
422+ # - version: 15
423+ # cross: armel
424+ # arch_gnu_abi: eabi
425+ # arch_deb: armel
426+ # arch_gnu: arm
427+ # distro: ubuntu-22.04
428+ # - version: 15
429+ # cross: riscv64
430+ # arch_gnu: riscv64
431+ # arch_deb: riscv64
432+ # distro: ubuntu-22.04
433+ # - version: 15
434+ # cross: s390x
435+ # arch_gnu: s390x
436+ # arch_deb: s390x
437+ # distro: ubuntu-22.04
438+ - version : 15
439+ cross : ppc64el
440+ arch_deb : ppc64el
441+ arch_gnu : powerpc64le
442+ distro : ubuntu-22.04
443+ runs-on : ${{ matrix.distro }}
444+ steps :
445+ - uses : actions/checkout@v3
446+ with :
447+ submodules : recursive
448+ - run : sudo apt-get update
449+ - name : CPU Information
450+ run : cat /proc/cpuinfo
451+ - name : Install APT Dependencies
452+ run : |
453+ sudo add-apt-repository ppa:savoury1/virtualisation
454+ sudo apt-get update -y
455+ sudo apt-get -yq install ninja-build parallel \
456+ binfmt-support clang-${{ matrix.version }} clang++-${{ matrix.version }} \
457+ qemu-user-static python3-pip libc6-${{ matrix.arch_deb }}-cross libstdc++-12-dev-${{ matrix.arch_deb }}-cross \
458+ binutils-${{ matrix.arch_gnu }}-linux-gnu${{ matrix.arch_gnu_abi }}
459+ sudo python3 -m pip install meson==0.55.0
460+ - name : ccache
461+ uses : hendrikmuhs/ccache-action@v1.2
462+ with :
463+ key : ${{ github.job }}-${{ matrix.distro }}-${{ matrix.cross }}
464+ - name : add ccache to the build path
465+ run : |
466+ export PATH="/usr/lib/ccache:/usr/local/opt/ccache/libexec:$PATH"
467+ - name : Configure
468+ run : meson setup --cross-file=docker/cross-files/${{ matrix.cross }}-clang-${{ matrix.version }}-ccache.cross build
469+ - name : Build
470+ run : ninja -C build -v
471+ - name : Test
472+ run : meson test -C build --print-errorlogs --print-errorlogs $(meson test -C build --list | grep -v emul)
473+
373474 clang :
374475 strategy :
476+ fail-fast : false
375477 matrix :
376478 include :
377- # - version: "3.5"
378- # distro: ubuntu-16.04
379- # arch_flags: -mavx2
380- # - version: "3.6"
381- # distro: ubuntu-16.04
382- # arch_flags: -mavx2
383- # - version: "3.7"
384- # distro: ubuntu-16.04
385- # arch_flags: -mavx2
386- # - version: "3.8"
387- # distro: ubuntu-16.04
388- # arch_flags: -mavx2
389- # - version: "3.9"
390- # distro: ubuntu-18.04
391- # arch_flags: -mavx2
392- # - version: "4.0"
393- # distro: ubuntu-18.04
394- # arch_flags: -mavx2
395- # - version: "5.0"
396- # distro: ubuntu-18.04
397- # arch_flags: -mavx2
398479 # - version: "6.0"
399480 # distro: ubuntu-20.04
400481 # arch_flags: -march=native
@@ -458,6 +539,10 @@ jobs:
458539 sudo apt-get update
459540 sudo apt-get -yq install gcovr ninja-build python3-pip clang-${{ matrix.version }}
460541 sudo python3 -m pip install meson==0.55.0
542+ - name : add ccache to the build path
543+ if : ${{ matrix.ccache == 'true' }}
544+ run : |
545+ export PATH="/usr/lib/ccache:/usr/local/opt/ccache/libexec:$PATH"
461546 - name : Configure
462547 run : meson setup build
463548 - name : Build
@@ -559,3 +644,38 @@ jobs:
559644 run : |
560645 meson --backend=ninja build --cross-file test/arm64cl.txt
561646 meson test -C build --print-errorlogs $(meson test -C build --list | grep -v emul)
647+
648+ linux-gcc-loongarch64 :
649+ runs-on : ubuntu-22.04
650+ steps :
651+ - uses : actions/checkout@v3
652+ - name : CPU Information
653+ run : cat /proc/cpuinfo
654+ - name : Install APT Dependencies
655+ run : |
656+ sudo add-apt-repository ppa:savoury1/virtualisation
657+ sudo apt-get install -y ninja-build ninja-build meson qemu-user-static
658+ - name : Download and install loongarch64-toolchain
659+ run : |
660+ wget https://github.com/loongson/build-tools/releases/download/2022.09.06/loongarch64-clfs-7.3-cross-tools-gcc-glibc.tar.xz
661+ tar -xf loongarch64-clfs-7.3-cross-tools-gcc-glibc.tar.xz -C /opt
662+ - name : ccache
663+ uses : hendrikmuhs/ccache-action@v1.2
664+ with :
665+ key : ${{ github.job }}-loongarch64-gcc-13
666+ - name : set env
667+ run : |
668+ echo "LD_LIBRARY_PATH=/opt/cross-tools/target/usr/lib64:/opt/cross-tools/loongarch64-unknown-linux-gnu/lib64:$LD_LIBRARY_PATH" >> $GITHUB_ENV
669+ echo "PATH=$GITHUB_WORKSPACE:/opt/cross-tools/bin:$PATH" >> $GITHUB_ENV
670+ - name : Disable SVML tests
671+ run : |
672+ sed -i "/svml/d" test/x86/meson.build
673+ rm test/x86/svml.c
674+ echo "Due to the qemu versions 7.2 through 8.0 causing timeouts in four sets of test cases,"
675+ echo "the SVML tests have been temporarily disabled."
676+ - name : Configure
677+ run : meson setup build --cross-file=docker/cross-files/loongarch64-gcc-13-ccache.cross
678+ - name : Build
679+ run : meson compile -C build -v
680+ - name : Test
681+ run : meson test -C build --print-errorlogs
0 commit comments