@@ -2,58 +2,47 @@ name: Publish NuGet Package
2
2
3
3
on :
4
4
push :
5
+ branches :
6
+ - main
5
7
tags :
6
- - ' v*.*.*' # فقط زمانی اجرا شود که یک تگ با فرمت vX.Y.Z پوش شود
8
+ - ' v*.*.*'
7
9
8
10
jobs :
9
11
publish :
10
12
runs-on : ubuntu-latest
11
- # یک شرط اضافه برای اطمینان از اینکه فقط برای تگها اجرا میشود (اختیاری چون trigger اصلی همین کار را میکند)
12
- # if: startsWith(github.ref, 'refs/tags/')
13
13
14
14
steps :
15
15
- name : Checkout code
16
- uses : actions/checkout@v4 # استفاده از نسخه جدیدتر
17
- with :
18
- fetch-depth : 0 # بسیار مهم برای GitVersion
16
+ uses : actions/checkout@v3
19
17
20
- - name : Setup .NET SDK
21
- uses : actions/setup-dotnet@v4 # استفاده از نسخه جدیدتر
18
+ - name : Setup .NET SDKs
19
+ uses : actions/setup-dotnet@v4
22
20
with :
23
- dotnet-version : 8.0.x # یا هر نسخهای که پروژه شما نیاز دارد. اگر فقط یکی لازم است، دومی را حذف کنید.
24
- # اگر پروژه شما به 10.0.x هم نیاز دارد، آن را نگه دارید:
25
- # dotnet-version: |
26
- # 8.0.x
27
- # 10.0.x # توجه: .NET 10 هنوز منتشر نشده، احتمالا منظورتان .NET Core 3.1 یا .NET 6/7 بوده؟ یا شاید یک نسخه preview؟
21
+ dotnet-version : |
22
+ 8.0.x
23
+ 10.0.100-preview.4.25258.110
28
24
29
25
- name : Install GitVersion
30
- uses :
gittools/actions/gitversion/[email protected] # نسخه جدیدتر اکشن
31
- with :
32
- versionSpec : ' 5.x' # مشخص کردن نسخه GitVersion CLI
26
+ uses :
gittools/actions/gitversion/[email protected]
33
27
34
- - name : Determine Version using GitVersion
35
- id : gitversion # <<<<< اضافه کردن ID برای ارجاع به خروجی
36
- uses :
gittools/actions/gitversion/[email protected] # نسخه جدیدتر اکشن
28
+ - name : Use GitVersion
29
+ uses :
gittools/actions/gitversion/[email protected]
37
30
38
31
- name : Restore dependencies
39
- # اگر فایل csproj در روت نیست، مسیر را مشخص کنید: e.g., src/MyPackage/MyPackage.csproj
40
- run : dotnet restore YourProject.csproj # <--- مسیر فایل csproj خود را جایگزین کنید
32
+ run : dotnet restore
41
33
42
34
- name : Build
43
- # اگر فایل csproj در روت نیست، مسیر را مشخص کنید
44
- run : dotnet build YourProject.csproj --configuration Release --no-restore -p:Version=${{ steps.gitversion.outputs.NuGetVersionV2 }} # <--- مسیر فایل csproj و استفاده از نسخه
35
+ run : dotnet build --configuration Release --no-restore
45
36
46
37
- name : Pack NuGet
47
- # اگر فایل csproj در روت نیست، مسیر را مشخص کنید
48
38
run : |
49
- dotnet pack YourProject.csproj --configuration Release \
39
+ dotnet pack --configuration Release \
50
40
-p:PackageVersion=${{ steps.gitversion.outputs.NuGetVersionV2 }} \
51
- --no-build -o ./ out # <--- مسیر فایل csproj خود را جایگزین کنید
41
+ --no-build -o out
52
42
53
43
- name : Push to NuGet
54
- # if: success() # این شرط به طور پیشفرض وجود دارد، اگر مراحل قبلی موفق باشند این مرحله اجرا میشود
44
+ if : success()
55
45
run : |
56
- dotnet nuget push ./ out/*.nupkg \
46
+ dotnet nuget push out/*.nupkg \
57
47
--api-key ${{ secrets.NUGET_API_KEY }} \
58
- --source https://api.nuget.org/v3/index.json \
59
- --skip-duplicate # جلوگیری از خطا در صورت وجود نسخه تکراری
48
+ --source https://api.nuget.org/v3/index.json
0 commit comments