Skip to content

Firestore build and testing improvements and documentation #1113

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 18 commits into from
Dec 15, 2022

Conversation

wu-hui
Copy link
Contributor

@wu-hui wu-hui commented Oct 17, 2022

No description provided.

@wu-hui wu-hui added skip-release-notes Skip release notes check tests-requested: quick Trigger a quick set of integration tests. labels Oct 18, 2022
@github-actions github-actions bot added tests: in-progress This PR's integration tests are in progress. and removed tests-requested: quick Trigger a quick set of integration tests. labels Oct 18, 2022
@github-actions
Copy link

github-actions bot commented Oct 18, 2022

❌  Integration test FAILED

Requested by @wu-hui on commit 0cac295
Last updated: Thu Dec 15 16:41 PST 2022
View integration test log & download artifacts

Failures Configs
firestore [TEST] [FLAKINESS] [Android] [1/3 os: windows] [1/2 android_device: android_target]
(1 failed tests)  SourceTest.GetCollectionWhileOfflineWithDefaultGetOptions
gma [TEST] [ERROR] [Android] [1/3 os: ubuntu] [1/2 android_device: android_target]
[TEST] [FAILURE] [Android] [1/3 os: ubuntu] [1/2 android_device: android_target]
(1 failed tests)  FirebaseGmaTest.TestRewardedAdStress

Add flaky tests to go/fpl-cpp-flake-tracker

@github-actions github-actions bot added the tests: failed This PR's integration tests failed. label Oct 18, 2022
@firebase-workflow-trigger firebase-workflow-trigger bot removed the tests: in-progress This PR's integration tests are in progress. label Oct 18, 2022
@wu-hui wu-hui added tests-requested: quick Trigger a quick set of integration tests. and removed tests: failed This PR's integration tests failed. labels Oct 18, 2022
@github-actions github-actions bot added tests: in-progress This PR's integration tests are in progress. and removed tests-requested: quick Trigger a quick set of integration tests. labels Oct 18, 2022
@wu-hui wu-hui requested a review from tom-andersen October 18, 2022 14:49
@wu-hui wu-hui changed the title Wuandy/ios improvements Firestore build and testing improvements and documentation Oct 18, 2022
@firebase-workflow-trigger firebase-workflow-trigger bot removed the tests: in-progress This PR's integration tests are in progress. label Oct 18, 2022
@wu-hui wu-hui requested a review from cherylEnkidu October 25, 2022 17:21
Copy link
Contributor

@tom-andersen tom-andersen left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This looks super helpful.

I noticed a few problems with wording and additions I would like to see.


It is easier to work this Firestore CPP SDK by keeping a high level archetecture in mind:

![architecture.png](architecture.png)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I am not sure where this diagram came from, but instinctively the arrows seem to point in the wrong direction. I looked up UML diagrams, and how IntelliJ does a Dependency Diagrams (also based on UML I think), and they all seem to point towards the root of dependency.

The first question that popped into my mind when I saw this diagram was: Why does Core SDK have knowledge of Swift? Shouldn't Swift just be an agnostic wrapper around Core SDK? Then I realized that my understanding of arrows (which is consistent with UML) is completely backwards to what the diagram uses.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Addressed. I am never a fan of UML, but I guess there is value to follow known conventions.


## IDE Integration

Open up the repo root directory from `CLion` should load all symbols for the SDK itsel should
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There are some repeated words:

should load all symbols for the SDK itsel

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fixed.

## IDE Integration

Open up the repo root directory from `CLion` should load all symbols for the SDK itsel should
load all symbols for the SDK itself. Once loaded, you can right load on
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think right load should be right click ? What option from drop down menu should I choose?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fixed.


# Android building and testing

Once Android NDK is installed and added to `local.properties`, and `google-services.json`,
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Where can I find more instruction on installing Android NDK? If I recall, there is a specific version that must be used.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

local.properties should be the same as you use for Android. Or is there anything in particular?

Copy link
Contributor Author

@wu-hui wu-hui left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@tom-andersen Please take another look.

@wu-hui wu-hui added tests-requested: quick Trigger a quick set of integration tests. and removed tests: failed This PR's integration tests failed. labels Dec 12, 2022
@github-actions github-actions bot added tests: in-progress This PR's integration tests are in progress. tests: failed This PR's integration tests failed. and removed tests-requested: quick Trigger a quick set of integration tests. labels Dec 12, 2022
@firebase-workflow-trigger firebase-workflow-trigger bot removed the tests: in-progress This PR's integration tests are in progress. label Dec 12, 2022
tom-andersen
tom-andersen previously approved these changes Dec 14, 2022
@github-actions github-actions bot dismissed tom-andersen’s stale review December 15, 2022 18:52

🍞 Dismissed stale approval on external PR.

@wu-hui wu-hui added tests-requested: quick Trigger a quick set of integration tests. and removed tests: failed This PR's integration tests failed. labels Dec 15, 2022
@github-actions github-actions bot added tests: in-progress This PR's integration tests are in progress. tests: failed This PR's integration tests failed. and removed tests-requested: quick Trigger a quick set of integration tests. labels Dec 15, 2022
@wu-hui wu-hui removed the tests: failed This PR's integration tests failed. label Dec 15, 2022
@github-actions github-actions bot added the tests: failed This PR's integration tests failed. label Dec 15, 2022
@firebase-workflow-trigger firebase-workflow-trigger bot removed the tests: in-progress This PR's integration tests are in progress. label Dec 15, 2022
@wu-hui wu-hui removed the tests: failed This PR's integration tests failed. label Dec 15, 2022
@wu-hui wu-hui merged commit 0cac295 into main Dec 15, 2022
@github-actions github-actions bot added tests: in-progress This PR's integration tests are in progress. tests: failed This PR's integration tests failed. labels Dec 15, 2022
@firebase-workflow-trigger firebase-workflow-trigger bot removed the tests: in-progress This PR's integration tests are in progress. label Dec 16, 2022
@firebase firebase locked and limited conversation to collaborators Jan 15, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
skip-release-notes Skip release notes check tests: failed This PR's integration tests failed.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants