diff --git a/Build/localbuild.ps1 b/Build/localbuild.ps1 new file mode 100644 index 00000000..58a6510c --- /dev/null +++ b/Build/localbuild.ps1 @@ -0,0 +1,5 @@ +Start-Transcript ($PSScriptRoot + '\Temp\runbuild.txt') + +$version = Get-Content "$PSScriptRoot\version.json" | Out-String | ConvertFrom-Json + +& $PSScriptRoot\runbuild.ps1 -properties @{"majorVersion"="$($version.Major).0"; "majorWithReleaseVersion"="$($version.Major).0.$($version.Release)"; "nugetPrerelease"=$version.Prerelease; "zipFileName"="Json$($version.Major)0r$($version.Release).zip"; "treatWarningsAsErrors"=$true} \ No newline at end of file diff --git a/Build/version.json b/Build/version.json new file mode 100644 index 00000000..3d72af29 --- /dev/null +++ b/Build/version.json @@ -0,0 +1,5 @@ +{ + "Major": 12, + "Release": 1, + "Prerelease": "beta1" +} \ No newline at end of file diff --git a/azure-pipelines.yml b/azure-pipelines.yml index 14498ee4..7c5b6e06 100644 --- a/azure-pipelines.yml +++ b/azure-pipelines.yml @@ -10,20 +10,22 @@ steps: env: KEY_DATA: $(newtonsoft.keyData) displayName: 'Prepare signing key' - condition: and(succeeded(), eq(variables['Build.SourceBranch'], 'refs/heads/master')) + condition: and(succeeded(), not(eq(variables['build.reason'], 'PullRequest'))) - powershell: | - $buildNumber = [int]$Env:BUILD_ID - write-host "Build number $buildNumber" -fore white $basePath = resolve-path . $keyPath = "$basePath\key.snk" $sign = test-path $keyPath write-host "Sign assemblies $sign" -fore white - $formattedBuildNumber = $buildNumber.ToString("D6") - $nugetPrerelease = "build$formattedBuildNumber" - .\Build\runbuild.ps1 -properties @{"signAssemblies"=$sign; "signKeyPath"=$keyPath; "treatWarningsAsErrors"=$true; "nugetPrerelease"=$nugetPrerelease;} + $version = Get-Content .\Build\version.json | Out-String | ConvertFrom-Json + $buildNumber = [int]$Env:BuildId + write-host "Build number $buildNumber" -fore white + $nugetPrerelease = if ($Env:SourceBranch -eq "refs/heads/master") { $version.Prerelease } else { "build$($buildNumber.ToString("D6"))" } + write-host "Prerelease $nugetPrerelease" -fore white + .\Build\runbuild.ps1 -properties @{"majorVersion"="$($version.Major).0"; "majorWithReleaseVersion"="$($version.Major).0.$($version.Release)"; "nugetPrerelease"=$nugetPrerelease; "zipFileName"="Json$($version.Major)0r$($version.Release).zip"; "signAssemblies"=$sign; "signKeyPath"=$keyPath; "treatWarningsAsErrors"=$true; "buildNuGet"=$true} env: - BUILD_ID: $(Build.BuildId) + BuildId: $(Build.BuildId) + SourceBranch: $(Build.SourceBranch) displayName: 'Run build' - task: PowerShell@2 @@ -34,7 +36,7 @@ steps: SignClientSecret: $(newtonsoft.signClientSecret) ArtifactDirectory: .\Working displayName: 'Authenticode sign packages' - condition: and(succeeded(), eq(variables['Build.SourceBranch'], 'refs/heads/master'), not(eq(variables['newtonsoft.signClientUser'], '')), not(eq(variables['newtonsoft.signClientSecret'], ''))) + condition: and(succeeded(), not(eq(variables['build.reason'], 'PullRequest')), not(eq(variables['newtonsoft.signClientUser'], '')), not(eq(variables['newtonsoft.signClientSecret'], ''))) - task: PublishTestResults@2 inputs: @@ -55,4 +57,4 @@ steps: parallel: true parallelCount: 8 displayName: 'Publish artifacts' - condition: and(succeeded(), eq(variables['Build.SourceBranch'], 'refs/heads/master')) \ No newline at end of file + condition: and(succeeded(), not(eq(variables['build.reason'], 'PullRequest'))) \ No newline at end of file