Commit Graph
301 Commits
Author SHA1 Message Date
Paul Beusterien 629c2ae20d Fix InstanceID cron build regression (#5468) 2020-04-27 10:54:34 -07:00
Gil e3f3a78aef Remove the Firestore_SwiftTests_iOS target (#5458)
The tests in this target are already covered by
Firestore_IntegrationTests_iOS and also run on the other platforms
through the other platform variants of this target.

Also remove an explicit override of CLANG_WARN_COMMA in the
Firestore_Example_macOS target. This should have been cleaned up earlier
--no other targets have this setting.
2020-04-26 15:01:42 -07:00
Chen Liang 793d763490 create firebase messaging folder (#5445) 2020-04-23 14:43:47 -07:00
Chen Liang f60992fba0 Fix messaging GHA failure (#5430) 2020-04-21 15:44:35 -07:00
Gil 7a58eba2e5 Remove firebase/firestore from paths in Firestore/core (#5374)
* Manual Xcode project fixups

* Remove `firebase/firestore` from paths in Firestore/core

This renames all Firestore files under `Firestore/core` to remove the
interior `firebase/firestore` directory structure. This is motivated by
build failures under Windows where the filenames of intermediates were
too long.

Concretely:

  * `Firebase/core/src/firebase/firestore` becomes `Firebase/core/src`
  * `Firebase/core/test/firebase/firestore` becomes
    `Firebase/core/test/unit`

Moving the tests into a `unit` subdirectory aligns Firestore with the
directory structure in
[AddNewPod](https://github.com/firebase/firebase-ios-sdk/blob/master/AddNewPod.md),
modified for C++ (see discussion in #3224).
2020-04-20 14:57:34 -07:00
Gil 96de8fb74b Add LLDB type summaries for Firestore types (#5407)
There are some particular pain points debugging Firestore today because contents of variables are obscured due to information hiding and shared representation techniques we use. Also, we use elements of the Abseil library to supplement what's available in the C++11 standard library.

Taken together, these make our default experience in LLDB and the Xcode debugger quite painful: getting the path of a document currently takes 5 clicks. This change pulls the document path into the summary line, making it available with no clicks.

This change adds type summaries for

  * DocumentKey and ResourcePath
  * DocumentReference and FIRDocumentReference
  * DocumentSnapshot and FIRDocumentSnapshot
  * absl::optional
  * DatabaseId
2020-04-20 09:55:17 -07:00
Chen Liang 447e544264 add a token refresh integration test in messaging (#5358) 2020-04-15 11:39:34 -07:00
Gil c873af8038 Shorten CMake test targets/begin firebase_core consolidation (#5321)
* Add new, simpler CMake helper functions

... making them more like built-in functions. This makes it possible to
combine other CMake functions in ways that weren't possible with the
original all-in-one approach.

This includes:
  * firebase_ios_add_executable
  * firebase_ios_add_test
  * firebase_ios_add_library

All of which can be combined with target_link_libraries, etc.

* Shorten CMake test targets, e.g. firebase_firestore_util_test => firestore_util_test

* Remove CMake file inclusion check

Now that we're committed to using globs for finding sources, this check
is incompatible and no longer useful.
2020-04-15 11:02:56 -07:00
Chen Liang ed52d0d8f6 Add a new firebase messaging test app using swiftui (#5301) 2020-04-08 20:12:26 -07:00
Paul Beusterien df75e500b0 Migrate Auth to canonical directory structure (#5318) 2020-04-08 17:52:56 -07:00
Paul Beusterien 5820aa9563 Migrate Auth CI from travis to GHA (#5308) 2020-04-08 11:12:46 -07:00
Paul Beusterien b90ddf1339 Limit Swift line lengths to 100 (#5315) 2020-04-08 10:48:24 -07:00
Gil ecfe3ee8de Python 3 compatibility fixes (#5285) 2020-04-03 16:13:55 -07:00
Paul BeusterienandMarek Gilbert 4ea4340285 Upgrade clang-format (#5265)
Co-authored-by: Marek Gilbert <mcg@google.com>
2020-04-03 11:38:31 -07:00
Paul Beusterien 7593515f9e FirebasePod, SymbolCollision and Interop tests to GHA (#5273) 2020-04-03 10:36:24 -07:00
Paul Beusterien 69f9a45de6 Update swiftformat to 0.44.6 (#5263) 2020-04-02 08:40:25 -07:00
Paul Beusterien e7e4414e12 Add FirebaseStorageSwift to GHA CI (#5252) 2020-04-01 17:19:19 -07:00
Maksym Malyhin 795a66dee8 Re-encrypt GHA secrets (#5251)
* Re-encrypt GHA secrets.

* Fix storage plist
2020-04-01 20:02:54 -04:00
Paul Beusterien 94262b37e5 Storage Integration Tests to Swift (#5197) 2020-03-27 15:51:32 -07:00
Paul Beusterien b52b609133 GHA for PRs from GitHub forks (#5180) 2020-03-24 15:43:30 -07:00
Paul Beusterien eeced5d565 Fix travis quickstart tests (#5169) 2020-03-23 17:06:45 -07:00
Paul Beusterien 611079b32c Fix GHA cron and travis unbound variable regressions (#5167) 2020-03-23 06:47:23 -07:00
Paul Beusterien f23c230a4c Test Quickstarts in GHA (#5134) 2020-03-20 16:42:14 -07:00
Chuan Ren 9a7754c59e Enable lint for Auth (#5097) 2020-03-17 10:22:29 -07:00
Paul Beusterien df21e99b7a Add Catalyst testing for GHA (#5115) 2020-03-17 07:54:34 -07:00
Paul Beusterien 73771a0570 FirebaseAuth should be in implicit pod list (#5104) 2020-03-13 13:15:33 -07:00
Sam Edson 85f9926e66 Add Crashlytics to if_changed for GoogleDataTransport changes (#5102) 2020-03-13 15:26:50 -04:00
Morgan Chen 64f8c65599 add Installations to docs script (#5035) 2020-03-06 11:39:10 -08:00
Gil fb0fc07609 Remove setting CMAKE_BUILD_TYPE in CMakeLists.txt (#5027)
This really needs to be set on the command-line if it's to be effective,
and setting it here breaks downstream projects that include
firebase-ios-sdk as a subdirectory.
2020-03-05 15:30:11 -08:00
Jason Hu 194439fdfb Integrating GoogleDataTransport in Crashlytics to Report Crashes (#4989) 2020-03-05 14:59:11 -05:00
Gil d4e86ba091 Fixes for compatibility with builds in firebase-cpp-sdk (#4984)
* Don't modify CMAKE_CXX_FLAGS

* Avoid conflict on RANDOM_FILE

* Only conditionally build tests

* Remove alias provided by the upstream build

* Set SOURCE_DIR and BINARY_DIR for each external library

* Compute repo root without git

This supports building Firestore from a source archive

* Make empty files C++

This makes it possible to compile with a single set of flags for every
cc_library.
2020-02-26 17:54:13 -08:00
Paul Beusterien 54747a092b Fix CI issues from changing interop pod version requirements (#4979) 2020-02-26 13:51:32 -08:00
Chen Liang a310248f49 Make Firebase Storage compile and work in independent watch app (#4955) 2020-02-25 14:06:40 -08:00
Paul Beusterien 0058b259b4 Remove deprecated FIAMDisplay from repo (#4899) 2020-02-13 08:59:43 -08:00
Gil fae5c43af2 Extract log output from xcodebuild runs after failures (#4867) 2020-02-12 15:42:08 -08:00
Gil 69d6ee794b Add a travis output filter (#4866)
* Use a travis-optimized output filter with xcpretty

* Capture and show raw xcodebuild log on failure
2020-02-10 10:26:39 -08:00
Chen Liang f4ae4a4416 re-enable style script for messaging (#4858) 2020-02-07 14:27:18 -08:00
Gil 9d202ae761 Drop support for building Firestore with Xcode 8 (#4842) 2020-02-06 17:37:16 -08:00
Gil 9cb98ac733 Upgrade Firestore emulator to 1.10.4 (#4845)
* Upgrade Firestore emulator to 1.10.4

The emulator now sends resume tokens, which exercises more of the
system. In particular, this means that resuming queries now uses the
index-free query engine.

* Ensure CI runs on script changes
2020-02-06 17:30:20 -08:00
Paul Beusterien dc85cd9339 Update secrets for QuickStart test fix (#4815) 2020-02-04 15:20:13 -08:00
Gil 2652abf99d Add a GitHub Actions workflow for Firestore (#4752)
* Extract setup steps for check.sh into setup_check.sh

* Use checkout v2 which is much faster

However, this doesn't guarantee the master branch exists when running
checks so add that to setup_check.sh.

* Initial Firestore GitHub Actions workflow

* Also run on Linux

* Cache .ccache between runs

* Add sanitizers and xcodebuild
2020-02-01 11:10:58 -08:00
dmandar f5062d861c FDL source, unit tests and app now live in FirebaseDynamicLinks folder. (#4767)
* Move FDL sources to new location.

* Add FDL unit tests.

* Move test app.

* Fix source path.

* Move unit tests path.

* Rename source to sources.

* Change relative path.

* Update podspec.

* Fix header search path.

* Fix relative path for scripts.

* Fix tests.
2020-01-30 11:44:31 -08:00
Gil 36c29e4451 Prepare build scripts for building Firestore on GitHub Actions (#4764)
* Make build.sh cases match script argument order

* Allow install_rereqs to take command-line arguments

* Group Firestore rules together

* Make build.sh work on Linux too

* Invoke setup_bundler.sh from install_prereqs.sh

Also fix typos in setup_bundler.sh

* Get install_prereqs.sh to run on Linux

* Fix Xcode 8 version checks in install_prereqs.sh

* Ensure that PLATFORM is in the environment.
2020-01-29 15:34:58 -08:00
Ryan Wilson be43c7c826 Create ZipBuilder CI to compile tooling (#4760)
* Create ZipBuilder CI to compile tooling

This doesn't test, but does ensure that the zip tooling actually builds.

* Style.sh

* Combine zip build and packaging.

Also upload artifacts upon successful zip completion.

* Pass in folder name to build script.

* Fix argument parsing.

* Add -x to script invocation for logging.

* Debugging script building.

* More script debugging.

* Cleanup, actually try the build.

* Temp testing for faster GA iteration.

* Revert temp testing, fix double zip naming.

* Only run package on cron jobs.
2020-01-29 16:15:42 -05:00
Morgan Chen e4eee7691e Update paths in release notes script (#4749) 2020-01-24 16:29:23 -08:00
Paul Beusterien dcf876d6a0 Delete duplicate function (#4744) 2020-01-24 11:01:29 -08:00
Gil bbc8de404c Add a benchmark for query execution (#4731)
* Use a valid project id

This avoids tripping up over newly added validation in the emulator

* Allow passing arguments to the emulator

e.g. to pass a non-default host

* Add a benchmark for reading documents

Baseline results:

Run on (12 X 2900 MHz CPU s)
CPU Caches:
  L1 Data 32K (x6)
  L1 Instruction 32K (x6)
  L2 Unified 262K (x6)
  L3 Unified 12582K (x1)
Load Average: 2.11, 1.96, 1.92
---------------------------------------------------------------------
Benchmark                           Time             CPU   Iterations
---------------------------------------------------------------------
BM_QueryMatching/0/1           168359 ns        13750 ns        53878
BM_QueryMatching/1/1           179118 ns        16706 ns        40193
BM_QueryMatching/1/10          721218 ns        35729 ns        10000
BM_QueryMatching/10/10         726533 ns        51864 ns        13587
BM_QueryMatching/1/100        5326040 ns        42820 ns         1000
BM_QueryMatching/100/100      5734101 ns       335289 ns         1000
BM_QueryMatching/1/1000      54110241 ns        41310 ns          100
BM_QueryMatching/10/1000     54584725 ns        95060 ns          100
BM_QueryMatching/100/1000    55083753 ns       527750 ns          100
BM_QueryMatching/1000/1000   58299823 ns        29130 ns          100
BM_QueryAll/1                  108892 ns        13355 ns        51197
BM_QueryAll/10                 657727 ns        43867 ns        10000
BM_QueryAll/100               5786091 ns       328244 ns         1000
BM_QueryAll/1000             60092767 ns        19380 ns          100

* Add a dedicated XCTest/Google Benchmark adapter

Remove FSTLevelDBBenchmarkTests. This benchmark appears to explore some
trade-off in document-size vs indexing but doesn't seem useful to
re-run.
2020-01-24 09:09:43 -08:00
Paul Beusterien 80d8bc0f0e GHA cron updates (#4738) 2020-01-24 08:01:15 -08:00
Paul Beusterien 6407cb03e0 Use GitHub Actions Secrets to run FirebaseStorage CI (#4726) 2020-01-22 17:57:00 -08:00
christibbs 48aa5ed5ee FIAM Consolidation (#4705)
* Move display SDK source and resources into FIAM SDK

* Change files prefixed with FID to be prefixed FIRIAM

* Restructure example apps in firebase-ios-sdk directory

* Fix directory structure for FIAM

* Move proto files into base directory

* Fix up proto files

* Move unit test files to Firebase/InAppMessaging/Tests

* Move FIRIAMSDKModeManagerTests and require app host in podspec

* Move sample apps to tests folder

* Add empty repo for FIAMDisplay that generates a warning

* Fix up functional tests app

* Fix up default UI test app

* Re-generate protos

* Add warning to remove display pod

* Remove display podspec from .travis.yml

* Remove trailing whitespace

* Fix import in test app

* Add changes to point to the default test app

* Wrap iOS version conditionals

* Add line in podspec about deprecation

* Delete whitespace in podspec

* Delete pods section in project file

* Update changelog with consolidation info

* Fix indentation in podspecs

* Fix some import issues

* Fix indent on FirebaseInAppMessaging.podspec

* Delete FirebaseInAppMessagingDisplay, update podfile for external test app

* Update podfiles, bump iOS min version to 9, remove iOS 9 checks in FIRIAMActionUrlFollowerTests

*  Add line in CHANGELOG referencing deletion of display sdk pod

* Remove unused podfile

* Update min version on Podfiles to iOS 9

* Add back FirebaseInAppMessagingDisplay.h

* Add iOS support message to CHANGELOG.md

* Wrap necessary deprecated iOS 9 call
2020-01-22 10:57:00 -05:00