-
Notifications
You must be signed in to change notification settings - Fork 310
ci(e2e): remove the limit on the number of E2E test case components in git-action #2725
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
Conversation
WalkthroughThe pull request modifies the GitHub Actions workflow for end-to-end (E2E) testing, specifically adjusting the Changes
Possibly related PRs
Suggested labels
Suggested reviewers
Poem
Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media? 🪧 TipsChatThere are 3 ways to chat with CodeRabbit:
Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments. CodeRabbit Commands (Invoked using PR comments)
Other keywords and placeholders
CodeRabbit Configuration File (
|
Walkthrough此PR移除了GitHub Actions中对E2E测试用例组件数量的限制,允许在CI环境中运行更多的E2E测试。 Changes
|
WalkthroughThis PR removes the limit on the number of E2E test case components in GitHub Actions, allowing more E2E tests to be run in a CI environment. Changes
|
[e2e-test-warn] The title of the Pull request should look like "fix(vue-renderless): [action-menu, alert] fix xxx bug". Please make sure you've read our contributing guide |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 0
🧹 Nitpick comments (1)
.github/workflows/test-e2e-pr.yml (1)
33-33
: LGTM! Consider adding a reasonable upper limit.The removal of the component limit allows for more comprehensive testing, which aligns with the PR objectives. However, consider adding a reasonable upper limit (e.g., 10-15 components) to prevent potential workflow timeouts or excessive resource usage.
- components = [...new Set(components)].join(' ') + const MAX_COMPONENTS = 15 + components = [...new Set(components)] + if (components.length > MAX_COMPONENTS) { + core.warning(`Number of components (${components.length}) exceeds maximum limit of ${MAX_COMPONENTS}. Only the first ${MAX_COMPONENTS} will be tested.`) + components = components.slice(0, MAX_COMPONENTS) + } + components = components.join(' ')
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (1)
.github/workflows/test-e2e-pr.yml
(1 hunks)
🔇 Additional comments (1)
.github/workflows/test-e2e-pr.yml (1)
Line range hint
91-91
: Verify test execution time limits.With the removal of component limits, we should verify that the test execution stays within GitHub Actions time limits, especially with the current retry and worker configuration.
Also applies to: 108-108
✅ Verification successful
Test execution times are within acceptable limits
Based on the recent workflow runs:
- Successful runs completed in ~13-16 seconds
- The longest run (failure case) took ~4 minutes
- The workflow has built-in optimizations:
- Concurrency control with
cancel-in-progress: true
- Caching for Playwright and pnpm dependencies
- Limited retries (
--retries=1
) and workers (--workers=2
)These execution times are well within GitHub Actions' 6-hour timeout limit for workflows. The removal of component limits should not cause significant timing issues given these constraints and the observed performance.
🏁 Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash # Description: Check workflow run times to assess impact of unlimited components # Get recent workflow run times for this workflow gh api -X GET /repos/opentiny/tiny-vue/actions/workflows/test-e2e-pr.yml/runs \ --jq '.workflow_runs[0:5] | .[] | {conclusion: .conclusion, duration: (.updated_at | fromdateiso8601 - (.created_at | fromdateiso8601))/60}'Length of output: 566
Script:
#!/bin/bash # Description: Check workflow run times to assess impact of unlimited components # Using simpler jq expression and manual calculation gh api -X GET /repos/opentiny/tiny-vue/actions/workflows/test-e2e-pr.yml/runs \ --jq '.workflow_runs[0:5] | .[] | {conclusion: .conclusion, created_at: .created_at, updated_at: .updated_at}' # Also check the workflow file for any existing timeout settings cat .github/workflows/test-e2e-pr.ymlLength of output: 4917
ci(e2e): 解除git-action对于E2E测试用例组件个数的限制
PR
PR Checklist
Please check if your PR fulfills the following requirements:
PR Type
What kind of change does this PR introduce?
What is the current behavior?
Issue Number: N/A
What is the new behavior?
Does this PR introduce a breaking change?
Other information
Summary by CodeRabbit