diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 940a0a0..8fee00e 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -51,26 +51,14 @@ jobs: with: name: web-build path: dist.zip - - - name: Prepare GitHub Pages artifact - run: | - cp -r dist-prod dist-gh-pages - - name: Upload GitHub Pages artifact - uses: actions/upload-artifact@v4 + - name: Deploy to gh-pages branch + uses: peaceiris/actions-gh-pages@v3 with: - name: github-pages - path: dist-gh-pages - - - name: Prepare GitHub Pages artifact - run: | - cp -r dist-prod dist-gh-pages - - - name: Upload GitHub Pages artifact - uses: actions/upload-artifact@v4 - with: - name: github-pages - path: dist-gh-pages + github_token: ${{ secrets.GITHUB_TOKEN }} + publish_dir: ./dist-prod + publish_branch: gh-pages + force_orphan: true publish-tauri: permissions: @@ -118,37 +106,8 @@ jobs: prerelease: false run: pnpm tauri build - deploy-gh-pages: - needs: build-web - runs-on: ubuntu-latest - permissions: - contents: read - pages: write - id-token: write - - environment: - name: github-pages - url: ${{ steps.deployment.outputs.page_url }} - - steps: - - name: Download GitHub Pages artifact - uses: actions/download-artifact@v4 - with: - name: github-pages - path: dist-gh-pages - - - name: Setup Pages - uses: actions/configure-pages@v3 - - - name: Upload to GitHub Pages - uses: actions/deploy-pages@v2 - id: deployment - with: - github_token: ${{ secrets.GITHUB_TOKEN }} - publish_dir: ./dist-gh-pages - release: - needs: [build-web, publish-tauri, deploy-gh-pages] + needs: [build-web, publish-tauri] runs-on: ubuntu-latest steps: - name: Checkout code diff --git a/.husky/scripts/verifyTagVersion.js b/.husky/scripts/verifyTagVersion.js index 6fa2fe0..736b78a 100644 --- a/.husky/scripts/verifyTagVersion.js +++ b/.husky/scripts/verifyTagVersion.js @@ -25,10 +25,10 @@ try { } else { console.log('✅ Git tag 版本校验通过'); } - + // 获取 tag 指向的提交哈希 const tagCommit = execSync(`git rev-list -1 ${tag}`, { encoding: 'utf-8' }).trim(); - + // 获取当前分支名称 let currentBranch; try { @@ -37,12 +37,12 @@ try { console.error('无法获取当前分支名称'); process.exit(1); } - + console.log(`当前分支为: ${currentBranch}`); // 检查当前分支是否为 release 分支 - if (currentBranch.startsWith('release/')) { + if (currentBranch.startsWith('release')) { // 如果当前在 release 分支上,检查当前分支的 HEAD 提交是否与 tag 指向的提交一致 const currentBranchCommit = execSync(`git rev-parse ${currentBranch}`, { encoding: 'utf-8' }).trim(); - + if (tagCommit !== currentBranchCommit) { console.log('🏷️ Git tag 指向的提交与当前 release 分支的最新提交不一致'); console.error(`当前 release 分支 "${currentBranch}" 的最新提交为: ${currentBranchCommit}`); @@ -54,27 +54,27 @@ try { } else { // 如果当前不在 release 分支上,查找所有 release 分支并检查是否有分支的 HEAD 与 tag 指向的提交一致 console.log(`🔍 当前在 "${currentBranch}" 分支,检查 tag 指向的提交是否与任何 release 分支的最新提交一致`); - + // 获取所有本地分支 const localBranchesOutput = execSync('git branch --format="%(refname:short)"', { encoding: 'utf-8' }); const localBranches = localBranchesOutput.split('\n').map(b => b.trim()).filter(b => b); - + // 过滤出 release 分支 const releaseBranches = localBranches.filter(branch => branch.startsWith('release/')); - + if (releaseBranches.length === 0) { console.log('⚠️ 未找到 release 分支'); process.exit(1); } - + let foundMatchingBranch = false; let matchingBranchName = ''; - + for (const branch of releaseBranches) { try { // 获取 release 分支的最新提交 const releaseBranchCommit = execSync(`git rev-parse ${branch}`, { encoding: 'utf-8' }).trim(); - + // 检查是否与 tag 指向的提交一致 if (tagCommit === releaseBranchCommit) { foundMatchingBranch = true; @@ -86,7 +86,7 @@ try { continue; } } - + if (!foundMatchingBranch) { console.log('🏷️ Git tag 指向的提交与任何 release 分支的最新提交都不一致'); console.error(`提供的 tag 为: ${tag}`);