name: unix port on: push: pull_request: paths: - '.github/workflows/*.yml' - 'tools/**' - 'py/**' - 'extmod/**' - 'lib/**' - 'examples/**' - 'ports/unix/**' - 'tests/**' jobs: minimal: runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - 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@v2 - 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/micropython-minimal -i | grep 'on 2009-02-13;' standard: runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - 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: Run performance benchmarks run: source tools/ci.sh && ci_unix_standard_run_perfbench - name: Print failures if: failure() run: tests/run-tests.py --print-failures coverage: runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - 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: 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 lcov coverage analysis run: | mkdir -p coverage lcov --rc lcov_branch_coverage=1 --directory ports/unix/build-coverage --capture --output-file coverage/lcov.info.all lcov --remove coverage/lcov.info.all '*/lib/*' '*/ports/unix/*' '*/utils/*' --output-file coverage/lcov.info - name: Send to coveralls uses: coverallsapp/github-action@master with: github-token: ${{ secrets.GITHUB_TOKEN }} - name: Print failures if: failure() run: tests/run-tests.py --print-failures coverage_32bit: runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - 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-latest steps: - uses: actions/checkout@v2 - 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@v2 - 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@v2 - 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@v2 - 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@v2 - 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@v2 - 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-11.0 steps: - uses: actions/checkout@v2 - uses: actions/setup-python@v1 - 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