Skip to content

Add auto API docs writer workflow#92

Open
mattleibow wants to merge 15 commits into
mainfrom
dev/add-api-docs-workflow
Open

Add auto API docs writer workflow#92
mattleibow wants to merge 15 commits into
mainfrom
dev/add-api-docs-workflow

Conversation

@mattleibow
Copy link
Copy Markdown
Collaborator

Move the auto-api-docs-writer workflow from mono/SkiaSharp to this repo so the create-pull-request safe output targets the same repo and works with the default GITHUB_TOKEN — no custom tokens needed.

What changed

  • New workflow: .github/workflows/auto-api-docs-writer.md + compiled lock file
  • regenerate-stubs job checks out SkiaSharp (public repo) on Windows, runs mdoc, uploads artifact
  • Pre-agent steps: clone SkiaSharp shallow with submodules, set up symlink for cake, restore tools, extract JSON placeholders
  • Agent fills docs using skill scripts from the skiasharp/ checkout
  • Same-repo create-pull-request safe output — default token works

Move the auto-api-docs-writer workflow from mono/SkiaSharp to this
repo so create-pull-request targets the same repo and works with the
default GITHUB_TOKEN (no custom tokens needed).

- regenerate-stubs job checks out SkiaSharp (public) on Windows
- Pre-agent steps clone SkiaSharp shallow with submodules, symlink
  docs, restore tools, and extract JSON placeholders
- Agent fills docs using skill scripts from skiasharp/ checkout
- Same-repo create-pull-request safe output for the PR

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@learn-build-service-prod
Copy link
Copy Markdown
Contributor

PoliCheck Scan Report

The following report lists PoliCheck issues in PR files. Before you merge the PR, you must fix all severity-1 and severity-2 issues. The AI Review Details column lists suggestions for either removing or replacing the terms. If you find a false positive result, mention it in a PR comment and include this text: #policheck-false-positive. This feedback helps reduce false positives in future scans.

✅ No issues found

More information about PoliCheck

Information: PoliCheck | Severity Guidance | Term
For any questions: Try searching the learn.microsoft.com contributor guides or post your question in the Learn support channel.

@learn-build-service-prod
Copy link
Copy Markdown
Contributor

Learn Build status updates of commit e14ee72:

✅ Validation status: passed

File Status Preview URL Details
.gitattributes ✅Succeeded
.github/aw/actions-lock.json ✅Succeeded
.github/workflows/auto-api-docs-writer.lock.yml ✅Succeeded
.github/workflows/auto-api-docs-writer.md ✅Succeeded

For more details, please refer to the build report.

mattleibow and others added 2 commits May 15, 2026 22:27
Cake tasks don't need git history — they only diff NuGet packages.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
gh-aw creates this automatically.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@learn-build-service-prod
Copy link
Copy Markdown
Contributor

PoliCheck Scan Report

The following report lists PoliCheck issues in PR files. Before you merge the PR, you must fix all severity-1 and severity-2 issues. The AI Review Details column lists suggestions for either removing or replacing the terms. If you find a false positive result, mention it in a PR comment and include this text: #policheck-false-positive. This feedback helps reduce false positives in future scans.

✅ No issues found

More information about PoliCheck

Information: PoliCheck | Severity Guidance | Term
For any questions: Try searching the learn.microsoft.com contributor guides or post your question in the Learn support channel.

@learn-build-service-prod
Copy link
Copy Markdown
Contributor

Learn Build status updates of commit 6faf9d5:

✅ Validation status: passed

File Status Preview URL Details
.gitattributes ✅Succeeded
.github/aw/actions-lock.json ✅Succeeded
.github/workflows/auto-api-docs-writer.lock.yml ✅Succeeded
.github/workflows/auto-api-docs-writer.md ✅Succeeded

For more details, please refer to the build report.

@learn-build-service-prod
Copy link
Copy Markdown
Contributor

PoliCheck Scan Report

