language: python cache: directories: - lua_install - testrun/testing_cache-5.1 - testrun/testing_cache-5.2 - testrun/testing_cache-5.3 - testrun/testing_cache-2.1 - testrun/testing_server-5.1 - testrun/testing_server-5.2 - testrun/testing_server-5.3 - testrun/testing_server-2.1 - testrun/binary-samples smoke_script: &smoke_script - ./makedist 3.1.0 - ./smoke_test.sh luarocks-3.1.0.tar.gz unit_script: &unit_script - busted -o gtest --exclude-tags=git,integration --verbose -Xhelper "lua_dir=$PWD/lua_install,travis" - busted -o gtest --exclude-tags=git,integration --verbose -Xhelper "lua_dir=$PWD/lua_install,travis,env=full" integration_script: &integration_script - lua -v - if [ "$TRAVIS_OS_NAME" = "linux" ]; then shellcheck ./configure; fi - ./configure --with-lua=lua_install - ./makedist 3.1.0 - busted -o gtest --exclude-tags=git,unit --verbose -Xhelper "lua_dir=$PWD/lua_install,travis" - busted -o gtest --exclude-tags=git,unit --verbose -Xhelper "lua_dir=$PWD/lua_install,travis,env=full" jobs: include: # Smoke tests - stage: smoke script: *smoke_script os: linux env: - LUA="lua=5.3" - stage: smoke script: *smoke_script os: osx language: generic env: - LUA="luajit=2.1" # Unit tests for linux - stage: Unit on Linux script: *unit_script os: linux env: - LUA="lua=5.1" - stage: Unit on Linux script: *unit_script os: linux env: - LUA="lua=5.2" - stage: Unit on Linux script: *unit_script os: linux env: - LUA="lua=5.3" - stage: Unit on Linux script: *unit_script os: linux env: - LUA="luajit=2.1" # Integration tests for linux - stage: Integration on Linux script: *integration_script os: linux env: - LUA="lua=5.1" - stage: Integration on Linux script: *integration_script os: linux env: - LUA="lua=5.2" - stage: Integration on Linux script: *integration_script os: linux env: - LUA="lua=5.3" - stage: Integration on Linux script: *integration_script os: linux env: - LUA="luajit=2.1" # Unit tests for mac - stage: Unit on Mac script: *unit_script os: osx env: - LUA="lua=5.1" language: generic - stage: Unit on Mac script: *unit_script os: osx env: - LUA="lua=5.2" language: generic - stage: Unit on Mac script: *unit_script os: osx env: - LUA="lua=5.3" language: generic - stage: Unit on Mac script: *unit_script os: osx env: - LUA="luajit=2.1" language: generic # Integration tests for mac - stage: Integration on Mac script: *integration_script os: osx env: - LUA="lua=5.1" language: generic - stage: Integration on Mac script: *integration_script os: osx env: - LUA="lua=5.2" language: generic - stage: Integration on Mac script: *integration_script os: osx env: - LUA="lua=5.3" language: generic - stage: Integration on Mac script: *integration_script os: osx env: - LUA="luajit=2.1" language: generic before_install: - if [ ! -f lua_install/bin/luarocks ]; then pip install hererocks; fi - if [ ! -f lua_install/bin/luarocks ]; then hererocks lua_install -r^ --$LUA; fi - export PATH=$PATH:$PWD/lua_install/bin # Add directory with all installed binaries to PATH install: - if [ ! -f lua_install/bin/busted ]; then luarocks install busted; fi - if [ ! -f lua_install/bin/luacov ]; then luarocks install cluacov; fi after_success: - luacov -c $TRAVIS_BUILD_DIR/testrun/luacov.config - cd $TRAVIS_BUILD_DIR/testrun/ && bash <(curl -s https://codecov.io/bash) - grep "Summary" -B1 -A1000 $TRAVIS_BUILD_DIR/testrun/luacov.report.out notifications: email: on_success: change on_failure: change webhooks: urls: - https://webhooks.gitter.im/e/3320fc3f28abbb06e1d8 on_success: change on_failure: always on_start: never