name: Build and Release on: push: tags: - "v*" permissions: contents: write jobs: release: runs-on: windows-latest steps: - name: Check out git repository uses: actions/checkout@v4 with: fetch-depth: 0 - name: Install Node.js uses: actions/setup-node@v4 with: node-version: 20 cache: 'npm' - name: Install Dependencies run: npm install - name: Build Frontend & Type Check run: | npx tsc npx vite build - name: Build Changelog id: build_changelog uses: mikepenz/release-changelog-builder-action@v4 with: outputFile: "release-notes.md" configurationJson: | { "template": "# v${{ github.ref_name }} 版本发布\n\n{{CHANGELOG}}\n\n---\n> 此更新由系统自动构建", "categories": [ { "title": "## 新功能", "filter": { "pattern": "^feat:.*", "flags": "i" } }, { "title": "## 修复", "filter": { "pattern": "^fix:.*", "flags": "i" } }, { "title": "## 性能与维护", "filter": { "pattern": "^(chore|docs|perf|refactor):.*", "flags": "i" } } ], "ignore_labels": [], "commitMode": true, "empty_summary": "## 更新详情\n- 常规代码优化与维护" } env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - name: Package and Publish env: GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} run: | npx electron-builder --publish always "-c.releaseInfo.releaseNotesFile=release-notes.md"