test: mitigate functions timeout, storage seed, and FIS e2e flakes#9078
Conversation
Summary of ChangesHello, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed! This pull request addresses recurring end-to-end test flakes in the shared react-native-firebase-testing project. By introducing robust retry mechanisms, adjusting timeouts, and adding observability for cloud API pressure, the changes aim to stabilize the CI pipeline across iOS, Android, and macOS platforms. Highlights
Ignored Files
Using Gemini Code AssistThe full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips. Invoking Gemini You can request assistance from Gemini at any point by creating a comment using either
Customization To customize the Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a Limitations & Feedback Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counterproductive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for GitHub and other Google products, sign up here. Footnotes
|
There was a problem hiding this comment.
Code Review
This pull request introduces mitigations and observability for live Firebase cloud API quota pressure in CI workflows, including a cooldown retry mechanism for quota failures, skipping namespaced v8 compatibility tests to reduce load, extending functions emulator timeouts, and adding exponential backoff to storage seeding. It also updates documentation regarding host-clear probes and pre-flight recovery. Feedback on the changes suggests referencing global.FirebaseHelpers directly instead of this in the new global helper methods to prevent potential context loss if they are destructured.
Important
The consumer version of Gemini Code Assist on GitHub is being sunset. Starting June 18, 2026, new organization installations will be blocked, and all code review activity will officially cease on July 17, 2026.
For more details on the timeline and next steps, please review the Help Documentation.
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #9078 +/- ##
==========================================
- Coverage 68.46% 64.53% -3.93%
==========================================
Files 301 364 +63
Lines 15878 25489 +9611
Branches 3363 4272 +909
==========================================
+ Hits 10870 16447 +5577
- Misses 4850 8513 +3663
- Partials 158 529 +371
Flags with carried forward coverage won't be shown. Click here to find out more. 🚀 New features to boost your workflow:
|
98413ee to
65d82bc
Compare
65d82bc to
ced081f
Compare
ced081f to
2da4309
Compare
Description
Reduces recurring e2e flakes on the shared
react-native-firebase-testingproject:functions.e2e.jsand 120stimeoutSecondson workflow test callables (complements the merged macOS/webhttpsCallableunit fix).xdescribeduplicate namespaced suites in installations and remote-config; cloud-pressure metrics via deployede2eCloudMetricsV2/e2eCloudMetricsSummaryV2(Cloud Logging, not the Functions emulator);cloud-pressure-analysislog pointer on quota failure instead of dumping 24h summaries inline.server.run()untillaunchAppsucceeds; host control HTTP on 8091 (8090 stays WebSocket-only).orchestrate-statelogging and enricheddisconnect_contextfor CI triage.wait-for-load-settle.shimmediately before Detox (threshold 20, 1200s max wait).sim-app.logstream (testing+ SpringBoard/invertase); host + sim video only whenworkflow_dispatch/workflow_callinputrecord_screens: true(default false).simulator-logging.sh; boot-simulatorlogs/fullmodes;flake-summary+resource-monitororchestrate-state and log-stream sentinels.FabricTimersIdlingResourcepatch for New Architecture stability; delete processed.ecafter Jacoco export (parity with iOS profraw).sim-app.log, load settle,record_screens).Related issues
CI e2e flake triage on shared testing project (Installations 503 / “Too many server requests”, storage seed failures, functions emulator
DEADLINE_EXCEEDED/ network flakes, Jet/Detox orchestration races and macOS runner load on iOS CI).Release Summary
No user-facing library changes.
Checklist
AndroidiOSOther(macOS, web)e2etests added or updated inpackages/**/e2ejesttests added or updated inpackages/**/__tests__Test Plan
app+installationsharness): 49 passing, 3 pending (xdescribev8).github/workflows/scripts/deploy-e2e-cloud-functions.sh; verifiede2eCloudMetricsSummaryV2returns structuredbyCategory(notunknown)launch-ready→ tests-run-permitted) and Jet control on 8091