|
6 | 6 | jobs:
|
7 | 7 | ci:
|
8 | 8 | runs-on: ubuntu-20.04
|
9 |
| - timeout-minutes: 20 |
| 9 | + timeout-minutes: 60 |
10 | 10 |
|
11 | 11 | strategy:
|
12 | 12 | matrix:
|
13 |
| - arch: [arm64, ppc64le, x86_64] |
| 13 | + arch: [arm, arm64, ppc64le, x86_64] |
14 | 14 | toolchain: [gcc, clang, llvm]
|
15 | 15 | config: [debug, release]
|
16 | 16 | rustc: [2021-02-20]
|
17 | 17 | output: [src] # [src, build]
|
18 | 18 | install: [rustup] # [rustup, standalone]
|
19 | 19 | sysroot: [common] # [common, custom]
|
20 | 20 |
|
21 |
| - # Exclude `LLVM=1` where not supported. |
22 | 21 | exclude:
|
| 22 | + # Exclude `LLVM=1` where not supported. |
23 | 23 | - arch: ppc64le
|
24 | 24 | 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 |
25 | 31 |
|
26 | 32 | # A few independent combinations to avoid exploding the matrix:
|
27 | 33 | # - The other option for `output`.
|
|
81 | 87 | echo 'QEMU_ARCH=ppc64' >> $GITHUB_ENV
|
82 | 88 | echo 'QEMU_MACHINE=pseries' >> $GITHUB_ENV
|
83 | 89 | 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 |
84 | 98 |
|
85 | 99 | - if: matrix.toolchain == 'clang'
|
86 | 100 | run: echo 'MAKE_TOOLCHAIN=CC=clang-11' >> $GITHUB_ENV
|
@@ -109,14 +123,16 @@ jobs:
|
109 | 123 | run: sudo apt-get install -y gcc-aarch64-linux-gnu
|
110 | 124 | - if: matrix.arch == 'ppc64le'
|
111 | 125 | 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 |
112 | 128 |
|
113 | 129 | # Setup: libelf
|
114 | 130 | - run: sudo apt-get install -y libelf-dev
|
115 | 131 |
|
116 | 132 | # Setup: QEMU
|
117 | 133 | - if: matrix.arch == 'x86_64'
|
118 | 134 | run: sudo apt-get install -y qemu-system-x86
|
119 |
| - - if: matrix.arch == 'arm64' |
| 135 | + - if: matrix.arch == 'arm64' || matrix.arch == 'arm' |
120 | 136 | run: sudo apt-get install -y qemu-system-arm
|
121 | 137 | - if: matrix.arch == 'ppc64le'
|
122 | 138 | run: sudo apt-get install -y qemu-system-ppc
|
|
0 commit comments