Skip to content

Commit f46db1e

Browse files
authored
Move arm CI jobs from CirrusCI to GitHub actions (#4384)
1 parent 1755dc1 commit f46db1e

File tree

4 files changed

+51
-32
lines changed

4 files changed

+51
-32
lines changed

.ci-dockerfiles/cross-arm/Dockerfile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
FROM ponylang/ponyc-ci-x86-64-unknown-linux-ubuntu20.04-builder:20230115
1+
FROM ponylang/ponyc-ci-x86-64-unknown-linux-ubuntu20.04-builder:20230807
22

33
ARG CROSS_TRIPLE=arm-unknown-linux-gnueabi
44
ARG CROSS_CC=arm-linux-gnueabi-gcc

.cirrus.yml

Lines changed: 0 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -144,37 +144,6 @@ task:
144144
release_test_script:
145145
- ps: .\make.ps1 -Command test -Config Release -Uselldb yes
146146

147-
task:
148-
only_if: $CIRRUS_PR != ''
149-
150-
container:
151-
image: ponylang/ponyc-ci-cross-arm:20230115
152-
cpu: 8
153-
memory: 6
154-
155-
environment:
156-
IMAGE: ponylang/ponyc-ci-cross-arm:20230115
157-
158-
name: "arm Linux glibc"
159-
160-
libs_cache:
161-
folder: build/libs
162-
fingerprint_script: echo "`md5sum Makefile` `md5sum CMakeLists.txt` `md5sum lib/CMakeLists.txt` ${IMAGE}"
163-
populate_script: make libs build_flags=-j8
164-
upload_caches:
165-
- libs
166-
167-
configure_script:
168-
- make configure
169-
build_script:
170-
- make build
171-
test_script:
172-
- make test-ci usedebugger=lldb
173-
libponyrt_cross_script:
174-
- make cross-libponyrt 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"
175-
test_stdlib_cross_script:
176-
- make test-cross-ci 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"
177-
178147
task:
179148
only_if: $CIRRUS_PR != ''
180149

.github/workflows/pr.yml

Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -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"

.github/workflows/update-lib-cache.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ jobs:
1818
- image: ponylang/ponyc-ci-x86-64-unknown-linux-ubuntu20.04-builder:20230807
1919
- image: ponylang/ponyc-ci-x86-64-unknown-linux-musl-builder:20230808
2020
- image: ponylang/ponyc-ci-cross-riscv64:20230808
21+
- image: ponylang/ponyc-ci-cross-arm:20230809
2122

2223
name: ${{ matrix.image }}
2324
container:

0 commit comments

Comments
 (0)