mirror of
https://github.com/jerryscript-project/jerryscript.git
synced 2026-02-07 20:06:24 +00:00
On argument handling: - Merged all signoff check options into one, option value chooses between strict/tolerant check variants. - Added sensible metavars to options with arguments (consistent with metavars of build.py). - Reordered options to match the order the checks are executed in. - Added `--all` alias to `--precommit` check option. - Beautified code (always placed `help` on separate line, removed unnecessary arguments of `add_argument` that just repeated their defaults). On test runner logic: There was too many code duplication on how checks were executed, it got refactored. No change in semantics. The only change was in Travis CI-related invocations, `--check-signed-off-travis` had to be rewritten to `--check-signed-off=travis`. JerryScript-DCO-1.0-Signed-off-by: Akos Kiss akiss@inf.u-szeged.hu
134 lines
7.1 KiB
YAML
134 lines
7.1 KiB
YAML
language: c
|
|
|
|
# Default test platform: Ubuntu Trusty with sudo support.
|
|
os: linux
|
|
dist: trusty
|
|
sudo: required
|
|
|
|
# Default dependency installation step #1: install dependencies for linux.
|
|
# Other platforms can change this by redefining the 'before_install' stage in
|
|
# the matrix below.
|
|
before_install: tools/apt-get-install-deps.sh
|
|
|
|
# Default dependency installation step #2: nop intentionally.
|
|
# Jobs can add their own dependencies on top of 'before_install' by redefinig
|
|
# the 'install' stage in the matrix below.
|
|
install: true
|
|
|
|
# Default job task: run tests as defined in the $OPT environment variable.
|
|
# Jobs can redefine the 'script' stage in the matrix below.
|
|
script: tools/run-tests.py $OPTS
|
|
|
|
# All the job definitions in the matrix.
|
|
matrix:
|
|
include:
|
|
- env: OPTS="--check-signed-off=travis --check-cppcheck --check-doxygen --check-vera --check-license --check-magic-strings"
|
|
- env: OPTS="--jerry-debugger"
|
|
- env: OPTS="--jerry-tests --jerry-test-suite"
|
|
- env: OPTS="--jerry-tests --jerry-test-suite --toolchain=cmake/toolchain_linux_armv7l.cmake" TIMEOUT=300
|
|
install: tools/apt-get-install-qemu-arm.sh
|
|
- env: OPTS="--buildoption-test"
|
|
- env: OPTS="--jerry-tests --jerry-test-suite --buildoptions=--jerry-libc=off,--compile-flag=-m32,--cpointer-32bit=on"
|
|
- env: OPTS="--unittests"
|
|
- env: OPTS="--unittests --buildoptions=--cmake-param=-DFEATURE_INIT_FINI=ON"
|
|
- env: OPTS="--test262"
|
|
install: sudo timedatectl set-timezone America/Los_Angeles
|
|
- env: OPTS="--check-pylint"
|
|
install: pip install --user pylint==1.6.5
|
|
- os: osx
|
|
before_install: tools/brew-install-deps.sh
|
|
env: OPTS="--jerry-tests --jerry-test-suite --unittests"
|
|
- install: echo -n | openssl s_client -connect scan.coverity.com:443 | sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' | sudo tee -a /etc/ssl/certs/ca-
|
|
env:
|
|
# Declaration of the encrypted COVERITY_SCAN_TOKEN, created via the
|
|
# "travis encrypt" command using the project repo's public key.
|
|
- secure: "V7BdXv3FCVkFGEfKfWto6I+Sytou1zTCGyn49xurkBfKNsG/3vbkXfsbK1m6lCZxmY7W/1odpfjixpAPZgy2L4FgPZK6/UyVvC8pIFjDOubcEniN48haleSvm/ZFPLDifxDL2+VVFtK1oRYPtDBzzSoUCcfwovgk+Wy+tSBnhnyRLqO/WaI6PqFof7ECYMTRlJVjioZARVP4YmkBruIPmGDdR/3EvwowlxfuiFoPheix61ug4x3tpTBW2qWgvFjDyCZXFz4pJrBQPTAIbyKMxHcBykJjl9eR+dWAOsvE1Uw48tFOJxjKDfUttVQUPsyKFllmcCVS0fDYB5pzZOmRUPxJmox1jt8J1FY85Ri1PGY0THBPM2H7to4Yf2418Y3539epbN8p+79dwaM7e2OiJ2owukbWI7PoNqIz5DV5zxpIKsOQfeWuNLJOgsBePEIU7lz133Si/2d5W/7If46B1d+hZRBJfSYksgDqDU6G/voZkPf0K5bKe2O2BxiIW1DYk4yQ1ecZAkqGjZ8jG3zYGMG3mSF4VyuU4UGFG1Pg8fw7Ap5zuHxSVY1H9dtu4T6JQG3aj/x1omlzfw48DjgkwxVhf7Xvl3yfR7pzydYheLX3MZYtcVo7rWnglZFZoUjWDK1StbmzsvPftvwWtoDTWlzo4xeSXhahSJvJyc4U8Wc="
|
|
addons:
|
|
coverity_scan:
|
|
project:
|
|
name: "jerryscript-project/jerryscript"
|
|
description: "Ultra-lightweight JavaScript engine for the Internet of Things."
|
|
notification_email: rsipka.uszeged@partner.samsung.com
|
|
build_command: "tools/build.py --clean"
|
|
branch_pattern: master
|
|
script: true # Changed to nop, Coverity Scan has already built the project by the time 'script' stage is reached.
|
|
- compiler: gcc-5
|
|
addons:
|
|
apt:
|
|
sources:
|
|
- ubuntu-toolchain-r-test
|
|
packages:
|
|
- gcc-5
|
|
- gcc-5-multilib
|
|
env: OPTS="--jerry-tests --jerry-test-suite --skip-list=parser-oom.js --buildoptions=--compile-flag=-fsanitize=address,--compile-flag=-m32,--compile-flag=-fno-omit-frame-pointer,--compile-flag=-fno-common,--compile-flag=-O2,--debug,--jerry-libc=off,--static-link=off,--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
|
|
- compiler: gcc-5
|
|
addons:
|
|
apt:
|
|
sources:
|
|
- ubuntu-toolchain-r-test
|
|
packages:
|
|
- gcc-5
|
|
- gcc-5-multilib
|
|
env: OPTS="--jerry-tests --jerry-test-suite --skip-list=parser-oom.js --buildoptions=--compile-flag=-fsanitize=undefined,--compile-flag=-m32,--compile-flag=-fno-omit-frame-pointer,--compile-flag=-fno-common,--debug,--jerry-libc=off,--static-link=off,--system-allocator=on,--linker-flag=-fuse-ld=gold" UBSAN_OPTIONS=print_stacktrace=1 TIMEOUT=600
|
|
|
|
- env: JOBNAME="ESP8266 Build Test"
|
|
cache: ccache
|
|
install: make -f ./targets/esp8266/Makefile.travis install
|
|
script: make -f ./targets/esp8266/Makefile.travis script
|
|
- env: JOBNAME="Mbed/K64F Build Test"
|
|
addons:
|
|
apt:
|
|
sources:
|
|
- sourceline: ppa:team-gcc-arm-embedded/ppa
|
|
packages:
|
|
- gcc-arm-embedded
|
|
install: make -f ./targets/mbed/Makefile.travis install
|
|
script: make -f ./targets/mbed/Makefile.travis script
|
|
- env: JOBNAME="Mbed OS 5/K64F Build Test"
|
|
addons:
|
|
apt:
|
|
sources:
|
|
- sourceline: ppa:team-gcc-arm-embedded/ppa
|
|
packages:
|
|
- gcc-arm-embedded
|
|
install: make -f ./targets/mbedos5/Makefile.travis install
|
|
script: make -f ./targets/mbedos5/Makefile.travis script
|
|
- env: JOBNAME="NuttX/STM32F4 Build Test"
|
|
install: make -f targets/nuttx-stm32f4/Makefile.travis install
|
|
script: make -f targets/nuttx-stm32f4/Makefile.travis script
|
|
- env: JOBNAME="RIOT/STM32F4 Build Test"
|
|
install: make -f ./targets/riot-stm32f4/Makefile.travis install
|
|
script: make -f ./targets/riot-stm32f4/Makefile.travis script
|
|
- env: JOBNAME="Tizen RT/Artik053 Build Test"
|
|
addons:
|
|
apt:
|
|
sources:
|
|
- sourceline: ppa:team-gcc-arm-embedded/ppa
|
|
packages:
|
|
- gcc-arm-embedded
|
|
install: make -f ./targets/tizenrt-artik053/Makefile.travis install
|
|
script: make -f ./targets/tizenrt-artik053/Makefile.travis script
|
|
- env: JOBNAME="Zephyr/Arduino 101 Build Test"
|
|
install: make -f ./targets/zephyr/Makefile.travis install
|
|
script: make -f ./targets/zephyr/Makefile.travis script
|
|
allow_failures:
|
|
- env: OPTS="--check-pylint"
|
|
fast_finish: true
|
|
|
|
# The channel name "chat.freenode.net#jerryscript"
|
|
# is encrypted against Samsung/jerryscript
|
|
# to prevent IRC spam of forks.
|
|
#
|
|
# travis encrypt -r "Samsung/jerryscript" "chat.freenode.net#jerryscript"
|
|
notifications:
|
|
irc:
|
|
channels:
|
|
- secure: "4kML4uZywOPaT3r/bHCvZCeQWooyzZumESmKuHG2Y8/B29WtMBobsoRQZRfOmlUP5kshfjh0Itp5WFpdACiBCoorHch/8z3VT7fIbKF4UnxrAvNiFArqxXC0OWGIu93e7uyyXJCsQ/JiOXU7bD31Mh8LbnfS1z3wBAMXi+AwcaGiVVH4VTL6O8sR3ij5WmsqpECWhyWTgTP3MiLquZ+09Lv9mp5GGciEemq4p8VnaQt2BdyEBmUJJ1EAyMCJlKNObQudegOzYsY3CVON9C87dCuHf7DYstsxb8AzwRAKn8LHiaWhYaWLfvHqoXmc4w1ZgN0HZ5Qyx8KMkZkXKUiHxuCSoXDxNAHWTGQBsTDid5drZeqOFucOHEKJzkqaWSUKUF3pY/hq/h2kjAn230DlBNkJt+ikSxwy6Mm8GG8LnH5gRMl37zHDHrtyRsKR8GIst9B1B95LAOLA5t8U/ucGKXqLsohS8glXaM4jjh69it3GeHj6NhB8NbC/LsmRrhjKzV+VnjPI6gZvN+5tDiuxMbsMal+0DdWVNCst/aO3Jz0iaA5ahyo2ZwBb2efw3CekRLMKmHtnjqB0SWWXT3/t2+5zNoM6gBjo4RPOg7k5eTOXcfk8okWtQ5d3n8UtvZ5rSiDl3rssHwp1yHuuC8rGGov74DLvyDlpM6p/dmtu2o8="
|
|
on_success: always
|
|
on_failure: always
|
|
use_notice: true
|
|
template:
|
|
- "%{repository_name} (%{branch}@%{commit}): %{author} - %{commit_subject} [%{result}]"
|
|
- "Commit: %{compare_url}"
|
|
- "Build: %{build_url}"
|