From e0b2f8e0d879660a6e2db43c0329aac8706ed100 Mon Sep 17 00:00:00 2001 From: Robert Fancsik Date: Wed, 17 Jun 2020 17:19:05 +0200 Subject: [PATCH] Extend CI list with Github actions (#3905) JerryScript-DCO-1.0-Signed-off-by: Robert Fancsik frobert@inf.u-szeged.hu --- .github/workflows/gh-actions.yml | 109 +++++++++++++++++++++++++++++++ .travis.yml | 69 ------------------- 2 files changed, 109 insertions(+), 69 deletions(-) create mode 100644 .github/workflows/gh-actions.yml diff --git a/.github/workflows/gh-actions.yml b/.github/workflows/gh-actions.yml new file mode 100644 index 000000000..89066f80e --- /dev/null +++ b/.github/workflows/gh-actions.yml @@ -0,0 +1,109 @@ +name: JerryScript CI + +on: + push: + branches: [ master ] + pull_request: + branches: [ master ] + +env: + RUNNER: tools/run-tests.py + +jobs: + Checks: + runs-on: ubuntu-18.04 + steps: + - uses: actions/checkout@v1 + - name: Initializtaion + run: sudo apt-get install doxygen vera++ cppcheck pylint pylint python-serial -q + - name: Signed-off + run: $RUNNER --check-signed-off=travis + - name: Doxygen + run: $RUNNER --check-doxygen + - name: Vera++ + run: $RUNNER --check-vera + - name: License + run: $RUNNER --check-license + - name: Magic strings + run: $RUNNER --check-magic-strings + - name: Pylint + run: $RUNNER --check-pylint + - name: Cppcheck + run: $RUNNER --check-cppcheck + + Linux_x86-64_Build_Correctness_Debugger_Tests: + runs-on: ubuntu-18.04 + steps: + - uses: actions/checkout@v1 + - name: Correctness - jerry-tests + run: $RUNNER --jerry-tests -q + - name: Debugger Tests + run: $RUNNER --jerry-debugger -q + + Linux_x86_cpointer-32bit_Build_Correctness_Tests: + runs-on: ubuntu-18.04 + env: + BUILD_OPTIONS: --buildoptions=--compile-flag=-m32,--cpointer-32bit=on -q + steps: + - uses: actions/checkout@v1 + - name: Initializtaion + run: sudo apt-get install gcc-multilib + - name: Correctness - jerry-tests + run: $RUNNER --jerry-tests $BUILD_OPTIONS -q + + OSX_x86-64_Build_Correctness_Unit_Tests: + runs-on: macos-10.15 + steps: + - uses: actions/checkout@v1 + - name: Correctness - jerry-tests + run: $RUNNER --jerry-tests -q + - name: Unit Tests + run: $RUNNER --unittests -q + + Conformance_Tests_ES5_1: + runs-on: ubuntu-18.04 + steps: + - uses: actions/checkout@v1 + - name: Test262 - ES5.1 + run: $RUNNER --test262 + + Conformance_Tests_ES2015: + runs-on: ubuntu-18.04 + steps: + - uses: actions/checkout@v1 + - name: Test262 - ES2015 + run: $RUNNER --test262-es2015 update + + Unit_Tests: + runs-on: ubuntu-18.04 + steps: + - uses: actions/checkout@v1 + - name: Unit Tests + run: $RUNNER --unittests -q + + ASAN_Tests: + runs-on: ubuntu-18.04 + env: + ASAN_OPTIONS: detect_stack_use_after_return=1:check_initialization_order=true:strict_init_order=true + SKIP_LIST: --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 + BUILD_OPTIONS: --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 + steps: + - uses: actions/checkout@v1 + - name: Initializtaion + run: sudo apt-get install gcc-multilib + - name: ASAN - jerry-tests + run: $RUNNER --jerry-tests $SKIP_LIST $BUILD_OPTIONS -q + + UBSAN_Tests: + runs-on: ubuntu-18.04 + env: + UBSAN_OPTIONS: print_stacktrace=1 + SKIP_LIST: --skip-list=parser-oom.js,parser-oom2.js + BUILD_OPTIONS: --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 + steps: + - uses: actions/checkout@v1 + - name: Initializtaion + run: sudo apt-get install gcc-multilib + - name: UBSAN - jerry-tests + run: $RUNNER --jerry-tests $SKIP_LIST $BUILD_OPTIONS -q + diff --git a/.travis.yml b/.travis.yml index c316a231d..30c569fa4 100644 --- a/.travis.yml +++ b/.travis.yml @@ -11,25 +11,6 @@ script: tools/run-tests.py $OPTS # All the job definitions in the matrix. matrix: include: - - name: "Checks" - script: - - tools/run-tests.py --check-signed-off=travis --check-doxygen --check-vera --check-license --check-magic-strings --check-pylint - - travis_wait 40 tools/run-tests.py --check-cppcheck - addons: - apt: - packages: [doxygen, cppcheck, vera++, pylint] - - - name: "Linux/x86-64 Build, Correctness & Debugger Tests" - env: - - OPTS="--quiet --jerry-tests --jerry-debugger" - - - name: "Linux/x86 (cpointer-32bit) Build & Correctness Tests" - env: - - OPTS="--quiet --jerry-tests --buildoptions=--compile-flag=-m32,--cpointer-32bit=on" - addons: - apt: - packages: [gcc-multilib] - - name: "Linux/ARM Build & Correctness Tests" env: - OPTS="--quiet --jerry-tests --toolchain=cmake/toolchain_linux_armv7l.cmake --buildoptions=--linker-flag=-static" @@ -45,56 +26,6 @@ matrix: - OPTS="--quiet --jerry-tests --buildoptions=--linker-flag=-static" - TIMEOUT=300 - - name: "OSX/x86-64 Build, Correctness & Unit Tests" - env: - - OPTS="--quiet --jerry-tests --unittests" - os: osx - osx_image: xcode11.4 - addons: - homebrew: - packages: [cmake, cppcheck, vera++] - - - name: "Build Tests" - env: - - OPTS="--buildoption-test" - addons: - apt: - packages: [gcc-multilib] - - - name: "Conformance Tests - ES5.1" - env: - - OPTS="--test262" - - - name: "Conformance Tests - ES2015" - env: - - OPTS="--test262-es2015 update" - - - name: "Unit Tests" - env: - - OPTS="--unittests" - - - name: "ASAN Tests" - env: - # Skipping maximum stack usage related tests due to 'detect_stack_use_after_return=1' ASAN option. - # For more detailed description: https://github.com/google/sanitizers/wiki/AddressSanitizerUseAfterReturn#compatibility - - OPTS="--quiet --jerry-tests --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 --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" - - ASAN_OPTIONS=detect_stack_use_after_return=1:check_initialization_order=true:strict_init_order=true - - TIMEOUT=600 - addons: - apt: - sources: ubuntu-toolchain-r-test - packages: [gcc-multilib] - - - name: "UBSAN Tests" - env: - - OPTS="--quiet --jerry-tests --skip-list=parser-oom.js,parser-oom2.js --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" - - UBSAN_OPTIONS=print_stacktrace=1 - - TIMEOUT=600 - addons: - apt: - sources: ubuntu-toolchain-r-test - packages: [gcc-multilib] - - name: "Coverity Scan & SonarQube" env: # Declaration of the encrypted COVERITY_SCAN_TOKEN, created via the