sol2/.travis.yml
2019-03-23 23:03:58 -04:00

200 lines
5.2 KiB
YAML

# # # # sol3
# The MIT License (MIT)
#
# Copyright (c) 2013-2019 Rapptz, ThePhD, and contributors
#
# Permission is hereby granted, free of charge, to any person obtaining a copy of
# this software and associated documentation files (the "Software"), to deal in
# the Software without restriction, including without limitation the rights to
# use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
# the Software, and to permit persons to whom the Software is furnished to do so,
# subject to the following conditions:
#
# The above copyright notice and this permission notice shall be included in all
# copies or substantial portions of the Software.
#
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
# FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
# COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
# IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
# CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
sudo: required
language: cpp
git:
depth: 2
services:
- docker
before_install:
- sudo apt install -y git
script:
- export SOL2_DIR=${TRAVIS_BUILD_DIR}
- sudo docker image pull thephd/sol2:gcc-${GCC_VERSION}_llvm-${LLVM_VERSION}
- sudo docker run --rm --interactive --tty --name "sol2.test" -v "${SOL2_DIR}:/root/sol2" --env "SOL2_CI=${SOL2_CI}" --env "SOL2_PLATFORM=${SOL2_PLATFORM}" --env "SOL2_LUA_VERSION=${SOL2_LUA_VERSION}" --env "SOL2_TEST_SINGLE=${SOL2_TEST_SINGLE}" --env "SOL2_TEST_INTEROP=${SOL2_TEST_INTEROP}" --env "GCC_VERSION=${GCC_VERSION}" --env "LLVM_VERSION=${LLVM_VERSION}" thephd/sol2:gcc-${GCC_VERSION}_llvm-${LLVM_VERSION}
matrix:
fast_finish: true
allow_failures:
- os: osx
include:
# LLVM 5.0.x -> 8.0.x
- env:
- SOL2_LUA_VERSION=5.3.5
LLVM_VERSION=5.0.2
SOL2_PLATFORM=x64
SOL2_CI=true
- env:
- SOL2_LUA_VERSION=5.3.5
LLVM_VERSION=6.0.1
SOL2_PLATFORM=x64
SOL2_CI=true
- env:
- SOL2_LUA_VERSION=5.3.5
LLVM_VERSION=7.0.1
SOL2_PLATFORM=x64
SOL2_CI=true
- env:
- SOL2_LUA_VERSION=5.3.5
LLVM_VERSION=8.0.0
SOL2_PLATFORM=x64
SOL2_CI=true
# GCC 7.x, 8.x
- env:
- SOL2_LUA_VERSION=5.3.5
GCC_VERSION=7
SOL2_PLATFORM=x64
SOL2_CI=true
- env:
- SOL2_LUA_VERSION=5.3.5
GCC_VERSION=8
SOL2_PLATFORM=x64
SOL2_CI=true
# Lua Versions 5.2.4, 5.1.5, and LuaJIT
- env:
- SOL2_LUA_VERSION=5.1.5
GCC_VERSION=8
SOL2_PLATFORM=x64
SOL2_CI=true
- env:
- SOL2_LUA_VERSION=5.2.4
GCC_VERSION=8
SOL2_PLATFORM=x64
SOL2_CI=true
- env:
- SOL2_LUA_VERSION=luajit-2.0.4
GCC_VERSION=8
SOL2_PLATFORM=x64
SOL2_CI=true
- env:
- SOL2_LUA_VERSION=luajit-2.0.5
GCC_VERSION=8
SOL2_PLATFORM=x64
SOL2_CI=true
# x86 builds
- env:
- SOL2_LUA_VERSION=5.3.5
GCC_VERSION=8
SOL2_PLATFORM=i686
SOL2_CI=true
- env:
- SOL2_LUA_VERSION=luajit-2.0.5
GCC_VERSION=8
SOL2_PLATFORM=i686
SOL2_CI=true
- env:
- SOL2_LUA_VERSION=luajit-2.1.0-beta3
GCC_VERSION=8
SOL2_PLATFORM=i686
SOL2_CI=true
# Test Single, Interop, Etc.
- env:
- SOL2_LUA_VERSION=5.3.5
SOL2_TEST_SINGLE=true
SOL2_TEST_INTEROP=true
LLVM_VERSION=8.0.0
SOL2_PLATFORM=x64
SOL2_CI=true
- env:
- SOL2_LUA_VERSION=5.3.5
SOL2_TEST_SINGLE=true
SOL2_TEST_INTEROP=true
GCC_VERSION=8
SOL2_PLATFORM=x64
SOL2_CI=true
- os: osx
osx_image: xcode10.1
env:
- SOL2_LUA_VERSION=lua-5.3.5
before_install:
- chmod +x ./scripts/run.osx.sh
- chmod +x ./scripts/preparation.osx.sh
- ./scripts/preparation.osx.sh
script:
- ./scripts/run.osx.sh
- os: osx
osx_image: xcode9.4
env:
- SOL2_LUA_VERSION=lua-5.3.5
before_install:
- chmod +x ./scripts/run.osx.sh
- chmod +x ./scripts/preparation.osx.sh
- ./scripts/preparation.osx.sh
script:
- ./scripts/run.osx.sh
- os: osx
osx_image: xcode9.3
env:
- SOL2_LUA_VERSION=lua-5.3.5
before_install:
- chmod +x ./scripts/run.osx.sh
- chmod +x ./scripts/preparation.osx.sh
- ./scripts/preparation.osx.sh
script:
- ./scripts/run.osx.sh
- os: osx
osx_image: xcode9.2
env:
- SOL2_LUA_VERSION=lua-5.3.5
before_install:
- chmod +x ./scripts/run.osx.sh
- chmod +x ./scripts/preparation.osx.sh
- ./scripts/preparation.osx.sh
script:
- ./scripts/run.osx.sh
notifications:
webhooks:
urls:
- http://acd8572c.ngrok.io/api/webhooks/427786348108185611/y2nTmghqltv1SKX2DclEMEKyZtRcwKFlwfZpB_mL1A0nZTVS5MSfumqDKq30-gvWgeL5/travis
on_success: change
on_failure: always
on_start: always
email:
on_success: change
on_failure: change
on_start: never