aboutsummaryrefslogtreecommitdiffhomepage
path: root/.travis.yml
diff options
context:
space:
mode:
Diffstat (limited to '.travis.yml')
-rw-r--r--.travis.yml82
1 files changed, 57 insertions, 25 deletions
diff --git a/.travis.yml b/.travis.yml
index fff1ec4..7cec178 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -18,6 +18,7 @@ jobs:
- ./scripts/check_whitespace.sh
- ./scripts/check_copyright.sh
- ./scripts/check_no_module_imports.sh
+ - ./scripts/check_test_inclusion.py
- ./scripts/style.sh test-only $TRAVIS_COMMIT_RANGE
# Google C++ style compliance
- ./scripts/lint.sh $TRAVIS_COMMIT_RANGE
@@ -27,37 +28,75 @@ jobs:
# Primary platforms
+ # Run unit tests
- stage: test
env:
- - PROJECT=Firebase PLATFORM=iOS
+ - PROJECT=Firebase PLATFORM=iOS METHOD=xcodebuild
before_install:
- # Add next line back with updated DeviceUDID for xcode9.1 if stability
- # issues with simulator:
- # - open -a "simulator" --args -CurrentDeviceUDID ABBD7191-486B-462F-80B4-AE08C5820DA1
+ - npm install ios-sim -g
+ - ios-sim start --devicetypeid "com.apple.CoreSimulator.SimDeviceType.iPhone-8-Plus, 11.3"
- ./scripts/if_changed.sh ./scripts/install_prereqs.sh
- - ./scripts/if_changed.sh ./scripts/pod_install.sh
script:
- ./scripts/if_changed.sh ./scripts/build.sh $PROJECT $PLATFORM
- # Disabled because of url validation failures on April 20, 2018
- #- ./scripts/if_changed.sh bundle exec pod lib lint FirebaseCore.podspec
-
- # TODO - Uncomment subsequent lines once FirebaseCore source repo is in public Specs repo
- # - bundle exec pod lib lint FirebaseAuth.podspec
- # - bundle exec pod lib lint FirebaseDatabase.podspec
- # - bundle exec pod lib lint FirebaseMessaging.podspec
- # - bundle exec pod lib lint FirebaseStorage.podspec
- # - bundle exec pod lib lint FirebaseFirestore.podspec
-
- stage: test
env:
- PROJECT=Firestore PLATFORM=iOS METHOD=xcodebuild
before_install:
- ./scripts/if_changed.sh ./scripts/install_prereqs.sh
- - ./scripts/if_changed.sh ./scripts/pod_install.sh
script:
- ./scripts/if_changed.sh ./scripts/build.sh $PROJECT $PLATFORM $METHOD
+ # TODO - add a script to make the lint checks more DRY.
+ # pod lib lint to check build and warnings for dynamic framework build (use_frameworks!)
+ - stage: test
+ env:
+ - PROJECT=Firebase PLATFORM=iOS METHOD=pod-lib-lint
+ before_install:
+ - ./scripts/if_changed.sh ./scripts/install_prereqs.sh
+ script:
+ - ./scripts/if_changed.sh bundle exec pod lib lint FirebaseCore.podspec
+ - ./scripts/if_changed.sh bundle exec pod lib lint FirebaseAuth.podspec
+ - ./scripts/if_changed.sh bundle exec pod lib lint FirebaseDatabase.podspec
+# - ./scripts/if_changed.sh bundle exec pod lib lint FirebaseMessaging.podspec
+ - ./scripts/if_changed.sh bundle exec pod lib lint FirebaseStorage.podspec
+ - ./scripts/if_changed.sh bundle exec pod lib lint FirebaseFunctions.podspec
+
+ - stage: test
+ env:
+ - PROJECT=Firestore PLATFORM=iOS METHOD=pod-lib-lint
+ before_install:
+ - ./scripts/if_changed.sh ./scripts/install_prereqs.sh
+ 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.
+ - travis_wait ./scripts/if_changed.sh bundle exec pod lib lint FirebaseFirestore.podspec --allow-warnings --no-subspecs
+
+ # pod lib lint to check build and warnings for static library build - only on cron jobs
+ - stage: test
+ env:
+ - PROJECT=Firebase PLATFORM=iOS METHOD=pod-lib-lint
+ before_install:
+ - ./scripts/if_cron.sh ./scripts/install_prereqs.sh
+ script:
+ - ./scripts/if_cron.sh bundle exec pod lib lint FirebaseCore.podspec --use-libraries
+ - ./scripts/if_cron.sh bundle exec pod lib lint FirebaseAuth.podspec --use-libraries
+ - ./scripts/if_cron.sh bundle exec pod lib lint FirebaseDatabase.podspec --use-libraries
+ # The Protobuf dependency of FirebaseMessaging has warnings with --use-libraries
+# - ./scripts/if_cron.sh bundle exec pod lib lint FirebaseMessaging.podspec --use-libraries --allow-warnings
+ - ./scripts/if_cron.sh bundle exec pod lib lint FirebaseStorage.podspec --use-libraries
+ - ./scripts/if_cron.sh bundle exec pod lib lint FirebaseFunctions.podspec --use-libraries
+
+ - stage: test
+ env:
+ - PROJECT=Firestore PLATFORM=iOS METHOD=pod-lib-lint
+ before_install:
+ - ./scripts/if_cron.sh ./scripts/install_prereqs.sh
+ script:
+ # TBD - non-portable path warnings
+ # The travis_wait is necessary because the command takes more than 10 minutes.
+ - travis_wait ./scripts/if_cron.sh bundle exec pod lib lint FirebaseFirestore.podspec --use-libraries --allow-warnings --no-subspecs
+
# Alternative platforms
- stage: test
@@ -65,7 +104,6 @@ jobs:
- PROJECT=Firestore PLATFORM=macOS METHOD=cmake
before_install:
- ./scripts/if_changed.sh ./scripts/install_prereqs.sh
- - ./scripts/if_changed.sh ./scripts/pod_install.sh
script:
- ./scripts/if_changed.sh ./scripts/build.sh $PROJECT $PLATFORM $METHOD
@@ -73,19 +111,17 @@ jobs:
- stage: test
env:
- - PROJECT=Firebase PLATFORM=macOS
+ - PROJECT=Firebase PLATFORM=macOS METHOD=xcodebuild
before_install:
- ./scripts/if_changed.sh ./scripts/install_prereqs.sh
- - ./scripts/if_changed.sh ./scripts/pod_install.sh
script:
- ./scripts/if_changed.sh ./scripts/build.sh $PROJECT $PLATFORM
- stage: test
env:
- - PROJECT=Firebase PLATFORM=tvOS
+ - PROJECT=Firebase PLATFORM=tvOS METHOD=xcodebuild
before_install:
- ./scripts/if_changed.sh ./scripts/install_prereqs.sh
- - ./scripts/if_changed.sh ./scripts/pod_install.sh
script:
- ./scripts/if_changed.sh ./scripts/build.sh $PROJECT $PLATFORM
@@ -96,7 +132,6 @@ jobs:
- PROJECT=Firestore PLATFORM=iOS METHOD=xcodebuild SANITIZERS=asan
before_install:
- ./scripts/if_changed.sh ./scripts/install_prereqs.sh
- - ./scripts/if_changed.sh ./scripts/pod_install.sh
script:
- ./scripts/if_changed.sh ./scripts/build.sh $PROJECT $PLATFORM $METHOD
@@ -105,7 +140,6 @@ jobs:
- PROJECT=Firestore PLATFORM=iOS METHOD=xcodebuild SANITIZERS=tsan
before_install:
- ./scripts/if_changed.sh ./scripts/install_prereqs.sh
- - ./scripts/if_changed.sh ./scripts/pod_install.sh
script:
- ./scripts/if_changed.sh ./scripts/build.sh $PROJECT $PLATFORM $METHOD
@@ -118,7 +152,6 @@ jobs:
- PROJECT=Firestore PLATFORM=macOS METHOD=cmake SANITIZERS=asan
before_install:
- ./scripts/if_changed.sh ./scripts/install_prereqs.sh
- - ./scripts/if_changed.sh ./scripts/pod_install.sh
script:
- ./scripts/if_changed.sh ./scripts/build.sh $PROJECT $PLATFORM $METHOD
@@ -127,7 +160,6 @@ jobs:
- PROJECT=Firestore PLATFORM=macOS METHOD=cmake SANITIZERS=tsan
before_install:
- ./scripts/if_changed.sh ./scripts/install_prereqs.sh
- - ./scripts/if_changed.sh ./scripts/pod_install.sh
script:
- ./scripts/if_changed.sh ./scripts/build.sh $PROJECT $PLATFORM $METHOD