@@ -177,3 +177,52 @@ jobs:
177177 run : make cross-libponyrt config=release CC=riscv64-linux-gnu-gcc-10 CXX=riscv64-linux-gnu-g++-10 arch=rv64gc cross_cflags="-march=rv64gc -mtune=rocket" cross_lflags="-march=riscv64"
178178 - name : Test with Release Cross-Compiled Runtime
179179 run : make test-cross-ci config=release PONYPATH=../rv64gc/release cross_triple=riscv64-unknown-linux-gnu cross_arch=rv64gc cross_cpu=generic-rv64 cross_linker=riscv64-linux-gnu-gcc-10 cross_ponyc_args='--abi=lp64d --features=+m,+a,+f,+d,+c --link-ldcmd=bfd' cross_runner="qemu-riscv64 -L /usr/riscv64-linux-gnu/lib/"
180+
181+ arm-linux :
182+ runs-on : ubuntu-latest
183+
184+ strategy :
185+ fail-fast : false
186+ matrix :
187+ include :
188+ - image : ponylang/ponyc-ci-cross-arm:20230809
189+ name : arm Linux glibc
190+
191+ name : ${{ matrix.name }}
192+ container :
193+ image : ${{ matrix.image }}
194+ options : --user pony --cap-add=SYS_PTRACE --security-opt seccomp=unconfined
195+ steps :
196+ - name : Checkout
197+ uses : actions/checkout@v3
198+ - name : Restore Libs Cache
199+ id : restore-libs
200+ uses : actions/cache/restore@v3
201+ with :
202+ path : build/libs
203+ key : libs-${{ matrix.image }}-${{ hashFiles('Makefile', 'CMakeLists.txt', 'libs/CMakeLists.txt') }}
204+ - name : Build Libs
205+ if : steps.restore-libs.outputs.cache-hit != 'true'
206+ run : make libs build_flags=-j8
207+ - name : Save Libs Cache
208+ if : steps.restore-libs.outputs.cache-hit != 'true'
209+ uses : actions/cache/save@v3
210+ with :
211+ path : build/libs
212+ key : libs-${{ matrix.image }}-${{ hashFiles('Makefile', 'CMakeLists.txt', 'libs/CMakeLists.txt') }}
213+ - name : Configure Debug Runtime
214+ run : make configure config=debug
215+ - name : Build Debug Runtime
216+ run : make build config=debug
217+ - name : Build Debug Cross-Compiled Runtime
218+ run : make cross-libponyrt config=debug CC=arm-linux-gnueabi-gcc CXX=arm-linux-gnueabi-g++ arch=armv7-a cross_cflags="-march=armv7-a -mtune=cortex-a9" cross_lflags="-O3;-march=arm"
219+ - name : Test with Debug Cross-Compiled Runtime
220+ run : make test-cross-ci config=debug PONYPATH=../armv7-a/debug cross_triple=arm-unknown-linux-gnueabi cross_arch=armv7-a cross_cpu=cortex-a9 cross_linker=arm-linux-gnueabi-gcc cross_runner="qemu-arm-static -cpu cortex-a9 -L /usr/local/arm-linux-gnueabi/libc"
221+ - name : Configure Release Runtime
222+ run : make configure config=release
223+ - name : Build Release Runtime
224+ run : make build config=release
225+ - name : Build Release Cross-Compiled Runtime
226+ run : make cross-libponyrt config=release CC=arm-linux-gnueabi-gcc CXX=arm-linux-gnueabi-g++ arch=armv7-a cross_cflags="-march=armv7-a -mtune=cortex-a9" cross_lflags="-O3;-march=arm"
227+ - name : Test with Release Cross-Compiled Runtime
228+ run : make test-cross-ci config=release PONYPATH=../armv7-a/release cross_triple=arm-unknown-linux-gnueabi cross_arch=armv7-a cross_cpu=cortex-a9 cross_linker=arm-linux-gnueabi-gcc cross_runner="qemu-arm-static -cpu cortex-a9 -L /usr/local/arm-linux-gnueabi/libc"
0 commit comments