Skip to content

fix: NoTarget resolved to a Docker tag unityci/editor never publishes - #82

Merged
frostebite merged 1 commit into
mainfrom
fix/generic-image-tag
Aug 14, 2026
Merged

fix: NoTarget resolved to a Docker tag unityci/editor never publishes#82
frostebite merged 1 commit into
mainfrom
fix/generic-image-tag

Conversation

@frostebite

Copy link
Copy Markdown
Member

Third bug in the same chain as #79, found by actually re-running unity-activate#111's CI against the new v0.1.4 release.

The bug

RunnerImageTag.targetPlatformSuffixes.generic was ''. Both NoTarget and the internal Test targetPlatform resolved through it, producing tags like unityci/editor:ubuntu-2019.2.17f1-3. Every real unityci/editor image has a module suffix (base, webgl, android, windows-mono, etc.) — this tag has never existed, so docker pull failed with manifest unknown on every single job.

Unable to find image 'unityci/editor:ubuntu-2019.2.17f1-3' locally
docker: Error response from daemon: manifest for unityci/editor:ubuntu-2019.2.17f1-3 not found: manifest unknown: manifest unknown

The fix

NoTarget now resolves to 'base' — the same image StandaloneLinux64 (pre-il2cpp) already uses. That's the right image for "just give me an editor, not tied to any build target," which is exactly what activate needs.

Split into its own noTarget suffix key rather than just fixing generic in place, because Test (unit-test scaffolding, never a real Docker pull) also went through generic — changing that value broke several existing test assertions that don't care about real Docker Hub tags. Test keeps the old empty-suffix behavior; only NoTarget changes.

How I found it

Re-ran unity-activate#111's CI once v0.1.4 (with #79's fixes) was published. #79 got it past engine detection and the target-platform validation; this is what showed up next.

Testing

  • Updated runner-image-tag.test.ts's existing NoTarget test, which had codified the buggy ubuntu-2019.2.11f1-3 tag as expected output — now asserts ubuntu-2019.2.11f1-base-3 / windows-2019.2.11f1-base-3.
  • bun run test — 147 pass, 3 skip, 0 fail.

🤖 Generated with Claude Code

RunnerImageTag mapped both NoTarget and the internal 'Test' targetPlatform
to the same empty suffix, producing tags like "ubuntu-2019.2.17f1-3" -
unityci/editor always has a module suffix (base/webgl/android/etc.), so
this is never a real image. `docker pull` failed with "manifest unknown"
on every version.

Surfaced by unity-activate#111's thin-wrapper CI: `game-ci activate`
defaults targetPlatform to NoTarget (#79) and hit this on every job.

'base' is the same image StandaloneLinux64 (pre-il2cpp) already resolves
to - the right choice for "just an editor, no specific build target".
Split into its own noTarget suffix rather than reusing generic, since
'Test' also used generic and doesn't pull real images - no reason to
touch its behavior.
@coderabbitai

coderabbitai Bot commented Aug 14, 2026

Copy link
Copy Markdown

Important

Review available on request

  • 🔍 Trigger review

Reviews should be triggered manually for repositories with fewer than 10 stars. Select Trigger review above or comment @coderabbitai review to review the latest changes. For a full review, comment @coderabbitai full review.

⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: 0583f558-cbe1-4ab6-8870-ee7fdd4e618a


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.

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