Update the README.md for release 3.0 (#5200) #4373
This file contains 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: JerryScript CI | |
on: [push, pull_request] | |
env: | |
RUNNER: tools/run-tests.py | |
jobs: | |
Checks: | |
runs-on: ubuntu-22.04 # needed for checker version stability | |
steps: | |
- uses: actions/checkout@v2 | |
with: | |
fetch-depth: 0 | |
- uses: actions/setup-python@v2 | |
with: | |
python-version: '3.10' | |
- run: sudo apt update | |
- run: sudo apt install pylint doxygen cppcheck clang-format-15 | |
- run: $RUNNER --check-signed-off=gh-actions | |
if: ${{ always() }} | |
- run: $RUNNER --check-doxygen | |
if: ${{ always() }} | |
- run: $RUNNER --check-format | |
if: ${{ always() }} | |
- run: $RUNNER --check-license | |
if: ${{ always() }} | |
- run: $RUNNER --check-strings | |
if: ${{ always() }} | |
- run: $RUNNER --check-pylint | |
if: ${{ always() }} | |
- run: $RUNNER --check-cppcheck | |
if: ${{ always() }} | |
Linux_x86-64_Build_Correctness_Debugger_Tests: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v2 | |
- uses: actions/setup-python@v4 | |
with: | |
python-version: '>=3.6' | |
- run: $RUNNER -q --jerry-tests | |
- run: $RUNNER -q --jerry-tests --build-debug | |
- run: $RUNNER -q --jerry-debugger | |
- run: $RUNNER -q --jerry-debugger --build-debug | |
Linux_x86_cpointer-32bit_Build_Correctness_Tests: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v2 | |
- uses: actions/setup-python@v4 | |
with: | |
python-version: '>=3.6' | |
- run: sudo apt update | |
- run: sudo apt install gcc-multilib | |
- run: $RUNNER -q --jerry-tests --buildoptions=--compile-flag=-m32,--cpointer-32bit=on | |
- run: $RUNNER -q --jerry-tests --buildoptions=--compile-flag=-m32,--cpointer-32bit=on --build-debug | |
Win_x86-64_Conformance_Tests_ESNext: | |
runs-on: windows-latest | |
steps: | |
- uses: actions/checkout@v2 | |
- run: python $env:RUNNER --test262 update | |
Win_x86-64_Conformance_Tests_ESNext_Debug: | |
runs-on: windows-latest | |
steps: | |
- uses: actions/checkout@v2 | |
- run: python $env:RUNNER --test262 update --build-debug | |
Win_x86-64_Tests-MINGW: | |
runs-on: windows-latest | |
defaults: | |
run: | |
shell: msys2 {0} | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: msys2/setup-msys2@v2 | |
with: | |
msystem: MINGW64 | |
update: true | |
install: >- | |
mingw-w64-x86_64-python | |
mingw-w64-x86_64-cmake | |
mingw-w64-x86_64-make | |
mingw-w64-x86_64-toolchain | |
- run: python $RUNNER -q --jerry-tests | |
- run: python $RUNNER -q --unittests --build-config='' | |
# FIXME: enable it with upgrade valgrind - run: python $RUNNER -q --buildoption-test | |
Win_x86-64_Tests: | |
runs-on: windows-latest | |
steps: | |
- uses: actions/checkout@v2 | |
- run: python $env:RUNNER -q --jerry-tests | |
- run: python $env:RUNNER -q --unittests | |
- run: python $env:RUNNER -q --buildoption-test | |
Win_x86-64_Tests_Debug: | |
runs-on: windows-latest | |
steps: | |
- uses: actions/checkout@v2 | |
- run: python $env:RUNNER -q --jerry-tests --build-debug | |
- run: python $env:RUNNER -q --unittests --build-debug | |
- run: python $env:RUNNER -q --buildoption-test --build-debug | |
OSX_x86-64_Build_Correctness_Unit_Tests: | |
runs-on: macos-13 | |
steps: | |
- uses: actions/checkout@v2 | |
- uses: actions/setup-python@v4 | |
with: | |
python-version: '>=3.6' | |
- run: $RUNNER -q --jerry-tests | |
- run: $RUNNER -q --unittests | |
OSX_x86-64_Build_Correctness_Unit_Tests_Debug: | |
runs-on: macos-13 | |
steps: | |
- uses: actions/checkout@v2 | |
- uses: actions/setup-python@v4 | |
with: | |
python-version: '>=3.6' | |
- run: $RUNNER -q --jerry-tests --build-debug | |
- run: $RUNNER -q --unittests --build-debug | |
Linux_x86-64_Build_Option_Tests: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v2 | |
- uses: actions/setup-python@v4 | |
with: | |
python-version: '>=3.6' | |
- run: sudo apt update | |
- run: sudo apt install gcc-multilib | |
- run: $RUNNER --buildoption-test | |
Conformance_Tests_ESNext: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v2 | |
- uses: actions/setup-python@v4 | |
with: | |
python-version: '>=3.6' | |
- run: $RUNNER --test262 update | |
- uses: actions/upload-artifact@v4 | |
if: success() || failure() | |
with: | |
name: Test262-ESNext-results | |
path: | | |
build/tests/test262_tests_esnext/local/bin/test262.report | |
Conformance_Tests_ESNext_Debug_A: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v2 | |
- uses: actions/setup-python@v4 | |
with: | |
python-version: '>=3.6' | |
- run: $RUNNER --test262 update --build-debug --test262-test-list=built-ins,annexB,harness,intl402 | |
- uses: actions/upload-artifact@v4 | |
if: success() || failure() | |
with: | |
name: Test262-ESNext-Debug-A-results | |
path: | | |
build/tests/test262_tests_esnext-debug/local/bin/test262.report | |
Conformance_Tests_ESNext_Debug_B: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v2 | |
- uses: actions/setup-python@v4 | |
with: | |
python-version: '>=3.6' | |
- run: $RUNNER --test262 update --build-debug --test262-test-list=language | |
- uses: actions/upload-artifact@v4 | |
if: success() || failure() | |
with: | |
name: Test262-ESNext-Debug-B-results | |
path: | | |
build/tests/test262_tests_esnext-debug/local/bin/test262.report | |
Unit_Tests: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v2 | |
- uses: actions/setup-python@v4 | |
with: | |
python-version: '>=3.6' | |
- run: $RUNNER -q --unittests | |
- run: $RUNNER -q --unittests --build-debug | |
Clang_Unit_Build_Option_Tests: | |
runs-on: ubuntu-latest | |
env: | |
CC: clang | |
steps: | |
- uses: actions/checkout@v2 | |
- uses: actions/setup-python@v4 | |
with: | |
python-version: '>=3.6' | |
- run: sudo apt update | |
- run: sudo apt install gcc-multilib | |
- run: $RUNNER -q --unittests | |
# clang has bug in supporting lto | |
- run: $RUNNER -q --buildoption-test --buildoptions=--lto=off | |
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 | |
- uses: actions/setup-python@v4 | |
with: | |
python-version: '>=3.6' | |
- 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-4870.js,regression-test-issue-4901.js,regression-test-issue-4848.js,regression-test-issue-4890.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,proxy-evil-recursion.js,regression-test-issue-5101.js | |
ASAN_Tests_Debug: | |
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 | |
- uses: actions/setup-python@v4 | |
with: | |
python-version: '>=3.6' | |
- run: sudo apt update | |
- run: sudo apt install gcc-multilib | |
- run: >- | |
$RUNNER -q --jerry-tests --build-debug | |
--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-4870.js,regression-test-issue-4901.js,regression-test-issue-4848.js,regression-test-issue-4890.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,proxy-evil-recursion.js,regression-test-issue-5101.js | |
UBSAN_Tests: | |
runs-on: ubuntu-latest | |
env: | |
UBSAN_OPTIONS: print_stacktrace=1 | |
steps: | |
- uses: actions/checkout@v2 | |
- uses: actions/setup-python@v4 | |
with: | |
python-version: '>=3.6' | |
- 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 | |
- run: >- | |
$RUNNER -q --jerry-tests --build-debug | |
--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 | |
Linux_ARMv7l_Tests: | |
runs-on: ubuntu-latest | |
env: | |
RUNTIME: qemu-arm-static | |
TIMEOUT: 300 | |
steps: | |
- uses: actions/checkout@v2 | |
- uses: actions/setup-python@v4 | |
with: | |
python-version: '>=3.6' | |
- run: sudo apt update | |
- run: sudo apt install gcc-arm-linux-gnueabihf libc6-dev-armhf-cross qemu-user-static | |
- run: >- | |
$RUNNER -q --jerry-tests | |
--buildoptions=--toolchain=cmake/toolchain_linux_armv7l.cmake,--linker-flag=-static | |
Linux_ARMv7l_Tests_Debug: | |
runs-on: ubuntu-latest | |
env: | |
RUNTIME: qemu-arm-static | |
TIMEOUT: 300 | |
steps: | |
- uses: actions/checkout@v2 | |
- uses: actions/setup-python@v4 | |
with: | |
python-version: '>=3.6' | |
- run: sudo apt update | |
- run: sudo apt install gcc-arm-linux-gnueabihf libc6-dev-armhf-cross qemu-user-static | |
- run: >- | |
$RUNNER -q --jerry-tests --build-debug | |
--buildoptions=--toolchain=cmake/toolchain_linux_armv7l.cmake,--linker-flag=-static | |
Linux_AArch64_Tests: | |
runs-on: ubuntu-latest | |
env: | |
RUNTIME: qemu-aarch64-static | |
TIMEOUT: 300 | |
steps: | |
- uses: actions/checkout@v2 | |
- uses: actions/setup-python@v4 | |
with: | |
python-version: '>=3.6' | |
- run: sudo apt update | |
- run: sudo apt install gcc-aarch64-linux-gnu libc6-dev-armhf-cross qemu-user-static | |
- run: >- | |
$RUNNER -q --jerry-tests | |
--buildoptions=--toolchain=cmake/toolchain_linux_aarch64.cmake,--linker-flag=-static | |
Linux_AArch64_Tests_Debug: | |
runs-on: ubuntu-latest | |
env: | |
RUNTIME: qemu-aarch64-static | |
TIMEOUT: 300 | |
steps: | |
- uses: actions/checkout@v2 | |
- uses: actions/setup-python@v4 | |
with: | |
python-version: '>=3.6' | |
- run: sudo apt update | |
- run: sudo apt install gcc-aarch64-linux-gnu libc6-dev-armhf-cross qemu-user-static | |
- run: >- | |
$RUNNER -q --jerry-tests --build-debug | |
--buildoptions=--toolchain=cmake/toolchain_linux_aarch64.cmake,--linker-flag=-static | |
MbedOS_K64F_Build_Test: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v2 | |
- uses: actions/setup-python@v4 | |
with: | |
python-version: '>=3.6' | |
- run: sudo apt update | |
- run: sudo apt install gcc-arm-none-eabi ninja-build | |
- run: make -f ./targets/os/mbedos/Makefile.travis install | |
- run: make -f ./targets/os/mbedos/Makefile.travis script | |
Zephyr_STM32F4_Build_Test: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v2 | |
- uses: actions/setup-python@v4 | |
with: | |
python-version: '>=3.6' | |
- run: sudo apt update | |
- run: sudo apt install gperf dfu-util device-tree-compiler | |
- run: make -f ./targets/os/zephyr/Makefile.travis install | |
- run: make -f ./targets/os/zephyr/Makefile.travis script | |
NuttX_STM32F4_Build_Test: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v2 | |
- uses: actions/setup-python@v4 | |
with: | |
python-version: '>=3.6' | |
- run: sudo apt update | |
- run: sudo apt install gcc-arm-none-eabi libnewlib-arm-none-eabi gperf | |
- run: make -f ./targets/os/nuttx/Makefile.travis install-noapt | |
- run: make -f ./targets/os/nuttx/Makefile.travis script | |
RIOT_STM32F4_Build_Test: | |
runs-on: ubuntu-latest | |
env: | |
CC: clang | |
steps: | |
- uses: actions/checkout@v2 | |
- run: sudo apt -y install clang gcc-arm-none-eabi | |
- run: make -f ./targets/os/riot/Makefile.travis install-noapt | |
- run: make -f ./targets/os/riot/Makefile.travis script | |
ESP8266_RTOS_SDK_Build_Test: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v2 | |
- uses: actions/setup-python@v4 | |
with: | |
python-version: '>=3.8' | |
- run: make -f ./targets/baremetal-sdk/espressif/esp8266-rtos-sdk/Makefile.travis install-noapt | |
- run: make -f ./targets/baremetal-sdk/espressif/esp8266-rtos-sdk/Makefile.travis script | |
ESP_IDF_Build_Test: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v2 | |
- uses: actions/setup-python@v4 | |
with: | |
python-version: '==3.8' | |
- run: make -f ./targets/baremetal-sdk/espressif/esp-idf/Makefile.travis install-noapt | |
- run: make -f ./targets/baremetal-sdk/espressif/esp-idf/Makefile.travis script | |
Notification: | |
runs-on: ubuntu-latest | |
if: false && github.event_name == 'push' && github.repository == 'jerryscript-project/jerryscript' | |
steps: | |
- uses: rectalogic/notify-irc@v1 | |
with: | |
channel: '#jerryscript' | |
nickname: jerryscript-notification | |
message: | | |
@${{ github.actor }}: ${{ github.repository }} (${{ github.ref }}#${{ github.sha }}) | |
${{ join(github.event.commits.*.message) }} | |
${{ github.event.compare }} |