Add the CocoaPods integration tests to Travis.
Also hotwires updating ruby as CocoaPods was crashing within a support library. Fixes #1619
This commit is contained in:
parent
71f4a9c6f3
commit
f0c1492ef6
@ -28,6 +28,7 @@ env:
|
|||||||
- CONFIG=objectivec_ios_debug
|
- CONFIG=objectivec_ios_debug
|
||||||
- CONFIG=objectivec_ios_release
|
- CONFIG=objectivec_ios_release
|
||||||
- CONFIG=objectivec_osx
|
- CONFIG=objectivec_osx
|
||||||
|
- CONFIG=objectivec_cocoapods_integration
|
||||||
- CONFIG=python
|
- CONFIG=python
|
||||||
- CONFIG=python_cpp
|
- CONFIG=python_cpp
|
||||||
- CONFIG=ruby19
|
- CONFIG=ruby19
|
||||||
@ -67,6 +68,8 @@ matrix:
|
|||||||
env: CONFIG=objectivec_ios_release
|
env: CONFIG=objectivec_ios_release
|
||||||
- os: linux
|
- os: linux
|
||||||
env: CONFIG=objectivec_osx
|
env: CONFIG=objectivec_osx
|
||||||
|
- os: linux
|
||||||
|
env: CONFIG=objectivec_cocoapods_integration
|
||||||
allow_failures:
|
allow_failures:
|
||||||
# These currently do not work on OS X but are being worked on by @haberman.
|
# These currently do not work on OS X but are being worked on by @haberman.
|
||||||
- os: osx
|
- os: osx
|
||||||
|
@ -119,9 +119,18 @@ do_test() {
|
|||||||
# Put the right Podfile in place.
|
# Put the right Podfile in place.
|
||||||
cp -f "Podfile-${TEST_MODE}" "Podfile"
|
cp -f "Podfile-${TEST_MODE}" "Podfile"
|
||||||
|
|
||||||
|
xcodebuild_args=( "-workspace" "${TEST_NAME}.xcworkspace" "-scheme" "${TEST_NAME}" )
|
||||||
|
|
||||||
|
# For iOS, if the SDK is not provided it tries to use iphoneos, and the test
|
||||||
|
# fail on Travis since those machines don't have a Code Signing identity.
|
||||||
|
if [[ "${TEST_NAME}" == iOS* ]] ; then
|
||||||
|
xcodebuild_args+=( "-sdk" "iphonesimulator" "ONLY_ACTIVE_ARCH=NO" )
|
||||||
|
fi
|
||||||
|
|
||||||
# Do the work!
|
# Do the work!
|
||||||
pod install --verbose
|
pod install --verbose
|
||||||
xcodebuild -workspace "${TEST_NAME}.xcworkspace" -scheme "${TEST_NAME}" build
|
|
||||||
|
xcodebuild "${xcodebuild_args[@]}" build
|
||||||
|
|
||||||
# Clear the hook and manually run cleanup.
|
# Clear the hook and manually run cleanup.
|
||||||
trap - EXIT
|
trap - EXIT
|
||||||
|
12
tests.sh
12
tests.sh
@ -223,6 +223,17 @@ build_objectivec_osx() {
|
|||||||
--core-only --skip-xcode-ios
|
--core-only --skip-xcode-ios
|
||||||
}
|
}
|
||||||
|
|
||||||
|
build_objectivec_cocoapods_integration() {
|
||||||
|
# First, load the RVM environment in bash, needed to update ruby.
|
||||||
|
source ~/.rvm/scripts/rvm
|
||||||
|
# Update ruby to 2.2.3 as the default one crashes with segmentation faults
|
||||||
|
# when using pod.
|
||||||
|
rvm use 2.2.3 --install --binary --fuzzy
|
||||||
|
# Update pod to the latest version.
|
||||||
|
gem install cocoapods --no-ri --no-rdoc
|
||||||
|
objectivec/Tests/CocoaPods/run_tests.sh
|
||||||
|
}
|
||||||
|
|
||||||
build_python() {
|
build_python() {
|
||||||
internal_build_cpp
|
internal_build_cpp
|
||||||
internal_install_python_deps
|
internal_install_python_deps
|
||||||
@ -304,6 +315,7 @@ Usage: $0 { cpp |
|
|||||||
objectivec_ios_debug |
|
objectivec_ios_debug |
|
||||||
objectivec_ios_release |
|
objectivec_ios_release |
|
||||||
objectivec_osx |
|
objectivec_osx |
|
||||||
|
objectivec_cocoapods_integration |
|
||||||
python |
|
python |
|
||||||
python_cpp |
|
python_cpp |
|
||||||
ruby19 |
|
ruby19 |
|
||||||
|
Loading…
Reference in New Issue
Block a user