54 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
			
		
		
	
	
			54 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
name: Build and Release Electron App
 | 
						|
 | 
						|
on:
 | 
						|
  push:
 | 
						|
    tags:
 | 
						|
      - 'v*'
 | 
						|
  workflow_dispatch:
 | 
						|
  
 | 
						|
permissions:
 | 
						|
  contents: write
 | 
						|
 | 
						|
jobs:
 | 
						|
  build:
 | 
						|
    runs-on: ${{ matrix.os }}
 | 
						|
    strategy:
 | 
						|
      matrix:
 | 
						|
        os: [macos-latest, windows-latest]
 | 
						|
 | 
						|
    steps:
 | 
						|
      - name: Checkout code
 | 
						|
        uses: actions/checkout@v4
 | 
						|
 | 
						|
      - name: Use Node.js
 | 
						|
        uses: actions/setup-node@v4
 | 
						|
        with:
 | 
						|
          node-version: '22.15.0'
 | 
						|
 | 
						|
      - name: Install pnpm
 | 
						|
        run: npm install -g pnpm
 | 
						|
        
 | 
						|
      - name: Install dependencies
 | 
						|
        run: npm install
 | 
						|
 | 
						|
      - name: Build Electron app
 | 
						|
        run: npm run build
 | 
						|
 | 
						|
      - name: Package Electron app (macOS)
 | 
						|
        if: matrix.os == 'macos-latest'
 | 
						|
        run: npm run build:mac
 | 
						|
 | 
						|
      - name: Package Electron app (Windows)
 | 
						|
        if: matrix.os == 'windows-latest'
 | 
						|
        run: npm run build:win
 | 
						|
 | 
						|
      - name: Upload release assets
 | 
						|
        uses: softprops/action-gh-release@v2
 | 
						|
        with:
 | 
						|
          tag_name: ${{ github.ref_name }}
 | 
						|
          name: Release ${{ github.ref_name }}
 | 
						|
          files: |
 | 
						|
            build/*.dmg
 | 
						|
            build/*.exe
 | 
						|
        env:
 | 
						|
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} |