[v5,7/7] ci: add LOONGARCH64 cross compilation job
Checks
Commit Message
Checks cross-compilation using Ubuntu 20.04 x86 for LoongArch.
Signed-off-by: Min Zhou <zhoumin@loongson.cn>
---
.ci/linux-build.sh | 9 +++++++++
.github/workflows/build.yml | 10 +++++++++-
2 files changed, 18 insertions(+), 1 deletion(-)
@@ -78,6 +78,15 @@ if [ "$RISCV64" = "true" ]; then
cross_file=config/riscv/riscv64_linux_gcc
fi
+if [ "$LOONGARCH64" = "true" ]; then
+ cross_tools_dir="/tmp/loongarch64-cross-tools"
+ rm -rf $cross_tools_dir
+ mkdir $cross_tools_dir
+ tar -xf /tmp/loongarch64-clfs-5.1-cross-tools-gcc-glibc.tar.xz -C $cross_tools_dir --strip-components 1
+ export PATH=$PATH:$cross_tools_dir/bin
+ cross_file=config/loongarch/loongarch_loongarch64_linux_gcc
+fi
+
if [ -n "$cross_file" ]; then
OPTS="$OPTS --cross-file $cross_file"
fi
@@ -27,6 +27,7 @@ jobs:
PPC64LE: ${{ matrix.config.cross == 'ppc64le' }}
REF_GIT_TAG: none
RISCV64: ${{ matrix.config.cross == 'riscv64' }}
+ LOONGARCH64: ${{ matrix.config.cross == 'loongarch64' }}
RUN_TESTS: ${{ contains(matrix.config.checks, 'tests') }}
strategy:
@@ -79,6 +80,10 @@ jobs:
compiler: gcc
library: shared
cross: riscv64
+ - os: ubuntu-20.04
+ compiler: gcc
+ library: shared
+ cross: loongarch64
steps:
- name: Checkout sources
@@ -118,7 +123,7 @@ jobs:
run: sudo apt install -y ccache libnuma-dev python3-setuptools
python3-wheel python3-pip python3-pyelftools ninja-build libbsd-dev
libpcap-dev libibverbs-dev libcrypto++-dev libfdt-dev libjansson-dev
- libarchive-dev
+ libarchive-dev wget
- name: Install libabigail build dependencies if no cache is available
if: env.ABI_CHECKS == 'true' && steps.libabigail-cache.outputs.cache-hit != 'true'
run: sudo apt install -y autoconf automake libtool pkg-config libxml2-dev
@@ -138,6 +143,9 @@ jobs:
- name: Install riscv64 cross compiling packages
if: env.RISCV64 == 'true'
run: sudo apt install -y crossbuild-essential-riscv64
+ - name: Install loongarch64 cross compiling packages
+ if: env.LOONGARCH64 == 'true'
+ run: sudo wget -P /tmp/ https://github.com/loongson/build-tools/releases/download/2022.08.11/loongarch64-clfs-5.1-cross-tools-gcc-glibc.tar.xz
- name: Install test tools packages
if: env.AARCH64 != 'true' || env.PPC64LE != 'true' || env.RISCV64 != 'true' || env.RUN_TESTS == 'true'
run: sudo apt install -y gdb