Skip to content

Point at iStorry/Brandy and fix CI's stale package cache - #5

Merged
iStorry merged 3 commits into
mainfrom
chore/rename-to-brandy
Oct 29, 2026
Merged

iStorry merged 3 commits into
mainfrom
chore/rename-to-brandy

Conversation

@iStorry

@iStorry iStorry commented Oct 29, 2026

Copy link
Copy Markdown
Owner

What changed

Repository rename

  • The repository is now iStorry/Brandy. These now use the new name:
    • the runtime download URL
    • the update feed
    • the Help menu link
    • the README badge
    • scripts/publish-whiskywine.sh
  • GitHub redirects the old URLs, so earlier builds keep downloading the runtime. Both URLs were checked and return the file.

CI's stale package cache

  • CI on main failed after Brandy: one-click Steam on Wine 11, modern UI, rebrand and audit fixes #4 with "There is no XCFramework found at .build/SourcePackages/artifacts/sparkle/Sparkle/Sparkle.xcframework".
  • Cause: the restored package cache had Sparkle's checkout but not its binary artifact. Once packages count as resolved, neither -disableAutomaticPackageResolution nor an explicit resolve downloads a missing artifact, so the bad cache failed every build.
  • Fix: CI now caches only .build/SourcePackages/repositories (the Git mirrors) under a new key. Checkouts and artifacts are recreated each run, at the versions pinned in Package.resolved (-onlyUsePackageVersionsFromResolvedFile).

Testing

  • Failure reproduced locally: deleting Sparkle's artifact from a resolved package folder gives the same error, and neither the old flag nor the new one repairs it.
  • Fix verified locally: with only the Git mirrors kept, the build succeeds and re-downloads the artifact.
  • Clean worktree: SwiftLint --strict, the 36 WhiskyKit tests, and Release builds of Whisky and WhiskyCmd all pass.
  • On GitHub: this PR's CI run is the first check of the fix there.

The repository is now iStorry/Brandy. The runtime download URL, update feed,
Help menu link, README badge and publish script use the new name. GitHub
redirects the old URLs, so earlier builds keep downloading the runtime.

CI on main failed with "There is no XCFramework found at
.build/SourcePackages/artifacts/sparkle/Sparkle/Sparkle.xcframework": the
restored package cache had checkouts but not Sparkle's binary artifact, and
neither -disableAutomaticPackageResolution nor an explicit resolve downloads
a missing artifact once packages count as resolved, so the bad cache failed
every build. CI now caches only the Git mirrors under a new key; checkouts and
artifacts are recreated each run at the versions pinned in Package.resolved.
Reproduced locally by deleting the artifact, then built successfully from the
Git mirrors alone.
The snifter icon read as flat clip art. The new icon, Strata, shows five
flowing bands rising from deep wine to gold under a glowing sun: brandy
distilled from wine.

scripts/generate-app-icon.swift draws it in Core Graphics and writes every
size the app icon set needs, the Quick Look thumbnail badge (which still
showed the old Whisky icon) and the README image.
CI's lint step failed on scripts/generate-app-icon.swift: it lacked the
project's license header, used one-letter variable names, had lines over 120
characters and called Void functions from ternaries. Add the header, name the
superellipse and wave coordinates, wrap the long lines and use if/else.
All twelve rendered PNGs are byte-for-byte identical before and after.
@iStorry
iStorry merged commit 955bb2b into main Oct 29, 2026
1 check passed
@iStorry
iStorry deleted the chore/rename-to-brandy branch October 29, 2026 07:17
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