diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml new file mode 100644 index 0000000..abf5c30 --- /dev/null +++ b/.github/workflows/build.yml @@ -0,0 +1,89 @@ +name: Build Dragon Wind Desktop + +on: + push: + branches: [main] + tags: + - 'v*' + workflow_dispatch: + +jobs: + # ── Windows .exe ───────────────────────────────────────────────────────── + build-windows: + name: Windows (.exe) + runs-on: windows-latest + steps: + - name: Checkout + uses: actions/checkout@v4 + + - name: Set up Node.js 20 + uses: actions/setup-node@v4 + with: + node-version: '20' + + - name: Install dependencies + run: npm install + + - name: Build Windows installer + run: npm run build:win + env: + GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} + CSC_IDENTITY_AUTO_DISCOVERY: false + + - name: Upload .exe artifact + uses: actions/upload-artifact@v4 + with: + name: dragon-wind-windows + path: dist/*.exe + retention-days: 30 + + # ── macOS .dmg ──────────────────────────────────────────────────────────── + build-mac: + name: macOS (.dmg) + runs-on: macos-latest + steps: + - name: Checkout + uses: actions/checkout@v4 + + - name: Set up Node.js 20 + uses: actions/setup-node@v4 + with: + node-version: '20' + + - name: Install dependencies + run: npm install + + - name: Build macOS DMG + run: npm run build:mac + env: + GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} + CSC_IDENTITY_AUTO_DISCOVERY: false + + - name: Upload .dmg artifact + uses: actions/upload-artifact@v4 + with: + name: dragon-wind-mac + path: dist/*.dmg + retention-days: 30 + + # ── Release (on tag push only) ──────────────────────────────────────────── + release: + name: Create Release + needs: [build-windows, build-mac] + runs-on: ubuntu-latest + if: startsWith(github.ref, 'refs/tags/v') + permissions: + contents: write + steps: + - name: Download all artifacts + uses: actions/download-artifact@v4 + with: + path: artifacts/ + + - name: Create GitHub Release + uses: softprops/action-gh-release@v2 + with: + files: artifacts/**/* + generate_release_notes: true + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} diff --git a/package.json b/package.json index df385ff..5f6aaa0 100644 --- a/package.json +++ b/package.json @@ -19,9 +19,7 @@ "electron-builder": "^24.0.0" }, "dependencies": { - "@aws-sdk/client-s3": "^3.600.0", - "@aws-sdk/s3-request-presigner": "^3.600.0", - "electron-store": "^10.0.0" + "electron-store": "^8.2.0" }, "build": { "appId": "net.wilddragon.dragon-wind-desktop",