From 73e8c8aab9f1dd61f922a889abfc6b313a95b07a Mon Sep 17 00:00:00 2001 From: Thomas Van Lenten Date: Wed, 15 Nov 2017 10:29:14 -0500 Subject: Instead of listing and then excluding osx builds, just don't list them. --- .travis.yml | 24 ++++-------------------- 1 file changed, 4 insertions(+), 20 deletions(-) (limited to '.travis.yml') diff --git a/.travis.yml b/.travis.yml index e7853ebe..515abf48 100644 --- a/.travis.yml +++ b/.travis.yml @@ -14,11 +14,10 @@ script: env: - CONFIG=cpp - CONFIG=cpp_distcheck - - CONFIG=golang - - CONFIG=java_jdk7 - - CONFIG=java_oracle7 - - CONFIG=javanano_jdk7 - - CONFIG=javanano_oracle7 + # Testing go requires installing golang, currently travis.sh is doing that + # with apt-get which doesn't work on OS X. + # It's nontrivial to programmatically install a new JDK from the command + # line on OS X, so we rely on testing on Linux for Java code. - CONFIG=javascript # iOS build log was starting to choke travis UI, so split to cover the # Xcode Debug and Release Configurations independently. @@ -34,21 +33,6 @@ env: - CONFIG=php5.6_mac - CONFIG=php7.0_mac matrix: - exclude: - # It's nontrivial to programmatically install a new JDK from the command - # line on OS X, so we rely on testing on Linux for Java code. - - os: osx - env: CONFIG=java_jdk7 - - os: osx - env: CONFIG=java_oracle7 - - os: osx - env: CONFIG=javanano_jdk7 - - os: osx - env: CONFIG=javanano_oracle7 - # Requires installing golang, currently travis.sh is doing that with apt-get - # which doesn't work on OS X. - - os: osx - env: CONFIG=golang include: # The dotnet environment requires Ubuntu 14.04 or 16.04. This # configuration is effectively an "extra" one, outside the -- cgit v1.2.3 From c46571bc171334812553df7e48b8cd4bde433b07 Mon Sep 17 00:00:00 2001 From: Thomas Van Lenten Date: Wed, 15 Nov 2017 10:31:16 -0500 Subject: Update some comments about testing. --- .travis.yml | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) (limited to '.travis.yml') diff --git a/.travis.yml b/.travis.yml index 515abf48..b6c19d24 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,13 +1,10 @@ sudo: required dist: trusty -# Note: travis currently does not support listing more than one language so -# this cheats and claims to only be cpp. If they add multiple language -# support, this should probably get updated to install steps and/or -# rvm/gemfile/jdk/etc. entries rather than manually doing the work. +# everything is driven by the test.sh, so the language doesn't really +# matter, it just controls the default install/script/etc. steps on +# travis. language: cpp -os: - - osx -# The Objective C build needs Xcode 7.0 or later. +os: osx osx_image: xcode8.3 script: - ./tests.sh $CONFIG -- cgit v1.2.3 From 2e17639133ced527400330b1126f713aedc96729 Mon Sep 17 00:00:00 2001 From: Thomas Van Lenten Date: Wed, 15 Nov 2017 10:36:49 -0500 Subject: Remove the ruby tests from travis configs. Looking at tarvis history for master, jruby doesn't look like it has passed in a really long time. The other two tests have been failing for a few weeks. Since travis has limited osx hosts, seems better to just remove things we aren't expecting to pass. --- .travis.yml | 8 -------- 1 file changed, 8 deletions(-) (limited to '.travis.yml') diff --git a/.travis.yml b/.travis.yml index b6c19d24..269c2df6 100644 --- a/.travis.yml +++ b/.travis.yml @@ -24,9 +24,6 @@ env: - CONFIG=objectivec_cocoapods_integration - CONFIG=python - CONFIG=python_cpp - - CONFIG=ruby21 - - CONFIG=ruby22 - - CONFIG=jruby - CONFIG=php5.6_mac - CONFIG=php7.0_mac matrix: @@ -53,11 +50,6 @@ matrix: - os: linux env: CONFIG=python_compatibility allow_failures: - # These currently do not work on OS X but are being worked on by @haberman. - - os: osx - env: CONFIG=ruby22 - - os: osx - env: CONFIG=jruby # https://github.com/google/protobuf/issues/1253 - Started failing when # we moved to an OS X image that is 10.11. - os: osx -- cgit v1.2.3 From a839c67dfe6ea49ae86c75c7744e0fe3ec42f31e Mon Sep 17 00:00:00 2001 From: Thomas Van Lenten Date: Wed, 15 Nov 2017 10:39:35 -0500 Subject: Remove the allowed_failure for python_cpp as the bug was fixed. --- .travis.yml | 4 ---- 1 file changed, 4 deletions(-) (limited to '.travis.yml') diff --git a/.travis.yml b/.travis.yml index 269c2df6..44a7701b 100644 --- a/.travis.yml +++ b/.travis.yml @@ -50,10 +50,6 @@ matrix: - os: linux env: CONFIG=python_compatibility allow_failures: - # https://github.com/google/protobuf/issues/1253 - Started failing when - # we moved to an OS X image that is 10.11. - - os: osx - env: CONFIG=python_cpp # Mark the iOS test as flakey as xcodebuild some times fails to start the # iOS Simulator. - os: osx -- cgit v1.2.3 From 6700f41c4b699b0e31ab2bf90036c04273784fd8 Mon Sep 17 00:00:00 2001 From: Thomas Van Lenten Date: Tue, 14 Nov 2017 23:00:02 -0500 Subject: Travis config cleanups and move ObjC to Xcode 9.1. Stop having travis build the test matrix and make it explicit so extra settings are only on the test that need the, this helps make the travis UI a little cleaner (linux hosted stuff doesn't list an Xcode version), as well as avoid unneeded requirements limiting the travis pool something can run on. Small improvements to objectivec/DevTools/full_mac_build.sh to avoid some repeated scripting and hopefully make things more reliable work with Xcode 9.x. Don't mark the iOS tests as able to fail, hopefully with the new settings they are stable and won't give false signals. Simplify the case for xcode versions and fixup xcode 9.[0-1]. --- .travis.yml | 95 +++++++++++++++++++++++------------ objectivec/DevTools/full_mac_build.sh | 26 ++-------- 2 files changed, 68 insertions(+), 53 deletions(-) (limited to '.travis.yml') diff --git a/.travis.yml b/.travis.yml index 44a7701b..b89a4363 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,33 +1,65 @@ -sudo: required -dist: trusty -# everything is driven by the test.sh, so the language doesn't really +# Everything is driven by the test.sh, so the language doesn't really # matter, it just controls the default install/script/etc. steps on # travis. language: cpp -os: osx -osx_image: xcode8.3 -script: - - ./tests.sh $CONFIG -env: - - CONFIG=cpp - - CONFIG=cpp_distcheck - # Testing go requires installing golang, currently travis.sh is doing that - # with apt-get which doesn't work on OS X. - # It's nontrivial to programmatically install a new JDK from the command - # line on OS X, so we rely on testing on Linux for Java code. - - CONFIG=javascript - # iOS build log was starting to choke travis UI, so split to cover the - # Xcode Debug and Release Configurations independently. - - CONFIG=objectivec_ios_debug - - CONFIG=objectivec_ios_release - - CONFIG=objectivec_osx - - CONFIG=objectivec_cocoapods_integration - - CONFIG=python - - CONFIG=python_cpp - - CONFIG=php5.6_mac - - CONFIG=php7.0_mac +script: ./tests.sh $CONFIG + +# The test matrix is manually built to cover a mix of linux and macOS +# hosted setups; this lets some extra settings be done specific to each +# host/language instead of forcing common values on all the tests. matrix: include: + # ----------------------------------------------------------------- + # macOS hosted tests for Objective-C + + - os: osx + env: CONFIG=objectivec_osx + osx_image: xcode9.1 + language: objective-c + # iOS build log was starting to choke travis UI, so split to cover the + # Xcode Debug and Release Configurations independently. + - os: osx + env: CONFIG=objectivec_ios_debug + osx_image: xcode9.1 + language: objective-c + - os: osx + env: CONFIG=objectivec_ios_release + osx_image: xcode9.1 + language: objective-c + - os: osx + env: CONFIG=objectivec_cocoapods_integration + osx_image: xcode9.1 + language: objective-c + + # ----------------------------------------------------------------- + # macOS hosted tests for other languages. + + - os: osx + env: CONFIG=cpp + - os: osx + env: CONFIG=cpp_distcheck + - os: osx + env: CONFIG=javascript + - os: osx + env: CONFIG=python + - os: osx + env: CONFIG=python_cpp + - os: osx + env: CONFIG=php5.6_mac + # Xcode versions force a host version of macOS: + # https://docs.travis-ci.com/user/reference/osx/#OS-X-Version + # Force macOS 10.12, the default travis image is going to be + # updated "soon", at which point this came come out: + # https://blog.travis-ci.com/2017-10-16-a-new-default-os-x-image-is-coming + osx_image: xcode8.3 + - os: osx + env: CONFIG=php7.0_mac + # Same note about macOS version as on the php5.6_mac config. + osx_image: xcode8.3 + + # ----------------------------------------------------------------- + # Linux hosted tests + # The dotnet environment requires Ubuntu 14.04 or 16.04. This # configuration is effectively an "extra" one, outside the # autogenerated matrix. @@ -35,6 +67,7 @@ matrix: env: CONFIG=csharp language: csharp dist: trusty + sudo: required dotnet: 1.0.1 mono: none # This test is kept on travis because it doesn't play nicely with other @@ -45,16 +78,14 @@ matrix: # fetch pre-built Linux protoc binaries in the test. - os: linux env: CONFIG=java_compatibility + sudo: required + dist: trusty # The Python compatibility test currently only runs on Linux because it will # fetch pre-built Linux protoc binaries in the test. - os: linux env: CONFIG=python_compatibility - allow_failures: - # Mark the iOS test as flakey as xcodebuild some times fails to start the - # iOS Simulator. - - os: osx - env: CONFIG=objectivec_ios_debug - - os: osx - env: CONFIG=objectivec_ios_release + sudo: required + dist: trusty + notifications: email: false diff --git a/objectivec/DevTools/full_mac_build.sh b/objectivec/DevTools/full_mac_build.sh index a825789f..7e1e9a05 100755 --- a/objectivec/DevTools/full_mac_build.sh +++ b/objectivec/DevTools/full_mac_build.sh @@ -253,36 +253,20 @@ if [[ "${DO_XCODE_IOS_TESTS}" == "yes" ]] ; then XCODEBUILD_TEST_BASE_IOS+=( -destination "platform=iOS Simulator,name=iPhone 4s,OS=9.0" # 32bit -destination "platform=iOS Simulator,name=iPhone 7,OS=10.0" # 64bit - -destination "platform=iOS Simulator,name=iPad 2,OS=9.0" # 32bit - -destination "platform=iOS Simulator,name=iPad Pro (9.7 inch),OS=10.0" # 64bit ) ;; - 8.1* ) - XCODEBUILD_TEST_BASE_IOS+=( - -destination "platform=iOS Simulator,name=iPhone 4s,OS=8.1" # 32bit - -destination "platform=iOS Simulator,name=iPhone 7,OS=10.1" # 64bit - -destination "platform=iOS Simulator,name=iPad 2,OS=8.1" # 32bit - -destination "platform=iOS Simulator,name=iPad Pro (9.7 inch),OS=10.1" # 64bit - ) - ;; - 8.2* ) - XCODEBUILD_TEST_BASE_IOS+=( - -destination "platform=iOS Simulator,name=iPhone 4s,OS=8.1" # 32bit - -destination "platform=iOS Simulator,name=iPhone 7,OS=10.2" # 64bit - -destination "platform=iOS Simulator,name=iPad 2,OS=8.1" # 32bit - -destination "platform=iOS Simulator,name=iPad Pro (9.7 inch),OS=10.2" # 64bit - ) - ;; - 8.3* ) + 8.[1-3]* ) XCODEBUILD_TEST_BASE_IOS+=( -destination "platform=iOS Simulator,name=iPhone 4s,OS=8.1" # 32bit -destination "platform=iOS Simulator,name=iPhone 7,OS=latest" # 64bit ) ;; - 9.0* ) + 9.[0-1]* ) XCODEBUILD_TEST_BASE_IOS+=( -destination "platform=iOS Simulator,name=iPhone 4s,OS=8.1" # 32bit -destination "platform=iOS Simulator,name=iPhone 7,OS=latest" # 64bit + # 9.0/9.1 both seem to often fail running destinations in parallel + -disable-concurrent-testing ) ;; * ) @@ -299,7 +283,7 @@ if [[ "${DO_XCODE_IOS_TESTS}" == "yes" ]] ; then "${XCODEBUILD_TEST_BASE_IOS[@]}" -configuration Release test fi # Don't leave the simulator in the developer's face. - killall Simulator + killall Simulator 2> /dev/null || true fi if [[ "${DO_XCODE_OSX_TESTS}" == "yes" ]] ; then XCODEBUILD_TEST_BASE_OSX=( -- cgit v1.2.3 From 582d6ac3aa519316b64c09e55e40422c4950e05c Mon Sep 17 00:00:00 2001 From: Juan Leni Date: Tue, 28 Nov 2017 05:18:25 +0100 Subject: Upgrading dotnet to 1.0.4 --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to '.travis.yml') diff --git a/.travis.yml b/.travis.yml index b89a4363..4cfc5bf0 100644 --- a/.travis.yml +++ b/.travis.yml @@ -68,7 +68,7 @@ matrix: language: csharp dist: trusty sudo: required - dotnet: 1.0.1 + dotnet: 1.0.4 mono: none # This test is kept on travis because it doesn't play nicely with other # tests on jenkins running in parallel. -- cgit v1.2.3