Skip to content

Conversation

@bosun-ai
Copy link

@bosun-ai bosun-ai bot commented Nov 5, 2025

Summary

  • Upgrade path initiated from React 16.8.6 toward React 17.0.2. This PR is a work in progress and focuses on setting up a regression test suite to support the upgrade.

Scope of changes

  • Added a basic regression testing setup using Jest, React Testing Library, and MSW to validate key UI behaviors during the React upgrade.
    • .github/workflows/regression-tests.yml: Adds a GitHub Actions workflow to run regression tests on pushes/PRs to the alpha branch.
    • package.json: Adds test:regression script and testing dependencies.
    • regression-tests/jest.config.js and setupTests.js: Configures Jest environment and MSW server lifecycle.
    • regression-tests/button.test.js: Introduces an initial component regression test for Button behavior.
    • regression-tests/testServer.js and testHandlers.js: Provides API mocking via MSW for deterministic tests.

Reasoning

  • Establishing a regression suite early helps catch breaking changes introduced by the React 17 upgrade, particularly around event handling, synthetic events, and DOM attribute differences.

Impact/Risks

  • Minimal runtime impact; changes are isolated to testing and CI setup.
  • CI will begin running regression tests on the alpha branch, which may surface pre-existing failures as we upgrade.

Regression test suite setup

  • A Jest-based suite is configured under regression-tests/ with React Testing Library and MSW.
  • CI: .github/workflows/regression-tests.yml runs npm run test:regression on pushes/PRs to alpha.

Testing instructions

  • Run the full regression suite:
    • npm run test:regression
  • Run a single component regression test:
    • npm run test:regression -- regression-tests/button.test.js

Follow-ups / Open questions

  • Expand coverage to additional components affected by React 17 changes (e.g., event delegation, onClick semantics, label/for, and attribute normalization).
  • Validate any custom portals or legacy lifecycle usage against React 17 behavior.
  • Confirm Node and Jest versions are compatible with existing Babel/Jest config; adjust if needed during the upgrade.

Notes

  • This is a work-in-progress PR to support the React 17 upgrade effort. Do not merge.

This pull request is created by bosun, a code maintenance automation platform. For more information, visit bosun.ai.

Bosun added 24 commits November 5, 2025 13:37
@bosun-ai bosun-ai bot changed the title chore: prepare upgrade to React 17.0.2 (WIP) chore(test): set up regression test suite to support React 17 upgrade (WIP) Nov 5, 2025
Bosun added 30 commits November 5, 2025 13:58
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant