Skip to content

Commit

Permalink
tools/ci.sh, .github/workflows: Bring QEMU-RISCV target under CI.
Browse files Browse the repository at this point in the history
Signed-off-by: Alessandro Gatti <a.gatti@frob.it>
  • Loading branch information
agatti committed Jun 12, 2024
1 parent 40ba74d commit 23afa27
Show file tree
Hide file tree
Showing 2 changed files with 57 additions and 0 deletions.
33 changes: 33 additions & 0 deletions .github/workflows/ports_qemu-riscv.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
name: qemu-riscv port

on:
push:
pull_request:
paths:
- '.github/workflows/*.yml'
- 'tools/**'
- 'py/**'
- 'extmod/**'
- 'shared/**'
- 'lib/**'
- 'drivers/**'
- 'ports/qemu-arm/main.c'
- 'ports/qemu-riscv/**'
- 'tests/**'

concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true

jobs:
build_and_test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Install packages
run: source tools/ci.sh && ci_qemu_riscv_setup
- name: Build and run test suite
run: source tools/ci.sh && ci_qemu_riscv_build
- name: Print failures
if: failure()
run: grep --before-context=100 --text "FAIL" ports/qemu-riscv/build/console.out
24 changes: 24 additions & 0 deletions tools/ci.sh
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,11 @@ function ci_gcc_arm_setup {
arm-none-eabi-gcc --version
}

function ci_gcc_riscv_setup {
sudo apt-get install gcc-riscv64-unknown-elf picolibc-riscv64-unknown-elf
riscv64-unknown-elf-gcc --version
}

########################################################################################
# c code formatting

Expand Down Expand Up @@ -259,6 +264,25 @@ function ci_qemu_arm_build {
make ${MAKEOPTS} -C ports/qemu-arm -f Makefile.test BOARD=sabrelite test
}

########################################################################################
# ports/qemu-riscv

function ci_qemu_riscv_setup {
ci_gcc_riscv_setup
sudo apt-get update
sudo apt-get install qemu-system
qemu-system-riscv32 --version
}

function ci_qemu_riscv_build {
make ${MAKEOPTS} -C mpy-cross
make ${MAKEOPTS} -C ports/qemu-riscv submodules
make ${MAKEOPTS} -C ports/qemu-riscv
make ${MAKEOPTS} -C ports/qemu-riscv clean
make ${MAKEOPTS} -C ports/qemu-riscv -f Makefile.test submodules
make ${MAKEOPTS} -C ports/qemu-riscv -f Makefile.test test
}

########################################################################################
# ports/renesas-ra

Expand Down

0 comments on commit 23afa27

Please sign in to comment.