language: c # Default environment: Container-based (sudo-less) Ubuntu Trusty 14.04. os: linux dist: trusty sudo: false # Default dependency installation step: nop intentionally. # Jobs can add their own dependencies 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: - JOBNAME="Checks" - OPTS="--check-signed-off=travis --check-cppcheck --check-doxygen --check-vera --check-license --check-magic-strings --check-pylint" install: pip install --user pylint==1.6.5 addons: apt: packages: [doxygen, cppcheck, vera++] - env: - JOBNAME="Linux/x86-64 Build & Correctness Tests" - OPTS="--quiet --jerry-tests --jerry-test-suite" - env: - JOBNAME="Linux/x86 (cpointer-32bit) Build & Correctness Tests" - OPTS="--quiet --jerry-tests --jerry-test-suite --buildoptions=--jerry-libc=off,--compile-flag=-m32,--cpointer-32bit=on" addons: apt: packages: [gcc-multilib] - env: - JOBNAME="Linux/ARM Build & Correctness Tests" - OPTS="--quiet --jerry-tests --jerry-test-suite --toolchain=cmake/toolchain_linux_armv7l.cmake --buildoptions=--linker-flag=-static" - RUNTIME=qemu-arm-static - TIMEOUT=300 addons: apt: packages: [gcc-arm-linux-gnueabihf, libc6-dev-armhf-cross, qemu-user-static] - env: - JOBNAME="OSX/x86-64 Build, Correctness & Unit Tests" - OPTS="--quiet --jerry-tests --jerry-test-suite --unittests" os: osx install: tools/brew-install-deps.sh - env: - JOBNAME="Build Tests" - OPTS="--buildoption-test" addons: apt: packages: [gcc-multilib] - env: - JOBNAME="Unit Tests" - OPTS="--unittests" - env: - JOBNAME="Unit Tests (INIT_FINI)" - OPTS="--unittests --buildoptions=--cmake-param=-DFEATURE_INIT_FINI=ON" - env: - JOBNAME="Debugger Tests" - OPTS="--jerry-debugger" - env: - JOBNAME="Conformance Tests" - OPTS="--test262" - TZ=America/Los_Angeles - env: - JOBNAME="ASAN Tests" - OPTS="--quiet --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,--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: - JOBNAME="UBSAN Tests" - OPTS="--quiet --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,--system-allocator=on,--linker-flag=-fuse-ld=gold" - UBSAN_OPTIONS=print_stacktrace=1 - TIMEOUT=600 compiler: gcc-5 addons: apt: sources: ubuntu-toolchain-r-test packages: [gcc-5, gcc-5-multilib] - env: - JOBNAME="Coverity Scan" # 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. - env: JOBNAME="SonarQube" addons: sonarcloud: organization: "jerryscript-project" token: secure: "C1QD99nllAQndSDj4uIQPWCK0jBYrC5P0IrpdhfG7li7uvdzphUM++z3zkhYeeTJR3flw/cr8d9saYlbMjGw2eZ7AdJPFy4FJ1doBXD2amIuepaG1e829SLnJner9VA+d/8j28m7lZNtvZF5efbrS4KOicijNixmJy2PKG0K2035fs6MHLdywF8cJhyMaoRiMvYahIZEjXMvPBSgG1m4+A3PpzyN8XijwOT47cVtCLav4L21Mc7LcHsrc3LeyhtEJ+cs7Lx9WDQDwXX9iCRTA5ByqrXsS4rBV/N3lJI5M9p68Yj94Qy2OvVeCmUZ4ezwuuwkX00vBUk2f4eZx3oFAp973ekA8EGm/5qEvHVcbjHoHLbfUxsAKQHVoExXGdM5r1KeVgxLDT2FSQnBZLoxIrtGOUqFEOL4WX5YaQNoUKvYFO+CNvsMQkNg65QzLinRfqcH20KjzAsVeFwVI/j87J2VjooM8910savpw53iVBNPqmO/lG3kzFL7L2p1FeOuyEg9ANAbMhAXt3SL2srT0xni+ysg4Iwq+IkU+hkQWsvM8Voz+QJmiotFsi1Pzakcu3IOlT8lVVyn5q0z59YVDht/6if7acqkZ3X5vldeNIZYkImmYhMebScxVhzAa8AS6/81A+zJ8lW1+RWJQtP3uPM1+Dq18iFkPrCEMZwtoXI=" script: tools/check-sonarqube.sh cache: directories: - '${HOME}/.sonar/cache' - env: JOBNAME="ESP8266 Build Test" cache: ccache install: make -f ./targets/esp8266/Makefile.travis install-noapt script: make -f ./targets/esp8266/Makefile.travis script addons: apt: packages: [gperf, texinfo, wget] - 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-noapt script: make -f targets/nuttx-stm32f4/Makefile.travis script addons: apt: packages: [gcc-arm-none-eabi, libnewlib-arm-none-eabi, gperf] - env: JOBNAME="RIOT/STM32F4 Build Test" install: make -f ./targets/riot-stm32f4/Makefile.travis install-noapt script: make -f ./targets/riot-stm32f4/Makefile.travis script addons: apt: packages: [gcc-arm-none-eabi, libnewlib-arm-none-eabi] - 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-noapt script: make -f ./targets/zephyr/Makefile.travis script addons: apt: packages: [gperf, dfu-util, device-tree-compiler, python3-ply, python3-pip] 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}"