fix(test): suppress InteractionManager deprecation warning in CI logs#3816
Merged
Conversation
Every suite that renders a navigator (or touches InteractionManager) re-triggers React Native's "InteractionManager has been deprecated" warnOnce per test file, flooding Concourse/CI logs with repeated warning + stack-trace noise. Add a jest.setup.js that filters only this warning from console.warn, gated on CI=true so the deprecation stays visible in local dev runs. GitHub Actions sets CI=true automatically; the Concourse test-unit task does not expose build metadata env vars to tasks, so set "CI: true" explicitly via task params, matching the existing build task convention in ci/pipeline.yml. The root-cause migration (react-navigation v8 drops InteractionManager; transaction-history-screen still calls it directly) is tracked separately - v8 is alpha-only today. Closes #3813 Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
esaugomez31
approved these changes
Jun 3, 2026
Collaborator
|
@grimen applied the ci change from here so Concourse adds the CI=true env: |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Fixes #3813.
Every suite that renders a navigator (or otherwise touches
InteractionManager) re-triggers React Native'sInteractionManager has been deprecatedwarning once per test file (warnOncededupes per module registry, and Jest resets the registry per file), flooding Concourse/CI logs with repeated warning + stack-trace noise.Changes
jest.setup.js(new): wrapsconsole.warnand drops only messages matchingInteractionManager has been deprecated— and only whenCIis set, so the deprecation stays visible in local dev runs. All other warnings pass through untouched.jest.config.js: registers the setup file viasetupFilesAfterEnv(re-applied per test file, so it survives Jest's per-file module resets).ci/pipeline.yml: addsparams: { CI: true }to the Concoursetest-unittask. GitHub Actions setsCI=trueautomatically, but Concourse deliberately does not expose build-metadata env vars to task containers (Access metadata from task concourse/concourse#790), so it must be set explicitly — same convention thebuildtasks already use.Why not fix the root cause instead
@react-navigationv7 (current, latest stable) still usesInteractionManager; it is only removed in v8, which is alpha-only today and a breaking migration.app/screens/transaction-history/transaction-history-screen.tsxalso callsInteractionManager.runAfterInteractionsdirectly, so a react-navigation upgrade alone would not silence the warning.That migration is real future-proofing work but out of scope for this CI-log cleanup; it can be tracked separately.
Test plan
CI): warning still visible —yarn test __tests__/screens/transaction-history-screen.spec.tsx→ 1 occurrence, tests passCI=truerun: warning suppressed — same spec → 0 occurrences, tests passCI=falsebehaves like local (warning visible)console.warnstill prints underCI=true; only the InteractionManager message is droppedCI=true: 0InteractionManager has been deprecatedoccurrences across all suites; 142 suites pass — the single failure (__tests__/components/blink-card/blink-card.spec.tsx, locale/env-dependent"12/ 28"expectation) fails identically on untouchedmainci/pipeline.ymlstill parses as valid YAML (ytt#@lines are comments)🤖 Generated with Claude Code