os: osx osx_image: xcode9.2 language: objective-c cache: - bundler - cocoapods rvm: 2.3.1 jobs: include: - stage: checks # This only needs to be run once, so restrict it to an arbitrary combination before_install: - brew install clang-format - brew install swiftformat script: - ./scripts/check_whitespace.sh - ./scripts/check_copyright.sh - ./scripts/check_no_module_imports.sh - ./scripts/style.sh test-only $TRAVIS_COMMIT_RANGE # Google C++ style compliance - ./scripts/lint.sh $TRAVIS_COMMIT_RANGE - stage: test env: - PROJECT=Firebase PLATFORM=iOS 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 - bundle install - gem install xcpretty - ./scripts/if_changed.sh bundle exec pod install --project-directory=Example --repo-update - ./scripts/if_changed.sh bundle exec pod install --project-directory=Functions/Example script: - ./scripts/if_changed.sh ./scripts/build.sh $PROJECT $PLATFORM # TODO fix os_log deprecation warning in FIRLogger to remove --allow-warnings - ./scripts/if_changed.sh bundle exec pod lib lint FirebaseCore.podspec --allow-warnings # 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: - bundle install - gem install xcpretty - ./scripts/if_changed.sh bundle exec pod install --project-directory=Firestore/Example --repo-update script: - ./scripts/if_changed.sh ./scripts/build.sh $PROJECT $PLATFORM $METHOD - stage: test env: - PROJECT=Firestore PLATFORM=macOS METHOD=cmake before_install: - bundle install - gem install xcpretty - brew install cmake - brew install go # Somehow the build for Abseil requires this. - ./scripts/if_changed.sh bundle exec pod install --project-directory=Example --repo-update - ./scripts/if_changed.sh bundle exec pod install --project-directory=Firestore/Example --no-repo-update script: - ./scripts/if_changed.sh ./scripts/build.sh $PROJECT $PLATFORM $METHOD - stage: test env: - PROJECT=Firebase PLATFORM=macOS before_install: - bundle install - gem install xcpretty - ./scripts/if_changed.sh bundle exec pod install --project-directory=Example --repo-update script: - ./scripts/if_changed.sh ./scripts/build.sh $PROJECT $PLATFORM - stage: test env: - PROJECT=Firebase PLATFORM=tvOS before_install: - bundle install - gem install xcpretty - ./scripts/if_changed.sh bundle exec pod install --project-directory=Example --repo-update script: - ./scripts/if_changed.sh ./scripts/build.sh $PROJECT $PLATFORM branches: only: - master