diff --git a/apps/buddy/electron-builder.config.cjs b/apps/buddy/electron-builder.config.cjs index 382430b3..283f2f82 100644 --- a/apps/buddy/electron-builder.config.cjs +++ b/apps/buddy/electron-builder.config.cjs @@ -44,7 +44,7 @@ module.exports = { files: [ '.output/build/electron/**/*', 'package.json', - 'resources/icons/app-icon.png', + 'resources/icons/*.png', '!**/__tests__/**', '!node_modules/**/*.map', ...excludedDependencyFiles(target), diff --git a/packaging/buddy/release/verify-package.mjs b/packaging/buddy/release/verify-package.mjs index 25b52301..815f074d 100644 --- a/packaging/buddy/release/verify-package.mjs +++ b/packaging/buddy/release/verify-package.mjs @@ -53,6 +53,13 @@ export function verifyDesktopDirectory(directory, targetId, cwd = repoRoot) { if (!entries.includes(`.output/build/electron/${entry}`)) throw new Error(`Desktop archive is missing ${entry}`) } + for (const name of readdirSync(join(cwd, 'apps/buddy/resources/icons')).filter(name => name.endsWith('.png'))) { + const entry = `resources/icons/${name}` + if (!entries.includes(entry)) + throw new Error(`Desktop archive is missing ${entry}`) + if (!asar.extractFile(archive, normalize(entry)).equals(readFileSync(join(cwd, 'apps/buddy', entry)))) + throw new Error(`Desktop archive ${entry} does not match the source icon`) + } if (entries.some(entry => entry.split('/').includes('__tests__'))) throw new Error('Desktop archive contains test files') for (const entry of entries.filter(entry => entry.endsWith('.node')))