f50728ef8d
- Make jobs run on latest versions of the OS's (except for "Checks", which relies on specific versions of checkers coming with Ubuntu 18.04) - Bump actions/checkout to v2 - Rewrite `apt-get` to `apt` (almost the same, but `apt` is the 2nd gen tool) - Drop step names (they took too much vertical space, didn't add too much useful information, and were very typo-prone) - Move superfluous environment variables (e.g., `BUILD_OPTIONS` or `SKIP_LIST`) to their expansion sites (use YAML block scalars `>-` where appropriate to enhance readability) - Fix duplicate installation of pylint in the "Checks" job JerryScript-DCO-1.0-Signed-off-by: Akos Kiss akiss@inf.u-szeged.hu
128 lines
4.2 KiB
YAML
128 lines
4.2 KiB
YAML
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
|