name: Release on: push: tags: ["v*"] jobs: release: runs-on: ubuntu-latest-amd64 steps: - uses: actions/checkout@v4 - uses: actions/setup-node@v4 with: node-version: "24" cache: npm - name: 构建并打包 dist.zip run: | npm ci npm run build cd dist && zip -qr ../dist.zip . && cd .. sha256sum dist.zip > dist.zip.sha256 - name: 提取 CHANGELOG 版本段作为 Release 描述 run: | TAG="${{ gitea.ref_name }}" awk -v ver="${TAG#v}" '$0 ~ "^## \\[" ver "\\]" {flag=1; next} /^## \[/ && flag {exit} flag {print}' CHANGELOG.md > release-notes.md [ -s release-notes.md ] || echo "Release ${TAG}" > release-notes.md - name: 创建 Release 并上传 dist.zip(重跑幂等,同名附件自动替换) uses: https://gitea.com/actions/gitea-release-action@v1 with: token: ${{ secrets.BUILD_TOKEN }} body_path: release-notes.md files: | dist.zip dist.zip.sha256