Fix markdownlint CI workflow (startup_failure since inception) - #629
Conversation
The markdownlint workflow has never worked (all 117 runs show startup_failure) because it uses tj-actions/changed-files and DavidAnson/markdownlint-cli2-action, which are not in the org's allowed actions list. Replace with inline steps using only approved actions: - actions/checkout (already used) - actions/setup-node (already used in evaluation.yml) - git diff for changed file detection - npx markdownlint-cli2 for linting Follows the same pattern as dotnet/runtime's markdownlint workflow. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
558d227 to
a4aa65d
Compare
The markdownlint workflow has never worked since it was added (PR #534, April 17) — all 117 runs show startup_failure because it uses tj-actions/changed-files and DavidAnson/markdownlint-cli2-action, which are not in the org's allowed actions list. Fix by replacing third-party actions with inline steps: - Use actions/setup-node + npx markdownlint-cli2 (no third-party actions) - Use git diff for changed file detection - Follows same pattern as dotnet/runtime's markdownlint workflow Also update .markdownlint-cli2.jsonc to disable rules that conflict with established repo conventions: - MD034 (bare URLs on Source: lines) - MD060 (compact table formatting) - MD031/MD032 (tight code block and list spacing) - MD022 (tight heading spacing) Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
a4aa65d to
ce4f9f0
Compare
There was a problem hiding this comment.
Pull request overview
This PR fixes the repository’s markdownlint CI workflow by removing disallowed third-party GitHub Actions and replacing them with inline git diff-based change detection and an npx markdownlint-cli2 invocation. It also updates the markdownlint-cli2 configuration to suppress several rules that conflict with established repo Markdown formatting conventions.
Changes:
- Replace
tj-actions/changed-filesandDavidAnson/markdownlint-cli2-actionwithgit diff+npx markdownlint-cli2in the CI workflow. - Add
actions/setup-nodeto support running markdownlint via Node tooling. - Disable additional markdownlint rules in
.markdownlint-cli2.jsoncto avoid large volumes of pre-existing violations.
Show a summary per file
| File | Description |
|---|---|
.markdownlint-cli2.jsonc |
Disables additional markdownlint rules to align linting with existing repo Markdown conventions. |
.github/workflows/markdownlint.yml |
Reworks the workflow to avoid disallowed third-party actions by using git diff for change detection and npx markdownlint-cli2 for linting. |
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: 3
Suppress rules that conflict with established repo conventions: - MD001, MD007, MD014, MD026, MD028, MD029, MD036, MD040, MD056, MD058 Fix mechanical issues across 9 files: - MD009: trailing whitespace (4 files) - MD012: consecutive blank lines (3 files) - MD038: space in code span (1 file) - MD047: missing trailing newline (3 files) Result: 0 markdownlint errors across entire repo. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Skill Coverage Report
Uncovered:
|
noahfalk
left a comment
There was a problem hiding this comment.
The markdown changes looked fine. I didn't look at the yml CI portion.
|
/evaluate |
Skill Validation Results
[1]
Model: claude-opus-4.6 | Judge: claude-opus-4.6 🔍 Full Results - additional metrics and failure investigation steps ▶ Sessions Visualisation -- interactive replay of all evaluation sessions |
|
Oops, by resolving feedback before I pushed the fixes, this merged... |
Problem
The markdownlint CI workflow has never worked — all 117 runs since it was added in PR #534 (April 17) show
startup_failure. The root cause is that it uses third-party actions (tj-actions/changed-filesandDavidAnson/markdownlint-cli2-action) that are not in the dotnet org's allowed actions list.Fix
Workflow changes
Replace third-party actions with inline steps using only first-party actions already in the repo's allowlist:
actions/checkout+actions/setup-node(both already approved, SHA-pinned)git difffor changed file detection (replacestj-actions/changed-files)npx markdownlint-cli2for linting (replacesDavidAnson/markdownlint-cli2-action).mdfiles (not just changed ones)This follows the same pattern used by
dotnet/runtime's working markdownlint workflow.Config changes
Suppress rules in
.markdownlint-cli2.jsoncthat conflict with established repo conventions:Mechanical fixes across 9 files
Validation
markdownlint-cli2locally against all.mdfiles in the repo: 0 errorsactions/checkoutandactions/setup-nodeSHAs are already in the repo's GitHub Actions allowlist