Skip to content
This repository was archived by the owner on Apr 15, 2026. It is now read-only.

Commit e94fb6f

Browse files
authored
Create main.yml
1 parent 51e4fa8 commit e94fb6f

1 file changed

Lines changed: 76 additions & 0 deletions

File tree

.github/workflows/main.yml

Lines changed: 76 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,76 @@
1+
name: Build
2+
3+
on:
4+
push:
5+
branches: [ "main" ]
6+
pull_request:
7+
branches: [ "main" ]
8+
workflow_dispatch:
9+
10+
env:
11+
VERSION: 10.0.${{ github.run_number }}
12+
NUGET_SOURCE: https://api.nuget.org/v3/index.json
13+
GITHUB_NUGET_SOURCE: https://nuget.pkg.github.com/IoTSharp/index.json
14+
15+
jobs:
16+
build:
17+
runs-on: ubuntu-latest
18+
19+
steps:
20+
- name: Checkout
21+
uses: actions/checkout@v4
22+
23+
- name: Setup .NET SDK 10
24+
uses: actions/setup-dotnet@v4
25+
with:
26+
dotnet-version: "10.0.x"
27+
include-prerelease: true
28+
29+
- name: Restore
30+
run: dotnet restore IoTSharp.HealthChecks.sln
31+
32+
- name: Build
33+
run: |
34+
dotnet build IoTSharp.HealthChecks.sln \
35+
-c Release \
36+
/p:Version=${{ env.VERSION }} \
37+
/p:PackageVersion=${{ env.VERSION }} \
38+
/p:AssemblyVersion=${{ env.VERSION }} \
39+
/p:FileVersion=${{ env.VERSION }} \
40+
/p:InformationalVersion=${{ env.VERSION }} \
41+
/p:VersionPrefix=${{ env.VERSION }}
42+
43+
- name: Upload NuGet packages (artifacts)
44+
uses: actions/upload-artifact@v4
45+
with:
46+
name: healthchecks-packages
47+
path: |
48+
src/HealthChecks.Cassandra/bin/Release/*.nupkg
49+
src/HealthChecks.InfluxDB/bin/Release/*.nupkg
50+
src/HealthChecks.IoTDB/bin/Release/*.nupkg
51+
src/HealthChecks.NTPServer/bin/Release/*.nupkg
52+
src/HealthChecks.ClickHouse/bin/Release/*.nupkg
53+
54+
# 发布到 nuget.org
55+
- name: Publish to NuGet (skip on PR)
56+
if: github.event_name != 'pull_request'
57+
env:
58+
NUGET_API_KEY: ${{ secrets.NUGET_API_KEY }}
59+
run: |
60+
dotnet nuget push "src/HealthChecks.Cassandra/bin/Release/*.nupkg" --api-key "${NUGET_API_KEY}" --source "${NUGET_SOURCE}" --skip-duplicate
61+
dotnet nuget push "src/HealthChecks.InfluxDB/bin/Release/*.nupkg" --api-key "${NUGET_API_KEY}" --source "${NUGET_SOURCE}" --skip-duplicate
62+
dotnet nuget push "src/HealthChecks.IoTDB/bin/Release/*.nupkg" --api-key "${NUGET_API_KEY}" --source "${NUGET_SOURCE}" --skip-duplicate
63+
dotnet nuget push "src/HealthChecks.NTPServer/bin/Release/*.nupkg" --api-key "${NUGET_API_KEY}" --source "${NUGET_SOURCE}" --skip-duplicate
64+
dotnet nuget push "src/HealthChecks.ClickHouse/bin/Release/*.nupkg" --api-key "${NUGET_API_KEY}" --source "${NUGET_SOURCE}" --skip-duplicate
65+
66+
# 发布到 GitHub Packages (nuget.pkg.github.com/IoTSharp)
67+
- name: Publish to GitHub Packages (skip on PR)
68+
if: github.event_name != 'pull_request'
69+
env:
70+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
71+
run: |
72+
dotnet nuget push "src/HealthChecks.Cassandra/bin/Release/*.nupkg" --api-key "${GITHUB_TOKEN}" --source "${GITHUB_NUGET_SOURCE}" --skip-duplicate
73+
dotnet nuget push "src/HealthChecks.InfluxDB/bin/Release/*.nupkg" --api-key "${GITHUB_TOKEN}" --source "${GITHUB_NUGET_SOURCE}" --skip-duplicate
74+
dotnet nuget push "src/HealthChecks.IoTDB/bin/Release/*.nupkg" --api-key "${GITHUB_TOKEN}" --source "${GITHUB_NUGET_SOURCE}" --skip-duplicate
75+
dotnet nuget push "src/HealthChecks.NTPServer/bin/Release/*.nupkg" --api-key "${GITHUB_TOKEN}" --source "${GITHUB_NUGET_SOURCE}" --skip-duplicate
76+
dotnet nuget push "src/HealthChecks.ClickHouse/bin/Release/*.nupkg" --api-key "${GITHUB_TOKEN}" --source "${GITHUB_NUGET_SOURCE}" --skip-duplicate

0 commit comments

Comments
 (0)