name: JerryScript CI on: [push, pull_request] env: RUNNER: tools/run-tests.py jobs: Checks: runs-on: ubuntu-18.04 # needed for checker version stability steps: - uses: actions/checkout@v2 with: fetch-depth: 0 - run: sudo apt update - run: sudo apt install doxygen vera++ cppcheck pylint python-serial - run: $RUNNER --check-signed-off=gh-actions - run: $RUNNER --check-doxygen - run: $RUNNER --check-vera - run: $RUNNER --check-license - run: $RUNNER --check-magic-strings - run: $RUNNER --check-pylint - run: $RUNNER --check-cppcheck Linux_x86-64_Build_Correctness_Debugger_Tests: runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - uses: actions/setup-python@v2 with: python-version: '2.7' # needed by jerry-debugger - run: $RUNNER -q --jerry-tests - run: $RUNNER -q --jerry-debugger Linux_x86_cpointer-32bit_Build_Correctness_Tests: runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - run: sudo apt update - run: sudo apt install gcc-multilib - run: $RUNNER -q --jerry-tests --buildoptions=--compile-flag=-m32,--cpointer-32bit=on OSX_x86-64_Build_Correctness_Unit_Tests: runs-on: macos-latest steps: - uses: actions/checkout@v2 - run: $RUNNER -q --jerry-tests - run: $RUNNER -q --unittests Linux_x86-64_Build_Option_Tests: runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - run: sudo apt update - run: sudo apt install gcc-multilib - run: $RUNNER --buildoption-test Conformance_Tests_ES5_1: runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - run: $RUNNER --test262 Conformance_Tests_ES2015: runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - run: $RUNNER --test262-es2015=update - uses: actions/upload-artifact@v2 if: success() || failure() with: name: Test262-ES2015-results path: build/tests/test262_tests_es2015/local/bin/test262.report Conformance_Tests_ESNext_A: runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - run: $RUNNER --test262-esnext=update --test262-test-list=built-ins,annexB,harness,intl402 - uses: actions/upload-artifact@v2 if: success() || failure() with: name: Test262-ESNext-results-A path: build/tests/test262_tests_esnext/local/bin/test262.report Conformance_Tests_ESNext_B: runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - run: $RUNNER --test262-esnext=update --test262-test-list=language - uses: actions/upload-artifact@v2 if: success() || failure() with: name: Test262-ESNext-results-B path: build/tests/test262_tests_esnext/local/bin/test262.report Unit_Tests: runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - run: $RUNNER -q --unittests ASAN_Tests: runs-on: ubuntu-latest env: ASAN_OPTIONS: detect_stack_use_after_return=1:check_initialization_order=true:strict_init_order=true steps: - uses: actions/checkout@v2 - run: sudo apt update - run: sudo apt install gcc-multilib - run: >- $RUNNER -q --jerry-tests --buildoptions=--stack-limit=0,--compile-flag=-fsanitize=address,--compile-flag=-m32,--compile-flag=-fno-omit-frame-pointer,--compile-flag=-fno-common,--compile-flag=-O2,--debug,--system-allocator=on,--linker-flag=-fuse-ld=gold --skip-list=parser-oom.js,parser-oom2.js,stack-limit.js,regression-test-issue-2190.js,regression-test-issue-2258-2963.js,regression-test-issue-2448.js,regression-test-issue-2905.js,regression-test-issue-3785.js UBSAN_Tests: runs-on: ubuntu-latest env: UBSAN_OPTIONS: print_stacktrace=1 steps: - uses: actions/checkout@v2 - run: sudo apt update - run: sudo apt install gcc-multilib - run: >- $RUNNER -q --jerry-tests --buildoptions=--compile-flag=-fsanitize=undefined,--compile-flag=-m32,--compile-flag=-fno-omit-frame-pointer,--compile-flag=-fno-common,--debug,--system-allocator=on,--linker-flag=-fuse-ld=gold --skip-list=parser-oom.js,parser-oom2.js