diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index ab0cd1806..d6f03701b 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -86,9 +86,18 @@ jobs: fail-fast: false matrix: include: + - script: linux-arm/aarch64-linux-gnu-gcc-10.3 + image: rocstreaming/toolchain-aarch64-linux-gnu:gcc-10.3 + - script: linux-arm/aarch64-linux-gnu-gcc-7.4 image: rocstreaming/toolchain-aarch64-linux-gnu:gcc-7.4 + - script: linux-arm/arm-linux-gnueabihf-gcc-10.3 + image: rocstreaming/toolchain-arm-linux-gnueabihf:gcc-10.3 + + - script: linux-arm/arm-linux-gnueabihf-gcc-7.4 + image: rocstreaming/toolchain-arm-linux-gnueabihf:gcc-7.4 + - script: linux-arm/arm-linux-gnueabihf-gcc-4.9 image: rocstreaming/toolchain-arm-linux-gnueabihf:gcc-4.9 diff --git a/scripts/ci_checks/linux-arm/aarch64-linux-gnu-gcc-10.3.sh b/scripts/ci_checks/linux-arm/aarch64-linux-gnu-gcc-10.3.sh new file mode 100755 index 000000000..802b97a29 --- /dev/null +++ b/scripts/ci_checks/linux-arm/aarch64-linux-gnu-gcc-10.3.sh @@ -0,0 +1,16 @@ +#!/usr/bin/env bash + +set -eux -o pipefail + +toolchain="aarch64-none-linux-gnu" +compiler="gcc-10.3.1-release" +cpu="cortex-a53" # armv8 + +scons -Q \ + --enable-werror \ + --enable-tests \ + --enable-examples \ + --build-3rdparty=all,pulseaudio:10.0 \ + --host=${toolchain} + +"$( dirname "$0" )"/run-tests-in-qemu.sh "$toolchain" "$compiler" "$cpu" diff --git a/scripts/ci_checks/linux-arm/aarch64-linux-gnu-gcc-7.4.sh b/scripts/ci_checks/linux-arm/aarch64-linux-gnu-gcc-7.4.sh index 6e29a000a..0e7276721 100755 --- a/scripts/ci_checks/linux-arm/aarch64-linux-gnu-gcc-7.4.sh +++ b/scripts/ci_checks/linux-arm/aarch64-linux-gnu-gcc-7.4.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash -set -euxo pipefail +set -eux -o pipefail toolchain="aarch64-linux-gnu" compiler="gcc-7.4.1-release" @@ -13,11 +13,4 @@ scons -Q \ --build-3rdparty=all,pulseaudio:10.0 \ --host=${toolchain} -find bin/${toolchain} -name 'roc-test-*' | \ - while read tst - do - LD_LIBRARY_PATH="/opt/sysroot/lib:$(echo \ - "${PWD}"/build/3rdparty/${toolchain}/${compiler}/*/rpath | tr ' ' ':')" \ - python3 scripts/scons_helpers/timeout-run.py 300 \ - qemu-aarch64 -L "/opt/sysroot" -cpu ${cpu} ${tst} - done +"$( dirname "$0" )"/run-tests-in-qemu.sh "$toolchain" "$compiler" "$cpu" diff --git a/scripts/ci_checks/linux-arm/arm-bcm2708hardfp-linux-gnueabi-gcc-4.7.sh b/scripts/ci_checks/linux-arm/arm-bcm2708hardfp-linux-gnueabi-gcc-4.7.sh index 28657dd43..3f3ad344d 100755 --- a/scripts/ci_checks/linux-arm/arm-bcm2708hardfp-linux-gnueabi-gcc-4.7.sh +++ b/scripts/ci_checks/linux-arm/arm-bcm2708hardfp-linux-gnueabi-gcc-4.7.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash -set -euxo pipefail +set -eux -o pipefail toolchain="arm-bcm2708hardfp-linux-gnueabi" compiler="gcc-4.7.1-release" @@ -13,11 +13,4 @@ scons -Q \ --build-3rdparty=all,pulseaudio:5.0 \ --host=${toolchain} -find bin/${toolchain} -name 'roc-test-*' | \ - while read tst - do - LD_LIBRARY_PATH="/opt/sysroot/lib:$(echo \ - "${PWD}"/build/3rdparty/${toolchain}/${compiler}/*/rpath | tr ' ' ':')" \ - python3 scripts/scons_helpers/timeout-run.py 300 \ - qemu-arm -L "/opt/sysroot" -cpu ${cpu} ${tst} - done +"$( dirname "$0" )"/run-tests-in-qemu.sh "$toolchain" "$compiler" "$cpu" diff --git a/scripts/ci_checks/linux-arm/arm-linux-gnueabihf-gcc-10.3.sh b/scripts/ci_checks/linux-arm/arm-linux-gnueabihf-gcc-10.3.sh new file mode 100755 index 000000000..89d159431 --- /dev/null +++ b/scripts/ci_checks/linux-arm/arm-linux-gnueabihf-gcc-10.3.sh @@ -0,0 +1,16 @@ +#!/usr/bin/env bash + +set -eux -o pipefail + +toolchain="arm-none-linux-gnueabihf" +compiler="gcc-10.3.1-release" +cpu="cortex-a15" # armv7 + +scons -Q \ + --enable-werror \ + --enable-tests \ + --enable-examples \ + --build-3rdparty=all,pulseaudio:8.0 \ + --host=${toolchain} + +"$( dirname "$0" )"/run-tests-in-qemu.sh "$toolchain" "$compiler" "$cpu" diff --git a/scripts/ci_checks/linux-arm/arm-linux-gnueabihf-gcc-4.9.sh b/scripts/ci_checks/linux-arm/arm-linux-gnueabihf-gcc-4.9.sh index 2a9fc7bd2..9e63b8860 100755 --- a/scripts/ci_checks/linux-arm/arm-linux-gnueabihf-gcc-4.9.sh +++ b/scripts/ci_checks/linux-arm/arm-linux-gnueabihf-gcc-4.9.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash -set -euxo pipefail +set -eux -o pipefail toolchain="arm-linux-gnueabihf" compiler="gcc-4.9.4-release" @@ -13,11 +13,4 @@ scons -Q \ --build-3rdparty=all,pulseaudio:8.0 \ --host=${toolchain} -find bin/${toolchain} -name 'roc-test-*' | \ - while read tst - do - LD_LIBRARY_PATH="/opt/sysroot/lib:$(echo \ - "${PWD}"/build/3rdparty/${toolchain}/${compiler}/*/rpath | tr ' ' ':')" \ - python3 scripts/scons_helpers/timeout-run.py 300 \ - qemu-arm -L "/opt/sysroot" -cpu ${cpu} ${tst} - done +"$( dirname "$0" )"/run-tests-in-qemu.sh "$toolchain" "$compiler" "$cpu" diff --git a/scripts/ci_checks/linux-arm/arm-linux-gnueabihf-gcc-7.4.sh b/scripts/ci_checks/linux-arm/arm-linux-gnueabihf-gcc-7.4.sh new file mode 100755 index 000000000..d431d321e --- /dev/null +++ b/scripts/ci_checks/linux-arm/arm-linux-gnueabihf-gcc-7.4.sh @@ -0,0 +1,16 @@ +#!/usr/bin/env bash + +set -eux -o pipefail + +toolchain="arm-linux-gnueabihf" +compiler="gcc-7.4.1-release" +cpu="cortex-a15" # armv7 + +scons -Q \ + --enable-werror \ + --enable-tests \ + --enable-examples \ + --build-3rdparty=all,pulseaudio:8.0 \ + --host=${toolchain} + +"$( dirname "$0" )"/run-tests-in-qemu.sh "$toolchain" "$compiler" "$cpu" diff --git a/scripts/ci_checks/linux-arm/run-tests-in-qemu.sh b/scripts/ci_checks/linux-arm/run-tests-in-qemu.sh new file mode 100755 index 000000000..c9d5c21b4 --- /dev/null +++ b/scripts/ci_checks/linux-arm/run-tests-in-qemu.sh @@ -0,0 +1,25 @@ +#!/usr/bin/env bash + +set -eux -o pipefail + +toolchain="${1:?arg1 missing: toolchain}" +compiler="${2:?arg2 missing: compiler}" +cpu="${3:?arg3 missing: QEMU CPU model}" + +case "$toolchain" in +(aarch64*) qemu_cmd=qemu-aarch64 ;; +(arm*) qemu_cmd=qemu-arm ;; +(*) + echo >&2 "Error: unsupported arch to run tests in QEMU; toolchain: $toolchain." + exit 1 +esac +readonly qemu_cmd + +find bin/"$toolchain" -name 'roc-test-*' | \ + while read tst + do + LD_LIBRARY_PATH="/opt/sysroot/lib:$(echo \ + "$PWD/build/3rdparty/$toolchain/$compiler"/*/rpath | tr ' ' ':')" \ + python3 scripts/scons_helpers/timeout-run.py 300 \ + "$qemu_cmd" -L "/opt/sysroot" -cpu "$cpu" "$tst" + done