mirror of
https://github.com/tiennm99/claude-code-usage-bubble.git
synced 2026-10-21 18:14:40 +00:00
fix: list the desktop icons in bundle.icon
The bundler has no icon fallback, so an empty list breaks the AppImage step and ships a deb without hicolor icons. Put icon.png first so it stays the default window icon on Linux and macOS, and bundle the deb in the Linux CI row to catch a broken list before release.
This commit is contained in:
1 parent
ffaa6c17a9
commit
d8f339208d
3 files changed
+21
-2
No files matched your search
@@ -55,6 +55,12 @@ jobs:
|
||||
|
||||
- run: npm run tauri build -- --no-bundle
|
||||
|
||||
# The bundler has no icon fallback, so a bad bundle.icon list only
|
||||
# breaks packaging; the deb needs no patchelf and catches it early.
|
||||
- name: Bundle the deb
|
||||
if: runner.os == 'Linux'
|
||||
run: npm run tauri build -- --bundles deb
|
||||
|
||||
- name: Check the exe version resource
|
||||
if: runner.os == 'Windows'
|
||||
shell: pwsh
|
||||
|
||||
@@ -87,6 +87,8 @@ stay on disk until the phase that replaces each one deletes it.
|
||||
Then `npm ci`, `cargo fmt --check`,
|
||||
`cargo clippy --all-targets --locked -- -D warnings`, `cargo test --locked`,
|
||||
`npm run lint`, `npm test`, `npm run tauri build -- --no-bundle`.
|
||||
- The Linux row also runs `npm run tauri build -- --bundles deb` (no
|
||||
patchelf needed), so a broken `bundle.icon` list fails before release.
|
||||
- The Windows row uploads `target/release/claude-code-usage-bubble.exe` with
|
||||
`actions/upload-artifact` (name `bubble-exe-<sha>`, `retention-days: 7`).
|
||||
- Row `macos-latest`: toolchain, cache, `cargo check --all-targets --locked`
|
||||
@@ -136,13 +138,17 @@ stay on disk until the phase that replaces each one deletes it.
|
||||
adds `PerMonitorV2`.
|
||||
- Only desktop icons are kept: the mobile (`android/`, `ios/`) and Windows
|
||||
Store (`Square*Logo.png`, `StoreLogo.png`) outputs of `tauri icon` are unused.
|
||||
- `bundle.icon` lists every desktop icon. The bundler has no fallback (an
|
||||
empty list panics the AppImage step and ships a deb without hicolor icons).
|
||||
`icons/icon.png` comes first because tauri-codegen takes the first `.png` as
|
||||
the Linux and macOS default window icon.
|
||||
- The test window (`bubble-test`) exits the app on close, since D18 keeps the
|
||||
process alive after its last window is destroyed.
|
||||
|
||||
## Validation
|
||||
|
||||
- Host: `cargo fmt --check`, `cargo clippy --all-targets -- -D warnings`, `cargo test`, `npm run lint` and `npm test` (zero tests, exit 0) all pass.
|
||||
- Host: `npm run tauri build -- --no-bundle` builds the binary with no signing key in the environment. No bundle is built on this host (no patchelf); bundling is first exercised by the Phase 10 dry run.
|
||||
- Host: `npm run tauri build -- --no-bundle` builds the binary with no signing key in the environment. `npm run tauri build -- --bundles deb` builds a deb with 32, 128, 256 and 512 px hicolor icons. The AppImage needs patchelf, so it is first exercised by the Phase 10 dry run.
|
||||
- CI: all three rows green; the Windows run has a downloadable `bubble-exe-<sha>` artifact that starts and shows the test window.
|
||||
|
||||
## Risks
|
||||
|
||||
+8
-1
@@ -20,6 +20,13 @@
|
||||
"createUpdaterArtifacts": false,
|
||||
"copyright": "Copyright (C) 2026 tiennm99",
|
||||
"publisher": "tiennm99",
|
||||
"icon": []
|
||||
"icon": [
|
||||
"icons/icon.png",
|
||||
"icons/32x32.png",
|
||||
"icons/128x128.png",
|
||||
"icons/128x128@2x.png",
|
||||
"icons/icon.icns",
|
||||
"icons/icon.ico"
|
||||
]
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user