mirror of
https://github.com/micropython/micropython.git
synced 2026-01-05 11:40:18 +01:00
macos-11.0 is no longer available. With this change in the macos version, some tests which previously failed now pass, and some different tests now fail. Exclude those that fail from the CI until they can be fixed properly. Signed-off-by: Damien George <damien@micropython.org>
238 lines
7.1 KiB
YAML
238 lines
7.1 KiB
YAML
name: unix port
|
|
|
|
on:
|
|
push:
|
|
pull_request:
|
|
paths:
|
|
- '.github/workflows/*.yml'
|
|
- 'tools/**'
|
|
- 'py/**'
|
|
- 'extmod/**'
|
|
- 'shared/**'
|
|
- 'lib/**'
|
|
- 'examples/**'
|
|
- 'mpy-cross/**'
|
|
- 'ports/unix/**'
|
|
- 'tests/**'
|
|
|
|
concurrency:
|
|
group: ${{ github.workflow }}-${{ github.ref }}
|
|
cancel-in-progress: true
|
|
|
|
jobs:
|
|
minimal:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
- name: Build
|
|
run: source tools/ci.sh && ci_unix_minimal_build
|
|
- name: Run main test suite
|
|
run: source tools/ci.sh && ci_unix_minimal_run_tests
|
|
- name: Print failures
|
|
if: failure()
|
|
run: tests/run-tests.py --print-failures
|
|
|
|
reproducible:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
- name: Build with reproducible date
|
|
run: source tools/ci.sh && ci_unix_minimal_build
|
|
env:
|
|
SOURCE_DATE_EPOCH: 1234567890
|
|
- name: Check reproducible build date
|
|
run: echo | ports/unix/build-minimal/micropython -i | grep 'on 2009-02-13;'
|
|
|
|
standard:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
- name: Build
|
|
run: source tools/ci.sh && ci_unix_standard_build
|
|
- name: Run main test suite
|
|
run: source tools/ci.sh && ci_unix_standard_run_tests
|
|
- name: Print failures
|
|
if: failure()
|
|
run: tests/run-tests.py --print-failures
|
|
|
|
standard_v2:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
- name: Build
|
|
run: source tools/ci.sh && ci_unix_standard_v2_build
|
|
- name: Run main test suite
|
|
run: source tools/ci.sh && ci_unix_standard_v2_run_tests
|
|
- name: Print failures
|
|
if: failure()
|
|
run: tests/run-tests.py --print-failures
|
|
|
|
coverage:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
- name: Install packages
|
|
run: source tools/ci.sh && ci_unix_coverage_setup
|
|
- name: Build
|
|
run: source tools/ci.sh && ci_unix_coverage_build
|
|
- name: Run main test suite
|
|
run: source tools/ci.sh && ci_unix_coverage_run_tests
|
|
- name: Test merging .mpy files
|
|
run: source tools/ci.sh && ci_unix_coverage_run_mpy_merge_tests
|
|
- name: Build native mpy modules
|
|
run: source tools/ci.sh && ci_native_mpy_modules_build
|
|
- name: Test importing .mpy generated by mpy_ld.py
|
|
run: source tools/ci.sh && ci_unix_coverage_run_native_mpy_tests
|
|
- name: Run gcov coverage analysis
|
|
run: |
|
|
(cd ports/unix && gcov -o build-coverage/py ../../py/*.c || true)
|
|
(cd ports/unix && gcov -o build-coverage/extmod ../../extmod/*.c || true)
|
|
- name: Upload coverage to Codecov
|
|
uses: codecov/codecov-action@v4
|
|
with:
|
|
fail_ci_if_error: true
|
|
verbose: true
|
|
token: ${{ secrets.CODECOV_TOKEN }}
|
|
- name: Print failures
|
|
if: failure()
|
|
run: tests/run-tests.py --print-failures
|
|
|
|
coverage_32bit:
|
|
runs-on: ubuntu-20.04 # use 20.04 to get libffi-dev:i386
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
- name: Install packages
|
|
run: source tools/ci.sh && ci_unix_32bit_setup
|
|
- name: Build
|
|
run: source tools/ci.sh && ci_unix_coverage_32bit_build
|
|
- name: Run main test suite
|
|
run: source tools/ci.sh && ci_unix_coverage_32bit_run_tests
|
|
- name: Build native mpy modules
|
|
run: source tools/ci.sh && ci_native_mpy_modules_32bit_build
|
|
- name: Test importing .mpy generated by mpy_ld.py
|
|
run: source tools/ci.sh && ci_unix_coverage_32bit_run_native_mpy_tests
|
|
- name: Print failures
|
|
if: failure()
|
|
run: tests/run-tests.py --print-failures
|
|
|
|
nanbox:
|
|
runs-on: ubuntu-20.04 # use 20.04 to get python2, and libffi-dev:i386
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
- name: Install packages
|
|
run: source tools/ci.sh && ci_unix_32bit_setup
|
|
- name: Build
|
|
run: source tools/ci.sh && ci_unix_nanbox_build
|
|
- name: Run main test suite
|
|
run: source tools/ci.sh && ci_unix_nanbox_run_tests
|
|
- name: Print failures
|
|
if: failure()
|
|
run: tests/run-tests.py --print-failures
|
|
|
|
float:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
- name: Build
|
|
run: source tools/ci.sh && ci_unix_float_build
|
|
- name: Run main test suite
|
|
run: source tools/ci.sh && ci_unix_float_run_tests
|
|
- name: Print failures
|
|
if: failure()
|
|
run: tests/run-tests.py --print-failures
|
|
|
|
stackless_clang:
|
|
runs-on: ubuntu-20.04
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
- name: Install packages
|
|
run: source tools/ci.sh && ci_unix_clang_setup
|
|
- name: Build
|
|
run: source tools/ci.sh && ci_unix_stackless_clang_build
|
|
- name: Run main test suite
|
|
run: source tools/ci.sh && ci_unix_stackless_clang_run_tests
|
|
- name: Print failures
|
|
if: failure()
|
|
run: tests/run-tests.py --print-failures
|
|
|
|
float_clang:
|
|
runs-on: ubuntu-20.04
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
- name: Install packages
|
|
run: source tools/ci.sh && ci_unix_clang_setup
|
|
- name: Build
|
|
run: source tools/ci.sh && ci_unix_float_clang_build
|
|
- name: Run main test suite
|
|
run: source tools/ci.sh && ci_unix_float_clang_run_tests
|
|
- name: Print failures
|
|
if: failure()
|
|
run: tests/run-tests.py --print-failures
|
|
|
|
settrace:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
- name: Build
|
|
run: source tools/ci.sh && ci_unix_settrace_build
|
|
- name: Run main test suite
|
|
run: source tools/ci.sh && ci_unix_settrace_run_tests
|
|
- name: Print failures
|
|
if: failure()
|
|
run: tests/run-tests.py --print-failures
|
|
|
|
settrace_stackless:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
- name: Build
|
|
run: source tools/ci.sh && ci_unix_settrace_stackless_build
|
|
- name: Run main test suite
|
|
run: source tools/ci.sh && ci_unix_settrace_stackless_run_tests
|
|
- name: Print failures
|
|
if: failure()
|
|
run: tests/run-tests.py --print-failures
|
|
|
|
macos:
|
|
runs-on: macos-latest
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
- uses: actions/setup-python@v5
|
|
with:
|
|
python-version: '3.8'
|
|
- name: Build
|
|
run: source tools/ci.sh && ci_unix_macos_build
|
|
- name: Run tests
|
|
run: source tools/ci.sh && ci_unix_macos_run_tests
|
|
- name: Print failures
|
|
if: failure()
|
|
run: tests/run-tests.py --print-failures
|
|
|
|
qemu_mips:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
- name: Install packages
|
|
run: source tools/ci.sh && ci_unix_qemu_mips_setup
|
|
- name: Build
|
|
run: source tools/ci.sh && ci_unix_qemu_mips_build
|
|
- name: Run main test suite
|
|
run: source tools/ci.sh && ci_unix_qemu_mips_run_tests
|
|
- name: Print failures
|
|
if: failure()
|
|
run: tests/run-tests.py --print-failures
|
|
|
|
qemu_arm:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
- name: Install packages
|
|
run: source tools/ci.sh && ci_unix_qemu_arm_setup
|
|
- name: Build
|
|
run: source tools/ci.sh && ci_unix_qemu_arm_build
|
|
- name: Run main test suite
|
|
run: source tools/ci.sh && ci_unix_qemu_arm_run_tests
|
|
- name: Print failures
|
|
if: failure()
|
|
run: tests/run-tests.py --print-failures
|