Skip to content

[skia-sync] Merge upstream chrome/m151 bug fixes#4312

Merged
mattleibow merged 2 commits into
mainfrom
skia-sync/m151
Jul 2, 2026
Merged

[skia-sync] Merge upstream chrome/m151 bug fixes#4312
mattleibow merged 2 commits into
mainfrom
skia-sync/m151

Conversation

@mattleibow

Copy link
Copy Markdown
Contributor

Automated upstream bug-fix sync for m151.

Companion skia PR: mono/skia#278

[skia-sync] Merge upstream chrome/m151 bug fixes

Same-milestone (m151 → m151) bug-fix sync — bumps the externals/skia
submodule to the mono/skia PR head so we pick up the two new upstream
chrome/m151 commits (release-notes + CI-config only).

Pairs with the mono/skia PR: [skia-sync] Merge upstream chrome/m151
(head branch skia-sync/m151, target skiasharp).

Breaking change analysis

None. Upstream carried only:

  • RELEASE_NOTES.md — promoted three relnotes/*.md bullets under a
    "Milestone 151" heading. These describe already-shipped m151 APIs
    (PrecompileContext::containsExternalFormat, SkPngRustEncoder::Options
    fGainmap/fGainmapInfo, SkStrikeRef::getWidthsStrided) — none of
    which are exposed through our C API, so there is nothing to bind here.
  • infra/bots/{jobs,tasks}.json — Skia CI try-job filtering.

No C++ headers, source files, BUILD.gn, or DEPS changed.

Version / binding updates

Because CURRENT == TARGET == 151, this is a bug-fix-only sync:

File Change
cgmanifest.json commitHash e1be35b25f…205c36a8af…; upstream_merge_commit 79e2e1538e…1536d39750…
externals/skia submodule pointer bumped to 205c36a8afdb8504a6bdaa602996b44a6b1bcc70 (the mono/skia merge commit on skia-sync/m151)

Not touched (as expected for a same-milestone sync):

  • scripts/VERSIONS.txt (milestone/soname/nuget versions unchanged)
  • scripts/azure-templates-variables.yml (SKIASHARP_VERSION unchanged)
  • externals/skia/include/c/sk_types.h (SK_C_INCREMENT still 0)
  • binding/SkiaSharp/SkiaApi.generated.cs (regenerated → identical output)
  • Any *.generated.cs, binding/**/*.cs, or documentation/**

The Phase 6 script (update-versions.ps1 -Current 151 -Target 151 -UpstreamRef chrome/m151) exited with ✅ GATE PASSED — same-milestone sync, version numbers unchanged.

C# changes

None. Phase 8's regenerate step reported:

--- Binding diff summary ---
  No changes to bindings (C API signatures unchanged)

--- New generated functions (may need C# wrappers) ---
  No new functions found

Phase 9 is therefore a no-op — no wrappers needed.

Build / test results (Linux x64)

Phase Command Result
7 dotnet cake --target=externals-linux --arch=x64 ✅ 15m 27s, libSkiaSharp.so.151.0.0 + libHarfBuzzSharp.so.0.61421.0 produced
8 pwsh .agents/skills/update-skia/scripts/regenerate-bindings.ps1 ✅ No binding diff
10 (C# build) dotnet build binding/SkiaSharp/SkiaSharp.csproj ✅ 0 warnings, 0 errors
10 (tests) dotnet test tests/SkiaSharp.Tests.Console/SkiaSharp.Tests.Console.csproj Passed 5584, Failed 0, Skipped 172 (2m 38s, net10.0|x64)

Full test log is uploaded as the test-output.txt workflow artifact.
Only Linux x64 was built here (workflow constraint); other platforms
(Windows/macOS/iOS/Android/WASM) will be exercised by CI on the PR.

Items needing human attention

None. The sync is limited to metadata; there are no risky surface changes
and every gate passed on the first attempt.

Created by skia-upstream-sync.

Same-milestone (m151) sync — pull upstream release-notes and CI-config
updates onto our mono/skia fork. No C++/C API source changes, no binding
regeneration deltas, no version bumps.

Upstream commits merged:
* 1536d39750 Merge 3 release notes into RELEASE_NOTES.md
* ac3c0d3fcd Filter unsupported CQ try jobs on chrome/m151

Verification:
* Native build (linux/x64): OK
* C# build: OK, 0 errors
* Full test suite: Passed 5584, Failed 0, Skipped 172

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@github-actions

github-actions Bot commented Jul 2, 2026

Copy link
Copy Markdown
Contributor

📦 Try the packages from this PR

Warning

Do not run these scripts without first reviewing the code in this PR.

Step 1 — Download the packages

bash / macOS / Linux:

curl -fsSL https://raw.githubusercontent.com/mono/SkiaSharp/main/scripts/get-skiasharp-pr.sh | bash -s -- 4312

PowerShell / Windows:

iex "& { $(irm https://raw.githubusercontent.com/mono/SkiaSharp/main/scripts/get-skiasharp-pr.ps1) } 4312"

Step 2 — Add the local NuGet source

dotnet nuget add source ~/.skiasharp/hives/pr-4312/packages --name skiasharp-pr-4312
More options
Option Description
--successful-only / -SuccessfulOnly Only use successful builds
--force / -Force Overwrite previously downloaded packages
--list / -List List available artifacts without downloading
--build-id ID / -BuildId ID Download from a specific build

Or download manually from Azure Pipelines — look for the nuget artifact on the build for this PR.

Remove the source when you're done:

dotnet nuget remove source skiasharp-pr-4312

@github-actions

github-actions Bot commented Jul 2, 2026

Copy link
Copy Markdown
Contributor

📖 Documentation Preview

The documentation for this PR has been deployed and is available at:

🔗 View Staging Site
🔗 View Staging Docs
🔗 View Staging Gallery (Blazor)
🔗 View Staging Gallery (Uno Platform)
🔗 View Staging SkiaFiddle

This preview will be updated automatically when you push new commits to this PR.


This comment is automatically updated by the documentation staging workflow.

@mattleibow
mattleibow marked this pull request as ready for review July 2, 2026 18:49
The mono/skia PR #278 ([skia-sync] Merge upstream chrome/m151) has merged,
producing squash-merge commit 98877992a585 on the skiasharp branch. Advance
the submodule gitlink and the cgmanifest 'Main Skia repository reference'
commitHash from the pre-merge PR-branch commit 205c36a8afdb to that tip.

upstream_merge_commit stays at 1536d3975057 (the upstream chrome/m151 tip that
was merged) and chrome_milestone stays 151 — neither changes for a merge that
only advances our own skiasharp branch SHA.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
@mattleibow
mattleibow merged commit e00fa55 into main Jul 2, 2026
5 of 6 checks passed
@mattleibow
mattleibow deleted the skia-sync/m151 branch July 2, 2026 22:28
mattleibow pushed a commit that referenced this pull request Jul 3, 2026
Brings in the 7 commits that landed on main after this sync branch was
originally cut (yesterday's automated main-tip run):
- e00fa55 [skia-sync] Merge upstream chrome/m151 bug fixes (#4312)
- a1ecb75 docs: regenerate API diffs and polish release notes (#4322)
- 1c49b4a Remove unnecessary 'unsafe' modifier from GRContextOptions (#3991)
- 2d15749 Update docs submodule to latest main (#4304)
- 7356c75 [docs-site] Skip PR staging previews for non-site file changes (#4321)
- a95cc35 [docs-site] Add 'Moving faster with AI' dashboard to the AI page (#4318)
- 72ce599 [infra] Remove obsolete skiasharp-docker registry auth (#4310)

Conflicts resolved:
- cgmanifest.json: took origin/main (will be overwritten by
  update-versions.ps1 in the next commit with the new sync SHAs).
- externals/skia: took ours (90a2d04943 is a descendant of 98877992a5
  from PR #4312 via the corresponding submodule merge PR #278).
- docs submodule pointer: took origin/main (b64a0266c from PR #4304).

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@mattleibow mattleibow added the type/milestone-sync Any Skia upstream sync PR (milestone bump, same-milestone bug-fix re-sync, or tip sync). label Jul 3, 2026
@mattleibow mattleibow added the partner/agentic-workflows Issues and PRs created by SkiaSharp agentic workflows. label Jul 11, 2026
@mattleibow mattleibow added this to the 4.151.0-preview.2 milestone Jul 22, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

partner/agentic-workflows Issues and PRs created by SkiaSharp agentic workflows. type/milestone-sync Any Skia upstream sync PR (milestone bump, same-milestone bug-fix re-sync, or tip sync).

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

1 participant