-
Notifications
You must be signed in to change notification settings - Fork 0
87 lines (69 loc) · 2.9 KB
/
build.yaml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
name: .NET
on: [push]
jobs:
build:
runs-on: windows-latest
steps:
#-----------------------------------------------------------------------
# Checkout
- uses: actions/checkout@v2
with:
fetch-depth: 0
# lfs: true
#- name: Checkout LFS objects
# run: git lfs checkout
- name: Extract branch name
id: extract_branch_name
run: |
$branch_name=$(git name-rev --name-only --exclude=tags/* HEAD)
echo "Detected current branch: ${branch_name}"
echo "branch_name=${branch_name}" >> $GITHUB_OUTPUT
#-----------------------------------------------------------------------
# Setup environments
- name: Setup .NET 2.2
uses: actions/setup-dotnet@v1
with:
dotnet-version: 2.2.*
- name: Setup .NET 3.1
uses: actions/setup-dotnet@v1
with:
dotnet-version: 3.1.*
- name: Setup .NET 5
uses: actions/setup-dotnet@v1
with:
dotnet-version: 5.0.*
- name: Setup .NET 6
uses: actions/setup-dotnet@v1
with:
dotnet-version: 6.0.*
- name: Setup .NET 7
uses: actions/setup-dotnet@v1
with:
dotnet-version: 7.0.*
- name: Setup NuGet package reference
run: |
dotnet nuget add source ${{secrets.GH_LOCAL_NUGET_URL}} -n ref1 -u ${{secrets.GH_LOCAL_NUGET_USER}} -p ${{secrets.GH_LOCAL_NUGET_PASSWORD}} --store-password-in-clear-text --configfile nuget.config
# dotnet nuget add source ${{secrets.GH_NUGET_URL}} -n ref2 -u ${{secrets.GH_NUGET_USER}} -p ${{secrets.GH_NUGET_PASSWORD}} --store-password-in-clear-text --configfile nuget.config
#-----------------------------------------------------------------------
# Build
- name: NuGet restore
run: dotnet restore -p:Configuration=Release chibias.sln
- name: Build
run: dotnet build -p:Configuration=Release -p:BuildIdentifier=${GITHUB_RUN_NUMBER} chibias.sln
- name: Build NuGet packages
run: dotnet pack -p:Configuration=Release -p:BuildIdentifier=${GITHUB_RUN_NUMBER} -p:PackageOutputPath="..\artifacts" chibias.sln
#-----------------------------------------------------------------------
# Test
- name: Test
run: dotnet test --no-restore --verbosity normal -p:CITest=True chibias.sln
timeout-minutes: 10
#-----------------------------------------------------------------------
# Deploy packages (develop)
- name: Deploy NuGet package (develop/ref1)
if: startsWith( github.ref, 'refs/tags/' )
run: dotnet nuget push artifacts\chibias*.nupkg --source ref1
#-----------------------------------------------------------------------
# Deploy packages (main)
#- name: Deploy NuGet package (main/ref2)
# if: (startsWith( github.ref, 'refs/tags/' )) && (endsWith(steps.extract_branch_name.outputs.branch_name, 'main'))
# run: dotnet nuget push artifacts/ILCompose.*.nupkg --source ref1