name: Release QuickWrt on: push: branches: - master jobs: release: runs-on: ubuntu-latest steps: - name: Checkout uses: actions/checkout@v4 - name: Set up Git run: git fetch --tags - name: Read version from script id: version run: | version_line=$(grep -E "^version=" build.sh | head -n1) version_value=$(echo "$version_line" | sed -E "s/.*'(v[0-9]+\.[0-9]+\.[0-9]+).*/\1/") if [ -z "$version_value" ]; then echo "❌ 无法从脚本中读取版本号" exit 1 fi echo "VERSION=$version_value" >> $GITHUB_ENV echo "📦 读取到版本号: $version_value" - name: Create archive run: | git archive --format=tar.gz -o QuickWrt.tar.gz HEAD echo "✅ 打包完成: QuickWrt.tar.gz" - name: Create Release uses: softprops/action-gh-release@v2 with: tag_name: ${{ env.VERSION }} name: ${{ env.VERSION }} files: QuickWrt.tar.gz env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}