mimxrt: Improve PSRAM implementation. #37
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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@v5 | |
- name: Build | |
run: tools/ci.sh unix_minimal_build | |
- name: Run main test suite | |
run: tools/ci.sh 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@v5 | |
- name: Build with reproducible date | |
run: tools/ci.sh 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@v5 | |
- name: Build | |
run: tools/ci.sh unix_standard_build | |
- name: Run main test suite | |
run: tools/ci.sh 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@v5 | |
- name: Build | |
run: tools/ci.sh unix_standard_v2_build | |
- name: Run main test suite | |
run: tools/ci.sh 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@v5 | |
- uses: actions/setup-python@v6 | |
# Python 3.12 is the default for ubuntu-24.04, but that has compatibility issues with settrace tests. | |
# Can remove this step when ubuntu-latest uses a more recent Python 3.x as the default. | |
with: | |
python-version: '3.11' | |
- name: Install packages | |
run: tools/ci.sh unix_coverage_setup | |
- name: Build | |
run: tools/ci.sh unix_coverage_build | |
- name: Run main test suite | |
run: tools/ci.sh unix_coverage_run_tests | |
- name: Test merging .mpy files | |
run: tools/ci.sh unix_coverage_run_mpy_merge_tests | |
- name: Build native mpy modules | |
run: tools/ci.sh native_mpy_modules_build | |
- name: Test importing .mpy generated by mpy_ld.py | |
run: tools/ci.sh 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@v5 | |
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-22.04 # use 22.04 to get libffi-dev:i386 | |
steps: | |
- uses: actions/checkout@v5 | |
- name: Install packages | |
run: tools/ci.sh unix_32bit_setup | |
- name: Build | |
run: tools/ci.sh unix_coverage_32bit_build | |
- name: Run main test suite | |
run: tools/ci.sh unix_coverage_32bit_run_tests | |
- name: Build native mpy modules | |
run: tools/ci.sh native_mpy_modules_32bit_build | |
- name: Test importing .mpy generated by mpy_ld.py | |
run: tools/ci.sh unix_coverage_32bit_run_native_mpy_tests | |
- name: Print failures | |
if: failure() | |
run: tests/run-tests.py --print-failures | |
nanbox: | |
runs-on: ubuntu-22.04 # use 22.04 to get libffi-dev:i386 | |
steps: | |
- uses: actions/checkout@v5 | |
- name: Install packages | |
run: tools/ci.sh unix_32bit_setup | |
- name: Build | |
run: tools/ci.sh unix_nanbox_build | |
- name: Run main test suite | |
run: tools/ci.sh unix_nanbox_run_tests | |
- name: Print failures | |
if: failure() | |
run: tests/run-tests.py --print-failures | |
longlong: | |
runs-on: ubuntu-22.04 # use 22.04 to get libffi-dev:i386 | |
steps: | |
- uses: actions/checkout@v5 | |
- name: Install packages | |
run: tools/ci.sh unix_32bit_setup | |
- name: Build | |
run: tools/ci.sh unix_longlong_build | |
- name: Run main test suite | |
run: tools/ci.sh unix_longlong_run_tests | |
- name: Print failures | |
if: failure() | |
run: tests/run-tests.py --print-failures | |
float: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v5 | |
- name: Build | |
run: tools/ci.sh unix_float_build | |
- name: Run main test suite | |
run: tools/ci.sh unix_float_run_tests | |
- name: Print failures | |
if: failure() | |
run: tests/run-tests.py --print-failures | |
gil_enabled: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v5 | |
- name: Build | |
run: tools/ci.sh unix_gil_enabled_build | |
- name: Run main test suite | |
run: tools/ci.sh unix_gil_enabled_run_tests | |
- name: Print failures | |
if: failure() | |
run: tests/run-tests.py --print-failures | |
stackless_clang: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v5 | |
- name: Install packages | |
run: tools/ci.sh unix_clang_setup | |
- name: Build | |
run: tools/ci.sh unix_stackless_clang_build | |
- name: Run main test suite | |
run: tools/ci.sh unix_stackless_clang_run_tests | |
- name: Print failures | |
if: failure() | |
run: tests/run-tests.py --print-failures | |
float_clang: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v5 | |
- name: Install packages | |
run: tools/ci.sh unix_clang_setup | |
- name: Build | |
run: tools/ci.sh unix_float_clang_build | |
- name: Run main test suite | |
run: tools/ci.sh unix_float_clang_run_tests | |
- name: Print failures | |
if: failure() | |
run: tests/run-tests.py --print-failures | |
settrace_stackless: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v5 | |
- uses: actions/setup-python@v6 | |
# Python 3.12 is the default for ubuntu-24.04, but that has compatibility issues with settrace tests. | |
# Can remove this step when ubuntu-latest uses a more recent Python 3.x as the default. | |
with: | |
python-version: '3.11' | |
- name: Build | |
run: tools/ci.sh unix_settrace_stackless_build | |
- name: Run main test suite | |
run: tools/ci.sh unix_settrace_stackless_run_tests | |
- name: Print failures | |
if: failure() | |
run: tests/run-tests.py --print-failures | |
repr_b: | |
runs-on: ubuntu-22.04 # use 22.04 to get libffi-dev:i386 | |
steps: | |
- uses: actions/checkout@v5 | |
- name: Install packages | |
run: tools/ci.sh unix_32bit_setup | |
- name: Build | |
run: tools/ci.sh unix_repr_b_build | |
- name: Run main test suite | |
run: tools/ci.sh unix_repr_b_run_tests | |
- name: Print failures | |
if: failure() | |
run: tests/run-tests.py --print-failures | |
macos: | |
runs-on: macos-26 | |
steps: | |
- uses: actions/checkout@v5 | |
- uses: actions/setup-python@v6 | |
with: | |
python-version: '3.8' | |
- name: Build | |
run: tools/ci.sh unix_macos_build | |
- name: Run tests | |
run: tools/ci.sh unix_macos_run_tests | |
- name: Print failures | |
if: failure() | |
run: tests/run-tests.py --print-failures | |
qemu_mips: | |
# ubuntu-22.04 is needed for older libffi. | |
runs-on: ubuntu-22.04 | |
steps: | |
- uses: actions/checkout@v5 | |
- name: Install packages | |
run: tools/ci.sh unix_qemu_mips_setup | |
- name: Build | |
run: tools/ci.sh unix_qemu_mips_build | |
- name: Run main test suite | |
run: tools/ci.sh unix_qemu_mips_run_tests | |
- name: Print failures | |
if: failure() | |
run: tests/run-tests.py --print-failures | |
qemu_arm: | |
# ubuntu-22.04 is needed for older libffi. | |
runs-on: ubuntu-22.04 | |
steps: | |
- uses: actions/checkout@v5 | |
- name: Install packages | |
run: tools/ci.sh unix_qemu_arm_setup | |
- name: Build | |
run: tools/ci.sh unix_qemu_arm_build | |
- name: Run main test suite | |
run: tools/ci.sh unix_qemu_arm_run_tests | |
- name: Print failures | |
if: failure() | |
run: tests/run-tests.py --print-failures | |
qemu_riscv64: | |
# ubuntu-22.04 is needed for older libffi. | |
runs-on: ubuntu-22.04 | |
steps: | |
- uses: actions/checkout@v5 | |
- name: Install packages | |
run: tools/ci.sh unix_qemu_riscv64_setup | |
- name: Build | |
run: tools/ci.sh unix_qemu_riscv64_build | |
- name: Run main test suite | |
run: tools/ci.sh unix_qemu_riscv64_run_tests | |
- name: Print failures | |
if: failure() | |
run: tests/run-tests.py --print-failures | |
sanitize_address: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v5 | |
- uses: actions/setup-python@v6 | |
# Python 3.12 is the default for ubuntu-24.04, but that has compatibility issues with settrace tests. | |
# Can remove this step when ubuntu-latest uses a more recent Python 3.x as the default. | |
with: | |
python-version: '3.11' | |
- name: Install packages | |
run: tools/ci.sh unix_coverage_setup | |
- name: Build | |
run: tools/ci.sh unix_sanitize_address_build | |
- name: Run main test suite | |
run: tools/ci.sh unix_sanitize_address_run_tests | |
- name: Test merging .mpy files | |
run: tools/ci.sh unix_coverage_run_mpy_merge_tests | |
- name: Build native mpy modules | |
run: tools/ci.sh native_mpy_modules_build | |
- name: Test importing .mpy generated by mpy_ld.py | |
run: tools/ci.sh unix_coverage_run_native_mpy_tests | |
- name: Print failures | |
if: failure() | |
run: tests/run-tests.py --print-failures | |
sanitize_undefined: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v5 | |
- uses: actions/setup-python@v6 | |
# Python 3.12 is the default for ubuntu-24.04, but that has compatibility issues with settrace tests. | |
# Can remove this step when ubuntu-latest uses a more recent Python 3.x as the default. | |
with: | |
python-version: '3.11' | |
- name: Install packages | |
run: tools/ci.sh unix_coverage_setup | |
- name: Build | |
run: tools/ci.sh unix_sanitize_undefined_build | |
- name: Run main test suite | |
run: tools/ci.sh unix_sanitize_undefined_run_tests | |
- name: Test merging .mpy files | |
run: tools/ci.sh unix_coverage_run_mpy_merge_tests | |
- name: Build native mpy modules | |
run: tools/ci.sh native_mpy_modules_build | |
- name: Test importing .mpy generated by mpy_ld.py | |
run: tools/ci.sh unix_coverage_run_native_mpy_tests | |
- name: Print failures | |
if: failure() | |
run: tests/run-tests.py --print-failures |