-
Couldn't load subscription status.
- Fork 11
ci: Add Fedora 42; use tox-lsr 3.9.0; use lsr-report-errors for qemu tests #124
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 <rmeggins@redhat.com>
Reviewer's GuideThis PR refactors CI workflows: it bumps tox-lsr to v3.9.0 across all pipelines, enriches QEMU integration tests with lsr-report-errors URL support, dynamic SUCCESS/FAIL log renaming and GitHub-friendly error formatting via check_logs.py; it also updates the testing farm matrix by dropping Fedora-40 in favor of Fedora-42 and adds a step to upload README.html as a build_docs artifact. Sequence Diagram: QEMU Test Error Reporting and Log ProcessingsequenceDiagram
participant Job as QEMU Tests Job (GitHub Actions)
participant TestRunner as Test Runner (e.g., tox with tox-lsr 3.9.0)
participant Ansible as Ansible Execution
participant Callback as lsr_report_errors.py (Callback Plugin)
participant Scripting as CI Script Logic
participant CheckLogs as check_logs.py
participant GH_UI as GitHub Actions UI/Logs
Job->>TestRunner: Start tests
TestRunner->>Ansible: Execute tests with --lsr-report-errors-url DEFAULT
alt Test Failure
Ansible->>Callback: Error occurs, trigger callback
Callback->>Ansible: Write error details to test output log
end
TestRunner->>Scripting: Test execution completed
Scripting->>Scripting: Rename log file (e.g., test-FAIL.log or test-SUCCESS.log)
Job->>CheckLogs: Process renamed log file with --github-action-format
CheckLogs->>GH_UI: Output formatted errors for easy viewing
Flow Diagram: README.html Artifact Upload in build_docs Workflowgraph TD
A["Start build_docs job"] --> B["Build documentation"];
B --> C["Copy README.html to docs/index.html (if latest release)"];
C --> D["Upload README.html (from env.RELEASE_VERSION path) as artifact"];
style D fill:#cff,stroke:#333,stroke-width:2px;
A --> E["Commit changes (if any)"];
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 - here's some feedback:
- Pin the
actions/upload-artifact@masterreference to a stable version (e.g.@v3) to avoid unexpected breaks when the default branch updates. - Rather than fetching
check_logs.pyfrom main every run, consider pinning it to a specific commit or vendoring a copy in the repo to prevent future API changes from breaking the workflow. - Since you’re bumping
tox-lsrin multiple workflows, it might be cleaner to centralize that version in a shared variable or workflow template to avoid drift.
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 rmeggins@redhat.com
Summary by Sourcery
Enhance CI workflows to include Fedora 42, upgrade tox-lsr, improve QEMU test error reporting and log handling, and publish documentation artifacts.
New Features:
Enhancements:
Build:
CI: