Skip to content

Commit

Permalink
Move riscv64 CI jobs from CirrusCI to GitHub actions
Browse files Browse the repository at this point in the history
  • Loading branch information
SeanTAllen committed Aug 8, 2023
1 parent a8b0d9f commit cccf0c8
Show file tree
Hide file tree
Showing 3 changed files with 56 additions and 1 deletion.
2 changes: 1 addition & 1 deletion .ci-dockerfiles/cross-riscv64/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

USER root

Expand Down
53 changes: 53 additions & 0 deletions .github/workflows/pr.yml
Original file line number Diff line number Diff line change
Expand Up @@ -120,3 +120,56 @@ jobs:
run: make build config=release
- name: Test with Release Runtime
run: make test-ci config=release usedebugger='lldb'

riscv64-linux:
runs-on: ubuntu-latest

strategy:
fail-fast: false
matrix:
include:
- image: ponylang/ponyc-ci-cross-riscv64:20230808
name: riscv64 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: Test with Debug Runtime
run: make test-ci config=debug usedebugger='lldb'
# - name: Build Debug Cross-Compiled Runtime
# run: make cross-libponyrt config=debug CC=riscv64-linux-gnu-gcc-10 CXX=riscv64-linux-gnu-g++-10 arch=rv64gc cross_cflags="-march=rv64gc -mtune=rocket" cross_lflags="-march=riscv64"
# - name: Test with Debug Cross-Compiled Runtime
# run: make test-cross-ci config=debug 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/"
- name: Configure Release Runtime
run: make configure config=release
- name: Build Release Runtime
run: make build config=release
- name: Test with Release Runtime
run: make test-ci config=release usedebugger='lldb'
- name: Build Release Cross-Compiled Runtime
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"
- name: Test with Release Cross-Compiled Runtime
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/"
2 changes: 2 additions & 0 deletions .github/workflows/update-lib-cache.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,8 @@ jobs:
include:
- image: ponylang/ponyc-ci-x86-64-unknown-linux-ubuntu22.04-builder:20230806
- image: ponylang/ponyc-ci-x86-64-unknown-linux-ubuntu20.04-builder:20230807
- image: ponylang/ponyc-ci-cross-riscv64:20230808
name: riscv64 Linux glibc

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

0 comments on commit cccf0c8

Please sign in to comment.