Skip to content

Commit 1fe625d

Browse files
authored
Move armhf CI from CirrusCI to GitHub Actions (#4385)
1 parent f46db1e commit 1fe625d

File tree

4 files changed

+51
-32
lines changed

4 files changed

+51
-32
lines changed

.ci-dockerfiles/cross-armhf/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-gnueabihf
44
ARG CROSS_CC=arm-linux-gnueabihf-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-armhf:20230115
152-
cpu: 8
153-
memory: 6
154-
155-
environment:
156-
IMAGE: ponylang/ponyc-ci-cross-armhf:20230115
157-
158-
name: "armhf 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-gnueabihf-gcc CXX=arm-linux-gnueabihf-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-gnueabihf cross_arch=armv7-a cross_cpu=cortex-a9 cross_linker=arm-linux-gnueabihf-gcc cross_runner="qemu-arm-static -cpu cortex-a9 -L /usr/local/arm-linux-gnueabihf/libc"
177-
178147
#
179148
# Nightly build tasks
180149
#

.github/workflows/pr.yml

Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -226,3 +226,52 @@ jobs:
226226
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"
227227
- name: Test with Release Cross-Compiled Runtime
228228
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"
229+
230+
armhf-linux:
231+
runs-on: ubuntu-latest
232+
233+
strategy:
234+
fail-fast: false
235+
matrix:
236+
include:
237+
- image: ponylang/ponyc-ci-cross-armhf:20230809
238+
name: armhf Linux glibc
239+
240+
name: ${{ matrix.name }}
241+
container:
242+
image: ${{ matrix.image }}
243+
options: --user pony --cap-add=SYS_PTRACE --security-opt seccomp=unconfined
244+
steps:
245+
- name: Checkout
246+
uses: actions/checkout@v3
247+
- name: Restore Libs Cache
248+
id: restore-libs
249+
uses: actions/cache/restore@v3
250+
with:
251+
path: build/libs
252+
key: libs-${{ matrix.image }}-${{ hashFiles('Makefile', 'CMakeLists.txt', 'libs/CMakeLists.txt') }}
253+
- name: Build Libs
254+
if: steps.restore-libs.outputs.cache-hit != 'true'
255+
run: make libs build_flags=-j8
256+
- name: Save Libs Cache
257+
if: steps.restore-libs.outputs.cache-hit != 'true'
258+
uses: actions/cache/save@v3
259+
with:
260+
path: build/libs
261+
key: libs-${{ matrix.image }}-${{ hashFiles('Makefile', 'CMakeLists.txt', 'libs/CMakeLists.txt') }}
262+
- name: Configure Debug Runtime
263+
run: make configure config=debug
264+
- name: Build Debug Runtime
265+
run: make build config=debug
266+
- name: Build Debug Cross-Compiled Runtime
267+
run: make cross-libponyrt config=debug CC=arm-linux-gnueabihf-gcc CXX=arm-linux-gnueabihf-g++ arch=armv7-a cross_cflags="-march=armv7-a -mtune=cortex-a9" cross_lflags="-O3;-march=arm"
268+
- name: Test with Debug Cross-Compiled Runtime
269+
run: make test-cross-ci config=debug PONYPATH=../armv7-a/debug cross_triple=arm-unknown-linux-gnueabihf cross_arch=armv7-a cross_cpu=cortex-a9 cross_linker=arm-linux-gnueabihf-gcc cross_runner="qemu-arm-static -cpu cortex-a9 -L /usr/local/arm-linux-gnueabihf/libc"
270+
- name: Configure Release Runtime
271+
run: make configure config=release
272+
- name: Build Release Runtime
273+
run: make build config=release
274+
- name: Build Release Cross-Compiled Runtime
275+
run: make cross-libponyrt config=release CC=arm-linux-gnueabihf-gcc CXX=arm-linux-gnueabihf-g++ arch=armv7-a cross_cflags="-march=armv7-a -mtune=cortex-a9" cross_lflags="-O3;-march=arm"
276+
- name: Test with Release Cross-Compiled Runtime
277+
run: make test-cross-ci config=release PONYPATH=../armv7-a/release cross_triple=arm-unknown-linux-gnueabihf cross_arch=armv7-a cross_cpu=cortex-a9 cross_linker=arm-linux-gnueabihf-gcc cross_runner="qemu-arm-static -cpu cortex-a9 -L /usr/local/arm-linux-gnueabihf/libc"

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

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ jobs:
1919
- image: ponylang/ponyc-ci-x86-64-unknown-linux-musl-builder:20230808
2020
- image: ponylang/ponyc-ci-cross-riscv64:20230808
2121
- image: ponylang/ponyc-ci-cross-arm:20230809
22+
- image: ponylang/ponyc-ci-cross-armhf:20230809
2223

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

0 commit comments

Comments
 (0)