The following report lists PoliCheck issues in PR files. Before you merge the PR, you must fix all severity-1 and severity-2 issues. The AI Review Details column lists suggestions for either removing or replacing the terms. If you find a false positive result, mention it in a PR comment and include this text: #policheck-false-positive. This feedback helps reduce false positives in future scans.

✅ No issues found

More information about PoliCheck

Information: PoliCheck | Severity Guidance | Term
For any questions: Try searching the learn.microsoft.com contributor guides or post your question in the Learn support channel.

@learn-build-service-prod
Copy link
Copy Markdown
Contributor

Learn Build status updates of commit f16a769:

✅ Validation status: passed

File Status Preview URL Details
.gitattributes ✅Succeeded
.github/aw/actions-lock.json ✅Succeeded
.github/workflows/auto-api-docs-writer.lock.yml ✅Succeeded
.github/workflows/auto-api-docs-writer.md ✅Succeeded

For more details, please refer to the build report.

mattleibow and others added 2 commits May 15, 2026 22:38
docs-tool.ps1 merge already has built-in signature count validation
and XML well-formedness checks. The git diff safety check was redundant.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Instead of cherry-picking phases and duplicating Phase 6, tell the
agent to follow all phases from the skill and provide a path mapping
table for the differences.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@learn-build-service-prod
Copy link
Copy Markdown
Contributor

PoliCheck Scan Report

The following report lists PoliCheck issues in PR files. Before you merge the PR, you must fix all severity-1 and severity-2 issues. The AI Review Details column lists suggestions for either removing or replacing the terms. If you find a false positive result, mention it in a PR comment and include this text: #policheck-false-positive. This feedback helps reduce false positives in future scans.

✅ No issues found

More information about PoliCheck

Information: PoliCheck | Severity Guidance | Term
For any questions: Try searching the learn.microsoft.com contributor guides or post your question in the Learn support channel.

@learn-build-service-prod
Copy link
Copy Markdown
Contributor

Learn Build status updates of commit 6655acd:

✅ Validation status: passed

File Status Preview URL Details
.gitattributes ✅Succeeded
.github/aw/actions-lock.json ✅Succeeded
.github/workflows/auto-api-docs-writer.lock.yml ✅Succeeded
.github/workflows/auto-api-docs-writer.md ✅Succeeded

For more details, please refer to the build report.

@learn-build-service-prod
Copy link
Copy Markdown
Contributor

PoliCheck Scan Report

The following report lists PoliCheck issues in PR files. Before you merge the PR, you must fix all severity-1 and severity-2 issues. The AI Review Details column lists suggestions for either removing or replacing the terms. If you find a false positive result, mention it in a PR comment and include this text: #policheck-false-positive. This feedback helps reduce false positives in future scans.

✅ No issues found

More information about PoliCheck

Information: PoliCheck | Severity Guidance | Term
For any questions: Try searching the learn.microsoft.com contributor guides or post your question in the Learn support channel.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@learn-build-service-prod
Copy link
Copy Markdown
Contributor

Learn Build status updates of commit 5dec587:

✅ Validation status: passed

File Status Preview URL Details
.gitattributes ✅Succeeded
.github/aw/actions-lock.json ✅Succeeded
.github/workflows/auto-api-docs-writer.lock.yml ✅Succeeded
.github/workflows/auto-api-docs-writer.md ✅Succeeded

For more details, please refer to the build report.

Enables testing the workflow when its own files are modified.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@learn-build-service-prod
Copy link
Copy Markdown
Contributor

Learn Build status updates of commit c244bc4:

✅ Validation status: passed

File Status Preview URL Details
.gitattributes ✅Succeeded
.github/aw/actions-lock.json ✅Succeeded
.github/workflows/auto-api-docs-writer.lock.yml ✅Succeeded
.github/workflows/auto-api-docs-writer.md ✅Succeeded

For more details, please refer to the build report.

