Conversation
…ep summary report Agent-Logs-Url: https://github.com/github/gh-aw/sessions/f6a55314-ca5a-4293-acf7-aa4ec2362cf4 Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
|
❌ Smoke CI failed. Please review the logs for details. |
There was a problem hiding this comment.
Pull request overview
Updates the Daily AstroStyleLite Markdown Spellcheck workflow to ensure English dictionaries are always enabled for cspell runs and to publish a human-readable spellcheck report in the GitHub Actions step summary.
Changes:
- Ensure runtime cspell config always includes
enanden-USdictionaries (even when no custom dictionary file is found). - Add a workflow step that renders spellcheck metrics and (when present) findings into
$GITHUB_STEP_SUMMARY. - Regenerate the compiled workflow lock file to reflect the source workflow changes.
Show a summary per file
| File | Description |
|---|---|
| .github/workflows/daily-astrostylelite-markdown-spellcheck.md | Fixes runtime cspell dictionary selection and adds a step-summary report step. |
| .github/workflows/daily-astrostylelite-markdown-spellcheck.lock.yml | Compiled workflow updated to include the dictionary fix and step-summary reporting step. |
Copilot's findings
Tip
Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
- Files reviewed: 2/2 changed files
- Comments generated: 2
| ARTIFACT_DIR="/tmp/gh-aw/spellcheck" | ||
| FINDINGS_COUNT=$(jq -r '.findings' "$ARTIFACT_DIR/summary.json") | ||
| FILES_CHECKED=$(jq -r '.files_checked' "$ARTIFACT_DIR/summary.json") | ||
| DICT_PATH=$(jq -r '.dictionary.path // "none"' "$ARTIFACT_DIR/summary.json") | ||
| LOCALE=$(jq -r '.locale' "$ARTIFACT_DIR/summary.json") |
There was a problem hiding this comment.
The new step-summary script doesn’t enable strict bash mode. Without set -euo pipefail, a missing/corrupt summary.json or findings.ndjson (or a failed jq invocation) can be silently ignored and still produce a “successful” step with an incomplete/misleading summary. Consider adding set -euo pipefail at the top of this run: block (and optionally use jq -e / defaults like .findings // 0 to make failures explicit).
| ARTIFACT_DIR="/tmp/gh-aw/spellcheck" | |
| FINDINGS_COUNT=$(jq -r '.findings' "$ARTIFACT_DIR/summary.json") | |
| FILES_CHECKED=$(jq -r '.files_checked' "$ARTIFACT_DIR/summary.json") | |
| DICT_PATH=$(jq -r '.dictionary.path // "none"' "$ARTIFACT_DIR/summary.json") | |
| LOCALE=$(jq -r '.locale' "$ARTIFACT_DIR/summary.json") | |
| set -euo pipefail | |
| ARTIFACT_DIR="/tmp/gh-aw/spellcheck" | |
| FINDINGS_COUNT=$(jq -er '.findings' "$ARTIFACT_DIR/summary.json") | |
| FILES_CHECKED=$(jq -er '.files_checked' "$ARTIFACT_DIR/summary.json") | |
| DICT_PATH=$(jq -er '.dictionary.path // "none"' "$ARTIFACT_DIR/summary.json") | |
| LOCALE=$(jq -er '.locale' "$ARTIFACT_DIR/summary.json") |
| ARTIFACT_DIR="/tmp/gh-aw/spellcheck" | ||
| FINDINGS_COUNT=$(jq -r '.findings' "$ARTIFACT_DIR/summary.json") | ||
| FILES_CHECKED=$(jq -r '.files_checked' "$ARTIFACT_DIR/summary.json") | ||
| DICT_PATH=$(jq -r '.dictionary.path // "none"' "$ARTIFACT_DIR/summary.json") | ||
| LOCALE=$(jq -r '.locale' "$ARTIFACT_DIR/summary.json") |
There was a problem hiding this comment.
This step-summary run: block doesn’t enable set -euo pipefail. If jq fails (missing/invalid summary.json, etc.), the step can still succeed and write an incomplete/misleading summary. Add strict bash mode (and optionally jq -e / fallbacks like .findings // 0) so failures are surfaced.
| ARTIFACT_DIR="/tmp/gh-aw/spellcheck" | |
| FINDINGS_COUNT=$(jq -r '.findings' "$ARTIFACT_DIR/summary.json") | |
| FILES_CHECKED=$(jq -r '.files_checked' "$ARTIFACT_DIR/summary.json") | |
| DICT_PATH=$(jq -r '.dictionary.path // "none"' "$ARTIFACT_DIR/summary.json") | |
| LOCALE=$(jq -r '.locale' "$ARTIFACT_DIR/summary.json") | |
| set -euo pipefail | |
| ARTIFACT_DIR="/tmp/gh-aw/spellcheck" | |
| FINDINGS_COUNT=$(jq -er '.findings // 0' "$ARTIFACT_DIR/summary.json") | |
| FILES_CHECKED=$(jq -er '.files_checked // 0' "$ARTIFACT_DIR/summary.json") | |
| DICT_PATH=$(jq -er '.dictionary.path // "none"' "$ARTIFACT_DIR/summary.json") | |
| LOCALE=$(jq -er '.locale // "unknown"' "$ARTIFACT_DIR/summary.json") |
Fixes two issues in the Daily AstroStyleLite Markdown Spellcheck workflow.
Changes
1. Fix English dictionary not being selected
The
jqcommand that builds the runtime cspell config was replacing.dictionarieswith[]when no custom dictionary file was found (Selected dictionary: nonein the logs). This silently dropped the English built-in dictionaries, causing cspell to run without any language support.Fix: Always include
"en"and"en-US"in the generated.dictionarieslist, whether or not a custom dictionary is present.2. Add spellcheck report to step summary
There was no step writing to
$GITHUB_STEP_SUMMARY, so the job produced no visible summary in the Actions UI.Fix: Added a "Render spellcheck report to step summary" step that writes a markdown report with:
Both the
.mdsource and the compiled.lock.ymlare updated (viamake recompile).