Skip to content

chore(deps): épingler SixLabors.ImageSharp en 3.x — la 4.x refuse de compiler sans licence payante - #1134

Merged
jsboige merged 1 commit into
masterfrom
fix/1097-pin-imagesharp-licence
Aug 22, 2026
Merged

jsboige merged 1 commit into
masterfrom
fix/1097-pin-imagesharp-licence

Conversation

@jsboige

@jsboige jsboige commented Aug 22, 2026

Copy link
Copy Markdown
Contributor

Ferme la voie ouverte par #1097 et libère les 4 bumps qu'il retenait.

#1097 n'est pas un build cassé, c'est un piège de licence

build (Release) de #1097 échoue ainsi (run 32002605172, 2026-08-17) :

SixLabors.ImageSharp.targets(28,5): error : No Six Labors license found.
  Set $(SixLaborsLicenseKey), set $(SixLaborsLicenseFile), or add a 'sixlabors.lic' file
SixLabors.ImageSharp.targets(28,5): error : Please obtain a license from https://sixlabors.com/pricing/

Troisième instance de la classe AutoMapper (#588) / FluentAssertions (#949) : une dépendance qui bascule en commercial à un majeur. Celle-ci est la plus bruyante des trois — elle casse la CI au lieu d'embarquer silencieusement une ligne commerciale — et c'est pour ça qu'on l'a trouvée en lisant un build rouge plutôt qu'un nuspec. ⚠️ À ne pas lire comme « il suffit de réparer le build » : le rouge EST la licence, et le correctif proposé est un achat.

Le pin

version-update:semver-major seulement — les patchs 3.1.x continuent de passer.

Les consommateurs sont test/outillage uniquement (VisualTests.csproj, Tools/PdfPreviewExtractor) et n'entrent dans aucun binaire livré. Ça ne change rien ici : la porte se referme au build, donc une référence test-only suffit à mettre le pipeline au rouge. C'est la différence avec Verify.ImageSharp (AGPL, §7.3 de l'inventaire), classé test-only sans conséquence CI.

SixLabors.ImageSharp.Drawing 2.1.7 relève du même régime mais n'a aucun majeur proposé ⇒ pas d'entrée spéculative, conformément à la barre en tête du fichier.

Pourquoi cette entrée alors que #1097 est déjà rouge

Le groupage est tout-ou-rien — la note d'en-tête le dit sur #941. #1097 empaquetait cinq bumps et ImageSharp a retenu les quatre autres en otage pendant cinq jours :

paquet bump verdict
SixLabors.ImageSharp 3.1.12 → 4.1.0 ⛔ licence commerciale
Microsoft.NET.Test.Sdk 18.8.1 → 18.9.0 à juger sur ses mérites
xunit.runner.visualstudio 3.1.5 → 4.0.0 à juger sur ses mérites
OpenAI 2.12.0 → 2.13.0 à juger sur ses mérites
System.Management 10.0.10 → 10.0.11 à juger sur ses mérites

Ignorer ImageSharp à la source fait régénérer le groupe sans lui, et les quatre autres redeviennent jugeables.

Disposition proposée pour #1097 : fermer une fois cette PR mergée (dependabot rouvrira le groupe amputé au prochain lundi).

Vérification

YAML re-parsé après édition : 29 blocs updates, un seul bloc nuget, 9 entrées ignore dont la nouvelle, update-types conforme. Aucun autre bloc touché.

🤖 Coordinator ai-01

…ithout a purchased licence

#1097 is not a broken build. It is the third instance of the AutoMapper (#588) /
FluentAssertions (#949) class: a dependency that flips to commercial at a major.

MEASURED on #1097, run 32002605172, `build (Release)`:

  SixLabors.ImageSharp.targets(28,5): error : No Six Labors license found.
    Set $(SixLaborsLicenseKey), set $(SixLaborsLicenseFile), or add a 'sixlabors.lic'
  SixLabors.ImageSharp.targets(28,5): error : Please obtain a license from
    https://sixlabors.com/pricing/

This one is the loudest of the three — it reds CI rather than silently shipping a
commercial line — which is why it surfaced from a failing build instead of a nuspec
audit. The red IS the licence; the fix on offer is a purchase.

Scope of the pin:
- semver-major only; 3.1.x patches keep flowing.
- Consumers are test/tooling-only (VisualTests, Tools/PdfPreviewExtractor) and ship
  in no binary — irrelevant here, because the gate fires at BUILD time, so a
  test-only reference is enough to red the pipeline.
- SixLabors.ImageSharp.Drawing 2.1.7 rides the same regime but has no major proposed;
  no speculative pin added.

Why the entry is needed even though #1097 is already red: grouping is all-or-nothing
(header note, #941). #1097 bundled five bumps and ImageSharp held the other four
hostage for five days — Microsoft.NET.Test.Sdk 18.9.0, xunit.runner.visualstudio
4.0.0, OpenAI 2.13.0, System.Management 10.0.11. Ignoring ImageSharp at the source
lets dependabot regenerate the group without it so those four can be judged on merit.

YAML re-parsed after the edit: 29 update blocks, one nuget block, 9 ignore entries.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@jsboige
jsboige merged commit 1ce47e5 into master Aug 22, 2026
3 checks passed
@jsboige
jsboige deleted the fix/1097-pin-imagesharp-licence branch August 22, 2026 19:22
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