name: Build Desktop App on: push: branches: [ main ] tags: - 'v*' pull_request: branches: [ main ] workflow_dispatch: jobs: build-windows: runs-on: windows-latest steps: - name: Checkout code uses: actions/checkout@v4 - name: Setup Node.js uses: actions/setup-node@v4 with: node-version: '20' cache: 'npm' - name: Install dependencies run: npm ci - name: Build with electron-builder run: npm run build env: CSC_IDENTITY_AUTO_DISCOVERY: false - name: Upload installer artifact uses: actions/upload-artifact@v4 with: name: windows-installer path: | dist/*.exe dist/*.zip retention-days: 30 - name: Create Release (on tag) if: startsWith(github.ref, 'refs/tags/v') uses: softprops/action-gh-release@v1 with: files: | dist/*.exe dist/*.zip draft: false prerelease: false env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}