Skip to content

chore: stop dependabot proposing SixLabors majors it cannot land - #302

Merged
erwan-joly merged 1 commit into
masterfrom
chore/sixlabors-v4
Aug 23, 2026
Merged

chore: stop dependabot proposing SixLabors majors it cannot land#302
erwan-joly merged 1 commit into
masterfrom
chore/sixlabors-v4

Conversation

@erwan-joly

@erwan-joly erwan-joly commented Aug 23, 2026

Copy link
Copy Markdown
Contributor

Closes #299 and #301 — neither can be merged.

Why they cannot go green

ImageSharp 4 / Drawing 3 ship an MSBuild task that validates a Six Labors license key. It is lenient in Debug and strict in Release:

<ValidateLicenseTask ... ContinueOnError="$(Configuration.StartsWith('Debug'))" />

The release workflow runs dotnet build -c Release before dotnet pack, so with the bump applied:

SixLabors.ImageSharp.Drawing.targets(28,5): error : No Six Labors license found.
SixLabors.ImageSharp.Drawing.targets(28,5): error : Please obtain a license from https://sixlabors.com/pricing/
    1 Error(s)

That is a purchase, not a code fix.

Separately, Drawing 3 removes the IImageProcessingContext Fill / DrawText extension methods entirely and replaces them with a stateful DrawingCanvas built from an ImageFrame, taking Brush/Pen instead of Color and Rectangle instead of RectangleF. Every drawing call across TestHelper, BrushFireTests, FlowFieldTests, GoalBasedPathfinderTests and JumpPointSearchPathfinderTests would need rewriting — for test-only visualisation that already works.

What this does

Pins the three SixLabors packages to their current major (3.1.12 / 2.1.7 / 2.1.3, still Apache-2.0) and tells dependabot to stop opening major bumps for them, so these PRs do not reappear daily.

Minor and patch updates still flow normally.

If the licence is ever bought, drop the ignore block and the migration can be done deliberately.

Verified: dotnet build -c Release succeeds on this branch and fails with the bump applied.

🤖 Generated with Claude Code

Summary by CodeRabbit

  • Chores
    • Configured automated dependency updates to skip major-version upgrades for selected image-processing and font libraries.

ImageSharp 4 and Drawing 3 ship an MSBuild task that validates a Six Labors
license key. It degrades to a warning in Debug but fails the build outright in
Release:

    SixLabors.ImageSharp.Drawing.targets(28,5): error : No Six Labors license found.
    Please obtain a license from https://sixlabors.com/pricing/

The release workflow runs `dotnet build -c Release` before packing, so the major
bump cannot go green without a purchased licence, no matter what the code does.
On top of that Drawing 3 replaces the IImageProcessingContext Fill/DrawText
extensions with a stateful DrawingCanvas, which would mean rewriting every
drawing call in the test suite for no functional gain.

Pinning to the 3.x/2.x line, which is Apache-2.0 and works.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@coderabbitai

coderabbitai Bot commented Aug 23, 2026

Copy link
Copy Markdown

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro Plus

Run ID: 7a74def7-adeb-4d06-8bf7-d714a5e0dca0

📥 Commits

Reviewing files that changed from the base of the PR and between 8e7b88f and 98747b2.

📒 Files selected for processing (1)
  • .github/dependabot.yml

Included review availability: Your plan provides up to 1 included review per hour; 0 remain after this review.


Walkthrough

Changes

Dependency update policy

Layer / File(s) Summary
SixLabors major-version ignore rules
.github/dependabot.yml
Dependabot ignores major-version updates for SixLabors.ImageSharp, SixLabors.ImageSharp.Drawing, and SixLabors.Fonts.

Estimated code review effort: 1 (Trivial) | ~2 minutes

Merge Risk: ⚪ Minimal · up to 98747

This change only limits Dependabot from proposing incompatible SixLabors major upgrades while allowing minor and patch updates to continue; no actionable merge-blocking risk remains after normal checks and review.

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Linked Issues check ⚠️ Warning The PR does not implement issue #299 because it retains the current package versions instead of upgrading them. Implement the package upgrades and required ImageSharp 4 compatibility, or link this PR to an issue that authorizes retaining the current major versions.
✅ Passed checks (4 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly describes the main change: preventing Dependabot from proposing unsupported SixLabors major updates.
Out of Scope Changes check ✅ Passed The changes target the same SixLabors packages and Dependabot behavior described in the PR objectives.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check. Docstring coverage is scoped to functions touched by this diff. Analyzed 0 functions across 0 files. (1 skipped: 1 unsupported.)
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch chore/sixlabors-v4

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@erwan-joly
erwan-joly merged commit 10a98f5 into master Aug 23, 2026
4 checks passed
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