github/workflows: Add qemu-riscv port to CI.
Signed-off-by: Alessandro Gatti <a.gatti@frob.it>
This commit is contained in:
committed by
Damien George
parent
2d69aab7b3
commit
1b10cb843c
33
.github/workflows/ports_qemu-riscv.yml
vendored
Normal file
33
.github/workflows/ports_qemu-riscv.yml
vendored
Normal file
@@ -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
tools/ci.sh
24
tools/ci.sh
@@ -17,6 +17,11 @@ function ci_gcc_arm_setup {
|
|||||||
arm-none-eabi-gcc --version
|
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
|
# c code formatting
|
||||||
|
|
||||||
@@ -259,6 +264,25 @@ function ci_qemu_arm_build {
|
|||||||
make ${MAKEOPTS} -C ports/qemu-arm -f Makefile.test BOARD=sabrelite test
|
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
|
# ports/renesas-ra
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user