da24727824
Hitherto, code under the `targets` directory was not tested and so its maintenance was sometimes speculative. This commit adds build testing for several targets to prevent them from bit rotting. Targets covered by this commit are: ESP8266, Mbed, Mbed OS 5, NuttX, RIOT, Tizen RT, and Zephyr. Some issues were revealed and fixed: - ESP8266: added missing include for `uint32_t` typedef. - Tizen RT: replaced missing `str_to_uint` with `strtol`. 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}"
|