| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295 |
- os: osx
- osx_image: xcode11
- language: objective-c
- cache:
- bundler: true
- cocoapods: true
- directories:
- # Built-in support for ccache doesn't seem to pick this up
- - $HOME/.ccache
- stages:
- - test
- jobs:
- include:
- # The order of builds matters (even though they are run in parallel):
- # Travis will schedule them in the same order they are listed here.
- - stage: test
- env:
- - PROJECT=Core METHOD=pod-lib-lint
- script:
- - travis_retry ./scripts/if_changed.sh ./scripts/pod_lib_lint.rb FirebaseCoreDiagnostics.podspec --platforms=ios
- - travis_retry ./scripts/if_changed.sh ./scripts/pod_lib_lint.rb FirebaseCoreDiagnostics.podspec --platforms=tvos
- - travis_retry ./scripts/if_changed.sh ./scripts/pod_lib_lint.rb FirebaseCoreDiagnostics.podspec --platforms=macos
- - stage: test
- osx_image: xcode10.3
- env:
- - PROJECT=Core METHOD=pod-lib-lint
- script:
- - travis_retry ./scripts/if_changed.sh ./scripts/pod_lib_lint.rb FirebaseCore.podspec --skip-tests --platforms=ios
- - travis_retry ./scripts/if_changed.sh ./scripts/pod_lib_lint.rb FirebaseCoreDiagnostics.podspec --platforms=ios
- - stage: test
- if: type = cron
- env:
- - PROJECT=CoreCron METHOD=pod-lib-lint
- script:
- - travis_retry ./scripts/pod_lib_lint.rb FirebaseCoreDiagnostics.podspec --platforms=ios --use-libraries
- - travis_retry ./scripts/pod_lib_lint.rb FirebaseCoreDiagnostics.podspec --platforms=tvos --use-libraries
- - travis_retry ./scripts/pod_lib_lint.rb FirebaseCoreDiagnostics.podspec --platforms=macos --use-libraries
- - travis_retry ./scripts/pod_lib_lint.rb FirebaseCoreDiagnostics.podspec --platforms=ios --use-modular-headers
- - travis_retry ./scripts/pod_lib_lint.rb FirebaseCoreDiagnostics.podspec --platforms=tvos --use-modular-headers
- - travis_retry ./scripts/pod_lib_lint.rb FirebaseCoreDiagnostics.podspec --platforms=macos --use-modular-headers
- - stage: test
- osx_image: xcode10.3
- env:
- - PROJECT=ABTesting METHOD=pod-lib-lint
- script:
- - travis_retry ./scripts/if_changed.sh ./scripts/pod_lib_lint.rb FirebaseABTesting.podspec --platforms=ios
- - stage: test
- osx_image: xcode10.3
- env:
- - PROJECT=Auth PLATFORM=iOS METHOD=xcodebuild
- script:
- - travis_retry ./scripts/if_changed.sh ./scripts/pod_lib_lint.rb FirebaseAuth.podspec --platforms=ios
- - stage: test
- osx_image: xcode10.3
- env:
- - PROJECT=InstanceID METHOD=pod-lib-lint
- script:
- - travis_retry ./scripts/if_changed.sh ./scripts/pod_lib_lint.rb FirebaseInstanceID.podspec --platforms=ios
- - stage: test
- osx_image: xcode10.3
- env:
- - PROJECT=Database PLATFORM=all METHOD=xcodebuild
- script:
- - travis_retry ./scripts/if_changed.sh ./scripts/pod_lib_lint.rb FirebaseDatabase.podspec --skip-tests --platforms=ios
- - stage: test
- osx_image: xcode10.3
- env:
- - PROJECT=DynamicLinks METHOD=pod-lib-lint
- script:
- - travis_retry ./scripts/if_changed.sh ./scripts/pod_lib_lint.rb FirebaseDynamicLinks.podspec
- - stage: test
- osx_image: xcode10.3
- env:
- - PROJECT=Messaging METHOD=pod-lib-lint
- script:
- - travis_retry ./scripts/if_changed.sh ./scripts/pod_lib_lint.rb FirebaseMessaging.podspec --platforms=ios
- - stage: test
- osx_image: xcode10.3
- env:
- - PROJECT=RemoteConfig METHOD=pod-lib-lint
- script:
- - travis_retry ./scripts/if_changed.sh ./scripts/pod_lib_lint.rb FirebaseRemoteConfig.podspec --platforms=ios --skip-tests
- - stage: test
- osx_image: xcode10.3
- env:
- - PROJECT=Storage PLATFORM=all METHOD=xcodebuild
- script:
- - travis_retry ./scripts/if_changed.sh ./scripts/pod_lib_lint.rb FirebaseStorage.podspec --skip-tests --platforms=ios
- - stage: test
- env:
- - PROJECT=Functions METHOD=pod-lib-lint
- before_install:
- - ./scripts/if_changed.sh ./scripts/install_prereqs.sh # Start integration test server
- script:
- - travis_retry ./scripts/if_changed.sh ./scripts/pod_lib_lint.rb FirebaseFunctions.podspec
- - travis_retry ./scripts/if_changed.sh ./scripts/pod_lib_lint.rb FirebaseFunctions.podspec --use-libraries
- - travis_retry ./scripts/if_changed.sh ./scripts/pod_lib_lint.rb FirebaseFunctions.podspec --use-modular-headers
- - stage: test
- osx_image: xcode10.3
- env:
- - PROJECT=Functions METHOD=pod-lib-lint
- before_install:
- - ./scripts/if_changed.sh ./scripts/install_prereqs.sh # Start integration test server
- script:
- - travis_retry ./scripts/if_changed.sh ./scripts/pod_lib_lint.rb FirebaseFunctions.podspec
- - stage: test
- osx_image: xcode10.3
- env:
- - PROJECT=Crashlytics METHOD=pod-lib-lint
- script:
- - travis_retry ./scripts/if_changed.sh ./scripts/pod_lib_lint.rb FirebaseCrashlytics.podspec --platforms=ios
- - stage: test
- env:
- - PROJECT=InAppMessaging PLATFORM=iOS METHOD=xcodebuild
- before_install:
- - ./scripts/if_changed.sh ./scripts/install_prereqs.sh
- script:
- - travis_retry ./scripts/if_changed.sh ./scripts/build.sh $PROJECT $PLATFORM
- - stage: test
- osx_image: xcode10.3
- env:
- - PROJECT=InAppMessaging PLATFORM=iOS METHOD=xcodebuild
- before_install:
- - ./scripts/if_changed.sh ./scripts/install_prereqs.sh
- script:
- - travis_retry ./scripts/if_changed.sh ./scripts/build.sh $PROJECT $PLATFORM
- - stage: test
- if: type = cron
- env:
- - PROJECT=InAppMessaging PLATFORM=iPad METHOD=xcodebuild
- before_install:
- - ./scripts/if_changed.sh ./scripts/install_prereqs.sh
- script:
- - travis_retry ./scripts/if_changed.sh ./scripts/build.sh $PROJECT $PLATFORM
- - stage: test
- osx_image: xcode10.3
- env:
- - PROJECT=Firestore PLATFORM=iOS METHOD=xcodebuild
- before_install:
- - ./scripts/if_changed.sh ./scripts/install_prereqs.sh
- script:
- - travis_retry ./scripts/if_changed.sh ./scripts/build.sh $PROJECT $PLATFORM $METHOD
- - stage: test
- env:
- - PROJECT=GoogleUtilities METHOD=pod-lib-lint
- script:
- - travis_retry ./scripts/if_changed.sh ./scripts/pod_lib_lint.rb GoogleUtilities.podspec
- - stage: test
- osx_image: xcode10.3
- env:
- - PROJECT=GoogleUtilities METHOD=pod-lib-lint
- script:
- - travis_retry ./scripts/if_changed.sh ./scripts/pod_lib_lint.rb GoogleUtilities.podspec --platforms=ios
- - travis_retry ./scripts/if_changed.sh ./scripts/pod_lib_lint.rb GoogleUtilities.podspec --platforms=tvos
- - travis_retry ./scripts/if_changed.sh ./scripts/pod_lib_lint.rb GoogleUtilities.podspec --platforms=macos
- - stage: test
- if: type = cron
- env:
- - PROJECT=GoogleUtilitiesCron METHOD=pod-lib-lint
- script:
- - travis_retry ./scripts/pod_lib_lint.rb GoogleUtilities.podspec --use-libraries --platforms=ios
- - travis_retry ./scripts/pod_lib_lint.rb GoogleUtilities.podspec --use-libraries --platforms=tvos
- - travis_retry ./scripts/pod_lib_lint.rb GoogleUtilities.podspec --use-libraries --platforms=macos
- - travis_retry ./scripts/pod_lib_lint.rb GoogleUtilities.podspec --use-modular-headers --platforms=ios
- - travis_retry ./scripts/pod_lib_lint.rb GoogleUtilities.podspec --use-modular-headers --platforms=tvos
- - travis_retry ./scripts/pod_lib_lint.rb GoogleUtilities.podspec --use-modular-headers --platforms=macos
- - stage: test
- env:
- - PROJECT=GoogleUtilitiesComponents METHOD=pod-lib-lint
- script:
- - travis_retry ./scripts/if_changed.sh ./scripts/pod_lib_lint.rb GoogleUtilitiesComponents.podspec
- - stage: test
- osx_image: xcode10.3
- env:
- - PROJECT=GoogleUtilitiesComponents METHOD=pod-lib-lint
- script:
- - travis_retry ./scripts/if_changed.sh ./scripts/pod_lib_lint.rb GoogleUtilitiesComponents.podspec
- - stage: test
- if: type = cron
- env:
- - PROJECT=GoogleUtilitiesComponentsCron METHOD=pod-lib-lint
- script:
- - travis_retry ./scripts/pod_lib_lint.rb GoogleUtilitiesComponents.podspec --use-libraries
- - travis_retry ./scripts/pod_lib_lint.rb GoogleUtilitiesComponents.podspec --use-modular-headers
- - stage: test
- env:
- - PROJECT=Firebase METHOD=pod-lib-lint
- script:
- - travis_retry ./scripts/if_changed.sh ./scripts/pod_lib_lint.rb FirebaseInAppMessaging.podspec
- # pod lib lint to check build and warnings for static library build - only on cron jobs
- - stage: test
- if: type = cron
- env:
- - PROJECT=InAppMessagingCron METHOD=pod-lib-lint
- script:
- - travis_retry ./scripts/pod_lib_lint.rb FirebaseInAppMessaging.podspec --use-libraries
- - travis_retry ./scripts/pod_lib_lint.rb FirebaseInAppMessaging.podspec --use-modular-headers
- - stage: test
- osx_image: xcode10.3
- env:
- - PROJECT=GoogleDataTransport METHOD=pod-lib-lint
- script:
- - travis_retry ./scripts/if_changed.sh ./scripts/pod_lib_lint.rb GoogleDataTransport.podspec --platforms=ios
- # Validate Cocoapods configurations
- # This may take long time, so we would like to run it only once all other tests pass
- # Validate Cocoapods 1.7.0 compatibility
- - stage: test
- if: type = cron
- env:
- - POD_CONFIG_DIR=Cocoapods1_7_0_multiprojects_frameworks
- script:
- - travis_retry ./CocoapodsIntegrationTest/scripts/build_with_environment.sh --gemfile=./CocoapodsIntegrationTest/TestEnvironments/${POD_CONFIG_DIR}/Gemfile --podfile=./CocoapodsIntegrationTest/TestEnvironments/${POD_CONFIG_DIR}/Podfile
- - stage: test
- if: type = cron
- env:
- - POD_CONFIG_DIR=Cocoapods1_7_0_frameworks
- script:
- - travis_retry ./CocoapodsIntegrationTest/scripts/build_with_environment.sh --gemfile=./CocoapodsIntegrationTest/TestEnvironments/${POD_CONFIG_DIR}/Gemfile --podfile=./CocoapodsIntegrationTest/TestEnvironments/${POD_CONFIG_DIR}/Podfile
- - stage: test
- if: type = cron
- env:
- - POD_CONFIG_DIR=Cocoapods1_7_0_multiprojects_staticLibs
- script:
- - travis_retry ./CocoapodsIntegrationTest/scripts/build_with_environment.sh --gemfile=./CocoapodsIntegrationTest/TestEnvironments/${POD_CONFIG_DIR}/Gemfile --podfile=./CocoapodsIntegrationTest/TestEnvironments/${POD_CONFIG_DIR}/Podfile
- - stage: test
- if: type = cron
- env:
- - POD_CONFIG_DIR=Cocoapods1_7_0_staticLibs
- script:
- - travis_retry ./CocoapodsIntegrationTest/scripts/build_with_environment.sh --gemfile=./CocoapodsIntegrationTest/TestEnvironments/${POD_CONFIG_DIR}/Gemfile --podfile=./CocoapodsIntegrationTest/TestEnvironments/${POD_CONFIG_DIR}/Podfile
- # Validate Cocoapods 1.6.1 compatibility
- - stage: test
- if: type = cron
- env:
- - POD_CONFIG_DIR=Cocoapods1_6_1_frameworks
- script:
- - travis_retry ./CocoapodsIntegrationTest/scripts/build_with_environment.sh --gemfile=./CocoapodsIntegrationTest/TestEnvironments/${POD_CONFIG_DIR}/Gemfile --podfile=./CocoapodsIntegrationTest/TestEnvironments/${POD_CONFIG_DIR}/Podfile
- - stage: test
- if: type = cron
- env:
- - POD_CONFIG_DIR=Cocoapods1_6_1_staticLibs
- script:
- - travis_retry ./CocoapodsIntegrationTest/scripts/build_with_environment.sh --gemfile=./CocoapodsIntegrationTest/TestEnvironments/${POD_CONFIG_DIR}/Gemfile --podfile=./CocoapodsIntegrationTest/TestEnvironments/${POD_CONFIG_DIR}/Podfile
- allow_failures:
- # Run fuzz tests only on cron jobs.
- - stage: test
- if: type = cron
- env:
- - PROJECT=Firestore PLATFORM=iOS METHOD=fuzz
- before_install:
- - ./scripts/install_prereqs.sh
- script:
- # The travis_wait is necessary because fuzzing runs for 40 minutes.
- - travis_wait 45 ./scripts/fuzzing_ci.sh
- branches:
- only:
- - master
|