@learn-build-service-prod
Copy link
Copy Markdown
Contributor

PoliCheck Scan Report

The following report lists PoliCheck issues in PR files. Before you merge the PR, you must fix all severity-1 and severity-2 issues. The AI Review Details column lists suggestions for either removing or replacing the terms. If you find a false positive result, mention it in a PR comment and include this text: #policheck-false-positive. This feedback helps reduce false positives in future scans.

✅ No issues found

More information about PoliCheck

Information: PoliCheck | Severity Guidance | Term
For any questions: Try searching the learn.microsoft.com contributor guides or post your question in the Learn support channel.

@learn-build-service-prod
Copy link
Copy Markdown
Contributor

Learn Build status updates of commit f47808d:

✅ Validation status: passed

File Status Preview URL Details
.gitattributes ✅Succeeded
.github/aw/actions-lock.json ✅Succeeded
.github/workflows/auto-api-docs-writer.lock.yml ✅Succeeded
.github/workflows/auto-api-docs-writer.md ✅Succeeded

For more details, please refer to the build report.

…ring

The previous run timed out because the agent launched background review
sub-agents that hit max depth (6) and never completed within 600s.
Phase 6 (merge + commit + PR) never executed.

Changes:
- Explicit step-by-step execution order instead of 'follow all phases'
- 'Do NOT launch background sub-agents' (critical rule)
- 'Phase 6 MUST run' (critical rule)
- Quick inline review replaces expensive background agent reviews
- noop tool when no changes (instead of silently exiting)

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@learn-build-service-prod
Copy link
Copy Markdown
Contributor

Learn Build status updates of commit f00d930:

✅ Validation status: passed

File Status Preview URL Details
.gitattributes ✅Succeeded
.github/aw/actions-lock.json ✅Succeeded
.github/workflows/auto-api-docs-writer.lock.yml ✅Succeeded
.github/workflows/auto-api-docs-writer.md ✅Succeeded

For more details, please refer to the build report.

@learn-build-service-prod
Copy link
Copy Markdown
Contributor

PoliCheck Scan Report

The following report lists PoliCheck issues in PR files. Before you merge the PR, you must fix all severity-1 and severity-2 issues. The AI Review Details column lists suggestions for either removing or replacing the terms. If you find a false positive result, mention it in a PR comment and include this text: #policheck-false-positive. This feedback helps reduce false positives in future scans.

✅ No issues found

More information about PoliCheck

Information: PoliCheck | Severity Guidance | Term
For any questions: Try searching the learn.microsoft.com contributor guides or post your question in the Learn support channel.

The depth-6 timeout was caused by the fabrication detector spawning
its own batch sub-agents. Fix: tell each review agent to do all work
directly without delegating to further sub-agents.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@learn-build-service-prod
Copy link
Copy Markdown
Contributor

Learn Build status updates of commit 2253c1b:

✅ Validation status: passed

File Status Preview URL Details
.gitattributes ✅Succeeded
.github/aw/actions-lock.json ✅Succeeded
.github/workflows/auto-api-docs-writer.lock.yml ✅Succeeded
.github/workflows/auto-api-docs-writer.md ✅Succeeded

For more details, please refer to the build report.

@learn-build-service-prod
Copy link
Copy Markdown
Contributor

PoliCheck Scan Report

The following report lists PoliCheck issues in PR files. Before you merge the PR, you must fix all severity-1 and severity-2 issues. The AI Review Details column lists suggestions for either removing or replacing the terms. If you find a false positive result, mention it in a PR comment and include this text: #policheck-false-positive. This feedback helps reduce false positives in future scans.

✅ No issues found

More information about PoliCheck

Information: PoliCheck | Severity Guidance | Term
For any questions: Try searching the learn.microsoft.com contributor guides or post your question in the Learn support channel.

Pulls mattleibow/dev-simplify-api-docs-workflow which has strengthened
review agent prompts. Revert to main before merging this PR.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@learn-build-service-prod
Copy link
Copy Markdown
Contributor

