diff --git a/.github/workflows/desktop-build.yml b/.github/workflows/desktop-build.yml index 04ee1992..bc283be3 100644 --- a/.github/workflows/desktop-build.yml +++ b/.github/workflows/desktop-build.yml @@ -14,15 +14,28 @@ jobs: runs-on: windows-latest steps: - uses: actions/checkout@v4 + - uses: actions/setup-node@v4 with: node-version: '20' cache: 'npm' - - run: npm ci - - run: npm run build:desktop - - run: npx electron-builder --win --config electron-builder.yml + + - name: Install dependencies + run: npm ci + + - name: Generate icons + run: | + npm install --save-dev electron-icon-builder + npx electron-icon-builder --input=build/icons/icon.svg --output=build --flatten + + - name: Build desktop renderer + run: npm run build:desktop + + - name: Build Windows installer + run: npx electron-builder --win --config electron-builder.yml env: GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} + - uses: actions/upload-artifact@v4 with: name: windows-build @@ -32,15 +45,28 @@ jobs: runs-on: macos-latest steps: - uses: actions/checkout@v4 + - uses: actions/setup-node@v4 with: node-version: '20' cache: 'npm' - - run: npm ci - - run: npm run build:desktop - - run: npx electron-builder --mac --config electron-builder.yml + + - name: Install dependencies + run: npm ci + + - name: Generate icons + run: | + npm install --save-dev electron-icon-builder + npx electron-icon-builder --input=build/icons/icon.svg --output=build --flatten + + - name: Build desktop renderer + run: npm run build:desktop + + - name: Build macOS installer + run: npx electron-builder --mac --config electron-builder.yml env: GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} + - uses: actions/upload-artifact@v4 with: name: macos-build @@ -50,15 +76,28 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 + - uses: actions/setup-node@v4 with: node-version: '20' cache: 'npm' - - run: npm ci - - run: npm run build:desktop - - run: npx electron-builder --linux --config electron-builder.yml + + - name: Install dependencies + run: npm ci + + - name: Generate icons + run: | + npm install --save-dev electron-icon-builder + npx electron-icon-builder --input=build/icons/icon.svg --output=build --flatten + + - name: Build desktop renderer + run: npm run build:desktop + + - name: Build Linux installers + run: npx electron-builder --linux --config electron-builder.yml env: GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} + - uses: actions/upload-artifact@v4 with: name: linux-build @@ -74,6 +113,7 @@ jobs: - uses: actions/download-artifact@v4 with: path: artifacts + - uses: softprops/action-gh-release@v2 with: generate_release_notes: true