9292 {
9393 Write-Host "##[command] **This is a PR build**"
9494
95+ # compute authorization header in format "AUTHORIZATION: basic 'encoded token'"
96+ # 'encoded token' is the Base64 of the string "nfbot:personal-token"
97+ $auth = "basic $([System.Convert]::ToBase64String([System.Text.Encoding]::UTF8.GetBytes("nfbot:$(GitHubToken)")))"
98+
9599 $commit = Invoke-RestMethod -Uri "https://api.github.com/repos/nanoframework/nf-interpreter/commits/$(Build.SourceVersion)" -ContentType "application/json" -Method GET
96100
97101 if( ($commit.commit.author.name -eq "nfbot") -and ($commit.commit.message -like "*[version update]*") )
@@ -104,12 +108,34 @@ jobs:
104108 echo "##vso[task.setvariable variable=SKIP_BUILD;isOutput=true]false"
105109 }
106110
111+ # find PR
112+ "Getting PR#$env:System_PullRequest_PullRequestNumber details..." | Write-Host -ForegroundColor White -NoNewline
113+ $pr = Invoke-WebRequest "https://api.github.com/repos/$env:Build_Repository_Name/pulls/$env:System_PullRequest_PullRequestNumber" | ConvertFrom-Json
114+
115+ if($($pr.number) -eq "$env:System_PullRequest_PullRequestNumber")
116+ {
117+ '##[command] OK' | Write-Host -ForegroundColor Green
118+ }
119+
120+ # grab PR commit message
121+ $prCommitMessage = $($pr.body)
122+
123+ # debug output
124+ # echo "=====`r`n$($prCommitMessage)`r`n====="
125+
107126 # check if Unit Tests for mscorlib should be run
108- if(($commit.commit.message -like "*[run mscorlib tests]*") -or ($commit.commit.message -match "Tested against nanoframework/CoreLibrary#(\d+)"))
127+ if(($prCommitMessage -like "*[run mscorlib tests]*") -or ($prCommitMessage -match "Tested against nanoframework/CoreLibrary#(\d+)"))
109128 {
110- Write-Host "##[command] ** mscorlib tests are to be runned** "
129+ Write-Host "##[command] >> mscorlib tests are to be runned"
111130 echo "##vso[task.setvariable variable=RUN_MSCORLIB_TESTS;isOutput=true]true"
112131 }
132+
133+ # check if should use specific MDP for mscorlib
134+ if($prCommitMessage -match "\[build with MDP buildId (\d+)\]")
135+ {
136+ Write-Host "##[command] >> Using specific MDP for mscorlib build"
137+ echo "##vso[task.setvariable variable=USE_SPECIFIC_MDP;isOutput=true]true"
138+ }
113139 }
114140 else
115141 {
@@ -1241,6 +1267,7 @@ jobs:
12411267
12421268 dependsOn :
12431269 - Build_nanoCLR_CLI
1270+ - Check_Build_Options
12441271
12451272 pool :
12461273 vmImage : " windows-latest"
@@ -1250,6 +1277,7 @@ jobs:
12501277 solution : " nanoFramework.CoreLibrary.sln"
12511278 buildPlatform : " Any CPU"
12521279 buildConfiguration : " Release"
1280+ DownloadMDP : $[ dependencies.Check_Build_Options.outputs['BuildOptions.USE_SPECIFIC_MDP'] ]
12531281
12541282 steps :
12551283 - checkout : self
@@ -1260,6 +1288,7 @@ jobs:
12601288 persistCredentials : true
12611289
12621290 - template : azure-pipelines-templates/check-mscorlib-to-test.yml
1291+ - template : azure-pipelines-templates/check-mdp-for-build.yml
12631292
12641293 # Download nanoclr from build artifacts
12651294 - task : DownloadBuildArtifacts@1
0 commit comments