mirror of
https://github.com/GeWuYou/GFramework.git
synced 2026-03-24 12:33:30 +08:00
refactor(ci): 优化 GitHub Actions 发布工作流
- 使用 softprops/action-gh-release 替换 actions/create-release - 简化发布创建和资产上传流程 - 移除手动 curl 上传 .nupkg 文件的复杂脚本 - 直接通过 files 参数支持通配符上传所有包文件 - 保持发布描述和版本信息功能 - 减少工作流步骤数量,提高可维护性
This commit is contained in:
parent
a34aa2388a
commit
cb17d9ecdd
40
.github/workflows/publish.yml
vendored
40
.github/workflows/publish.yml
vendored
@ -129,42 +129,14 @@ jobs:
|
|||||||
# 创建 GitHub Release
|
# 创建 GitHub Release
|
||||||
# 使用从包中提取的版本信息和当前标签创建发布
|
# 使用从包中提取的版本信息和当前标签创建发布
|
||||||
# 发布包含描述信息和版本详情
|
# 发布包含描述信息和版本详情
|
||||||
- name: Create GitHub Release
|
- name: Create GitHub Release and Upload Assets
|
||||||
id: create_release
|
uses: softprops/action-gh-release@v2
|
||||||
uses: actions/create-release@v2
|
|
||||||
env:
|
|
||||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
||||||
with:
|
with:
|
||||||
tag_name: ${{ github.ref_name }}
|
name: "Release ${{ github.ref_name }}"
|
||||||
release_name: "Release ${{ github.ref_name }}"
|
|
||||||
body: "Release created by CI for tag ${{ github.ref_name }} (package version ${{ steps.get_version.outputs.version }})"
|
body: "Release created by CI for tag ${{ github.ref_name }} (package version ${{ steps.get_version.outputs.version }})"
|
||||||
draft: false
|
draft: false
|
||||||
prerelease: false
|
prerelease: false
|
||||||
|
# 核心优化:直接支持通配符
|
||||||
# 使用 curl 将所有 .nupkg 文件上传到 GitHub Release
|
files: ./packages/*.nupkg
|
||||||
# 从 create-release 步骤获取上传 URL 并移除模板部分
|
|
||||||
# 每个包文件作为资产上传到发布中
|
|
||||||
- name: Upload all .nupkg to Release (curl)
|
|
||||||
env:
|
env:
|
||||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
UPLOAD_URL_TEMPLATE: ${{ steps.create_release.outputs.upload_url }}
|
|
||||||
run: |
|
|
||||||
set -e
|
|
||||||
# upload_url from create-release is like: https://uploads.github.com/repos/OWNER/REPO/releases/ID/assets{?name,label}
|
|
||||||
# strip template part "{?name,label}"
|
|
||||||
UPLOAD_URL="${UPLOAD_URL_TEMPLATE%\{*}"
|
|
||||||
echo "Upload base URL: $UPLOAD_URL"
|
|
||||||
|
|
||||||
for package_file in ./packages/*.nupkg; do
|
|
||||||
if [ -f "$package_file" ]; then
|
|
||||||
basename=$(basename "$package_file")
|
|
||||||
echo "Uploading $basename to release..."
|
|
||||||
curl --fail -sS -X POST \
|
|
||||||
-H "Authorization: Bearer $GITHUB_TOKEN" \
|
|
||||||
-H "Content-Type: application/octet-stream" \
|
|
||||||
--data-binary @"$package_file" \
|
|
||||||
"$UPLOAD_URL?name=$basename"
|
|
||||||
echo "Uploaded $basename"
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
|
|
||||||
Loading…
x
Reference in New Issue
Block a user