Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Move armhf CI from CirrusCI to GitHub Actions #4385

Merged
merged 1 commit into from
Aug 9, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .ci-dockerfiles/cross-armhf/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
FROM ponylang/ponyc-ci-x86-64-unknown-linux-ubuntu20.04-builder:20230115
FROM ponylang/ponyc-ci-x86-64-unknown-linux-ubuntu20.04-builder:20230807

ARG CROSS_TRIPLE=arm-unknown-linux-gnueabihf
ARG CROSS_CC=arm-linux-gnueabihf-gcc
Expand Down
31 changes: 0 additions & 31 deletions .cirrus.yml
Original file line number Diff line number Diff line change
Expand Up @@ -144,37 +144,6 @@ task:
release_test_script:
- ps: .\make.ps1 -Command test -Config Release -Uselldb yes

task:
only_if: $CIRRUS_PR != ''

container:
image: ponylang/ponyc-ci-cross-armhf:20230115
cpu: 8
memory: 6

environment:
IMAGE: ponylang/ponyc-ci-cross-armhf:20230115

name: "armhf Linux glibc"

libs_cache:
folder: build/libs
fingerprint_script: echo "`md5sum Makefile` `md5sum CMakeLists.txt` `md5sum lib/CMakeLists.txt` ${IMAGE}"
populate_script: make libs build_flags=-j8
upload_caches:
- libs

configure_script:
- make configure
build_script:
- make build
test_script:
- make test-ci usedebugger=lldb
libponyrt_cross_script:
- 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"
test_stdlib_cross_script:
- 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"

#
# Nightly build tasks
#
Expand Down
49 changes: 49 additions & 0 deletions .github/workflows/pr.yml
Original file line number Diff line number Diff line change
Expand Up @@ -226,3 +226,52 @@ jobs:
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"
- name: Test with Release Cross-Compiled Runtime
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"

armhf-linux:
runs-on: ubuntu-latest

strategy:
fail-fast: false
matrix:
include:
- image: ponylang/ponyc-ci-cross-armhf:20230809
name: armhf Linux glibc

name: ${{ matrix.name }}
container:
image: ${{ matrix.image }}
options: --user pony --cap-add=SYS_PTRACE --security-opt seccomp=unconfined
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Restore Libs Cache
id: restore-libs
uses: actions/cache/restore@v3
with:
path: build/libs
key: libs-${{ matrix.image }}-${{ hashFiles('Makefile', 'CMakeLists.txt', 'libs/CMakeLists.txt') }}
- name: Build Libs
if: steps.restore-libs.outputs.cache-hit != 'true'
run: make libs build_flags=-j8
- name: Save Libs Cache
if: steps.restore-libs.outputs.cache-hit != 'true'
uses: actions/cache/save@v3
with:
path: build/libs
key: libs-${{ matrix.image }}-${{ hashFiles('Makefile', 'CMakeLists.txt', 'libs/CMakeLists.txt') }}
- name: Configure Debug Runtime
run: make configure config=debug
- name: Build Debug Runtime
run: make build config=debug
- name: Build Debug Cross-Compiled Runtime
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"
- name: Test with Debug Cross-Compiled Runtime
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"
- name: Configure Release Runtime
run: make configure config=release
- name: Build Release Runtime
run: make build config=release
- name: Build Release Cross-Compiled Runtime
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"
- name: Test with Release Cross-Compiled Runtime
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"
1 change: 1 addition & 0 deletions .github/workflows/update-lib-cache.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@ jobs:
- image: ponylang/ponyc-ci-x86-64-unknown-linux-musl-builder:20230808
- image: ponylang/ponyc-ci-cross-riscv64:20230808
- image: ponylang/ponyc-ci-cross-arm:20230809
- image: ponylang/ponyc-ci-cross-armhf:20230809

name: ${{ matrix.image }}
container:
Expand Down
Loading