ff9ff8f36c
Update Doxyfile to version 1.9.1
Re-enable doxygen CI checker
Fix some regular comments that should have been doc comments
Document void return types for some inline functions explicitly
Move start of some doxygen groups so they are included always, and not left
out of certain ifdefs
Ignore some doxygen warnings:
Member (function) is not documented in headers
Documented empty return type in headers
Argument has multiple @param documentation sections
JerryScript-DCO-1.0-Signed-off-by: Máté Tokodi mate.tokodi@szteszoftver.hu
361 lines
13 KiB
YAML
361 lines
13 KiB
YAML
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
|
|
# TODO: update checkers to current versions available in ubuntu 22.04
|
|
# - run: sudo apt install clang-format-10 cppcheck python-serial
|
|
- run: sudo apt install pylint doxygen
|
|
- 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
|
|
|
|
OSX_x86-64_Build_Correctness_Unit_Tests:
|
|
runs-on: macos-latest
|
|
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-latest
|
|
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@v2
|
|
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@v2
|
|
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@v2
|
|
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-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
|
|
|
|
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-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
|
|
|
|
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
|
|
|
|
# TODO: update to ubuntu-22.04
|
|
# MbedOS_K64F_Build_Test:
|
|
# runs-on: ubuntu-18.04 # needed due to ppa:team-gcc-arm-embedded/ppa
|
|
# steps:
|
|
# - uses: actions/checkout@v2
|
|
# - uses: actions/setup-python@v2
|
|
# with:
|
|
# python-version: '3.8' # needed due to 'intelhex' module
|
|
# - run: sudo add-apt-repository ppa:team-gcc-arm-embedded/ppa
|
|
# - run: sudo apt update
|
|
# - run: sudo apt install gcc-arm-embedded python3-setuptools mercurial
|
|
# - 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
|
|
|
|
# TODO: update to ubuntu-22.04
|
|
# RIOT_STM32F4_Build_Test:
|
|
# runs-on: ubuntu-18.04 # needed due to ppa:team-gcc-arm-embedded/ppa
|
|
# env:
|
|
# CC: clang
|
|
# steps:
|
|
# - uses: actions/checkout@v2
|
|
# - run: sudo add-apt-repository ppa:team-gcc-arm-embedded/ppa
|
|
# - run: sudo apt update
|
|
# - run: sudo apt install clang gcc-arm-embedded gcc-multilib
|
|
# - 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@v2
|
|
# 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 }}
|