-
Notifications
You must be signed in to change notification settings - Fork 112
ci: Add Fedora 42; use tox-lsr 3.9.0; use lsr-report-errors for qemu tests #788
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
…tests Add Fedora 42 to testing farm test matrix, drop Fedora 40 Use tox-lsr 3.9.0 for the `--lsr-report-errors-url` argument. Add the argument `--lsr-report-errors-url DEFAULT` to the qemu test so that the errors will be written to the output log. This uses the output callback https://github.com/linux-system-roles/auto-maintenance/blob/main/callback_plugins/lsr_report_errors.py Use the check_logs.py script https://github.com/linux-system-roles/auto-maintenance/blob/main/check_logs.py with the `--github-action-format` argument to format the errors in a github action friendly manner. Rename the log files `-FAIL.log` or `-SUCCESS.log` depending on status. This is compatible with the way the testing farm log files are named, and makes it easy to tell if a test passed or failed from the log file name. Upload README.html as artifacts of the build_docs job for debugging Signed-off-by: Rich Megginson <[email protected]>
Reviewer's GuideThis PR refines multiple GitHub Actions workflows by upgrading to tox-lsr 3.9.0, enhancing QEMU test error reporting and log naming, updating the Fedora test matrix (dropping Fedora 40, adding Fedora 42), and publishing the generated README.html as an artifact. Sequence Diagram: QEMU Test Error Reporting and Log ManagementsequenceDiagram
actor CI as CI Workflow Step
participant QTE as QEMU Test Execution
participant LRE as lsr_report_errors.py (callback)
participant OL as Output Log
participant CLS as check_logs.py script
participant GAD as GitHub Actions Display
participant LFS as Log File System
CI ->> QTE: Start QEMU Tests (with --lsr-report-errors-url DEFAULT)
QTE ->> QTE: Run tests
alt Test Fails during execution
QTE ->> LRE: Invoke callback with error information
LRE ->> OL: Write error details to Output Log
end
QTE ->> CI: Tests completed, Output Log generated
CI ->> CLS: Execute check_logs.py (input: Output Log path)
CLS ->> OL: Read Output Log
CLS ->> GAD: Format errors and report to GitHub Actions (via --github-action-format)
alt Overall Test Result is Failure
CLS ->> LFS: Rename log file to [testname]-FAIL.log
else Overall Test Result is Success
CLS ->> LFS: Rename log file to [testname]-SUCCESS.log
end
File-Level Changes
Tips and commandsInteracting with Sourcery
Customizing Your ExperienceAccess your dashboard to:
Getting Help
|
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.
Hey @richm - I've reviewed your changes and found some issues that need to be addressed.
- Rather than hard-coding pip installs across multiple workflows, consider centralizing the tox-lsr version into a shared CI variable or matrix to keep the version in sync.
- Pin the
check_logs.pyscript to a specific commit or release instead of pullingmaindirectly to avoid unexpected breakage from upstream changes. - Instead of using
actions/upload-artifact@master, pin to a stable version (e.g.v3) to ensure reproducible CI behavior.
Here's what I looked at during the review
- 🟢 General issues: all looks good
- 🟢 Security: all looks good
- 🟢 Review instructions: all looks good
- 🟢 Testing: all looks good
- 🟢 Documentation: all looks good
Help me be more useful! Please click 👍 or 👎 on each comment and I'll use the feedback to improve your reviews.
Add Fedora 42 to testing farm test matrix, drop Fedora 40
Use tox-lsr 3.9.0 for the
--lsr-report-errors-urlargument.Add the argument
--lsr-report-errors-url DEFAULTto the qemu test so thatthe errors will be written to the output log. This uses the output callback
https://github.com/linux-system-roles/auto-maintenance/blob/main/callback_plugins/lsr_report_errors.py
Use the check_logs.py script
https://github.com/linux-system-roles/auto-maintenance/blob/main/check_logs.py
with the
--github-action-formatargument to format the errorsin a github action friendly manner.
Rename the log files
-FAIL.logor-SUCCESS.logdepending on status.This is compatible with the way the testing farm log files are named, and
makes it easy to tell if a test passed or failed from the log file name.
Upload README.html as artifacts of the build_docs job for debugging
Signed-off-by: Rich Megginson [email protected]
Summary by Sourcery
Enhance CI workflows by adding Fedora 42 support, bumping tox-lsr to 3.9.0, improving qemu-kvm integration test error reporting and log handling, and publishing docs artifacts.
CI: