ci: Add Fedora 42; use tox-lsr 3.9.0; use lsr-report-errors for qemu tests#534
Merged
ci: Add Fedora 42; use tox-lsr 3.9.0; use lsr-report-errors for qemu tests#534
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 refreshes CI workflows by adding Fedora 42 support (dropping Fedora 40), upgrading tox-lsr to 3.9.0, integrating error reporting into QEMU tests via --lsr-report-errors-url and check_logs.py (with GitHub Actions formatting) along with log renames, and publishing README.html as a documentation artifact. Sequence Diagram: QEMU Test Error Reporting with lsr-report-errorssequenceDiagram
participant GHAW as GitHub Actions Workflow
participant QEMUTest as QEMU Test Execution (via tox-lsr)
participant ErrorCallback as lsr_report_errors.py (callback)
participant CheckLogs as check_logs.py
GHAW->>QEMUTest: Run test with --lsr-report-errors-url DEFAULT
alt Test Fails
QEMUTest->>ErrorCallback: Invoke with error details
ErrorCallback-->>QEMUTest: Write errors to output log
end
GHAW->>CheckLogs: Process output log with --github-action-format
CheckLogs-->>GHAW: Return formatted errors
GHAW->>GHAW: Rename log file (e.g., test-FAIL.log)
Flow Diagram: README.html Artifact Upload in Build Docs Workflowgraph TD
A[Start Build Docs Job] --> B{Build Documentation};
B --> C{Is env.RELEASE_VERSION == 'latest'?};
C -- Yes --> D[Copy RELEASE_VERSION/README.html to docs/index.html];
D --> F[Upload RELEASE_VERSION/README.html as 'README.html' artifact];
F --> G[Commit changes];
C -- No --> E[Skip copy];
E --> G;
G --> H[End Build Docs Job];
style F fill:#ddeeff,stroke:#0077cc
File-Level Changes
Tips and commandsInteracting with Sourcery
Customizing Your ExperienceAccess your dashboard to:
Getting Help
|
There was a problem hiding this comment.
Hey @richm - I've reviewed your changes - here's some feedback:
- Pin actions/upload-artifact to a specific release tag instead of using @master to avoid unexpected breakages.
- Fetch check_logs.py from a fixed commit or tag rather than main branch to ensure CI stability.
- Consider centralizing the tox-lsr version across workflows (e.g. via a shared variable or workflow template) to simplify future upgrades.
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.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
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
Update CI workflows to include Fedora 42, upgrade tox-lsr to 3.9.0, enhance QEMU integration test reporting and log handling, and preserve documentation artifacts.
CI:
--lsr-report-errors-url DEFAULTfor inline error reporting-SUCCESS.logor-FAIL.logsuffixes for pass/fail claritycheck_logs.py --github-action-formatto group and format failure logsDocumentation: