Conversation
WalkthroughAdds a scheduled GitHub Actions workflow plus helper scripts to extract RPC conformance JSON from Docker volumes, convert it to Markdown under docs, commit a signed change, and open a PR; also adds documentation category files for persisted reports. Changes
Sequence Diagram(s)sequenceDiagram
participant GH as GitHub Actions
participant Docker as Docker Engine
participant TempCtr as Temp Container
participant Volume as Docker Volume
participant Mise as mise action
participant Scripts as Repo Scripts
participant GHAPI as GitHub API
GH->>Docker: start job, mount volumes (larger mount)
GH->>Docker: build/run test image (image ref)
Docker->>Volume: write API parity results (/data/api-compare-report)
GH->>TempCtr: run extract_conformance_report.sh (mount volume read-only)
TempCtr->>Volume: find/copy report.json
GH->>Scripts: run convert_report_to_markdown.sh -> docs/.../report_<DATE>.md
GH->>Mise: run mise action to generate artifacts
GH->>GHAPI: commit signed changes and open PR with report
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~20 minutes Possibly related PRs
Suggested reviewers
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing touches
Comment |
f209c5f to
2d201af
Compare
There was a problem hiding this comment.
Actionable comments posted: 3
🤖 Fix all issues with AI agents
In @.github/workflows/rpc-parity-report.yml:
- Around line 2-5: Add an inputs block to the workflow_dispatch trigger so
github.event.inputs.image is defined when the workflow is manually triggered;
update the workflow_dispatch section (symbol: workflow_dispatch) to include an
input named "image" (symbol: github.event.inputs.image) with a description and
an appropriate required/default value so downstream steps can reliably read it.
- Around line 41-42: Add the missing mise task registration for the existing
script by adding a [tasks.add_conformance_report] entry to mise.toml; set
description to "Extracts conformance report from the API compare compose volume
and adds it to the docs." and run to "bash
./mise-tasks/add_conformance_report.sh" so the workflow step that calls `mise
add_conformance_report` succeeds (refer to task name add_conformance_report and
script mise-tasks/add_conformance_report.sh).
In `@scripts/tests/api_compare/extract_conformance_report.sh`:
- Around line 21-22: The inline comment is wrong: update the comment above the
REPORT_PATH_IN_VOLUME assignment to accurately describe what the script searches
for (a JSON report under /data/api-compare-report, not an .md file). Locate the
line that sets REPORT_PATH_IN_VOLUME (uses docker exec with TEMP_CONTAINER_NAME
and find '*.json') and change the comment to mention
`/data/api-compare-report/*.json` so the comment matches the code behavior.
🧹 Nitpick comments (3)
scripts/tests/api_compare/extract_conformance_report.sh (1)
8-8: Missing argument validation.The script accesses
$1without checking if an argument was provided. Withset -u, this will produce an unhelpful error message if the script is called without arguments.Proposed fix
+if [[ $# -lt 1 ]]; then + echo "Usage: $0 <output_path>" + exit 1 +fi + OUTPUT_PATH="$1"scripts/tests/api_compare/convert_report_to_markdown.sh (1)
8-9: Missing argument validation.The script accesses
$1and$2without checking if both arguments were provided. Withset -u, this will fail with an unclear error if arguments are missing.Proposed fix
+if [[ $# -lt 2 ]]; then + echo "Usage: $0 <input_json> <output_markdown>" + exit 1 +fi + INPUT_FILE="$1" OUTPUT_FILE="$2"mise-tasks/add_conformance_report.sh (1)
1-7: Add strict mode and cleanup temp directory.The script lacks
set -euo pipefail, which could cause silent failures if any command fails. Additionally, the temp directory created on line 4 is never cleaned up.Proposed fix
#!/bin/bash `#MISE` description="Extracts conformance report from the API compare compose volume and adds it to the docs." +set -euo pipefail + -TMP_REPORT=$(mktemp -d)/report.json +TMP_DIR=$(mktemp -d) +trap 'rm -rf "$TMP_DIR"' EXIT +TMP_REPORT="$TMP_DIR/report.json" DATE=$(date +%Y-%m-%d) ./scripts/tests/api_compare/extract_conformance_report.sh "$TMP_REPORT" ./scripts/tests/api_compare/convert_report_to_markdown.sh "$TMP_REPORT" ./docs/docs/users/reports/api_conformance/report_"$DATE".md
2d201af to
5aed2fc
Compare
5aed2fc to
19aa2a3
Compare
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted filessee 8 files with indirect coverage changes Continue to review full report in Codecov by Sentry.
🚀 New features to boost your workflow:
|
Summary of changes
Changes introduced in this pull request:
Reference issue to close (if applicable)
Closes #6283
Other information and links
Change checklist
Sample

Summary by CodeRabbit
Chores
Documentation
✏️ Tip: You can customize this high-level summary in your review settings.