Skip to content

ci: supply SixLabors.ImageSharp 4 license key in CI#221

Merged
matt-edmondson merged 1 commit into
mainfrom
claude/tender-albattani-5e2dtj
Jun 13, 2026
Merged

ci: supply SixLabors.ImageSharp 4 license key in CI#221
matt-edmondson merged 1 commit into
mainfrom
claude/tender-albattani-5e2dtj

Conversation

@matt-edmondson

Copy link
Copy Markdown
Contributor

Why

Directory.Packages.props already pins SixLabors.ImageSharp 4.0.0, and v4 is the first release to enforce a license key at build time for projects that directly reference it — here, ImGui.App. Without a key the build fails:

error : No Six Labors license found. Set $(SixLaborsLicenseKey),
        set $(SixLaborsLicenseFile), or add a 'sixlabors.lic' file...

What this does

  • Directory.Build.props (new): bridges the SIXLABORS_LICENSE_KEY environment variable into the SixLaborsLicenseKey MSBuild property (only when not already set), so the key works regardless of how MSBuild is invoked — including via the KtsuBuild CLI pipeline, which doesn't allow appending -p: flags. Also enables local builds via export SIXLABORS_LICENSE_KEY=....
  • .github/workflows/dotnet.yml: surfaces the secret as SIXLABORS_LICENSE_KEY on every job that compiles ImGui.Appbuild, ios-build, and ios-simulator (the PackageReference is unconditional, so it applies on net10.0-ios too).

Works with either a repo or org secret named SIXLABORS_LICENSE_KEY — both resolve through the same ${{ secrets.* }} context.

Required manual step

This wiring only takes effect once the secret exists:

  1. Obtain a key from https://sixlabors.com/pricing/license/ — this repo qualifies for the free open-source / source-available tier (free still requires registering for a key).
  2. Add an organization secret named SIXLABORS_LICENSE_KEY (Org → Settings → Secrets and variables → Actions → New organization secret), and grant its repository-access policy to imguiapp (or "All repositories").

Verification

Confirmed locally that the bridge populates the property: with the env var unset the build reports "No Six Labors license found"; with SIXLABORS_LICENSE_KEY set it advances to "validating Six Labors license" (parsing the supplied value). A valid key validates and the build proceeds.

https://claude.ai/code/session_01VssYGnCiebd5GdniUmACAd


Generated by Claude Code

ImageSharp 4.0 enforces a build-time license key for projects that
directly reference it (ImGui.App). Add a Directory.Build.props bridge
mapping the SIXLABORS_LICENSE_KEY environment variable to the
SixLaborsLicenseKey MSBuild property, and surface the secret as an env
var on every CI job that compiles ImGui.App (build, ios-build,
ios-simulator). Works with either a repo or org secret named
SIXLABORS_LICENSE_KEY.
@sonarqubecloud

Copy link
Copy Markdown

@matt-edmondson
matt-edmondson merged commit e8fbadf into main Jun 13, 2026
9 of 17 checks passed
@matt-edmondson
matt-edmondson deleted the claude/tender-albattani-5e2dtj branch June 13, 2026 06:19
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.

2 participants