GitHub Actions で 野良 Scrapbox アプリの CI を 作った話の続きです。
ほぼ同時ぐらいに azu さんが、同じテーマのブログを書かれてました。
僕のはビルドするところまででしたが、リリースまで実現されていて非常に参考になりました。特にパッケージツールとして使われている electron-builder が便利そうだったので早速移行することにしました。
これまで electron-packager を使っていて electron-builder の存在は知ってたものの、試したことはありませんでした。各プラットフォームに対応した(完全に動作する)インストーラまで作ってくれます。
はなぢ出ました。
electron-packager の場合、インストーラを作成するには他の NPM パッケージとの併用が必要なので手をつけてませんでした。これでユーザーのインストール作業も簡単になります。
package.json にプラットフォーム毎の設定が書けるので npm script はプラットフォーム共通にできます。
"build": { "productName": "sbe", "mac": { "icon": "icons/mac/sbe.icns" }, "win": { "icon": "icons/win/sbe.ico" } }, "scripts": { "start": "electron .", "pack": "electron-builder --dir", "dist": "electron-builder", },
インストーラ形式で生成されるため、各 OS のコマンドで成果物を zip 圧縮する必要もなくなりました。
おかげで GitHub Actions workflow の matrix.os による if expression も撲滅することができ、step も減らせて非常にスッキリしました。