Go Live: publish latest API docs#171
Conversation
Full workflow that checks out mono/SkiaSharp at a configurable branch, installs GTK# 2 MSI, and runs Cake doc generation targets. Supports a skiasharp-branch parameter to generate docs from any SkiaSharp branch. Schedule: daily at 6 AM UTC, plus manual workflow_dispatch. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Add daily API docs update workflow
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Manual workflow_dispatch that creates a PR from main to live. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Stub regeneration is now handled by the auto-api-docs-writer agentic workflow in mono/SkiaSharp, which runs on Windows and also fills in 'To be added.' placeholders with AI-generated documentation. See: mono/SkiaSharp#3918 Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Add auto-merge workflow for docs PRs based on Learn Build statuses Validates automation/write-api-docs PRs by checking GitHub commit statuses (OpenPublishing.Build + PoliCheck Scan) and comparing build warnings against a known baseline. Merges when clean, comments when blocked. Starts in dry-run mode (DRY_RUN: true) — flip to false to go live. Security hardened: baseline read from main (not PR branch), merge pinned to validated SHA, required statuses enforced, fail-closed on schema changes, URL allowlist, no shell interpolation of event data. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Filter status events to state=='success' in the job condition. Eliminates runs for pending/error/failure states. The workflow now only comments/merges once ALL required statuses are green. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Add 20 new expected xref-not-found warnings introduced by the documentation fill PR: - GTKExtensions.xml: +6 Gdk.RGBA, +1 Gdk.Rectangle, +3 Graphene.Point, +3 Graphene.Point3D, +3 Graphene.Rect, +3 Graphene.Size - SKPathBuilder.xml: +1 SkiaSharp.SKPathBuilder.Dispose (new file) Baseline: 63 → 64 unique rows, 120 → 140 total. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Triggering on both OpenPublishing.Build and PoliCheck Scan causes duplicate comments — both fire at roughly the same time and both find all required statuses green. Fix: trigger only on OpenPublishing.Build (which carries the build report URL we need). PoliCheck is still verified as a required status inside the script — it just doesn't trigger a separate run. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
The failure comment now shows specific context: - Validation failures: shows the check reason and warnings detail - Merge failures: shows the gh error (e.g. 'not up to date') - Both can appear together since they're not mutually exclusive Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Auto-merged after Learn Build validation passed (all checks green, no new warnings).
Auto-merged after Learn Build validation passed (all checks green, no new warnings).
This reverts commit 35b69a2.
This reverts commit 9a1c863.
The squash merge subject was hardcoded without the PR number, making it hard to trace commits back to their source PR in git log. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Auto-merged after Learn Build validation passed (all checks green, no new warnings).
Add automated API docs writer workflow (#92) Context: mono/SkiaSharp#4024 Context: mono/SkiaSharp#4025 Introduces a gh-aw agentic workflow that fills "To be added." placeholders in the XML API documentation. The workflow lives in this repo (not SkiaSharp) so `create-pull-request` safe output works with the default GITHUB_TOKEN — no custom PATs needed. Pipeline: 1. regenerate-stubs (Windows) — runs mdoc against latest CI NuGets 2. pre-agent — extracts placeholder JSON + manifest via docs-tool.ps1 3. agent — 1 writer fills ~800 fields, 3 reviewers validate in parallel (factual, quality, code-refs), orchestrator fixes issues 4. post-step — formats XML with `dotnet cake --target=docs-format-docs` 5. safe-outputs — opens PR against main Architecture chosen after A/B testing 10 runs across 4 configurations. The 1-writer + 3-reviewer setup matches 2-writer wall-clock time (~20 min) while using 40% fewer tokens (~9M ET vs ~12M ET). Reviewers maintain 0 false positives and catch 3–11 real issues per batch. The workflow accepts a `skiasharp_branch` input parameter on manual dispatch for testing against feature branches before they merge. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Co-authored-by: Matthew Leibowitz <mattleibow@live.com>
Prevents intermediate work files (e.g. output/docs-work/*.json) from being accidentally committed by automation agents. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
…on (#116) [workflow] Move extraction to gen job and fix agent session termination (#116) Context: #115 Companion: mono/SkiaSharp#4030 The automated docs writer workflow had two classes of failure: 1. Extraction ran inside the agent container, meaning it was non-deterministic and couldn't serve as an immutable baseline for auditing what the agent changed. 2. The orchestrator agent launched background sub-agents, printed "Waiting for them to complete" in text, and ended its turn with no active tool call. The Copilot CLI runtime interpreted this as "agent is done" and terminated the session — losing all work. This happened in 2 of 5 pre-fix runs (40% failure rate). Workflow changes: * Move placeholder extraction into the `regenerate-stubs` job (Windows, mechanical, deterministic) * Upload `docs-extracted` artifact (7-day retention) as immutable baseline * Pre-agent step copies original JSON to `/tmp/gh-aw/agent/docs-work-original/` * Post-step copies final JSON to `/tmp/gh-aw/agent/docs-work-final/` * Both directories upload as part of the agent artifact for diffing Prompt hardening (session termination fix): * Require `read_agent(wait=true)` in the SAME response as agent launch * Document multi-agent sequential pattern (read each agent in turn) * Explicitly forbid "launch → text → end turn" pattern * Add budget fallback: skip Phase 5 if past 10 minutes without merge * Add COMPLETION GATE: session cannot end without `create_pull_request` or `noop` Post-fix validation: 3/3 runs succeeded (100%), all producing PRs. Co-authored-by: Matthew Leibowitz <mattleibow@live.com> Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Regenerated from the latest build output (SkiaSharp 4.150, HarfBuzzSharp 14.2) using the cleaned-up docs-format-docs pipeline: - Collapse from the old multi-version monikers (skiasharp-2.80 ... -4.147) to a single latest-only moniker per family (10 monikers total). - Collapse <AssemblyVersion> history to latest-only. - Drop docs for types/packages no longer built (Forms/UWP/watchOS views, GRBackendRenderTargetDesc, etc.), their ns-*.xml stubs, and stale index.xml <Assembly>/<Namespace> entries. Preserve the global ns-.xml stub. - Manually remove the one stale lingering member mdoc left behind (SKMatrix44.MapScalars(float,float,float,float), demoted public->internal). Net: 487 files, +9,496 / -93,247. Re-running the pipeline on this output is a no-op (idempotent). Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Reset frameworks docs baseline to Windows-generated output (#142) Context: previous baseline #141 (regenerated on macOS) Depends-on: mono/SkiaSharp#4197 Generated-by: Auto API Docs Writer run 27798680653 (windows-latest) The prior baseline (#141) was regenerated on macOS, which corrupted the frameworks docs in two ways and made every later Windows run churn past the writer's 100-file PR cap: - A moniker filename collision in docs.cake let the GL-less MacCatalyst SkiaSharp.Views.iOS.dll clobber the richer net-iOS build, so mdoc --delete removed the real iOS GL types (SKGLView, SKGLLayer, SKPaintGLSurfaceEventArgs). Fixed upstream in mono/SkiaSharp#4197. - The macOS mono mdoc omitted [Nullable]/[NullableContext]/[IsReadOnly] attributes that the Windows mdoc.exe emits, and it stripped member structure. Each subsequent Windows regen re-added all of it, overflowing the create-pull-request file cap and blocking the docs pipeline. mdoc.exe is .NET Framework, so Windows is the only supported generation environment. This resets the baseline to the windows-latest CI output (aligned to current main, built with the #4197 fix) so future auto-api-docs-writer runs produce small, reviewable diffs. Changes (93 files): - Restore the iOS GL API docs dropped by the collision. - Normalize [Nullable]/[NullableContext]/[IsReadOnly] attributes to the Windows output. - Restore member structure stripped by the macOS regen (e.g. SKPaint grew from 1063 to 4388 lines). - Remove stale SkiaSharp.Views.Blazor.Internal ActionHelper and FloatFloatActionHelper docs; both types are guarded by #if !NET7_0_OR_GREATER and no longer exist in the shipped net7+ packages. No authored prose is lost: of 3140 written summary/remarks strings on main, the only 4 removed belong to the two deleted internal helper types. HarfBuzzSharp/HBColor.xml and SkiaSharp/SKWebpEncoderOptions.xml are deliberately left at their main content so the next generation run visibly re-processes them — proving the writer fills "To be added." placeholders (HBColor) and that structural regen re-adds attributes while preserving existing prose (SKWebpEncoderOptions). Co-authored-by: Matthew Leibowitz <mattleibow@live.com> Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
[CI] Run API-docs stub regeneration on Linux via Mono (#147) Two related changes to the auto-api-docs-writer workflow: flip the regenerate-stubs job to Linux, and stop the writer from running on pull requests. ~~ Move regenerate-stubs from Windows to Linux ~~ This job was the last non-Linux job across the SkiaSharp + SkiaSharp-API-docs doc pipeline; with it flipped, the entire two-repo pipeline runs on Linux, matching the local Docker image and the SkiaSharp-side CI. The job only used Windows because mdoc.exe is a .NET Framework tool, but that requirement no longer holds: * mdoc.exe runs fine under Mono, and SkiaSharp's docs.cake already invokes it via `mono`. * The managed GTK# reference assemblies mdoc needs come from NuGet via the cake comparer (passed as --lib paths), so no system GTK# install is required — the Windows GTK# 2 MSI download/install was redundant. So Mono (mono-complete via apt) is the only added dependency. The job now calls the shared scripts/infra/docs/generate-api-docs.sh entry point instead of `dotnet cake --target=update-docs`, uses global.json for the SDK and Linux-style nuget cache paths, and drops the now-redundant `dotnet tool restore` and docs-download-output steps. Proven locally end-to-end on Linux (Docker, dotnet10 + mono-complete) against this repo's stub tree: it correctly pruned the orphaned net6-only type files (ActionHelper, FloatFloatActionHelper) and added the newer [Nullable] attributes, and two consecutive runs produced byte-identical output (hash ec15190a) — so the job is both correct and idempotent on Linux. Prerequisite: the companion mono/SkiaSharp#4200, which adds scripts/infra/docs/generate-api-docs.sh, has merged to main, so the checked-out SkiaSharp tree now has the script. ~~ Drop the pull_request trigger ~~ The writer is a full agentic workflow: it regenerates stubs, fills placeholders with AI, and opens a PR via gh-aw safe-outputs. When a PR edits this workflow, the writer fires on that PR and then fails, because safe-outputs refuses to create a PR that touches protected workflow files (protect_top_level_dot_folders: true) — surfacing as a red safe_outputs check on this very PR. Removing the pull_request trigger stops the writer running on PRs; push:[main] still validates workflow edits after they land, and workflow_dispatch + schedule are unaffected. Recompiled .lock.yml via `gh aw compile` for both commits. Supersedes #144, which gh-aw's recreate_ref:true auto-closed when a run was dispatched on its branch; moved to the dedicated ci/linux-mdoc-regenerate-stubs branch so the agentic placeholder-fill PRs reusing dev/linux-mdoc-regenerate-stubs (e.g. #145) can't collide with it. Co-authored-by: Matthew Leibowitz <mattleibow@live.com> Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* docs: fill placeholder documentation for SkiaSharp and HarfBuzzSharp APIs
Fill all 'To be added.' placeholder fields across 33 XML documentation files
covering 1021 fields.
Types documented:
- HarfBuzzSharp: Face (variation/palette/color APIs), Font (variation coords),
HBColor (BGRA struct, operators, conversions)
- SkiaSharp: GRContext (Flush overloads), GRVkYcbcrComponents,
GRVkYcbcrConversionInfo, GrVkYcbcrConversionInfo (deprecated),
SKCanvas (DrawBitmap/DrawSurface/DrawText overloads), SKColorType (new values),
SKColorspace{Primaries,TransferFn}Cicp (CICP enums), SKDocument (CreateXps),
SKDocumentXpsOptions, SKFontArguments (ref struct), SKFontPaletteOverride,
SKFontVariationAxis, SKFontVariationPositionCoordinate, SKFourByteTag,
SKMaskFilter (CreateShader), SKPaint (GetFillPath builder overloads),
SKPath (Handle), SKPathBuilder (full API, 51 members), SKPathMeasure,
SKStream (GetData), SKSurface (Draw), SKTypeface (Clone/variation APIs),
SKWebpEncoder (Encode/EncodeAnimated), SKWebpEncoderFrame
- SkiaSharp.HarfBuzz: ColorExtensions (color conversion methods)
- SkiaSharp.Views.*: SKGLControl constructors, GTKExtensions, SKDrawingArea,
_Imports, SKGLSurfaceViewRenderer
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* Format and clean up documentation XML files
Remove obsolete API members and apply formatting cleanup
to documentation XML files.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
---------
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* [docs] Fix broken API doc cross-references Correct 16 dangling <see>/<value> cross-references that the AED documentation-fill PRs (#150, #151) left pointing at removed, renamed, or mistyped SkiaSharp members. Removes the resulting docfx xref-not-found warnings. ECMA-XML prose only; no mdoc regeneration. - SKColorTable.MaxLength -> SKColorFilter.TableMaxLength (type removed) - SKCodec.Origin -> SKCodec.EncodedOrigin (renamed) - SKSurfaceProps -> SKSurfaceProperties (renamed) - GrVkYcbcrConversionInfo -> GRVkYcbcrConversionInfo (casing) - SKPathVerb.Close: E: -> F: (enum field, wrong prefix) - SKFontStyleWeight/Width: F: -> T: (type, wrong prefix) - *.Empty (SKMatrix, SKPoint, SKColorSpaceXyz, SKColorSpaceTransferFn): P: -> F: - SKMatrix44 Create* remarks: drop references to removed Set* instance methods Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * [docs] Repoint removed 3-arg SKPath.Iterator.Next cref to 1-arg overload Learn build validation on the docs flagged M:SkiaSharp.SKPath.Iterator.Next(SkiaSharp.SKPoint[],System.Boolean,System.Boolean) as xref-not-found. The 3-arg overload was removed upstream; SKPath.Iterator now exposes only Next(SKPoint[]) and Next(Span<SKPoint>) (verified against binding/SkiaSharp/SKPath.cs and the SKPath+Iterator.xml member list). Repoint all 10 occurrences (3 in SKPath+Iterator.xml, 7 in SKPathVerb.xml) to M:SkiaSharp.SKPath.Iterator.Next(SkiaSharp.SKPoint[]). Sibling RawIterator.Next(SKPoint[]) crefs are valid and left unchanged. This was missed initially because the xref scan matched on type+method name and ignored the overload signature; the scan now requires exact full-DocId matches, and a strict whole-repo re-audit confirms zero remaining internal dangling crefs. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * [docs] Fix hidden broken GRVkFilter cref masked by case-insensitive FS The ChromaFilter property doc in the legacy GrVkYcbcrConversionInfo struct referenced a type that does not exist — `<see cref="T:SkiaSharp.GRVkFilter"/>`. ChromaFilter is a plain `uint` holding a raw Vulkan `VkFilter` value; there is no GRVkFilter type in the docs corpus or the SkiaSharp API, so docfx emits an xref-not-found warning. The modern GRVkYcbcrConversionInfo struct already documents the same field correctly as a raw `<c>VkFilter</c>` value; mirror it. This dangling cref was missed by the prior xref sweep because the repo contains a case-collision pair — GRVkYcbcrConversionInfo.xml (modern) and GrVkYcbcrConversionInfo.xml (legacy) differ only by case. On a case-insensitive filesystem only one of the two physically checks out, so a working-tree glob silently drops the shadowed legacy file. Staged via git plumbing so the fix lands on the legacy blob without materializing both colliding paths on disk. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * [docs] Drop obsolete GrVkYcbcrConversionInfo page to fix case-collision The legacy [Obsolete("Use GRVkYcbcrConversionInfo instead.")] forwarder struct GrVkYcbcrConversionInfo (lowercase-r) and the modern GRVkYcbcrConversionInfo (uppercase-R) differ only by one letter's case. mdoc documents both soft-obsolete types, producing two ECMA-XML files whose names collide on a case-insensitive filesystem (the Learn / OpenPublishing build). One file shadows the other, so crefs to the shadowed type fail with "Cross reference not found: 'SkiaSharp.GRVkYcbcrConversionInfo'". PR #152 repointed GRVkImageInfo.xml from the wrong lowercase casing to the real uppercase type; that correct fix exposed this latent collision (the GR page is the one shadowed). Rather than revert the casing, remove the collision at its source: stop publishing the obsolete forwarder's page. The legacy type only forwards to the modern one via two implicit conversion operators. - Delete SkiaSharpAPI/SkiaSharp/GrVkYcbcrConversionInfo.xml (T:SkiaSharp.GrVkYcbcrConversionInfo) via the index, leaving the modern GRVkYcbcrConversionInfo.xml blob untouched. - Remove its <Type> block from SkiaSharpAPI/FrameworksIndex/skiasharp.xml. - Remove its entry from SkiaSharpAPI/index.xml. No surviving file references T:SkiaSharp.GrVkYcbcrConversionInfo; the modern GRVkYcbcrConversionInfo page is kept and now resolves cleanly. A companion generator-side exclusion is being added in mono/SkiaSharp scripts/infra/docs/docs.cake so mdoc won't regenerate the page. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Re-trigger OpenPublishing build The previous build failed on a transient infrastructure error (restore-template-repository-failed: could not clone Microsoft/templates.docs.msft#main); all changed files validated Succeeded with zero cross-reference errors. Empty commit to re-run. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --------- Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
|
Learn Build status updates of commit 290d0ae: ❌ Validation status: errorsPlease follow instructions here which may help to resolve issue.
For more details, please refer to the build report. Note: Your PR may contain errors or warnings or suggestions unrelated to the files you changed. This happens when external dependencies like GitHub alias, Microsoft alias, cross repo links are updated. Please use these instructions to resolve them. |
…, thin trigger (#155) Harden auto-api-docs-writer: single Opus 4.7 agent, branch-safe clone, thin trigger (#155) Context: runs the api-docs skill from mono/SkiaSharp#4242 (skill is the source of truth) Hardens and simplifies the `auto-api-docs-writer` agentic (gh-aw) workflow so it reliably formats, fills, reviews, and opens a PR for API docs without clobbering branches or duplicating the docs tree. The workflow now carries only gh-aw wiring; the how-to-write-docs procedure lives in the skill. ~~ Single agent on Opus 4.7 ~~ engine.model -> claude-opus-4.7, and one agent does add + review + fix + validate + PR. The gh-aw sandbox does not honor per-sub-agent model routing (the task tool's model param is not plumbed to the API call — verified via the api-proxy token-usage log), so the multi-agent fan-out only added complexity and a no-PR failure mode when a terminal "fixer" sub-agent was backgrounded at end of turn. ~~ Branch safety and clone hygiene ~~ The host prepares a dedicated throwaway PR branch before the agent runs, so the agent never commits on (and recreate_ref never clobbers) the dispatch ref. The SkiaSharp clone uses --no-recurse-submodules + rm -rf + a file-count assertion and echoes the resolved HEAD, and the docs-tree symlink duplication is eliminated (workspace == linked) so the lint scans each file once. Git is quieted in the agent run. ~~ Configurable refs ~~ Adds workflow_dispatch inputs skiasharp_branch (where the skill lives), docs_base_branch (default main), and docs_head_branch (default automation/write-api-docs). The primary checkout and stub regeneration both pin to docs_base_branch (via FETCH_HEAD, so arbitrary/shallow branches work) and the PR targets it — keeping base, working tree, and stubs in agreement instead of reviewing the wrong base when dispatched on a feature branch. ~~ Cleanup ~~ Slims the workflow to a thin trigger, removes the stale review_scope input and the obsolete-in-example prompt line that the skill no longer collects, points skill references at the collapsed layout, and unstages generated files (index.xml, ns-*.xml, _filter.xml, FrameworksIndex/) that stub regeneration rewrites so they stay out of the PR. Validated on CI: two consecutive runs produced clean PRs (#168, #169) — dedup held, host gate 0 errors, agent ran format-first / source-first / three reviewers / no build, and MS Learn OpenPublishing reported Errors:0. Co-authored-by: Matthew Leibowitz <mattleibow@live.com> Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
|
Learn Build status updates of commit 60e95d4: ❌ Validation status: errorsPlease follow instructions here which may help to resolve issue.
For more details, please refer to the build report. Note: Your PR may contain errors or warnings or suggestions unrelated to the files you changed. This happens when external dependencies like GitHub alias, Microsoft alias, cross repo links are updated. Please use these instructions to resolve them. |
The previous Go Live PR (#66) was squash-merged into `live`, which broke the shared history between `main` and `live` and caused 188 conflicting files in PR #171. This merge commit reconnects the two histories. It merges `live` into `main` while keeping `main`'s tree verbatim (main is the source of truth for the generated API docs). No file contents on `main` change; this only restores the common ancestry so PR #171 (main -> live) becomes a clean fast-forward and future Go Live merges stop conflicting. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
PoliCheck Scan ReportThe 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 foundMore information about PoliCheckInformation: PoliCheck | Severity Guidance | Term |
|
Learn Build status updates of commit 5af8ede:
|
…, SKPaint text props) (#173) Resolve 36 xref-not-found build warnings caused by dangling <xref:> links in 2019-era hand-written remarks that point at members removed/relocated by the latest-only-monikers regeneration (#141). - Group 1 (24): remove obsolete pre-v1.68 DrawInSurface [!NOTE] blocks from the Apple Mac/iOS/tvOS SKCanvasLayer/SKCanvasView/SKGLLayer/SKGLView views. - Group 2 (4): drop obsolete ISKRenderer/SetRenderer [!NOTE] blocks from the Android SKGLSurfaceView/SKGLTextureView; surrounding prose already documents the modern OnPaintSurface/PaintSurface pattern. - Group 3 (4): repoint SKTypeface remarks from removed SKPaint text properties (TextSize/TextSkewX/TextScaleX/FakeBoldText) to their SKFont equivalents (Size/SkewX/ScaleX/Embolden) and fix the surrounding sentence. Unblocks Go Live PR #171. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
|
Learn Build status updates of commit 392f495:
|
PoliCheck Scan ReportThe 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 foundMore information about PoliCheckInformation: PoliCheck | Severity Guidance | Term |
Filled "To be added." placeholders for 8 new members across SKColorFilter, SKImageFilter, SKPaint, and SKSurface. Fixed 23 deterministic lint findings: 17 accessor-verb mismatches, 4 repeated-word defects, 1 spelling, and 1 invalid <see cref> missing the T: prefix. Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Co-authored-by: Matthew Leibowitz <mattleibow@live.com>
|
Learn Build status updates of commit b64a026:
|
PoliCheck Scan ReportThe 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 foundMore information about PoliCheckInformation: PoliCheck | Severity Guidance | Term |
Merge
mainintoliveto publish the latest API documentation.