Skip to content
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

Wrap the realtime RC test in flaky-block to automatically retry. #1406

Merged
merged 5 commits into from
Jul 31, 2023

Conversation

AlmostMatt
Copy link
Contributor

@AlmostMatt AlmostMatt commented Jul 27, 2023

Description

Flaky block will automatically retry the whole test.
Since the test only occasionally times out, this retry is likely to succeed.

Testing

Ran integration test on github runner several times
https://github.com/firebase/firebase-cpp-sdk/actions/runs/5683195628
https://github.com/firebase/firebase-cpp-sdk/actions/runs/5684526029
https://github.com/firebase/firebase-cpp-sdk/actions/runs/5684529810
https://github.com/firebase/firebase-cpp-sdk/actions/runs/5684532551


Type of Change

Place an x the applicable box:

  • Bug fix. Add the issue # below if applicable.
  • New feature. A non-breaking change which adds functionality.
  • Other, such as a build process or documentation change.

Notes

  • Bug fixes and feature changes require an update to the Release Notes section of release_build_files/readme.md.
  • Read the contribution guidelines CONTRIBUTING.md.
  • Changes to the public API require an internal API review. If you'd like to help us make Firebase APIs better, please propose your change in a feature request so that we can discuss it together.

@AlmostMatt AlmostMatt added the tests-requested: quick Trigger a quick set of integration tests. label Jul 27, 2023
@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 Jul 27, 2023
@github-actions
Copy link

github-actions bot commented Jul 27, 2023

✅  Integration test succeeded!

Requested by @AlmostMatt on commit 27a10bc
Last updated: Mon Jul 31 10:46 PDT 2023
View integration test log & download artifacts

@github-actions github-actions bot added the tests: succeeded This PR's integration tests succeeded. label Jul 27, 2023
@firebase-workflow-trigger firebase-workflow-trigger bot removed the tests: in-progress This PR's integration tests are in progress. label Jul 27, 2023
@AlmostMatt AlmostMatt requested a review from jonsimantov July 27, 2023 20:31
Copy link
Contributor

@jonsimantov jonsimantov left a comment

Choose a reason for hiding this comment

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

Looks good, just a few nits. Also, if there is a smaller range of the test that can be surrounded by the flaky test macros, could you narrow the flaky section? (If not, it's fine.)

@@ -302,6 +303,7 @@ TEST_F(FirebaseRemoteConfigTest, TestAddOnConfigUpdateListener) {
firebase::remote_config::RemoteConfigError) {});
#else
auto config_update_promise = std::make_shared<std::promise<void> >();
auto config_update_future = config_update_promise->get_future();
Copy link
Contributor

Choose a reason for hiding this comment

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

Is all this promise stuff just used for the delay?

Copy link
Contributor Author

@AlmostMatt AlmostMatt Jul 28, 2023

Choose a reason for hiding this comment

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

Yea the promise+future is used just to verify that the callback is called.
The promise is used to set a value, and the corresponding future is used to read the value once it has been set. This change to the order of the lines is not functional, just defining the two variables together.

@AlmostMatt AlmostMatt enabled auto-merge (squash) July 31, 2023 15:45
@AlmostMatt AlmostMatt added the skip-release-notes Skip release notes check label Jul 31, 2023
@AlmostMatt AlmostMatt merged commit 27a10bc into main Jul 31, 2023
@github-actions github-actions bot added tests: in-progress This PR's integration tests are in progress. tests: succeeded This PR's integration tests succeeded. and removed tests: succeeded This PR's integration tests succeeded. labels Jul 31, 2023
@firebase-workflow-trigger firebase-workflow-trigger bot removed the tests: in-progress This PR's integration tests are in progress. label Jul 31, 2023
jonsimantov added a commit that referenced this pull request Jul 31, 2023
…1407)

