-
-
Notifications
You must be signed in to change notification settings - Fork 8.6k
[rb][py][dotnet][java][js] move logic for reruns and collecting logs into separate scripts #16879
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: trunk
Are you sure you want to change the base?
Conversation
PR Compliance Guide 🔍Below is a summary of compliance checks for this PR:
Compliance status legend🟢 - Fully Compliant🟡 - Partial Compliant 🔴 - Not Compliant ⚪ - Requires Further Human Verification 🏷️ - Compliance label |
|||||||||||||||||||||||||||||||||
PR Code Suggestions ✨Explore these optional code suggestions:
|
|||||||||||||||||||||
User description
🔗 Related Issues
This is what #16840 was supposed to be.
I separated it from #16858
💥 What does this PR do?
build/failures/_run1.txtbuild/bazel-console2.log_run2.txtif rerun happened, or_run1.txtif notbuild/failures/and rename with the name of the path so everything that failed is in one directoryfailuresdirectory, with a_run1.txt, optionalrun2.txtand one file for each of the failures.🔧 Implementation Notes
Putting things in build directory since it is gitignored and we don't want to disrupt the step that generates a git patch with changes. Could put it somewhere else or have a failures directory be in gitignore
💡 Additional Considerations
You can see the failing logs here: https://github.com/SeleniumHQ/selenium/actions/runs/20857910080/job/59929556499#step:23:30
🔄 Types of changes
PR Type
Enhancement
Description
Extract test failure handling into separate reusable scripts
Parse failures from Bazel console logs and optionally rerun with debug
Collect failed test logs from testlogs directory into single location
Upload organized failure logs as artifacts with improved structure
Diagram Walkthrough
flowchart LR A["Run Bazel<br/>output to console.log"] --> B["Parse failures<br/>from console.log"] B --> C{Rerun<br/>enabled?} C -->|Yes| D["Rerun with debug<br/>SE_DEBUG=true"] D --> E["Parse rerun failures<br/>to _run2.txt"] C -->|No| F["Use _run1.txt"] E --> G["Collect test logs<br/>from testlogs dir"] F --> G G --> H["Upload failures<br/>as artifact"]File Walkthrough
rerun-failures.sh
Parse failures and optionally rerun with debugscripts/github-actions/rerun-failures.sh
flaky_test_attempts=1
again
collect-test-logs.sh
Collect and organize failed test logsscripts/github-actions/collect-test-logs.sh
build/failures/
bazel.yml
Integrate new failure handling scripts into workflow.github/workflows/bazel.yml
logging on failure
directory