@@ -17,37 +17,35 @@ $auth = "basic $([System.Convert]::ToBase64String([System.Text.Encoding]::UTF8.G
17
17
18
18
if ($env: System_PullRequest_PullRequestId -ne $null )
19
19
{
20
- " " | Write-Host - ForegroundColor Yellow
21
- " **********************" | Write-Host - ForegroundColor Yellow
22
- " * Building from a PR *" | Write-host - ForegroundColor Yellow
23
- " **********************" | Write-Host - ForegroundColor Yellow
24
- " " | Write-Host - ForegroundColor Yellow
20
+ " " | Write-Host - ForegroundColor Yellow
21
+ " **********************" | Write-Host - ForegroundColor Yellow
22
+ " * Building from a PR *" | Write-host - ForegroundColor Yellow
23
+ " **********************" | Write-Host - ForegroundColor Yellow
24
+ " " | Write-Host - ForegroundColor Yellow
25
25
26
- # get files changed in PR
27
- $pageCounter = 1
26
+ # get files changed in PR
27
+ $pageCounter = 1
28
28
29
- do
30
- {
31
- " ##[debug] INFO: iteration $pageCounter " | Write-Host
32
-
33
-
34
- $batch = Invoke-RestMethod - Uri " https://api.github.com/repos/nanoframework/Samples/pulls/$env: System_PullRequest_PullRequestNumber /files?per_page=100&page=$pageCounter " - Header @ {" Authorization" = " $auth " } - ContentType " application/json" - Method GET
29
+ do
30
+ {
31
+ " ##[debug] INFO: iteration $pageCounter " | Write-Host
35
32
36
- if ($null -eq $commit )
37
- {
38
- $commit = $batch
39
- }
40
- else
41
- {
42
- $commit += $batch
43
- }
44
-
45
- $pageCounter ++
33
+ $batch = Invoke-RestMethod - Uri " https://api.github.com/repos/nanoframework/Samples/pulls/$env: System_PullRequest_PullRequestNumber /files?per_page=100&page=$pageCounter " - Header @ {" Authorization" = " $auth " } - ContentType " application/json" - Method GET
46
34
47
- } until ($batch.Count -eq 0 )
35
+ if ($null -eq $commit )
36
+ {
37
+ $commit = $batch
38
+ }
39
+ else
40
+ {
41
+ $commit += $batch
42
+ }
43
+
44
+ $pageCounter ++
45
+ } until ($batch.Count -eq 0 )
48
46
49
- # filter removed files
50
- $files = $commit.where {$_.status -ne ' removed' }
47
+ # filter removed files
48
+ $files = $commit.where {$_.status -ne ' removed' }
51
49
52
50
}
53
51
else
58
56
" **************************" | Write-Host - ForegroundColor Yellow
59
57
" " | Write-Host - ForegroundColor Yellow
60
58
61
- # get files changed in the commit, if this is NOT a PR
62
- $commit = Invoke-RestMethod - Uri " https://api.github.com/repos/nanoframework/Samples/commits/$env: Build_SourceVersion " - Header @ {" Authorization" = " $auth " } - ContentType " application/json" - Method GET
63
-
64
- # get files changed in the commit
65
- $pageCounter = 1
59
+ # get files changed in the commit
60
+ $pageCounter = 1
66
61
67
- do
68
- {
69
- " ##[command] Get API file change page: $pageCounter " | Write-Host
62
+ do
63
+ {
64
+ " ##[command] Get API file change page: $pageCounter " | Write-Host
70
65
71
- $batch = Invoke-RestMethod - Uri " https://api.github.com/repos/nanoframework/Samples/commits/$env: Build_SourceVersion `?per_page=100&page=$pageCounter " - Header @ {" Authorization" = " $auth " } - ContentType " application/json" - Method GET
66
+ $batch = Invoke-RestMethod - Uri " https://api.github.com/repos/nanoframework/Samples/commits/$env: Build_SourceVersion `?per_page=100&page=$pageCounter " - Header @ {" Authorization" = " $auth " } - ContentType " application/json" - Method GET
72
67
73
- if ($null -eq $commit )
74
- {
75
- $commit = $batch.files
76
- }
77
- else
78
- {
79
- $commit += $batch.files
80
- }
81
-
82
- $pageCounter ++
68
+ if ($null -eq $commit )
69
+ {
70
+ $commit = $batch.files
71
+ }
72
+ else
73
+ {
74
+ $commit += $batch.files
75
+ }
76
+
77
+ $pageCounter ++
83
78
84
- } until ($batch.files.Count -eq 0 )
79
+ } until ($batch.files.Count -eq 0 )
85
80
86
- # filter removed files
87
- $files = $commit.where {$_.status -ne ' removed' -and $_.filename -match ' (devices)' }
81
+ # filter removed files
82
+ $files = $commit.where {$_.status -ne ' removed' -and $_.filename -match ' (devices)' }
88
83
}
89
84
90
85
# get file names only
91
86
$files1 = $files | % {$_.filename } | Where-Object {$_ -match ' samples/*' }
92
87
93
88
if ($null -eq $files1 )
94
89
{
95
- Write-host " No 'samples' found to build"
96
- exit
90
+ Write-host " No 'samples' found to build"
91
+ exit
97
92
}
98
93
99
94
Write-host " ##[group] Files changed:"
@@ -115,81 +110,83 @@ write-host "##[section] Processing samples..."
115
110
116
111
foreach ($folder in $sampleFolders )
117
112
{
118
- " " | Write-Host - ForegroundColor Yellow
119
- " ***********************" | Write-Host - ForegroundColor Yellow
120
- " ##[group] Processing sample '$folder '..." | Write-Host - ForegroundColor Yellow
121
- " ***********************" | Write-Host - ForegroundColor Yellow
122
- " " | Write-Host - ForegroundColor Yellow
123
-
124
- try
113
+ " " | Write-Host - ForegroundColor Yellow
114
+ " ***********************" | Write-Host - ForegroundColor Yellow
115
+ " ##[group] Processing sample '$folder '..." | Write-Host - ForegroundColor Yellow
116
+ " ***********************" | Write-Host - ForegroundColor Yellow
117
+ " " | Write-Host - ForegroundColor Yellow
118
+
119
+ try
120
+ {
121
+ # try to find all solution files
122
+ $solutionFiles = Get-ChildItem - Path " samples\$folder \" - Include " *.sln" - Recurse
123
+
124
+ if ($null -eq $solutionFiles )
125
125
{
126
- # try to find all solution files
127
- $solutionFiles = Get-ChildItem - Path " samples\$folder \" - Include " *.sln" - Recurse
128
-
129
- if ($null -eq $solutionFiles )
130
- {
131
- " " | Write-Host - ForegroundColor Red
132
- " *****************************************" | Write-Host - ForegroundColor Red
133
- " ##[error] >>>ERROR: Couldn't find any solution files!" | Write-Host - ForegroundColor Red
134
- throw " Couldn't find any solution file inside '$folder '..."
135
- }
136
- else
137
- {
138
- foreach ($slnFile in $solutionFiles )
139
- {
140
- " " | Write-Host - ForegroundColor Yellow
141
- " ##[command] INFO: Building solution: '$slnFile '" | Write-Host - ForegroundColor Yellow
142
- " " | Write-Host - ForegroundColor Yellow
143
-
144
- # need to restore NuGets first
145
- write-host " ##[command] Performing nuget restore for '$slnFile '."
146
- nuget restore $slnFile
147
- if (-not $? )
148
- {
149
- " " | Write-Host - ForegroundColor Red
150
- " *****************************************" | Write-Host - ForegroundColor Red
151
- " ##[error] >>>ERROR: Couldn't restore solution: '$slnFile '!" | Write-Host - ForegroundColor Red
152
- # set flag
153
- $buildFailed = $true
154
- }
155
-
156
- # build solution
157
- write-host " ##[command] Running msbuild."
158
- & " $msbuild " " $slnFile " / verbosity:normal / p:Configuration= Release
159
- if (-not $? ) {
160
- " " | Write-Host - ForegroundColor Red
161
- " *****************************************" | Write-Host - ForegroundColor Red
162
- " ##[error] >>>ERROR: Failed building solution: '$slnFile '!" | Write-Host - ForegroundColor Red
163
- # set flag
164
- $buildFailed = $true
165
- }
166
- }
167
- }
126
+ " " | Write-Host - ForegroundColor Red
127
+ " *****************************************" | Write-Host - ForegroundColor Red
128
+ " ##[error] >>>ERROR: Couldn't find any solution files!" | Write-Host - ForegroundColor Red
129
+ throw " Couldn't find any solution file inside '$folder '..."
168
130
}
169
- catch
131
+ else
170
132
{
171
- " " | Write-Host - ForegroundColor Red
172
- " *****************************************" | Write-Host - ForegroundColor Red
173
- " ##[error] >>>ERROR: build failed, check output <<<" | Write-Host - ForegroundColor Red
174
- " *****************************************" | Write-Host - ForegroundColor Red
175
- " " | Write-Host - ForegroundColor Red
176
-
177
- " " | Write-Host - ForegroundColor Red
178
- " Exception was: $_ " | Write-Host - ForegroundColor Red
179
- " " | Write-Host - ForegroundColor Red
180
-
181
- # set flag
182
- $buildFailed = $true
183
- }
133
+ foreach ($slnFile in $solutionFiles )
134
+ {
135
+ " " | Write-Host - ForegroundColor Yellow
136
+ " ##[command] INFO: Building solution: '$slnFile '" | Write-Host - ForegroundColor Yellow
137
+ " " | Write-Host - ForegroundColor Yellow
138
+
139
+ # need to restore NuGets first
140
+ write-host " ##[command] Performing nuget restore for '$slnFile '."
141
+ nuget restore $slnFile
142
+
143
+ if (-not $? )
144
+ {
145
+ " " | Write-Host - ForegroundColor Red
146
+ " *****************************************" | Write-Host - ForegroundColor Red
147
+ " ##[error] >>>ERROR: Couldn't restore solution: '$slnFile '!" | Write-Host - ForegroundColor Red
148
+ # set flag
149
+ $buildFailed = $true
150
+ }
184
151
185
- write-host " ##[endgroup]"
152
+ # build solution
153
+ write-host " ##[command] Running msbuild."
154
+ & " $msbuild " " $slnFile " / verbosity:normal / p:Configuration= Release
155
+
156
+ if (-not $? ) {
157
+ " " | Write-Host - ForegroundColor Red
158
+ " *****************************************" | Write-Host - ForegroundColor Red
159
+ " ##[error] >>>ERROR: Failed building solution: '$slnFile '!" | Write-Host - ForegroundColor Red
160
+ # set flag
161
+ $buildFailed = $true
162
+ }
163
+ }
164
+ }
165
+ }
166
+ catch
167
+ {
168
+ " " | Write-Host - ForegroundColor Red
169
+ " *****************************************" | Write-Host - ForegroundColor Red
170
+ " ##[error] >>>ERROR: build failed, check output <<<" | Write-Host - ForegroundColor Red
171
+ " *****************************************" | Write-Host - ForegroundColor Red
172
+ " " | Write-Host - ForegroundColor Red
173
+
174
+ " " | Write-Host - ForegroundColor Red
175
+ " Exception was: $_ " | Write-Host - ForegroundColor Red
176
+ " " | Write-Host - ForegroundColor Red
177
+
178
+ # set flag
179
+ $buildFailed = $true
180
+ }
181
+
182
+ write-host " ##[endgroup]"
186
183
}
187
184
188
185
if ($buildFailed )
189
186
{
190
- " ********************************" | Write-Host - ForegroundColor Red
191
- " ##[error] Check >>>ERROR<<< messages above" | Write-Host - ForegroundColor Red
192
- " ********************************" | Write-Host - ForegroundColor Red
187
+ " ********************************" | Write-Host - ForegroundColor Red
188
+ " ##[error] Check >>>ERROR<<< messages above" | Write-Host - ForegroundColor Red
189
+ " ********************************" | Write-Host - ForegroundColor Red
193
190
194
- exit 1
191
+ exit 1
195
192
}
0 commit comments