mirror of
https://github.com/babalae/bettergi-libraries.git
synced 2026-03-15 05:33:18 +08:00
114 lines
3.5 KiB
YAML
114 lines
3.5 KiB
YAML
name: 发布到 NuGet
|
|
|
|
on:
|
|
push:
|
|
branches: [ main ]
|
|
paths:
|
|
- 'BetterGI.Assets.Map/**'
|
|
- 'BetterGI.Assets.Model/**'
|
|
- 'BetterGI.Assets.Other/**'
|
|
workflow_dispatch: # 允许手动触发
|
|
|
|
jobs:
|
|
detect-changes:
|
|
runs-on: ubuntu-latest
|
|
outputs:
|
|
map-changed: ${{ steps.changes.outputs.map }}
|
|
model-changed: ${{ steps.changes.outputs.model }}
|
|
other-changed: ${{ steps.changes.outputs.other }}
|
|
steps:
|
|
- name: 检出代码
|
|
uses: actions/checkout@v3
|
|
with:
|
|
fetch-depth: 0
|
|
|
|
- name: 检测变更
|
|
uses: dorny/paths-filter@v2
|
|
id: changes
|
|
with:
|
|
filters: |
|
|
map:
|
|
- 'BetterGI.Assets.Map/**'
|
|
model:
|
|
- 'BetterGI.Assets.Model/**'
|
|
other:
|
|
- 'BetterGI.Assets.Other/**'
|
|
|
|
build-and-publish-map:
|
|
needs: detect-changes
|
|
if: needs.detect-changes.outputs.map-changed == 'true'
|
|
runs-on: windows-latest
|
|
|
|
steps:
|
|
- name: 检出代码
|
|
uses: actions/checkout@v3
|
|
|
|
- name: 设置 .NET
|
|
uses: actions/setup-dotnet@v3
|
|
with:
|
|
dotnet-version: 8.0.x
|
|
|
|
- name: 还原依赖
|
|
run: dotnet restore BetterGI.Assets.Map\BetterGI.Assets.Map.csproj
|
|
|
|
- name: 构建项目
|
|
run: dotnet build BetterGI.Assets.Map\BetterGI.Assets.Map.csproj --configuration Release --no-restore
|
|
|
|
- name: 创建 NuGet 包
|
|
run: dotnet pack BetterGI.Assets.Map\BetterGI.Assets.Map.csproj --configuration Release --no-build --output .\nupkgs
|
|
|
|
- name: 发布到 NuGet
|
|
run: dotnet nuget push .\nupkgs\*.nupkg --api-key ${{ secrets.NUGET_API_KEY }} --source https://api.nuget.org/v3/index.json --skip-duplicate
|
|
|
|
build-and-publish-model:
|
|
needs: detect-changes
|
|
if: needs.detect-changes.outputs.model-changed == 'true'
|
|
runs-on: windows-latest
|
|
|
|
steps:
|
|
- name: 检出代码
|
|
uses: actions/checkout@v3
|
|
|
|
- name: 设置 .NET
|
|
uses: actions/setup-dotnet@v3
|
|
with:
|
|
dotnet-version: 8.0.x
|
|
|
|
- name: 还原依赖
|
|
run: dotnet restore BetterGI.Assets.Model\BetterGI.Assets.Model.csproj
|
|
|
|
- name: 构建项目
|
|
run: dotnet build BetterGI.Assets.Model\BetterGI.Assets.Model.csproj --configuration Release --no-restore
|
|
|
|
- name: 创建 NuGet 包
|
|
run: dotnet pack BetterGI.Assets.Model\BetterGI.Assets.Model.csproj --configuration Release --no-build --output .\nupkgs
|
|
|
|
- name: 发布到 NuGet
|
|
run: dotnet nuget push .\nupkgs\*.nupkg --api-key ${{ secrets.NUGET_API_KEY }} --source https://api.nuget.org/v3/index.json --skip-duplicate
|
|
|
|
build-and-publish-other:
|
|
needs: detect-changes
|
|
if: needs.detect-changes.outputs.other-changed == 'true'
|
|
runs-on: windows-latest
|
|
|
|
steps:
|
|
- name: 检出代码
|
|
uses: actions/checkout@v3
|
|
|
|
- name: 设置 .NET
|
|
uses: actions/setup-dotnet@v3
|
|
with:
|
|
dotnet-version: 8.0.x
|
|
|
|
- name: 还原依赖
|
|
run: dotnet restore BetterGI.Assets.Other\BetterGI.Assets.Other.csproj
|
|
|
|
- name: 构建项目
|
|
run: dotnet build BetterGI.Assets.Other\BetterGI.Assets.Other.csproj --configuration Release --no-restore
|
|
|
|
- name: 创建 NuGet 包
|
|
run: dotnet pack BetterGI.Assets.Other\BetterGI.Assets.Other.csproj --configuration Release --no-build --output .\nupkgs
|
|
|
|
- name: 发布到 NuGet
|
|
run: dotnet nuget push .\nupkgs\*.nupkg --api-key ${{ secrets.NUGET_API_KEY }} --source https://api.nuget.org/v3/index.json --skip-duplicate
|