|
|
@@ -1,5 +1,5 @@
|
|
|
os: osx
|
|
|
-osx_image: xcode10.1
|
|
|
+osx_image: xcode10.3
|
|
|
language: objective-c
|
|
|
cache:
|
|
|
- bundler
|
|
|
@@ -23,9 +23,6 @@ jobs:
|
|
|
# The order of builds matters (even though they are run in parallel):
|
|
|
# Travis will schedule them in the same order they are listed here.
|
|
|
|
|
|
- # Primary platforms
|
|
|
-
|
|
|
- # Run unit tests
|
|
|
- stage: test
|
|
|
env:
|
|
|
- PROJECT=Firebase PLATFORM=iOS METHOD=xcodebuild
|
|
|
@@ -36,20 +33,68 @@ jobs:
|
|
|
|
|
|
- stage: test
|
|
|
env:
|
|
|
- - PROJECT=Core PLATFORM=iOS METHOD=pod-lib-lint
|
|
|
- before_install:
|
|
|
- - ./scripts/if_changed.sh ./scripts/install_prereqs.sh
|
|
|
+ - PROJECT=Core METHOD=pod-lib-lint
|
|
|
script:
|
|
|
- - travis_retry ./scripts/if_changed.sh ./scripts/pod_lib_lint.rb FirebaseCore.podspec
|
|
|
- - travis_retry ./scripts/if_changed.sh ./scripts/pod_lib_lint.rb FirebaseCore.podspec --use-libraries
|
|
|
+ - travis_retry ./scripts/if_changed.sh ./scripts/pod_lib_lint.rb FirebaseCore.podspec --platforms=ios
|
|
|
+ - travis_retry ./scripts/if_changed.sh ./scripts/pod_lib_lint.rb FirebaseCore.podspec --platforms=tvos
|
|
|
+ - travis_retry ./scripts/if_changed.sh ./scripts/pod_lib_lint.rb FirebaseCore.podspec --platforms=macos
|
|
|
|
|
|
- stage: test
|
|
|
+ if: type = cron
|
|
|
env:
|
|
|
- - PROJECT=ABTesting PLATFORM=iOS METHOD=pod-lib-lint
|
|
|
+ - PROJECT=CoreCron METHOD=pod-lib-lint
|
|
|
script:
|
|
|
- - travis_retry ./scripts/if_changed.sh ./scripts/pod_lib_lint.rb FirebaseABTesting.podspec --platforms=ios
|
|
|
- - travis_retry ./scripts/if_changed.sh ./scripts/pod_lib_lint.rb FirebaseABTesting.podspec --platforms=tvos
|
|
|
- - travis_retry ./scripts/if_changed.sh ./scripts/pod_lib_lint.rb FirebaseABTesting.podspec --platforms=macos
|
|
|
+ - travis_retry ./scripts/if_changed.sh ./scripts/pod_lib_lint.rb FirebaseCore.podspec --platforms=ios --use-libraries
|
|
|
+ - travis_retry ./scripts/if_changed.sh ./scripts/pod_lib_lint.rb FirebaseCore.podspec --platforms=tvos --use-libraries
|
|
|
+ - travis_retry ./scripts/if_changed.sh ./scripts/pod_lib_lint.rb FirebaseCore.podspec --platforms=macos --use-libraries
|
|
|
+ - travis_retry ./scripts/if_changed.sh ./scripts/pod_lib_lint.rb FirebaseCore.podspec --platforms=ios --use-modular-headers
|
|
|
+ - travis_retry ./scripts/if_changed.sh ./scripts/pod_lib_lint.rb FirebaseCore.podspec --platforms=tvos --use-modular-headers
|
|
|
+ - travis_retry ./scripts/if_changed.sh ./scripts/pod_lib_lint.rb FirebaseCore.podspec --platforms=macos --use-modular-headers
|
|
|
+
|
|
|
+ - stage: test
|
|
|
+ env:
|
|
|
+ - PROJECT=CoreDiagnostics 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
|
|
|
+ if: type = cron
|
|
|
+ env:
|
|
|
+ - PROJECT=CoreDiagnosticsCron METHOD=pod-lib-lint
|
|
|
+ script:
|
|
|
+ - travis_retry ./scripts/if_changed.sh ./scripts/pod_lib_lint.rb FirebaseCoreDiagnostics.podspec --platforms=ios --use-libraries
|
|
|
+ - travis_retry ./scripts/if_changed.sh ./scripts/pod_lib_lint.rb FirebaseCoreDiagnostics.podspec --platforms=tvos --use-libraries
|
|
|
+ - travis_retry ./scripts/if_changed.sh ./scripts/pod_lib_lint.rb FirebaseCoreDiagnostics.podspec --platforms=macos --use-libraries
|
|
|
+ - travis_retry ./scripts/if_changed.sh ./scripts/pod_lib_lint.rb FirebaseCoreDiagnostics.podspec --platforms=ios --use-modular-headers
|
|
|
+ - travis_retry ./scripts/if_changed.sh ./scripts/pod_lib_lint.rb FirebaseCoreDiagnostics.podspec --platforms=tvos --use-modular-headers
|
|
|
+ - travis_retry ./scripts/if_changed.sh ./scripts/pod_lib_lint.rb FirebaseCoreDiagnostics.podspec --platforms=macos --use-modular-headers
|
|
|
+
|
|
|
+ - stage: test
|
|
|
+ env:
|
|
|
+ - PROJECT=ABTesting METHOD=pod-lib-lint
|
|
|
+ script:
|
|
|
+ # --allow-warnings is needed until Protobuf 3.10.0 releases with fix included with
|
|
|
+ # https://github.com/protocolbuffers/protobuf/pull/6464
|
|
|
+ - travis_retry ./scripts/if_changed.sh ./scripts/pod_lib_lint.rb FirebaseABTesting.podspec --platforms=ios --allow-warnings
|
|
|
+ - travis_retry ./scripts/if_changed.sh ./scripts/pod_lib_lint.rb FirebaseABTesting.podspec --platforms=tvos --allow-warnings
|
|
|
+ - travis_retry ./scripts/if_changed.sh ./scripts/pod_lib_lint.rb FirebaseABTesting.podspec --platforms=macos --allow-warnings
|
|
|
+
|
|
|
+ - stage: test
|
|
|
+ if: type = cron
|
|
|
+ env:
|
|
|
+ - PROJECT=ABTestingCron METHOD=pod-lib-lint
|
|
|
+ script:
|
|
|
+ # --allow-warnings is needed until Protobuf 3.10.0 releases with fix included with
|
|
|
+ # https://github.com/protocolbuffers/protobuf/pull/6464
|
|
|
+ - travis_retry ./scripts/if_changed.sh ./scripts/pod_lib_lint.rb FirebaseABTesting.podspec --platforms=ios --allow-warnings --use-libraries
|
|
|
+ - travis_retry ./scripts/if_changed.sh ./scripts/pod_lib_lint.rb FirebaseABTesting.podspec --platforms=tvos --allow-warnings --use-libraries
|
|
|
+ - travis_retry ./scripts/if_changed.sh ./scripts/pod_lib_lint.rb FirebaseABTesting.podspec --platforms=macos --allow-warnings --use-libraries
|
|
|
+ - travis_retry ./scripts/if_changed.sh ./scripts/pod_lib_lint.rb FirebaseABTesting.podspec --platforms=ios --allow-warnings --use-modular-headers
|
|
|
+ # One of the next two consistently hang on Travis. Commenting for now.
|
|
|
+ # - travis_retry ./scripts/if_changed.sh ./scripts/pod_lib_lint.rb FirebaseABTesting.podspec --platforms=tvos --allow-warnings --use-modular-headers
|
|
|
+ # - travis_retry ./scripts/if_changed.sh ./scripts/pod_lib_lint.rb FirebaseABTesting.podspec --platforms=macos --allow-warnings --use-modular-headers
|
|
|
|
|
|
- stage: test
|
|
|
env:
|
|
|
@@ -63,13 +108,37 @@ jobs:
|
|
|
- travis_retry ./scripts/if_changed.sh ./scripts/build.sh $PROJECT $PLATFORM
|
|
|
|
|
|
- stage: test
|
|
|
+ if: type = cron
|
|
|
env:
|
|
|
- - PROJECT=InstanceID PLATFORM=iOS METHOD=pod-lib-lint
|
|
|
+ - PROJECT=AuthCron METHOD=pod-lib-lint
|
|
|
+ script:
|
|
|
+ - travis_retry ./scripts/if_changed.sh ./scripts/pod_lib_lint.rb FirebaseAuth.podspec --platforms=ios --use-libraries
|
|
|
+ - travis_retry ./scripts/if_changed.sh ./scripts/pod_lib_lint.rb FirebaseAuth.podspec --platforms=tvos --use-libraries
|
|
|
+ - travis_retry ./scripts/if_changed.sh ./scripts/pod_lib_lint.rb FirebaseAuth.podspec --platforms=macos --use-libraries
|
|
|
+ - travis_retry ./scripts/if_changed.sh ./scripts/pod_lib_lint.rb FirebaseAuth.podspec --platforms=ios --use-modular-headers
|
|
|
+ - travis_retry ./scripts/if_changed.sh ./scripts/pod_lib_lint.rb FirebaseAuth.podspec --platforms=tvos --use-modular-headers
|
|
|
+ - travis_retry ./scripts/if_changed.sh ./scripts/pod_lib_lint.rb FirebaseAuth.podspec --platforms=macos --use-modular-headers
|
|
|
+
|
|
|
+ - stage: test
|
|
|
+ env:
|
|
|
+ - PROJECT=InstanceID METHOD=pod-lib-lint
|
|
|
script:
|
|
|
- travis_retry ./scripts/if_changed.sh ./scripts/pod_lib_lint.rb FirebaseInstanceID.podspec --platforms=ios
|
|
|
- travis_retry ./scripts/if_changed.sh ./scripts/pod_lib_lint.rb FirebaseInstanceID.podspec --platforms=tvos
|
|
|
- travis_retry ./scripts/if_changed.sh ./scripts/pod_lib_lint.rb FirebaseInstanceID.podspec --platforms=macos
|
|
|
|
|
|
+ - stage: test
|
|
|
+ if: type = cron
|
|
|
+ env:
|
|
|
+ - PROJECT=InstanceIDCron METHOD=pod-lib-lint
|
|
|
+ script:
|
|
|
+ - travis_retry ./scripts/if_changed.sh ./scripts/pod_lib_lint.rb FirebaseInstanceID.podspec --platforms=ios --use-libraries
|
|
|
+ - travis_retry ./scripts/if_changed.sh ./scripts/pod_lib_lint.rb FirebaseInstanceID.podspec --platforms=tvos --use-libraries
|
|
|
+ - travis_retry ./scripts/if_changed.sh ./scripts/pod_lib_lint.rb FirebaseInstanceID.podspec --platforms=macos --use-libraries
|
|
|
+ - travis_retry ./scripts/if_changed.sh ./scripts/pod_lib_lint.rb FirebaseInstanceID.podspec --platforms=ios --use-modular-headers
|
|
|
+ - travis_retry ./scripts/if_changed.sh ./scripts/pod_lib_lint.rb FirebaseInstanceID.podspec --platforms=tvos --use-modular-headers
|
|
|
+ - travis_retry ./scripts/if_changed.sh ./scripts/pod_lib_lint.rb FirebaseInstanceID.podspec --platforms=macos --use-modular-headers
|
|
|
+
|
|
|
- stage: test
|
|
|
env:
|
|
|
- PROJECT=Database PLATFORM=all METHOD=xcodebuild
|
|
|
@@ -78,13 +147,25 @@ jobs:
|
|
|
script:
|
|
|
- travis_retry ./scripts/if_changed.sh ./scripts/build.sh $PROJECT $PLATFORM
|
|
|
# The pod lib lint tests are fast enough that it's not worth a separate stage.
|
|
|
- - travis_retry ./scripts/if_changed.sh ./scripts/pod_lib_lint.rb FirebaseDatabase.podspec --skip-tests
|
|
|
- - travis_retry ./scripts/if_changed.sh ./scripts/pod_lib_lint.rb FirebaseDatabase.podspec --use-libraries --skip-tests
|
|
|
- - travis_retry ./scripts/if_changed.sh ./scripts/pod_lib_lint.rb FirebaseDatabase.podspec --use-modular-headers --skip-tests
|
|
|
+ - travis_retry ./scripts/if_changed.sh ./scripts/pod_lib_lint.rb FirebaseDatabase.podspec --skip-tests --platforms=ios
|
|
|
+ - travis_retry ./scripts/if_changed.sh ./scripts/pod_lib_lint.rb FirebaseDatabase.podspec --skip-tests --platforms=tvos
|
|
|
+ - travis_retry ./scripts/if_changed.sh ./scripts/pod_lib_lint.rb FirebaseDatabase.podspec --skip-tests --platforms=macos
|
|
|
+
|
|
|
+ - stage: test
|
|
|
+ if: type = cron
|
|
|
+ env:
|
|
|
+ - PROJECT=DatabaseCron METHOD=pod-lib-lint
|
|
|
+ script:
|
|
|
+ - travis_retry ./scripts/if_changed.sh ./scripts/pod_lib_lint.rb FirebaseDatabase.podspec --use-libraries --skip-tests --platforms=ios
|
|
|
+ - travis_retry ./scripts/if_changed.sh ./scripts/pod_lib_lint.rb FirebaseDatabase.podspec --use-libraries --skip-tests --platforms=tvos
|
|
|
+ - travis_retry ./scripts/if_changed.sh ./scripts/pod_lib_lint.rb FirebaseDatabase.podspec --use-libraries --skip-tests --platforms=macos
|
|
|
+ - travis_retry ./scripts/if_changed.sh ./scripts/pod_lib_lint.rb FirebaseDatabase.podspec --use-modular-headers --skip-tests --platforms=ios
|
|
|
+ - travis_retry ./scripts/if_changed.sh ./scripts/pod_lib_lint.rb FirebaseDatabase.podspec --use-modular-headers --skip-tests --platforms=tvos
|
|
|
+ - travis_retry ./scripts/if_changed.sh ./scripts/pod_lib_lint.rb FirebaseDatabase.podspec --use-modular-headers --skip-tests --platforms=macos
|
|
|
|
|
|
- stage: test
|
|
|
env:
|
|
|
- - PROJECT=DynamicLinks PLATFORM=all METHOD=pod-lib-lint
|
|
|
+ - PROJECT=DynamicLinks METHOD=pod-lib-lint
|
|
|
script:
|
|
|
- travis_retry ./scripts/if_changed.sh ./scripts/pod_lib_lint.rb FirebaseDynamicLinks.podspec
|
|
|
- travis_retry ./scripts/if_changed.sh ./scripts/pod_lib_lint.rb FirebaseDynamicLinks.podspec --use-libraries
|
|
|
@@ -92,21 +173,52 @@ jobs:
|
|
|
|
|
|
- stage: test
|
|
|
env:
|
|
|
- - PROJECT=Messaging PLATFORM=all METHOD=xcodebuild
|
|
|
- before_install:
|
|
|
- - ./scripts/if_changed.sh ./scripts/install_prereqs.sh
|
|
|
+ - PROJECT=Messaging METHOD=pod-lib-lint
|
|
|
script:
|
|
|
- # Run both build.sh and pod lib lint tests to get multi iOS version test coverage
|
|
|
- - travis_retry ./scripts/if_changed.sh ./scripts/build.sh $PROJECT $PLATFORM
|
|
|
- - travis_retry ./scripts/if_changed.sh ./scripts/pod_lib_lint.rb FirebaseMessaging.podspec
|
|
|
+ # --allow-warnings is needed until Protobuf 3.10.0 releases with fix included with
|
|
|
+ # https://github.com/protocolbuffers/protobuf/pull/6464
|
|
|
+ - travis_retry ./scripts/if_changed.sh ./scripts/pod_lib_lint.rb FirebaseMessaging.podspec --platforms=ios --allow-warnings
|
|
|
+ - travis_retry ./scripts/if_changed.sh ./scripts/pod_lib_lint.rb FirebaseMessaging.podspec --platforms=tvos --allow-warnings
|
|
|
+ - travis_retry ./scripts/if_changed.sh ./scripts/pod_lib_lint.rb FirebaseMessaging.podspec --platforms=macos --allow-warnings
|
|
|
+
|
|
|
+ - stage: test
|
|
|
+ if: type = cron
|
|
|
+ env:
|
|
|
+ - PROJECT=MessagingCron METHOD=pod-lib-lint
|
|
|
+ script:
|
|
|
+ # --allow-warnings is needed until Protobuf 3.10.0 releases with fix included with
|
|
|
+ # https://github.com/protocolbuffers/protobuf/pull/6464
|
|
|
+ # FirebaseMessaging includes Swift unit tests so it is not testable with --use-libraries.
|
|
|
+ # TODO(paulb777): Migrate FirebaseMessaging to pod gen driven tests with a separate test
|
|
|
+ # target for Swift.
|
|
|
+ - travis_retry ./scripts/if_changed.sh ./scripts/pod_lib_lint.rb FirebaseMessaging.podspec --platforms=ios --allow-warnings --use-libraries --skip-tests
|
|
|
+ - travis_retry ./scripts/if_changed.sh ./scripts/pod_lib_lint.rb FirebaseMessaging.podspec --platforms=tvos --allow-warnings --use-libraries --skip-tests
|
|
|
+ - travis_retry ./scripts/if_changed.sh ./scripts/pod_lib_lint.rb FirebaseMessaging.podspec --platforms=macos --allow-warnings --use-libraries --skip-tests
|
|
|
+ - travis_retry ./scripts/if_changed.sh ./scripts/pod_lib_lint.rb FirebaseMessaging.podspec --platforms=ios --allow-warnings --use-modular-headers
|
|
|
+ - travis_retry ./scripts/if_changed.sh ./scripts/pod_lib_lint.rb FirebaseMessaging.podspec --platforms=tvos --allow-warnings --use-modular-headers
|
|
|
+ - travis_retry ./scripts/if_changed.sh ./scripts/pod_lib_lint.rb FirebaseMessaging.podspec --platforms=macos --allow-warnings --use-modular-headers
|
|
|
+
|
|
|
+ - stage: test
|
|
|
+ env:
|
|
|
+ - PROJECT=RemoteConfig METHOD=pod-lib-lint
|
|
|
+ script:
|
|
|
+ # --allow-warnings is needed until Protobuf 3.10.0 releases with fix included with
|
|
|
+ # https://github.com/protocolbuffers/protobuf/pull/6464
|
|
|
+ - travis_retry ./scripts/if_changed.sh ./scripts/pod_lib_lint.rb FirebaseRemoteConfig.podspec --platforms=ios --allow-warnings
|
|
|
+ - travis_retry ./scripts/if_changed.sh ./scripts/pod_lib_lint.rb FirebaseRemoteConfig.podspec --platforms=tvos --allow-warnings
|
|
|
+ - travis_retry ./scripts/if_changed.sh ./scripts/pod_lib_lint.rb FirebaseRemoteConfig.podspec --platforms=macos --allow-warnings
|
|
|
|
|
|
- stage: test
|
|
|
+ if: type = cron
|
|
|
env:
|
|
|
- - PROJECT=RemoteConfig PLATFORM=iOS METHOD=pod-lib-lint
|
|
|
+ - PROJECT=RemoteConfigCron METHOD=pod-lib-lint
|
|
|
script:
|
|
|
- - travis_retry ./scripts/if_changed.sh ./scripts/pod_lib_lint.rb FirebaseRemoteConfig.podspec --platforms=ios
|
|
|
- - travis_retry ./scripts/if_changed.sh ./scripts/pod_lib_lint.rb FirebaseRemoteConfig.podspec --platforms=tvos
|
|
|
- - travis_retry ./scripts/if_changed.sh ./scripts/pod_lib_lint.rb FirebaseRemoteConfig.podspec --platforms=macos
|
|
|
+ - travis_retry ./scripts/pod_lib_lint.rb FirebaseRemoteConfig.podspec --use-libraries --allow-warnings --platforms=ios --allow-warnings
|
|
|
+ - travis_retry ./scripts/pod_lib_lint.rb FirebaseRemoteConfig.podspec --use-libraries --allow-warnings --platforms=tvos --allow-warnings
|
|
|
+ - travis_retry ./scripts/pod_lib_lint.rb FirebaseRemoteConfig.podspec --use-libraries --allow-warnings --platforms=macos --allow-warnings
|
|
|
+ - travis_retry ./scripts/pod_lib_lint.rb FirebaseRemoteConfig.podspec --use-modular-headers --platforms=ios --allow-warnings
|
|
|
+ - travis_retry ./scripts/pod_lib_lint.rb FirebaseRemoteConfig.podspec --use-modular-headers --platforms=tvos --allow-warnings
|
|
|
+ - travis_retry ./scripts/pod_lib_lint.rb FirebaseRemoteConfig.podspec --use-modular-headers --platforms=macos --allow-warnings
|
|
|
|
|
|
- stage: test
|
|
|
env:
|
|
|
@@ -116,13 +228,25 @@ jobs:
|
|
|
script:
|
|
|
- travis_retry ./scripts/if_changed.sh ./scripts/build.sh $PROJECT $PLATFORM
|
|
|
# The pod lib lint tests are fast enough that it's not worth a separate stage.
|
|
|
- - travis_retry ./scripts/if_changed.sh ./scripts/pod_lib_lint.rb FirebaseStorage.podspec --skip-tests
|
|
|
- - travis_retry ./scripts/if_changed.sh ./scripts/pod_lib_lint.rb FirebaseStorage.podspec --use-libraries --skip-tests
|
|
|
- - travis_retry ./scripts/if_changed.sh ./scripts/pod_lib_lint.rb FirebaseStorage.podspec --use-modular-headers --skip-tests
|
|
|
+ - travis_retry ./scripts/if_changed.sh ./scripts/pod_lib_lint.rb FirebaseStorage.podspec --skip-tests --platforms=ios
|
|
|
+ - travis_retry ./scripts/if_changed.sh ./scripts/pod_lib_lint.rb FirebaseStorage.podspec --skip-tests --platforms=tvos
|
|
|
+ - travis_retry ./scripts/if_changed.sh ./scripts/pod_lib_lint.rb FirebaseStorage.podspec --skip-tests --platforms=macos
|
|
|
|
|
|
- stage: test
|
|
|
+ if: type = cron
|
|
|
env:
|
|
|
- - PROJECT=Functions PLATFORM=iOS METHOD=pod-lib-lint
|
|
|
+ - PROJECT=Storage METHOD=pod-lib-lint
|
|
|
+ script:
|
|
|
+ - travis_retry ./scripts/if_changed.sh ./scripts/pod_lib_lint.rb FirebaseStorage.podspec --use-libraries --skip-tests --platforms=ios
|
|
|
+ - travis_retry ./scripts/if_changed.sh ./scripts/pod_lib_lint.rb FirebaseStorage.podspec --use-libraries --skip-tests --platforms=tvos
|
|
|
+ - travis_retry ./scripts/if_changed.sh ./scripts/pod_lib_lint.rb FirebaseStorage.podspec --use-libraries --skip-tests --platforms=macos
|
|
|
+ - travis_retry ./scripts/if_changed.sh ./scripts/pod_lib_lint.rb FirebaseStorage.podspec --use-modular-headers --skip-tests --platforms=ios
|
|
|
+ - travis_retry ./scripts/if_changed.sh ./scripts/pod_lib_lint.rb FirebaseStorage.podspec --use-modular-headers --skip-tests --platforms=tvos
|
|
|
+ - travis_retry ./scripts/if_changed.sh ./scripts/pod_lib_lint.rb FirebaseStorage.podspec --use-modular-headers --skip-tests --platforms=macos
|
|
|
+
|
|
|
+ - stage: test
|
|
|
+ env:
|
|
|
+ - PROJECT=Functions METHOD=pod-lib-lint
|
|
|
before_install:
|
|
|
- ./scripts/if_changed.sh ./scripts/install_prereqs.sh # Start integration test server
|
|
|
script:
|
|
|
@@ -139,6 +263,9 @@ jobs:
|
|
|
- travis_retry ./scripts/if_changed.sh ./scripts/build.sh $PROJECT $PLATFORM
|
|
|
|
|
|
- stage: test
|
|
|
+ # TODO(paulb777,wilhuff) Replace with a solution that doesn't include multiple platforms in
|
|
|
+ # a single Podfile.
|
|
|
+ osx_image: xcode10.1
|
|
|
env:
|
|
|
- PROJECT=Firestore PLATFORM=iOS METHOD=xcodebuild
|
|
|
before_install:
|
|
|
@@ -148,23 +275,32 @@ jobs:
|
|
|
|
|
|
- stage: test
|
|
|
env:
|
|
|
- - PROJECT=GoogleUtilities PLATFORM=iOS METHOD=pod-lib-lint
|
|
|
+ - PROJECT=GoogleUtilities METHOD=pod-lib-lint
|
|
|
script:
|
|
|
- travis_retry ./scripts/if_changed.sh ./scripts/pod_lib_lint.rb GoogleUtilities.podspec
|
|
|
|
|
|
- # pod lib lint to check build and warnings for dynamic framework build (use_frameworks!)
|
|
|
+ - stage: test
|
|
|
+ if: type = cron
|
|
|
+ env:
|
|
|
+ - PROJECT=GoogleUtilitiesCron METHOD=pod-lib-lint
|
|
|
+ script:
|
|
|
+
|
|
|
+ - travis_retry ./scripts/pod_lib_lint.rb GoogleUtilities.podspec --use-libraries
|
|
|
+ - travis_retry ./scripts/pod_lib_lint.rb GoogleUtilities.podspec --use-modular-headers
|
|
|
+
|
|
|
- stage: test
|
|
|
env:
|
|
|
- - PROJECT=Firebase PLATFORM=iOS METHOD=pod-lib-lint
|
|
|
+ - PROJECT=Firebase METHOD=pod-lib-lint
|
|
|
script:
|
|
|
- travis_retry ./scripts/if_changed.sh ./scripts/pod_lib_lint.rb FirebaseAnalyticsInterop.podspec
|
|
|
- travis_retry ./scripts/if_changed.sh ./scripts/pod_lib_lint.rb FirebaseAuthInterop.podspec
|
|
|
+ - travis_retry ./scripts/if_changed.sh ./scripts/pod_lib_lint.rb FirebaseCoreDiagnosticsInterop.podspec
|
|
|
- travis_retry ./scripts/if_changed.sh ./scripts/pod_lib_lint.rb FirebaseInAppMessaging.podspec
|
|
|
- travis_retry ./scripts/if_changed.sh ./scripts/pod_lib_lint.rb FirebaseInAppMessagingDisplay.podspec
|
|
|
|
|
|
- stage: test
|
|
|
env:
|
|
|
- - PROJECT=Firestore PLATFORM=iOS METHOD=pod-lib-lint
|
|
|
+ - PROJECT=Firestore METHOD=pod-lib-lint
|
|
|
script:
|
|
|
# Eliminate the one warning from BoringSSL when CocoaPods 1.6.0 is available.
|
|
|
# The travis_wait is necessary because the command takes more than 10 minutes.
|
|
|
@@ -174,100 +310,61 @@ jobs:
|
|
|
- stage: test
|
|
|
if: type = cron
|
|
|
env:
|
|
|
- - PROJECT=FirebasePllCron1 PLATFORM=iOS METHOD=pod-lib-lint
|
|
|
+ - PROJECT=InAppMessagingCron METHOD=pod-lib-lint
|
|
|
script:
|
|
|
- # TODO investigate why macos tests hang for FirebaseAuth - keychain related?
|
|
|
- - travis_retry ./scripts/pod_lib_lint.rb FirebaseAuth.podspec --use-libraries --platforms=ios,tvos
|
|
|
- - travis_retry ./scripts/pod_lib_lint.rb FirebaseAuth.podspec --use-modular-headers --platforms=ios,tvos
|
|
|
- - travis_retry ./scripts/pod_lib_lint.rb FirebaseAuth.podspec --use-libraries --platforms=macos --skip-tests
|
|
|
- - travis_retry ./scripts/pod_lib_lint.rb FirebaseAuth.podspec --use-modular-headers --platforms=macos --skip-tests
|
|
|
-
|
|
|
- - travis_retry ./scripts/pod_lib_lint.rb FirebaseAnalyticsInterop.podspec --use-libraries
|
|
|
- - travis_retry ./scripts/pod_lib_lint.rb FirebaseAnalyticsInterop.podspec --use-modular-headers
|
|
|
- - travis_retry ./scripts/pod_lib_lint.rb FirebaseAuthInterop.podspec --use-libraries
|
|
|
- - travis_retry ./scripts/pod_lib_lint.rb FirebaseAuthInterop.podspec --use-modular-headers
|
|
|
- travis_retry ./scripts/pod_lib_lint.rb FirebaseInAppMessaging.podspec --use-libraries
|
|
|
- travis_retry ./scripts/pod_lib_lint.rb FirebaseInAppMessaging.podspec --use-modular-headers
|
|
|
- travis_retry ./scripts/pod_lib_lint.rb FirebaseInAppMessagingDisplay.podspec --use-libraries
|
|
|
- travis_retry ./scripts/pod_lib_lint.rb FirebaseInAppMessagingDisplay.podspec --use-modular-headers
|
|
|
|
|
|
- # Part 2: Split from previous stage to avoid overflowing 45 minute sub-job limit.
|
|
|
- - stage: test
|
|
|
- if: type = cron
|
|
|
- env:
|
|
|
- - PROJECT=FirebasePllCron2 PLATFORM=iOS METHOD=pod-lib-lint
|
|
|
- script:
|
|
|
- - travis_retry ./scripts/pod_lib_lint.rb FirebaseInstanceID.podspec --use-libraries --platforms=ios
|
|
|
- - travis_retry ./scripts/pod_lib_lint.rb FirebaseInstanceID.podspec --use-libraries --platforms=tvos
|
|
|
- - travis_retry ./scripts/pod_lib_lint.rb FirebaseInstanceID.podspec --use-libraries --platforms=macos
|
|
|
- - travis_retry ./scripts/pod_lib_lint.rb FirebaseInstanceID.podspec --use-modular-headers --platforms=ios
|
|
|
- - travis_retry ./scripts/pod_lib_lint.rb FirebaseInstanceID.podspec --use-modular-headers --platforms=tvos
|
|
|
- - travis_retry ./scripts/pod_lib_lint.rb FirebaseInstanceID.podspec --use-modular-headers --platforms=macos
|
|
|
-
|
|
|
- # Part 3: Split from previous stage to avoid overflowing 45 minute sub-job limit.
|
|
|
- stage: test
|
|
|
if: type = cron
|
|
|
env:
|
|
|
- - PROJECT=FirebasePllCron3 PLATFORM=iOS METHOD=pod-lib-lint
|
|
|
+ - PROJECT=Firestore METHOD=pod-lib-lint
|
|
|
script:
|
|
|
- # The Protobuf dependency of FirebaseMessaging has warnings with --use-libraries.
|
|
|
- # FirebaseMessaging includes Swift unit tests so it is not testable with --use-libraries.
|
|
|
- # TODO(paulb777): Migrate FirebaseMessaging to pod gen driven tests with a separate test
|
|
|
- # target for Swift.
|
|
|
- - travis_retry ./scripts/pod_lib_lint.rb FirebaseMessaging.podspec --use-libraries --allow-warnings --skip-tests
|
|
|
- - travis_retry ./scripts/pod_lib_lint.rb FirebaseMessaging.podspec --use-modular-headers
|
|
|
- - travis_retry ./scripts/pod_lib_lint.rb GoogleUtilities.podspec --use-libraries
|
|
|
- - travis_retry ./scripts/pod_lib_lint.rb GoogleUtilities.podspec --use-modular-headers
|
|
|
+ # TBD - non-portable path warnings
|
|
|
+ # The travis_wait is necessary because the command takes more than 10 minutes.
|
|
|
+ - travis_wait 45 ./scripts/pod_lib_lint.rb FirebaseFirestore.podspec --use-libraries --allow-warnings --no-subspecs
|
|
|
|
|
|
- stage: test
|
|
|
- if: type = cron
|
|
|
env:
|
|
|
- - PROJECT=FirebasePllRemoteConfigCron PLATFORM=iOS METHOD=pod-lib-lint
|
|
|
+ - PROJECT=GoogleDataTransport METHOD=pod-lib-lint
|
|
|
script:
|
|
|
- - travis_retry ./scripts/pod_lib_lint.rb FirebaseRemoteConfig.podspec --use-libraries --allow-warnings --platforms=ios
|
|
|
- - travis_retry ./scripts/pod_lib_lint.rb FirebaseRemoteConfig.podspec --use-libraries --allow-warnings --platforms=tvos
|
|
|
- - travis_retry ./scripts/pod_lib_lint.rb FirebaseRemoteConfig.podspec --use-libraries --allow-warnings --platforms=macos
|
|
|
- - travis_retry ./scripts/pod_lib_lint.rb FirebaseRemoteConfig.podspec --use-modular-headers --platforms=ios
|
|
|
- - travis_retry ./scripts/pod_lib_lint.rb FirebaseRemoteConfig.podspec --use-modular-headers --platforms=tvos
|
|
|
- - travis_retry ./scripts/pod_lib_lint.rb FirebaseRemoteConfig.podspec --use-modular-headers --platforms=macos
|
|
|
+ - travis_retry ./scripts/if_changed.sh ./scripts/pod_lib_lint.rb GoogleDataTransport.podspec --platforms=ios
|
|
|
+ - travis_retry ./scripts/if_changed.sh ./scripts/pod_lib_lint.rb GoogleDataTransport.podspec --platforms=macos
|
|
|
+ - travis_retry ./scripts/if_changed.sh ./scripts/pod_lib_lint.rb GoogleDataTransport.podspec --platforms=tvos
|
|
|
|
|
|
- stage: test
|
|
|
if: type = cron
|
|
|
env:
|
|
|
- - PROJECT=Firestore PLATFORM=iOS METHOD=pod-lib-lint
|
|
|
- script:
|
|
|
- # TBD - non-portable path warnings
|
|
|
- # The travis_wait is necessary because the command takes more than 10 minutes.
|
|
|
- - travis_wait 45 ./scripts/pod_lib_lint.rb FirebaseFirestore.podspec --use-libraries --allow-warnings --no-subspecs
|
|
|
-
|
|
|
- # GoogleDataTransport unit tests and pod linting using the default Xcode version.
|
|
|
- - stage: test
|
|
|
- env:
|
|
|
- - PROJECT=GoogleDataTransport PLATFORM=iOS METHOD=xcodebuild
|
|
|
- before_install:
|
|
|
- - ./scripts/if_changed.sh ./scripts/install_prereqs.sh
|
|
|
+ - PROJECT=GoogleDataTransportCron METHOD=pod-lib-lint
|
|
|
script:
|
|
|
- - travis_retry ./scripts/if_changed.sh ./scripts/build.sh $PROJECT $PLATFORM
|
|
|
- - travis_retry ./scripts/if_changed.sh ./scripts/pod_lib_lint.rb GoogleDataTransport.podspec
|
|
|
+ - travis_retry ./scripts/if_changed.sh ./scripts/pod_lib_lint.rb GoogleDataTransport.podspec --platforms=ios --use-libraries
|
|
|
+ - travis_retry ./scripts/if_changed.sh ./scripts/pod_lib_lint.rb GoogleDataTransport.podspec --platforms=macos --use-libraries
|
|
|
+ - travis_retry ./scripts/if_changed.sh ./scripts/pod_lib_lint.rb GoogleDataTransport.podspec --platforms=tvos --use-libraries
|
|
|
+ - travis_retry ./scripts/if_changed.sh ./scripts/pod_lib_lint.rb GoogleDataTransport.podspec --platforms=ios --use-modular-headers
|
|
|
+ - travis_retry ./scripts/if_changed.sh ./scripts/pod_lib_lint.rb GoogleDataTransport.podspec --platforms=macos --use-modular-headers
|
|
|
+ - travis_retry ./scripts/if_changed.sh ./scripts/pod_lib_lint.rb GoogleDataTransport.podspec --platforms=tvos --use-modular-headers
|
|
|
|
|
|
- # GoogleDataTransport integration tests using the default Xcode version.
|
|
|
- stage: test
|
|
|
env:
|
|
|
- - PROJECT=GoogleDataTransportIntegrationTest PLATFORM=iOS METHOD=xcodebuild
|
|
|
- before_install:
|
|
|
- - ./scripts/if_changed.sh ./scripts/install_prereqs.sh
|
|
|
+ - PROJECT=GoogleDataTransportCCTSupport METHOD=pod-lib-lint
|
|
|
script:
|
|
|
- - travis_retry ./scripts/if_changed.sh ./scripts/build.sh $PROJECT $PLATFORM
|
|
|
+ - ./scripts/if_changed.sh ./scripts/pod_lib_lint.rb GoogleDataTransportCCTSupport.podspec --platforms=ios
|
|
|
+ - ./scripts/if_changed.sh ./scripts/pod_lib_lint.rb GoogleDataTransportCCTSupport.podspec --platforms=macos
|
|
|
+ - ./scripts/if_changed.sh ./scripts/pod_lib_lint.rb GoogleDataTransportCCTSupport.podspec --platforms=tvos
|
|
|
|
|
|
- # GoogleDataTransportCCTSupport unit tests and pod linting using the default Xcode version.
|
|
|
- stage: test
|
|
|
+ if: type = cron
|
|
|
env:
|
|
|
- - PROJECT=GoogleDataTransportCCTSupport PLATFORM=iOS METHOD=xcodebuild
|
|
|
- before_install:
|
|
|
- - ./scripts/if_changed.sh ./scripts/install_prereqs.sh
|
|
|
+ - PROJECT=GoogleDataTransportCCTSupportCron METHOD=pod-lib-lint
|
|
|
script:
|
|
|
- - ./scripts/if_changed.sh ./scripts/build.sh $PROJECT $PLATFORM
|
|
|
- - ./scripts/if_changed.sh ./scripts/pod_lib_lint.rb GoogleDataTransportCCTSupport.podspec
|
|
|
+ - ./scripts/if_changed.sh ./scripts/pod_lib_lint.rb GoogleDataTransportCCTSupport.podspec --platforms=ios --use-libraries
|
|
|
+ - ./scripts/if_changed.sh ./scripts/pod_lib_lint.rb GoogleDataTransportCCTSupport.podspec --platforms=macos --use-libraries
|
|
|
+ - ./scripts/if_changed.sh ./scripts/pod_lib_lint.rb GoogleDataTransportCCTSupport.podspec --platforms=tvos --use-libraries
|
|
|
+ - ./scripts/if_changed.sh ./scripts/pod_lib_lint.rb GoogleDataTransportCCTSupport.podspec --platforms=ios --use-modular-headers
|
|
|
+ - ./scripts/if_changed.sh ./scripts/pod_lib_lint.rb GoogleDataTransportCCTSupport.podspec --platforms=macos --use-modular-headers
|
|
|
+ - ./scripts/if_changed.sh ./scripts/pod_lib_lint.rb GoogleDataTransportCCTSupport.podspec --platforms=tvos --use-modular-headers
|
|
|
|
|
|
# Daily test for symbol collisions between Firebase and CocoaPods.
|
|
|
- stage: test
|
|
|
@@ -298,25 +395,10 @@ jobs:
|
|
|
script:
|
|
|
- travis_retry ./scripts/if_changed.sh ./scripts/build.sh $PROJECT $PLATFORM $METHOD
|
|
|
|
|
|
- # Community-supported platforms
|
|
|
-
|
|
|
- - stage: test
|
|
|
- env:
|
|
|
- - PROJECT=Firebase PLATFORM=macOS 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
|
|
|
- env:
|
|
|
- - PROJECT=Firebase PLATFORM=tvOS 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
|
|
|
+ # TODO(paulb777,wilhuff) Replace with a solution that doesn't include multiple platforms in
|
|
|
+ # a single Podfile.
|
|
|
+ osx_image: xcode10.1
|
|
|
env:
|
|
|
- PROJECT=Firestore PLATFORM=macOS METHOD=xcodebuild
|
|
|
before_install:
|
|
|
@@ -325,6 +407,9 @@ jobs:
|
|
|
- travis_retry ./scripts/if_changed.sh ./scripts/build.sh $PROJECT $PLATFORM
|
|
|
|
|
|
- stage: test
|
|
|
+ # TODO(paulb777,wilhuff) Replace with a solution that doesn't include multiple platforms in
|
|
|
+ # a single Podfile.
|
|
|
+ osx_image: xcode10.1
|
|
|
env:
|
|
|
- PROJECT=Firestore PLATFORM=tvOS METHOD=xcodebuild
|
|
|
before_install:
|
|
|
@@ -334,7 +419,10 @@ jobs:
|
|
|
|
|
|
# Firestore sanitizers
|
|
|
|
|
|
- - stage: test
|
|
|
+ - stage:
|
|
|
+ # TODO(paulb777,wilhuff) Replace with a solution that doesn't include multiple platforms in
|
|
|
+ # a single Podfile.
|
|
|
+ osx_image: xcode10.1
|
|
|
env:
|
|
|
- PROJECT=Firestore PLATFORM=iOS METHOD=xcodebuild SANITIZERS=asan
|
|
|
before_install:
|
|
|
@@ -343,6 +431,9 @@ jobs:
|
|
|
- travis_retry ./scripts/if_changed.sh ./scripts/build.sh $PROJECT $PLATFORM $METHOD
|
|
|
|
|
|
- stage: test
|
|
|
+ # TODO(paulb777,wilhuff) Replace with a solution that doesn't include multiple platforms in
|
|
|
+ # a single Podfile.
|
|
|
+ osx_image: xcode10.1
|
|
|
env:
|
|
|
- PROJECT=Firestore PLATFORM=iOS METHOD=xcodebuild SANITIZERS=tsan
|
|
|
before_install:
|