diff options
Diffstat (limited to '.travis.yml')
-rw-r--r-- | .travis.yml | 82 |
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 |