PoliCheck Scan Report

The following report lists PoliCheck issues in PR files. Before you merge the PR, you must fix all severity-1 and severity-2 issues. The AI Review Details column lists suggestions for either removing or replacing the terms. If you find a false positive result, mention it in a PR comment and include this text: #policheck-false-positive. This feedback helps reduce false positives in future scans.

✅ No issues found

More information about PoliCheck

Information: PoliCheck | Severity Guidance | Term
For any questions: Try searching the learn.microsoft.com contributor guides or post your question in the Learn support channel.

@learn-build-service-prod
Copy link
Copy Markdown
Contributor

Learn Build status updates of commit 7d20502:

✅ Validation status: passed

File Status Preview URL Details
.gitattributes ✅Succeeded
.github/aw/actions-lock.json ✅Succeeded
.github/workflows/auto-api-docs-writer.lock.yml ✅Succeeded
.github/workflows/auto-api-docs-writer.md ✅Succeeded

For more details, please refer to the build report.

- setup-dotnet cache: true — caches ~/.nuget/packages for tool restore
  and NuGet package downloads (~2m20s savings on cache hit)
- actions/cache for GTK# MSI — avoids re-downloading 40MB installer
- Split GTK# download/install so download is skippable on cache hit

Timing baseline (uncached): ~7m13s total
Expected with cache: ~4-5m (saves tool restore + NuGet download + GTK# download)

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@learn-build-service-prod
Copy link
Copy Markdown
Contributor

PoliCheck Scan Report

The following report lists PoliCheck issues in PR files. Before you merge the PR, you must fix all severity-1 and severity-2 issues. The AI Review Details column lists suggestions for either removing or replacing the terms. If you find a false positive result, mention it in a PR comment and include this text: #policheck-false-positive. This feedback helps reduce false positives in future scans.

✅ No issues found

More information about PoliCheck

Information: PoliCheck | Severity Guidance | Term
For any questions: Try searching the learn.microsoft.com contributor guides or post your question in the Learn support channel.

@learn-build-service-prod
Copy link
Copy Markdown
Contributor

Learn Build status updates of commit b489dbe:

✅ Validation status: passed

File Status Preview URL Details
.gitattributes ✅Succeeded
.github/aw/actions-lock.json ✅Succeeded
.github/workflows/auto-api-docs-writer.lock.yml ✅Succeeded
.github/workflows/auto-api-docs-writer.md ✅Succeeded

For more details, please refer to the build report.

docs-api-diff and docs-update-frameworks download hundreds of NuGet
package versions into externals/package_cache via NuGetDiff. Cache key
is based on shared.cake (which defines TRACKED_NUGETS), with a
restore-keys fallback so partial cache hits still save time.

This is the biggest download cost in the regenerate-stubs job — all
historical versions of ~55 tracked packages are fetched each run.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@learn-build-service-prod
Copy link
Copy Markdown
Contributor

Learn Build status updates of commit c582e25:

✅ Validation status: passed

File Status Preview URL Details
.gitattributes ✅Succeeded
.github/aw/actions-lock.json ✅Succeeded
.github/workflows/auto-api-docs-writer.lock.yml ✅Succeeded
.github/workflows/auto-api-docs-writer.md ✅Succeeded

For more details, please refer to the build report.

@learn-build-service-prod
Copy link
Copy Markdown
Contributor

PoliCheck Scan Report

The following report lists PoliCheck issues in PR files. Before you merge the PR, you must fix all severity-1 and severity-2 issues. The AI Review Details column lists suggestions for either removing or replacing the terms. If you find a false positive result, mention it in a PR comment and include this text: #policheck-false-positive. This feedback helps reduce false positives in future scans.

✅ No issues found

More information about PoliCheck

Information: PoliCheck | Severity Guidance | Term
For any questions: Try searching the learn.microsoft.com contributor guides or post your question in the Learn support channel.

VERSIONS.txt changes when a new SkiaSharp version is released (new
packages to download from nuget.org). shared.cake changes when the
TRACKED_NUGETS list or minimum versions change. Both drive what gets
downloaded into externals/package_cache.

restore-keys fallback ensures partial hits always help since the
cache only grows — old package versions never change.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@learn-build-service-prod
Copy link
Copy Markdown
Contributor

PoliCheck Scan Report

The following report lists PoliCheck issues in PR files. Before you merge the PR, you must fix all severity-1 and severity-2 issues. The AI Review Details column lists suggestions for either removing or replacing the terms. If you find a false positive result, mention it in a PR comment and include this text: #policheck-false-positive. This feedback helps reduce false positives in future scans.

✅ No issues found

More information about PoliCheck

Information: PoliCheck | Severity Guidance | Term
For any questions: Try searching the learn.microsoft.com contributor guides or post your question in the Learn support channel.

@learn-build-service-prod
Copy link
Copy Markdown
Contributor

Learn Build status updates of commit fc18fae:

✅ Validation status: passed

File Status Preview URL Details
.gitattributes ✅Succeeded
.github/aw/actions-lock.json ✅Succeeded
.github/workflows/auto-api-docs-writer.lock.yml ✅Succeeded
.github/workflows/auto-api-docs-writer.md ✅Succeeded

For more details, please refer to the build report.

mattleibow and others added 2 commits May 16, 2026 01:24
setup-dotnet cache: true requires packages.lock.json which SkiaSharp
doesn't use. Replace with explicit actions/cache for ~/.nuget/packages
using the same key as package_cache (VERSIONS.txt + shared.cake).

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Use USERPROFILE env var instead of ~ which doesn't expand reliably
on Windows GitHub Actions runners.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@learn-build-service-prod
Copy link
Copy Markdown
Contributor

Learn Build status updates of commit 39c92c8:

✅ Validation status: passed

File Status Preview URL Details
.gitattributes ✅Succeeded
.github/aw/actions-lock.json ✅Succeeded
.github/workflows/auto-api-docs-writer.lock.yml ✅Succeeded
.github/workflows/auto-api-docs-writer.md ✅Succeeded

For more details, please refer to the build report.

@learn-build-service-prod
Copy link
Copy Markdown
Contributor

PoliCheck Scan Report

The following report lists PoliCheck issues in PR files. Before you merge the PR, you must fix all severity-1 and severity-2 issues. The AI Review Details column lists suggestions for either removing or replacing the terms. If you find a false positive result, mention it in a PR comment and include this text: #policheck-false-positive. This feedback helps reduce false positives in future scans.

✅ No issues found

More information about PoliCheck

Information: PoliCheck | Severity Guidance | Term
For any questions: Try searching the learn.microsoft.com contributor guides or post your question in the Learn support channel.

@learn-build-service-prod
Copy link
Copy Markdown
Contributor

Learn Build status updates of commit 9060297:

✅ Validation status: passed

File Status Preview URL Details
.gitattributes ✅Succeeded
.github/aw/actions-lock.json ✅Succeeded
.github/workflows/auto-api-docs-writer.lock.yml ✅Succeeded
.github/workflows/auto-api-docs-writer.md ✅Succeeded

For more details, please refer to the build report.

@learn-build-service-prod
Copy link
Copy Markdown
Contributor

PoliCheck Scan Report

The following report lists PoliCheck issues in PR files. Before you merge the PR, you must fix all severity-1 and severity-2 issues. The AI Review Details column lists suggestions for either removing or replacing the terms. If you find a false positive result, mention it in a PR comment and include this text: #policheck-false-positive. This feedback helps reduce false positives in future scans.

✅ No issues found

More information about PoliCheck

Information: PoliCheck | Severity Guidance | Term
For any questions: Try searching the learn.microsoft.com contributor guides or post your question in the Learn support channel.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant