Skip to content

DrawingCanvas API: Replace imperative extension methods with stateful canvas-based drawing model #769

DrawingCanvas API: Replace imperative extension methods with stateful canvas-based drawing model

DrawingCanvas API: Replace imperative extension methods with stateful canvas-based drawing model #769

Triggered via pull request March 10, 2026 14:23
Status Success
Total duration 3m 28s
Artifacts

build-and-test.yml

on: pull_request
Matrix: Build
Publish
Publish
Fit to window
Zoom out
Zoom in

Annotations

90 warnings
Build (ubuntu-latest, net8.0, 8.0.x, -x64, false): tests/ImageSharp.Drawing.Tests/Processing/RasterizerDefaultsExtensionsTests.cs#L62
The annotation for nullable reference types should only be used in code within a '#nullable' annotations context.
Build (ubuntu-latest, net8.0, 8.0.x, -x64, false): tests/ImageSharp.Drawing.Tests/Processing/DrawingCanvasTests.Process.cs#L201
The annotation for nullable reference types should only be used in code within a '#nullable' annotations context.
Build (ubuntu-latest, net8.0, 8.0.x, -x64, false): tests/ImageSharp.Drawing.Tests/Processing/DrawingCanvasTests.Process.cs#L181
The annotation for nullable reference types should only be used in code within a '#nullable' annotations context.
Build (ubuntu-latest, net8.0, 8.0.x, -x64, false): tests/ImageSharp.Drawing.Tests/Processing/DrawingCanvasTests.Process.cs#L173
The annotation for nullable reference types should only be used in code within a '#nullable' annotations context.
Build (ubuntu-latest, net8.0, 8.0.x, -x64, false): tests/ImageSharp.Drawing.Tests/Processing/DrawingCanvasTests.Process.cs#L171
The annotation for nullable reference types should only be used in code within a '#nullable' annotations context.
Build (ubuntu-latest, net8.0, 8.0.x, -x64, false): tests/ImageSharp.Drawing.Tests/TestFormat.cs#L179
The annotation for nullable reference types should only be used in code within a '#nullable' annotations context.
Build (ubuntu-latest, net8.0, 8.0.x, -x64, false): tests/ImageSharp.Drawing.Tests/TestFileSystem.cs#L41
The annotation for nullable reference types should only be used in code within a '#nullable' annotations context.
Build (ubuntu-latest, net8.0, 8.0.x, -x64, false): tests/ImageSharp.Drawing.Tests/TestUtilities/TestEnvironment.cs#L26
The behavior of 'string.StartsWith(string)' could vary based on the current user's locale settings. Replace this call in 'SixLabors.ImageSharp.Drawing.Tests.TestEnvironment.IsFramework.get' with a call to 'string.StartsWith(string, System.StringComparison)'. (https://learn.microsoft.com/dotnet/fundamentals/code-analysis/quality-rules/ca1310)
Build (ubuntu-latest, net10.0, 10.0.x, true, -x64, false): tests/ImageSharp.Drawing.Tests/Processing/DrawingCanvasTests.Process.cs#L201
The annotation for nullable reference types should only be used in code within a '#nullable' annotations context.
Build (ubuntu-latest, net10.0, 10.0.x, true, -x64, false): tests/ImageSharp.Drawing.Tests/Processing/DrawingCanvasTests.Process.cs#L181
The annotation for nullable reference types should only be used in code within a '#nullable' annotations context.
Build (ubuntu-latest, net10.0, 10.0.x, true, -x64, false): tests/ImageSharp.Drawing.Tests/Processing/DrawingCanvasTests.Process.cs#L173
The annotation for nullable reference types should only be used in code within a '#nullable' annotations context.
Build (ubuntu-latest, net10.0, 10.0.x, true, -x64, false): tests/ImageSharp.Drawing.Tests/Processing/DrawingCanvasTests.Process.cs#L171
The annotation for nullable reference types should only be used in code within a '#nullable' annotations context.
Build (ubuntu-latest, net10.0, 10.0.x, true, -x64, false): tests/ImageSharp.Drawing.Tests/Processing/RasterizerDefaultsExtensionsTests.cs#L62
The annotation for nullable reference types should only be used in code within a '#nullable' annotations context.
Build (ubuntu-latest, net10.0, 10.0.x, true, -x64, false): tests/ImageSharp.Drawing.Tests/TestFormat.cs#L179
The annotation for nullable reference types should only be used in code within a '#nullable' annotations context.
Build (ubuntu-latest, net10.0, 10.0.x, true, -x64, false): tests/ImageSharp.Drawing.Tests/TestFileSystem.cs#L41
The annotation for nullable reference types should only be used in code within a '#nullable' annotations context.
Build (ubuntu-latest, net10.0, 10.0.x, true, -x64, false): tests/ImageSharp.Drawing.Tests/TestUtilities/TestEnvironment.cs#L26
The behavior of 'string.StartsWith(string)' could vary based on the current user's locale settings. Replace this call in 'SixLabors.ImageSharp.Drawing.Tests.TestEnvironment.IsFramework.get' with a call to 'string.StartsWith(string, System.StringComparison)'. (https://learn.microsoft.com/dotnet/fundamentals/code-analysis/quality-rules/ca1310)
Build (ubuntu-22.04-arm, net8.0, 8.0.x, -x64, false): tests/ImageSharp.Drawing.Tests/Processing/RasterizerDefaultsExtensionsTests.cs#L62
The annotation for nullable reference types should only be used in code within a '#nullable' annotations context.
Build (ubuntu-22.04-arm, net8.0, 8.0.x, -x64, false): tests/ImageSharp.Drawing.Tests/Processing/DrawingCanvasTests.Process.cs#L201
The annotation for nullable reference types should only be used in code within a '#nullable' annotations context.
Build (ubuntu-22.04-arm, net8.0, 8.0.x, -x64, false): tests/ImageSharp.Drawing.Tests/Processing/DrawingCanvasTests.Process.cs#L181
The annotation for nullable reference types should only be used in code within a '#nullable' annotations context.
Build (ubuntu-22.04-arm, net8.0, 8.0.x, -x64, false): tests/ImageSharp.Drawing.Tests/Processing/DrawingCanvasTests.Process.cs#L173
The annotation for nullable reference types should only be used in code within a '#nullable' annotations context.
Build (ubuntu-22.04-arm, net8.0, 8.0.x, -x64, false): tests/ImageSharp.Drawing.Tests/Processing/DrawingCanvasTests.Process.cs#L171
The annotation for nullable reference types should only be used in code within a '#nullable' annotations context.
Build (ubuntu-22.04-arm, net8.0, 8.0.x, -x64, false): tests/ImageSharp.Drawing.Tests/TestFormat.cs#L179
The annotation for nullable reference types should only be used in code within a '#nullable' annotations context.
Build (ubuntu-22.04-arm, net8.0, 8.0.x, -x64, false): tests/ImageSharp.Drawing.Tests/TestFileSystem.cs#L41
The annotation for nullable reference types should only be used in code within a '#nullable' annotations context.
Build (ubuntu-22.04-arm, net8.0, 8.0.x, -x64, false): tests/ImageSharp.Drawing.Tests/TestUtilities/TestEnvironment.cs#L26
The behavior of 'string.StartsWith(string)' could vary based on the current user's locale settings. Replace this call in 'SixLabors.ImageSharp.Drawing.Tests.TestEnvironment.IsFramework.get' with a call to 'string.StartsWith(string, System.StringComparison)'. (https://learn.microsoft.com/dotnet/fundamentals/code-analysis/quality-rules/ca1310)
Build (macos-26, net10.0, 10.0.x, true, -x64, false): tests/ImageSharp.Drawing.Tests/Processing/RasterizerDefaultsExtensionsTests.cs#L62
The annotation for nullable reference types should only be used in code within a '#nullable' annotations context.
Build (macos-26, net10.0, 10.0.x, true, -x64, false): tests/ImageSharp.Drawing.Tests/Processing/DrawingCanvasTests.Process.cs#L201
The annotation for nullable reference types should only be used in code within a '#nullable' annotations context.
Build (macos-26, net10.0, 10.0.x, true, -x64, false): tests/ImageSharp.Drawing.Tests/Processing/DrawingCanvasTests.Process.cs#L181
The annotation for nullable reference types should only be used in code within a '#nullable' annotations context.
Build (macos-26, net10.0, 10.0.x, true, -x64, false): tests/ImageSharp.Drawing.Tests/Processing/DrawingCanvasTests.Process.cs#L173
The annotation for nullable reference types should only be used in code within a '#nullable' annotations context.
Build (macos-26, net10.0, 10.0.x, true, -x64, false): tests/ImageSharp.Drawing.Tests/Processing/DrawingCanvasTests.Process.cs#L171
The annotation for nullable reference types should only be used in code within a '#nullable' annotations context.
Build (macos-26, net10.0, 10.0.x, true, -x64, false): tests/ImageSharp.Drawing.Tests/TestFormat.cs#L179
The annotation for nullable reference types should only be used in code within a '#nullable' annotations context.
Build (macos-26, net10.0, 10.0.x, true, -x64, false): tests/ImageSharp.Drawing.Tests/TestFileSystem.cs#L41
The annotation for nullable reference types should only be used in code within a '#nullable' annotations context.
Build (macos-26, net10.0, 10.0.x, true, -x64, false): tests/ImageSharp.Drawing.Tests/TestUtilities/TestEnvironment.cs#L26
The behavior of 'string.StartsWith(string)' could vary based on the current user's locale settings. Replace this call in 'SixLabors.ImageSharp.Drawing.Tests.TestEnvironment.IsFramework.get' with a call to 'string.StartsWith(string, System.StringComparison)'. (https://learn.microsoft.com/dotnet/fundamentals/code-analysis/quality-rules/ca1310)
Build (windows-latest, net10.0, 10.0.x, true, -x64, false): tests/ImageSharp.Drawing.Tests/Processing/RasterizerDefaultsExtensionsTests.cs#L62
The annotation for nullable reference types should only be used in code within a '#nullable' annotations context.
Build (windows-latest, net10.0, 10.0.x, true, -x64, false): tests/ImageSharp.Drawing.Tests/Processing/DrawingCanvasTests.Process.cs#L201
The annotation for nullable reference types should only be used in code within a '#nullable' annotations context.
Build (windows-latest, net10.0, 10.0.x, true, -x64, false): tests/ImageSharp.Drawing.Tests/Processing/DrawingCanvasTests.Process.cs#L181
The annotation for nullable reference types should only be used in code within a '#nullable' annotations context.
Build (windows-latest, net10.0, 10.0.x, true, -x64, false): tests/ImageSharp.Drawing.Tests/Processing/DrawingCanvasTests.Process.cs#L173
The annotation for nullable reference types should only be used in code within a '#nullable' annotations context.
Build (windows-latest, net10.0, 10.0.x, true, -x64, false): tests/ImageSharp.Drawing.Tests/Processing/DrawingCanvasTests.Process.cs#L171
The annotation for nullable reference types should only be used in code within a '#nullable' annotations context.
Build (windows-latest, net10.0, 10.0.x, true, -x64, false): tests/ImageSharp.Drawing.Tests/TestFormat.cs#L179
The annotation for nullable reference types should only be used in code within a '#nullable' annotations context.
Build (windows-latest, net10.0, 10.0.x, true, -x64, false): tests/ImageSharp.Drawing.Tests/TestFileSystem.cs#L41
The annotation for nullable reference types should only be used in code within a '#nullable' annotations context.
Build (windows-latest, net10.0, 10.0.x, true, -x64, false): tests/ImageSharp.Drawing.Tests/TestUtilities/TestEnvironment.cs#L26
The behavior of 'string.StartsWith(string)' could vary based on the current user's locale settings. Replace this call in 'SixLabors.ImageSharp.Drawing.Tests.TestEnvironment.IsFramework.get' with a call to 'string.StartsWith(string, System.StringComparison)'. (https://learn.microsoft.com/dotnet/fundamentals/code-analysis/quality-rules/ca1310)
Build (ubuntu-22.04-arm, net10.0, 10.0.x, true, -x64, false): tests/ImageSharp.Drawing.Tests/Processing/RasterizerDefaultsExtensionsTests.cs#L62
The annotation for nullable reference types should only be used in code within a '#nullable' annotations context.
Build (ubuntu-22.04-arm, net10.0, 10.0.x, true, -x64, false): tests/ImageSharp.Drawing.Tests/Processing/DrawingCanvasTests.Process.cs#L201
The annotation for nullable reference types should only be used in code within a '#nullable' annotations context.
Build (ubuntu-22.04-arm, net10.0, 10.0.x, true, -x64, false): tests/ImageSharp.Drawing.Tests/Processing/DrawingCanvasTests.Process.cs#L181
The annotation for nullable reference types should only be used in code within a '#nullable' annotations context.
Build (ubuntu-22.04-arm, net10.0, 10.0.x, true, -x64, false): tests/ImageSharp.Drawing.Tests/Processing/DrawingCanvasTests.Process.cs#L173
The annotation for nullable reference types should only be used in code within a '#nullable' annotations context.
Build (ubuntu-22.04-arm, net10.0, 10.0.x, true, -x64, false): tests/ImageSharp.Drawing.Tests/Processing/DrawingCanvasTests.Process.cs#L171
The annotation for nullable reference types should only be used in code within a '#nullable' annotations context.
Build (ubuntu-22.04-arm, net10.0, 10.0.x, true, -x64, false): tests/ImageSharp.Drawing.Tests/TestFormat.cs#L179
The annotation for nullable reference types should only be used in code within a '#nullable' annotations context.
Build (ubuntu-22.04-arm, net10.0, 10.0.x, true, -x64, false): tests/ImageSharp.Drawing.Tests/TestFileSystem.cs#L41
The annotation for nullable reference types should only be used in code within a '#nullable' annotations context.
Build (ubuntu-22.04-arm, net10.0, 10.0.x, true, -x64, false): tests/ImageSharp.Drawing.Tests/TestUtilities/TestEnvironment.cs#L26
The behavior of 'string.StartsWith(string)' could vary based on the current user's locale settings. Replace this call in 'SixLabors.ImageSharp.Drawing.Tests.TestEnvironment.IsFramework.get' with a call to 'string.StartsWith(string, System.StringComparison)'. (https://learn.microsoft.com/dotnet/fundamentals/code-analysis/quality-rules/ca1310)
Build (macos-26, net8.0, 8.0.x, -x64, true): tests/ImageSharp.Drawing.Tests/Processing/PenTests.cs#L302
The annotation for nullable reference types should only be used in code within a '#nullable' annotations context.
Build (macos-26, net8.0, 8.0.x, -x64, true): tests/ImageSharp.Drawing.Tests/Processing/PenTests.cs#L301
The annotation for nullable reference types should only be used in code within a '#nullable' annotations context.
Build (macos-26, net8.0, 8.0.x, -x64, true): tests/ImageSharp.Drawing.Tests/TestFileSystem.cs#L46
The annotation for nullable reference types should only be used in code within a '#nullable' annotations context.
Build (macos-26, net8.0, 8.0.x, -x64, true): tests/ImageSharp.Drawing.Tests/Processing/RasterizerDefaultsExtensionsTests.cs#L62
The annotation for nullable reference types should only be used in code within a '#nullable' annotations context.
Build (macos-26, net8.0, 8.0.x, -x64, true): tests/ImageSharp.Drawing.Tests/TestFormat.cs#L179
The annotation for nullable reference types should only be used in code within a '#nullable' annotations context.
Build (macos-26, net8.0, 8.0.x, -x64, true): tests/ImageSharp.Drawing.Tests/TestFileSystem.cs#L41
The annotation for nullable reference types should only be used in code within a '#nullable' annotations context.
Build (macos-26, net8.0, 8.0.x, -x64, true): tests/ImageSharp.Drawing.Tests/Processing/DrawingCanvasTests.Process.cs#L201
The annotation for nullable reference types should only be used in code within a '#nullable' annotations context.
Build (macos-26, net8.0, 8.0.x, -x64, true): tests/ImageSharp.Drawing.Tests/Processing/DrawingCanvasTests.Process.cs#L181
The annotation for nullable reference types should only be used in code within a '#nullable' annotations context.
Build (macos-26, net8.0, 8.0.x, -x64, true): tests/ImageSharp.Drawing.Tests/Processing/DrawingCanvasTests.Process.cs#L173
The annotation for nullable reference types should only be used in code within a '#nullable' annotations context.
Build (macos-26, net8.0, 8.0.x, -x64, true): tests/ImageSharp.Drawing.Tests/Processing/DrawingCanvasTests.Process.cs#L171
The annotation for nullable reference types should only be used in code within a '#nullable' annotations context.
Build (macos-26, net8.0, 8.0.x, -x64, true): tests/ImageSharp.Drawing.Tests/Processing/RasterizerDefaultsExtensionsTests.cs#L62
The annotation for nullable reference types should only be used in code within a '#nullable' annotations context.
Build (macos-26, net8.0, 8.0.x, -x64, true): tests/ImageSharp.Drawing.Tests/TestFormat.cs#L179
The annotation for nullable reference types should only be used in code within a '#nullable' annotations context.
Build (macos-26, net8.0, 8.0.x, -x64, true): tests/ImageSharp.Drawing.Tests/Processing/DrawingCanvasTests.Process.cs#L201
The annotation for nullable reference types should only be used in code within a '#nullable' annotations context.
Build (macos-26, net8.0, 8.0.x, -x64, true): tests/ImageSharp.Drawing.Tests/Processing/DrawingCanvasTests.Process.cs#L181
The annotation for nullable reference types should only be used in code within a '#nullable' annotations context.
Build (macos-26, net8.0, 8.0.x, -x64, true): tests/ImageSharp.Drawing.Tests/Processing/DrawingCanvasTests.Process.cs#L173
The annotation for nullable reference types should only be used in code within a '#nullable' annotations context.
Build (macos-26, net8.0, 8.0.x, -x64, true): tests/ImageSharp.Drawing.Tests/Processing/DrawingCanvasTests.Process.cs#L171
The annotation for nullable reference types should only be used in code within a '#nullable' annotations context.
Build (macos-26, net8.0, 8.0.x, -x64, true): tests/ImageSharp.Drawing.Tests/TestFileSystem.cs#L41
The annotation for nullable reference types should only be used in code within a '#nullable' annotations context.
Build (macos-26, net8.0, 8.0.x, -x64, true): tests/ImageSharp.Drawing.Tests/TestUtilities/TestEnvironment.cs#L26
The behavior of 'string.StartsWith(string)' could vary based on the current user's locale settings. Replace this call in 'SixLabors.ImageSharp.Drawing.Tests.TestEnvironment.IsFramework.get' with a call to 'string.StartsWith(string, System.StringComparison)'. (https://learn.microsoft.com/dotnet/fundamentals/code-analysis/quality-rules/ca1310)
Build (windows-latest, net8.0, 8.0.x, -x64, false): tests/ImageSharp.Drawing.Tests/TestFileSystem.cs#L46
The annotation for nullable reference types should only be used in code within a '#nullable' annotations context.
Build (windows-latest, net8.0, 8.0.x, -x64, false): tests/ImageSharp.Drawing.Tests/Processing/PenTests.cs#L302
The annotation for nullable reference types should only be used in code within a '#nullable' annotations context.
Build (windows-latest, net8.0, 8.0.x, -x64, false): tests/ImageSharp.Drawing.Tests/Processing/PenTests.cs#L301
The annotation for nullable reference types should only be used in code within a '#nullable' annotations context.
Build (windows-latest, net8.0, 8.0.x, -x64, false): tests/ImageSharp.Drawing.Tests/Processing/RasterizerDefaultsExtensionsTests.cs#L62
The annotation for nullable reference types should only be used in code within a '#nullable' annotations context.
Build (windows-latest, net8.0, 8.0.x, -x64, false): tests/ImageSharp.Drawing.Tests/Processing/DrawingCanvasTests.Process.cs#L201
The annotation for nullable reference types should only be used in code within a '#nullable' annotations context.
Build (windows-latest, net8.0, 8.0.x, -x64, false): tests/ImageSharp.Drawing.Tests/Processing/DrawingCanvasTests.Process.cs#L181
The annotation for nullable reference types should only be used in code within a '#nullable' annotations context.
Build (windows-latest, net8.0, 8.0.x, -x64, false): tests/ImageSharp.Drawing.Tests/Processing/DrawingCanvasTests.Process.cs#L173
The annotation for nullable reference types should only be used in code within a '#nullable' annotations context.
Build (windows-latest, net8.0, 8.0.x, -x64, false): tests/ImageSharp.Drawing.Tests/Processing/DrawingCanvasTests.Process.cs#L171
The annotation for nullable reference types should only be used in code within a '#nullable' annotations context.
Build (windows-latest, net8.0, 8.0.x, -x64, false): tests/ImageSharp.Drawing.Tests/TestFormat.cs#L179
The annotation for nullable reference types should only be used in code within a '#nullable' annotations context.
Build (windows-latest, net8.0, 8.0.x, -x64, false): tests/ImageSharp.Drawing.Tests/TestFileSystem.cs#L41
The annotation for nullable reference types should only be used in code within a '#nullable' annotations context.