-
Notifications
You must be signed in to change notification settings - Fork 22
ci: Add Fedora 42; use tox-lsr 3.9.0; use lsr-report-errors for qemu tests #181
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 updates CI workflows by adding Fedora 42 (and dropping Fedora 40) to the test matrix, upgrading tox-lsr to 3.9.0 across jobs, enhancing the QEMU integration tests with lsr-report-errors and structured log handling, and publishing README.html as a build artifact. Sequence Diagram: QEMU Test Error Reporting and Log ProcessingsequenceDiagram
title: "Sequence Diagram: QEMU Test Error Reporting and Log Processing"
participant Job as "qemu-kvm-integration-tests.yml Job"
participant Ansible as "Ansible Execution"
participant LSRCallback as "lsr_report_errors.py (Callback)"
participant LogFile as "Test Log File"
participant CheckLogs as "check_logs.py Script"
participant GH_Actions as "GitHub Actions UI"
Job->>Ansible: Run QEMU test playbook (with lsr_report_errors callback enabled via --lsr-report-errors-url DEFAULT)
Ansible->>Ansible: Execute test tasks
alt Test Failure
Ansible->>LSRCallback: Error occurred, Ansible invokes callback
LSRCallback->>LogFile: Write detailed error to log output
end
Ansible->>Job: Playbook execution finished (status)
alt Test Failed
Job->>LogFile: Rename log to *-FAIL.log
else Test Succeeded
Job->>LogFile: Rename log to *-SUCCESS.log
end
Job->>CheckLogs: Execute with --github-action-format (input: LogFile)
CheckLogs->>LogFile: Read log content
CheckLogs->>CheckLogs: Parse log and format errors
CheckLogs->>GH_Actions: Output formatted errors (e.g., as annotations)
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 they look great!
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
Add Fedora 42 support, upgrade tox-lsr to 3.9.0 across CI, and improve QEMU integration test logging and error reporting
Enhancements:
CI:
Documentation: