Skip to content

release.sh: build the installer-window DMG the sibling apps ship - #3

Merged
sevmorris merged 1 commit into
mainfrom
claude/dmg-house-style
Sep 27, 2026
Merged

sevmorris merged 1 commit into
mainfrom
claude/dmg-house-style

Conversation

@sevmorris

@sevmorris sevmorris commented Sep 27, 2026 •

Copy link
Copy Markdown
Owner

Barkeep's release built its disk image with a bare hdiutil create, so it opened as a plain folder: no background, no arrow, no laid-out icons, and Finder chrome showing. Every sibling app ships a dmgbuild installer window. This brings Barkeep's release in line, before 1.13.0.

Changes

  • tools/dmg/dmg-settings.py and make-background.py, shared verbatim with the siblings.

  • dmg-background-barkeep.png and @2x, drawn by make-background.py --app-name Barkeep --slug barkeep. It's the house art with "Drag Barkeep to Applications" in Eurostile.

  • scripts/check-shared.sh, shared verbatim, with Barkeep in SIBLINGS.

  • release.sh:

    • checks before building that python3 can import dmgbuild and can start a subprocess;
    • runs the shared-file check against the siblings;
    • builds the image with dmgbuild instead of a staging folder and hdiutil;
    • after notarizing, fails if the mounted image lacks its .DS_Store and background.

    These follow KeyVault's release.sh line for line.

  • release-notes/v1.13.0.md gains a line about the new installer window.

Verified

  • A test image built with these settings (unsigned, not notarized) mounts with .background.tiff and a .DS_Store. That file places Barkeep.app at (150, 150) and Applications at (390, 150), sets 128 pt icons, and hides the sidebar, toolbar, status bar and path bar, the same layout as the siblings.
  • The release-standards audit now reports all 15 guards present for Barkeep. Before, three were "n/a".
  • zsh -n release.sh is clean.
  • check-shared.sh, run on scratch clones of all seven repos with the new files, is clean both ways.

Before releasing

check-shared.sh compares the checkouts in ~/Projects, so after the merge each of the seven local checkouts needs a pull. Otherwise preflight reports drift.

The set, all merged together:

🤖 Generated with Claude Code

Barkeep's release made its disk image with a bare `hdiutil create`, so
it opened as a plain folder: no background, no arrow, no laid-out icons,
Finder chrome showing. Every sibling app builds its image with dmgbuild.

- tools/dmg/dmg-settings.py and make-background.py, shared verbatim with
  the siblings, plus Barkeep's background drawn by the latter (Eurostile,
  "Drag Barkeep to Applications").
- scripts/check-shared.sh, shared verbatim, with Barkeep added to
  SIBLINGS. The same change goes to all six siblings' copies at once.
- release.sh: the dmgbuild and python3-subprocess preflight checks, the
  shared-file check, dmgbuild in place of the staging folder and hdiutil,
  and a check that the mounted image carries its .DS_Store and
  background.

A test image built with these settings mounts with .background.tiff and
a .DS_Store placing Barkeep.app at (150, 150) and Applications at
(390, 150), with the chrome hidden. The release-standards audit now
reports all fifteen guards present for Barkeep; before, three were n/a.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
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