-
Notifications
You must be signed in to change notification settings - Fork 10.6k
feat: run yarn install and playwright install concurrently in CI #24061
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
base: main
Are you sure you want to change the base?
feat: run yarn install and playwright install concurrently in CI #24061
Conversation
- Split yarn-install.yml into parallel jobs for yarn and playwright installation - Update all E2E workflows to use inline concurrent installation with proper caching - Maintains existing caching strategies for both yarn and playwright - Should reduce CI build times by parallelizing package and browser binary downloads The key optimization is that yarn playwright install only needs package.json to determine the @playwright/test version, so it can run in parallel with yarn prisma generate after yarn install completes, rather than waiting for the full sequential chain. Co-Authored-By: keith@cal.com <keithwillcode@gmail.com>
🤖 Devin AI EngineerI'll be helping with this pull request! Here's what you should know: ✅ I will automatically:
Note: I can only respond to comments from users who have write access to this repository. ⚙️ Control Options:
|
Important Review skippedDraft detected. Please check the settings in the CodeRabbit UI or the You can disable this status message by setting the ✨ Finishing touches🧪 Generate unit tests
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
- Created composite action at .github/actions/yarn-install-concurrent/action.yml - Replaced duplicated installation logic across all E2E workflows - Maintains concurrent execution: yarn install -> (yarn prisma generate || yarn playwright install) - Preserves all existing caching strategies for yarn and playwright - Improves maintainability by centralizing installation logic Co-Authored-By: keith@cal.com <keithwillcode@gmail.com>
The latest updates on your projects. Learn more about Vercel for GitHub. |
- Eliminated code duplication by reusing caching patterns from existing actions - Maintains concurrent execution: yarn install -> (yarn prisma generate || yarn playwright install) - Preserves all existing caching strategies for yarn and playwright - Reduces action complexity while improving maintainability - Added clear documentation showing which patterns come from yarn-install and yarn-playwright-install actions Co-Authored-By: keith@cal.com <keithwillcode@gmail.com>
What does this PR do?
This PR optimizes CI build times by running
yarn install
andyarn playwright install
concurrently instead of sequentially. It creates a new reusable composite action that consolidates the installation logic while eliminating code duplication across E2E workflows.Performance improvement: Instead of waiting for yarn install → yarn prisma generate → yarn playwright install sequentially, this runs yarn install → (yarn prisma generate || yarn playwright install) in parallel, reducing total installation time.
Key changes:
.github/actions/yarn-install-concurrent/action.yml
- a new composite action that combines yarn and playwright installation with concurrent executione2e.yml
,e2e-app-store.yml
,e2e-embed.yml
,e2e-embed-react.yml
,merge-reports.yml
) to use the new consolidated actionyarn-install
andyarn-playwright-install
actionsRequested by: @keithwillcode
Link to Devin run: https://app.devin.ai/sessions/010f7203b7df41b0824cb2d27cbff829
How should this be tested?
yarn prisma generate
andyarn playwright install --with-deps
can run safely in parallelMandatory Tasks (DO NOT REMOVE)
Critical Review Points
Caching correctness: The new action replicates caching logic from
yarn-install
andyarn-playwright-install
. Verify cache keys and paths match exactly.Concurrent execution safety: Confirm that running
yarn prisma generate
andyarn playwright install --with-deps
in parallel doesn't cause race conditions or dependency issues.Environment variables: Check that all required environment variables from the original actions are preserved in the new action.
E2E pipeline health: Monitor that all E2E workflows continue to pass consistently with the new concurrent installation.
Checklist