Skip to content

Commit d94b886

Browse files
author
Sven Van Asbroeck
committed
CI: Add support for 32-bit arm
qemu emulates the virt machine running a cortex-a7. kernel-arm-release.config corresponds to: - arch/arm/configs/multi_v7_defconfig (includes cortex-a7 virt support) - enable rust support, enable rust samples (as modules) - enable android/binder rust support Signed-off-by: Sven Van Asbroeck <[email protected]>
1 parent 689de06 commit d94b886

File tree

2 files changed

+9218
-4
lines changed

2 files changed

+9218
-4
lines changed

.github/workflows/ci.yaml

Lines changed: 20 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,22 +6,28 @@ on:
66
jobs:
77
ci:
88
runs-on: ubuntu-20.04
9-
timeout-minutes: 20
9+
timeout-minutes: 60
1010

1111
strategy:
1212
matrix:
13-
arch: [arm64, ppc64le, x86_64]
13+
arch: [arm, arm64, ppc64le, x86_64]
1414
toolchain: [gcc, clang, llvm]
1515
config: [debug, release]
1616
rustc: [2021-02-20]
1717
output: [src] # [src, build]
1818
install: [rustup] # [rustup, standalone]
1919
sysroot: [common] # [common, custom]
2020

21-
# Exclude `LLVM=1` where not supported.
2221
exclude:
22+
# Exclude `LLVM=1` where not supported.
2323
- arch: ppc64le
2424
toolchain: llvm
25+
# arm 32-bit gcc not yet supported
26+
- arch: arm
27+
toolchain: gcc
28+
# arm 32-bit debug not yet supported
29+
- arch: arm
30+
config: debug
2531

2632
# A few independent combinations to avoid exploding the matrix:
2733
# - The other option for `output`.
@@ -81,6 +87,14 @@ jobs:
8187
echo 'QEMU_ARCH=ppc64' >> $GITHUB_ENV
8288
echo 'QEMU_MACHINE=pseries' >> $GITHUB_ENV
8389
echo 'QEMU_CPU=POWER9' >> $GITHUB_ENV
90+
- if: matrix.arch == 'arm'
91+
run: |
92+
echo 'MAKE_ARCH=ARCH=arm' >> $GITHUB_ENV
93+
echo 'MAKE_CROSS_COMPILE=CROSS_COMPILE=arm-linux-gnueabi-' >> $GITHUB_ENV
94+
echo 'IMAGE_PATH=arch/arm/boot/zImage' >> $GITHUB_ENV
95+
echo 'QEMU_ARCH=arm' >> $GITHUB_ENV
96+
echo 'QEMU_MACHINE=virt' >> $GITHUB_ENV
97+
echo 'QEMU_CPU=cortex-a7' >> $GITHUB_ENV
8498
8599
- if: matrix.toolchain == 'clang'
86100
run: echo 'MAKE_TOOLCHAIN=CC=clang-11' >> $GITHUB_ENV
@@ -109,14 +123,16 @@ jobs:
109123
run: sudo apt-get install -y gcc-aarch64-linux-gnu
110124
- if: matrix.arch == 'ppc64le'
111125
run: sudo apt-get install -y gcc-powerpc64le-linux-gnu
126+
- if: matrix.arch == 'arm'
127+
run: sudo apt-get install -y gcc-arm-linux-gnueabi lzop
112128

113129
# Setup: libelf
114130
- run: sudo apt-get install -y libelf-dev
115131

116132
# Setup: QEMU
117133
- if: matrix.arch == 'x86_64'
118134
run: sudo apt-get install -y qemu-system-x86
119-
- if: matrix.arch == 'arm64'
135+
- if: matrix.arch == 'arm64' || matrix.arch == 'arm'
120136
run: sudo apt-get install -y qemu-system-arm
121137
- if: matrix.arch == 'ppc64le'
122138
run: sudo apt-get install -y qemu-system-ppc

0 commit comments

Comments
 (0)