Skip to content

upgrade-tests: support running against multiple apps, support sending extra jest args #16596

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 9 commits into from
Jul 24, 2025

Conversation

samwho
Copy link
Contributor

@samwho samwho commented Jul 22, 2025

Some quality of life stuff here:

  • Made support for multiple apps nicer, it now by default runs against all apps in src/fixtures and only does the upgrade once.
  • Made it possible to limit what tests run by passing extra args down to jest, e.g. yarn test:upgrade --from 3.9.0 src/tests/automation.upgrade.spec

- When no --app option is specified, tests now run against all apps in fixtures
- Import all fixture apps upfront after starting the old container
- Run pre-upgrade and post-upgrade tests for each app sequentially
- Fix context file collisions by including app name in hash calculation
- Add TEST_APP_NAME environment variable to pass current app to test process
- Improve console output to show which app is being tested
- Maintain backward compatibility for single app mode with --app option

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <[email protected]>
Copy link

qa-wolf bot commented Jul 22, 2025

QA Wolf here! As you write new code it's important that your test coverage is keeping up.
Click here to request test coverage for this PR!

@github-actions github-actions bot added firestorm Data/Infra/Revenue Team size/m labels Jul 22, 2025
@samwho samwho changed the title feat(upgrade-tests): support running tests against all fixture apps upgrade-tests: support running against multiple apps, support sending extra jest args Jul 22, 2025
@samwho samwho marked this pull request as ready for review July 22, 2025 10:57
@samwho samwho requested review from Copilot and adrinr July 22, 2025 10:57
Copy link
Contributor

@Copilot Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull Request Overview

This PR enhances the upgrade-tests package to support testing multiple apps simultaneously and allows passing additional Jest arguments for more flexible test execution. The changes improve the testing workflow by defaulting to test all available fixture apps while maintaining backward compatibility for single app testing.

  • Adds multi-app testing support by running against all apps in src/fixtures by default
  • Enables passing extra Jest arguments to filter or customize test execution
  • Simplifies CI workflow by removing per-app matrix strategy in favor of testing all apps together

Reviewed Changes

Copilot reviewed 5 out of 7 changed files in this pull request and generated 1 comment.

Show a summary per file
File Description
packages/upgrade-tests/src/utils/upgradeTest.ts Adds TEST_APP_NAME environment variable requirement for context file naming
packages/upgrade-tests/src/cli/testRunner.ts Adds support for testAppName option and extraArgs parameter passing to Jest
packages/upgrade-tests/src/cli/index.ts Implements multi-app testing logic and Jest argument forwarding
packages/upgrade-tests/package.json Adds @commander-js/extra-typings dependency for better CLI argument handling
.github/workflows/upgrade-tests.yml Simplifies CI workflow to test all apps together instead of separate matrix jobs

@samwho samwho enabled auto-merge July 24, 2025 09:12
@samwho samwho merged commit 2ba6449 into master Jul 24, 2025
30 checks passed
@samwho samwho deleted the more-upgrade-tests branch July 24, 2025 09:22
@github-actions github-actions bot locked and limited conversation to collaborators Jul 24, 2025
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
firestorm Data/Infra/Revenue Team size/m
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants