Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Release Windows x64 .NET Application | |
on: | |
release: | |
types: [published] | |
permissions: | |
contents: write # 确保有写入发布的权限 | |
jobs: | |
build_and_release: | |
name: 构建并发布 .NET 应用程序 | |
runs-on: windows-latest | |
steps: | |
- name: 检出仓库代码 | |
uses: actions/checkout@v3 # 使用最新稳定版本 | |
- name: 设置 .NET 环境 | |
uses: actions/setup-dotnet@v3 # 使用最新稳定版本 | |
with: | |
dotnet-version: '8.0.x' # 确保使用的 .NET 版本与你的项目版本匹配 | |
- name: 还原 NuGet 包 | |
run: dotnet restore src/MDriveSync.Client.API | |
- name: 列出目录内容 (调试步骤) | |
run: | | |
echo "PublishProfiles 目录内容:" | |
dir src/MDriveSync.Client.API/Properties/PublishProfiles | |
- name: 构建并发布 .NET 应用程序 | |
run: dotnet publish src/MDriveSync.Client.API -c Release /p:PublishProfile=Client.Publish.SelfContained.win.x64.pubxml | |
- name: 列出发布目录内容 (调试步骤) | |
run: | | |
echo "发布目录内容:" | |
dir src/MDriveSync.Client.API/bin/Release/net8.0/win-x64/publish | |
# - name: 删除 PDB 和部分 XML 文件 | |
# run: | | |
# # 删除目录中的 .pdb 和部分 .xml 文件(如果存在) | |
# Remove-Item src/MDriveSync.Client.API/bin/Release/net8.0/win-x64/publish/*.pdb -Force -ErrorAction SilentlyContinue | |
- name: 条件性删除 PDB 文件 | |
run: | | |
$tagName = "${{ github.event.release.tag_name }}" | |
if (-not ($tagName -match "beta|rc|alpha")) { | |
echo "Deleting .pdb files..." | |
Remove-Item src/MDriveSync.Client.API/bin/Release/net8.0/win-x64/publish/*.pdb -Force -ErrorAction SilentlyContinue | |
} else { | |
echo "Preserving .pdb files for pre-release versions..." | |
} | |
- name: 压缩构建产物 | |
run: | | |
# 将发布目录中的文件压缩为 zip 文件 | |
Compress-Archive -Path src/MDriveSync.Client.API/bin/Release/net8.0/win-x64/publish/* -DestinationPath "MDrive-win-x64-${{ github.event.release.tag_name }}.zip" | |
- name: 检查 ZIP 文件 | |
run: | | |
echo "生成的 ZIP 文件:" | |
dir MDrive-win-x64-${{ github.event.release.tag_name }}.zip | |
- name: 上传 ZIP 文件到 release | |
uses: actions/upload-release-asset@v1 # 使用最新稳定版本 | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
with: | |
upload_url: ${{ github.event.release.upload_url }} | |
asset_path: "MDrive-win-x64-${{ github.event.release.tag_name }}.zip" | |
asset_name: "MDrive-win-x64-${{ github.event.release.tag_name }}.zip" | |
asset_content_type: application/zip |