9
9
- release-*
10
10
paths :
11
11
exclude :
12
- - .github_changelog_generator
13
12
- .gitignore
14
13
- .gitattributes
15
14
- .gitmodules
@@ -19,9 +18,12 @@ trigger:
19
18
- README.md
20
19
- NuGet.Config
21
20
- assets/*
22
- - config/*
23
21
- nanoFramework.TestFramework/*
24
22
23
+ tags :
24
+ include :
25
+ - v*
26
+
25
27
# PR always trigger build
26
28
pr :
27
29
autoCancel : true
@@ -34,15 +36,25 @@ resources:
34
36
name : nanoframework/nf-tools
35
37
endpoint : nanoframework
36
38
39
+ variables :
40
+ - name : DOTNET_NOLOGO
41
+ value : true
42
+ - name : nugetPackageName
43
+ value : ' nanoFramework.CoreLibrary'
44
+
37
45
jobs :
38
46
39
47
# #############################
40
48
- job : Build_mscorlib
41
49
condition : >-
42
- or(
43
- eq(variables['UPDATE_DEPENDENTS'], 'false'),
44
- eq(variables['StartReleaseCandidate'], 'true')
50
+ and(
51
+ not(startsWith(variables['Build.SourceBranch'], 'refs/tags/v')),
52
+ or(
53
+ eq(variables['UPDATE_DEPENDENTS'], 'false'),
54
+ eq(variables['StartReleaseCandidate'], 'true')
55
+ )
45
56
)
57
+
46
58
pool :
47
59
vmImage : ' windows-latest'
48
60
@@ -56,16 +68,16 @@ jobs:
56
68
value : ' Release'
57
69
- name : solution
58
70
value : ' nanoFramework.CoreLibrary.sln'
59
- - name : nugetPackageName
60
- value : ' nanoFramework.CoreLibrary'
61
71
62
72
steps :
63
73
74
+ - template : azure-pipelines-templates/process-pr-labels.yml@templates
75
+
64
76
# build steps only
65
77
- template : azure-pipelines-templates/class-lib-build-only.yml@templates
66
78
parameters :
67
79
sonarCloudProject : ' nanoframework_lib-CoreLibrary'
68
- runUnitTests : true
80
+ runUnitTests : ${{ ne(variables['processPrLabels.SKIP_UNIT_TESTS'], ' true') }}
69
81
unitTestRunsettings : ' $(System.DefaultWorkingDirectory)\.runsettings'
70
82
skipNuGetCache : true
71
83
@@ -141,14 +153,11 @@ jobs:
141
153
condition : >-
142
154
or(
143
155
and(
144
- not(or(failed(), canceled())),
145
- startsWith(variables['Build.SourceBranch'], 'refs/heads/main'),
156
+ startsWith(variables['Build.SourceBranch'], 'refs/tags/v'),
146
157
eq(variables['StartReleaseCandidate'], 'false')
147
158
),
148
159
and(
149
- not(or(failed(), canceled())),
150
- eq(variables['System.PullRequest.PullRequestId'], ''),
151
- contains(variables['Build.SourceVersionMessage'], '***UPDATE_DEPENDENTS***'),
160
+ contains(variables['getCommitMessage.COMMIT_MESSAGE'], '***UPDATE_DEPENDENTS***'),
152
161
eq(variables['StartReleaseCandidate'], 'false')
153
162
),
154
163
eq(variables['UPDATE_DEPENDENTS'], 'true')
@@ -160,28 +169,25 @@ jobs:
160
169
pool :
161
170
vmImage : ' windows-latest'
162
171
163
- variables :
164
- DOTNET_NOLOGO : true
165
-
166
172
steps :
167
173
# need this here in order to persist GitHub credentials
168
174
- checkout : self
169
175
fetchDepth : 1
170
176
persistCredentials : true
171
177
172
178
# update dependents
179
+ # #########################################################################################################
180
+ # dependent libraries that include unit tests should be added to the list in nanoFramework.TestFramework #
181
+ # #########################################################################################################
173
182
- template : azure-pipelines-templates/update-dependents.yml@templates
174
183
parameters :
175
- ${{ if eq(variables['UPDATE_DEPENDENTS'], 'false') }} :
176
- waitBeforeUpdate : false
177
- ${{ else }} :
178
- waitBeforeUpdate : true
184
+ packageName : ' $(nugetPackageName)'
179
185
repositoriesToUpdate : |
180
186
nanoFramework.TestFramework
181
187
nanoFramework.Device.OneWire
182
188
nanoFramework.Runtime.Events
183
189
nanoFramework.Runtime.Native
184
- nanoFramework.Hardware.Stm32
190
+ nanoFramework.Hardware.GiantGecko
185
191
nanoFramework.Hardware.TI
186
192
nanoFramework.Networking.Sntp
187
193
nanoFramework.TI.EasyLink
@@ -192,24 +198,16 @@ jobs:
192
198
System.Device.I2c
193
199
System.Device.I2c.Slave
194
200
System.Device.Pwm
195
- System.Device.Spi
196
- System.IO.Hashing
197
- System.Math
198
- System.Text
199
- System.Security.Cryptography
201
+ System.Device.I2s
200
202
201
- # update dependents
202
- - template : azure-pipelines-templates/update-dependents.yml@templates
203
- parameters :
204
- ${{ if eq(variables['UPDATE_DEPENDENTS'], 'true') }} :
205
- waitBeforeUpdate : false
206
- ${{ else }} :
207
- waitBeforeUpdate : true
208
- repositoriesToUpdate : |
209
- nanoFramework.Logging
210
- nanoFramework.Json
211
- System.Collections
212
- System.Threading
203
+ # update Visual Studio extension
204
+ - task : PowerShell@2
205
+ displayName : Update VS extension
206
+ inputs :
207
+ targetType : filePath
208
+ filePath : azure-pipelines/update-vs-extension.ps1
209
+ env :
210
+ GITHUB_TOKEN : $(GitHubToken)
213
211
214
212
# #################################
215
213
# report build failure to Discord
0 commit comments