mirror of
https://github.com/micropython/micropython.git
synced 2025-09-04 17:00:30 +02:00
This commit lets CI extend the testing scope of the QEMU Arm target, by letting it perform the usual battery of tests (interpreter and natmods) also on hardfp targets. The default board for Arm testing lacks hardware floating point support, so natmods weren't tested in that specific configuration. With the introduction of the "MPS_AN500" QEMU target, now this is made possible as said board emulates a Cortex-M7 machine with a single- and double-precision floating point unit. To reduce the impact on build times, the "ci_qemu_build_arm_thumb" CI step was split in two: "ci_qemu_build_arm_thumb_softfp" and "ci_qemu_build_arm_thumb_hardfp" - so hopefully those can run in parallel whenever possible. Signed-off-by: Alessandro Gatti <a.gatti@frob.it>
53 lines
1.3 KiB
YAML
53 lines
1.3 KiB
YAML
name: qemu port
|
|
|
|
on:
|
|
push:
|
|
pull_request:
|
|
paths:
|
|
- '.github/workflows/*.yml'
|
|
- 'tools/**'
|
|
- 'py/**'
|
|
- 'extmod/**'
|
|
- 'shared/**'
|
|
- 'lib/**'
|
|
- 'drivers/**'
|
|
- 'ports/qemu/**'
|
|
- 'tests/**'
|
|
|
|
concurrency:
|
|
group: ${{ github.workflow }}-${{ github.ref }}
|
|
cancel-in-progress: true
|
|
|
|
jobs:
|
|
build_and_test_arm:
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
ci_func: # names are functions in ci.sh
|
|
- bigendian
|
|
- sabrelite
|
|
- thumb_softfp
|
|
- thumb_hardfp
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v5
|
|
- name: Install packages
|
|
run: source tools/ci.sh && ci_qemu_setup_arm
|
|
- name: Build and run test suite ci_qemu_build_arm_${{ matrix.ci_func }}
|
|
run: source tools/ci.sh && ci_qemu_build_arm_${{ matrix.ci_func }}
|
|
- name: Print failures
|
|
if: failure()
|
|
run: tests/run-tests.py --print-failures
|
|
|
|
build_and_test_rv32:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v5
|
|
- name: Install packages
|
|
run: source tools/ci.sh && ci_qemu_setup_rv32
|
|
- name: Build and run test suite
|
|
run: source tools/ci.sh && ci_qemu_build_rv32
|
|
- name: Print failures
|
|
if: failure()
|
|
run: tests/run-tests.py --print-failures
|