* iOS: Remove Analytics dependency from GMA integration test (#1386)

* Try using CoreOnly instead of Analytics cocoapod for tests.

* Update readme.

* Add stub workflow for updating feature branches.

* Add script to merge main into all active feature branches on a regular schedule. (#1394)

* Add workflow for automatically updating feature branches weekly.

* Corrected filename, and added inputs.

* Remove trailing spaces.

* Fix workflow.

* Fix workflow name.

* Fix syntax.

* Fix syntax.

* List remote branches instead.

* Clean up script.

* Untab.

* Add branch list for debugging.

* Untab.

* Specify remote branches.

* Skip second stage if no first.

* Typo

* Error.

* List all branches.

* Fix logic.

* Fix spacing.

* Fix output

* Fix parameters.

* Fix merge to use origin.

* Remove debug echos.

* Add git config.

* Fix PR creation.

* Fix PR creation.

* Fix automatic push.

* Increase retry. (#1402)

* Add Firestore test history report (#1403)

* Add --firestore flag to report Firestore history.

* Add Firestore report to nightly cron job.

* Remove multiline commands.

* Revert "Remove multiline commands."

This reverts commit 6393ae9.

* Fix tabbing.

* Fix packaging test detection for Firestore.

* Revert "OR Query Implementation (#1335)" (#1399)

This reverts commit 11332d4.

* Wrap the real-time RemoteConfig test in flaky-block to automatically retry. (#1406)

* Only use flaky_test on android

---------

Co-authored-by: Jon Simantov <jsimantov@google.com>
Co-authored-by: Tom Andersen <tom-andersen@users.noreply.github.com>
Co-authored-by: Matthew Hyndman <almostmatt@google.com>
jonsimantov added a commit that referenced this pull request Aug 7, 2023
…1419)

* iOS: Remove Analytics dependency from GMA integration test (#1386)

* Try using CoreOnly instead of Analytics cocoapod for tests.

* Update readme.

* Add stub workflow for updating feature branches.

* Add script to merge main into all active feature branches on a regular schedule. (#1394)

* Add workflow for automatically updating feature branches weekly.

* Corrected filename, and added inputs.

* Remove trailing spaces.

* Fix workflow.

* Fix workflow name.

* Fix syntax.

* Fix syntax.

* List remote branches instead.

* Clean up script.

* Untab.

* Add branch list for debugging.

* Untab.

* Specify remote branches.

* Skip second stage if no first.

* Typo

* Error.

* List all branches.

* Fix logic.

* Fix spacing.

* Fix output

* Fix parameters.

* Fix merge to use origin.

* Remove debug echos.

* Add git config.

* Fix PR creation.

* Fix PR creation.

* Fix automatic push.

* Increase retry. (#1402)

* Add Firestore test history report (#1403)

* Add --firestore flag to report Firestore history.

* Add Firestore report to nightly cron job.

* Remove multiline commands.

* Revert "Remove multiline commands."

This reverts commit 6393ae9.

* Fix tabbing.

* Fix packaging test detection for Firestore.

* Revert "OR Query Implementation (#1335)" (#1399)

This reverts commit 11332d4.

* Wrap the real-time RemoteConfig test in flaky-block to automatically retry. (#1406)

* Only use flaky_test on android

* Update the iOS version used by FTL (#1408)

* Kick off nightly packaging an hour earlier (#1409)

* Fix crash on gma::Initialize without a Firebase App (#1320)

Initialize Util before using Util::FIndClass. Also add an integration test for initializing gma without a firebase app.

* build: pass along the CMake path (#1410)

When building the subproject, we would invoke `cmake` directly, relying on the path lookup of the tool, which may or may not match the currently executing CMake.  Use `CMAKE_COMMAND` which gives us the path to the current CMake executable ensuring that we use the same CMake for building the dependencies.

* Add log to gsutil fetch. (#1411)

* Update mobile dependencies - Thu Aug 03 2023 (#1413)

* Update mobile dependencies - Thu Aug 03 2023

### Android

- com.google.firebase.firebase_bom → 32.2.2

### iOS

- Firebase/Analytics → 10.13.0
- Firebase/AppCheck → 10.13.0
- Firebase/Auth → 10.13.0
- Firebase/Core → 10.13.0
- Firebase/CoreOnly → 10.13.0
- Firebase/Crashlytics → 10.13.0
- Firebase/Database → 10.13.0
- Firebase/DynamicLinks → 10.13.0
- Firebase/Firestore → 10.13.0
- Firebase/Functions → 10.13.0
- Firebase/Installations → 10.13.0
- Firebase/Messaging → 10.13.0
- Firebase/RemoteConfig → 10.13.0
- Firebase/Storage → 10.13.0
- Google-Mobile-Ads-SDK → 10.9.0

> Created by [Update Android and iOS dependencies workflow](https://github.com/firebase/firebase-cpp-sdk/actions/runs/5755777170).

* Ensure using a Swift bridging header that supports both arm64 and x86_64.

* Add release note about i386 no longer being supported.

* Remove armv7 as well.

---------

Co-authored-by: firebase-workflow-trigger-bot <firebase-workflow-trigger-bot@google.com>
Co-authored-by: Jon Simantov <jsimantov@google.com>
Co-authored-by: almostmatt@google.com <almostmatt@google.com>

* feat(auth): Add emulator support (#1400)

* add auth emulator support

* fix ios number parse

* update the documentation part

* reduce lint warning

* more lint warnings

* code format

* use environment to decide using emulator or not

* fix a typo

* add readme entry for FirebaseApp.GetApps()

* update for review comment

* add missing `

---------

Co-authored-by: Cynthia Jiang <cynthiajiang@google.com>

---------

Co-authored-by: Jon Simantov <jsimantov@google.com>
Co-authored-by: Tom Andersen <tom-andersen@users.noreply.github.com>
Co-authored-by: Matthew Hyndman <almostmatt@google.com>
Co-authored-by: a-maurice <amaurice@google.com>
Co-authored-by: Saleem Abdulrasool <compnerd@compnerd.org>
Co-authored-by: firebase-workflow-trigger[bot] <80733318+firebase-workflow-trigger[bot]@users.noreply.github.com>
Co-authored-by: firebase-workflow-trigger-bot <firebase-workflow-trigger-bot@google.com>
Co-authored-by: Cynthia J <cynthiajoan@users.noreply.github.com>
Co-authored-by: Cynthia Jiang <cynthiajiang@google.com>
jonsimantov added a commit that referenced this pull request Aug 15, 2023
…1425)

* iOS: Remove Analytics dependency from GMA integration test (#1386)

* Try using CoreOnly instead of Analytics cocoapod for tests.

* Update readme.

* Add stub workflow for updating feature branches.

* Add script to merge main into all active feature branches on a regular schedule. (#1394)

* Add workflow for automatically updating feature branches weekly.

* Corrected filename, and added inputs.

* Remove trailing spaces.

* Fix workflow.

* Fix workflow name.

* Fix syntax.

* Fix syntax.

* List remote branches instead.

* Clean up script.

* Untab.

* Add branch list for debugging.

* Untab.

* Specify remote branches.

* Skip second stage if no first.

* Typo

* Error.

* List all branches.

* Fix logic.

* Fix spacing.

* Fix output

* Fix parameters.

* Fix merge to use origin.

* Remove debug echos.

* Add git config.

* Fix PR creation.

* Fix PR creation.

* Fix automatic push.

* Increase retry. (#1402)

* Add Firestore test history report (#1403)

* Add --firestore flag to report Firestore history.

* Add Firestore report to nightly cron job.

* Remove multiline commands.

* Revert "Remove multiline commands."

This reverts commit 6393ae9.

* Fix tabbing.

* Fix packaging test detection for Firestore.

* Revert "OR Query Implementation (#1335)" (#1399)

This reverts commit 11332d4.

* Wrap the real-time RemoteConfig test in flaky-block to automatically retry. (#1406)

* Only use flaky_test on android

* Update the iOS version used by FTL (#1408)

* Kick off nightly packaging an hour earlier (#1409)

* Fix crash on gma::Initialize without a Firebase App (#1320)

Initialize Util before using Util::FIndClass. Also add an integration test for initializing gma without a firebase app.

* build: pass along the CMake path (#1410)

When building the subproject, we would invoke `cmake` directly, relying on the path lookup of the tool, which may or may not match the currently executing CMake.  Use `CMAKE_COMMAND` which gives us the path to the current CMake executable ensuring that we use the same CMake for building the dependencies.

* Add log to gsutil fetch. (#1411)

* Update mobile dependencies - Thu Aug 03 2023 (#1413)

* Update mobile dependencies - Thu Aug 03 2023

### Android

- com.google.firebase.firebase_bom → 32.2.2

### iOS

- Firebase/Analytics → 10.13.0
- Firebase/AppCheck → 10.13.0
- Firebase/Auth → 10.13.0
- Firebase/Core → 10.13.0
- Firebase/CoreOnly → 10.13.0
- Firebase/Crashlytics → 10.13.0
- Firebase/Database → 10.13.0
- Firebase/DynamicLinks → 10.13.0
- Firebase/Firestore → 10.13.0
- Firebase/Functions → 10.13.0
- Firebase/Installations → 10.13.0
- Firebase/Messaging → 10.13.0
- Firebase/RemoteConfig → 10.13.0
- Firebase/Storage → 10.13.0
- Google-Mobile-Ads-SDK → 10.9.0

> Created by [Update Android and iOS dependencies workflow](https://github.com/firebase/firebase-cpp-sdk/actions/runs/5755777170).

* Ensure using a Swift bridging header that supports both arm64 and x86_64.

* Add release note about i386 no longer being supported.

* Remove armv7 as well.

---------

Co-authored-by: firebase-workflow-trigger-bot <firebase-workflow-trigger-bot@google.com>
Co-authored-by: Jon Simantov <jsimantov@google.com>
Co-authored-by: almostmatt@google.com <almostmatt@google.com>

* feat(auth): Add emulator support (#1400)

* add auth emulator support

* fix ios number parse

* update the documentation part

* reduce lint warning

* more lint warnings

* code format

* use environment to decide using emulator or not

* fix a typo

* add readme entry for FirebaseApp.GetApps()

* update for review comment

* add missing `

---------

Co-authored-by: Cynthia Jiang <cynthiajiang@google.com>

* Update merge-to-main script (#1420)

* Before creating the merge-main PR, branch it off main, so merge conflicts can be addressed in the branch rather than by committing to main.

* Format.

* Update release version number for M135, 11.4.0 (#1421)

* feat(auth): enable emulator support on desktop (#1423)

* add auth emulator support

* fix ios number parse

* update the documentation part

* reduce lint warning

* more lint warnings

* code format

* use environment to decide using emulator or not

* fix a typo

* add readme entry for FirebaseApp.GetApps()

* update for review comment

* add missing `

* make json request always do restrict json

* add readme info

* prepare for review

* some minor tweak

* code format

* update review comments

* update the unit test after request json change

---------

Co-authored-by: Cynthia Jiang <cynthiajiang@google.com>

* Internal Updates. (#1422)

* Add logic to trim webp parameter from native image urls

---------

Co-authored-by: Jon Simantov <jsimantov@google.com>
Co-authored-by: Tom Andersen <tom-andersen@users.noreply.github.com>
Co-authored-by: Matthew Hyndman <almostmatt@google.com>
Co-authored-by: a-maurice <amaurice@google.com>
Co-authored-by: Saleem Abdulrasool <compnerd@compnerd.org>
Co-authored-by: firebase-workflow-trigger[bot] <80733318+firebase-workflow-trigger[bot]@users.noreply.github.com>
Co-authored-by: firebase-workflow-trigger-bot <firebase-workflow-trigger-bot@google.com>
Co-authored-by: Cynthia J <cynthiajoan@users.noreply.github.com>
Co-authored-by: Cynthia Jiang <cynthiajiang@google.com>
Co-authored-by: nakirekommula <126601200+nakirekommula@users.noreply.github.com>
@AlmostMatt AlmostMatt deleted the amatt-rc-retry branch August 15, 2023 17:51
@firebase firebase locked and limited conversation to collaborators Aug 31, 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: succeeded This PR's integration tests succeeded.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants