Add a major-minor build info JSON file (#16301)
This commit is contained in:
parent
f2d5ae74ad
commit
a3c03392ca
|
@ -5,6 +5,6 @@
|
|||
"ReleaseTag": "v7.1.5",
|
||||
"LTSReleaseTag" : ["v7.0.8"],
|
||||
"NextReleaseTag": "v7.2.0-preview.11",
|
||||
"LTSRelease": false,
|
||||
"StableRelease": false
|
||||
"LTSRelease": { "Latest": false, "Package": true },
|
||||
"StableRelease": { "Latest": false, "Package": true }
|
||||
}
|
||||
|
|
|
@ -35,7 +35,7 @@ $semVersion = [System.Management.Automation.SemanticVersion] $version
|
|||
|
||||
$metadata = Get-Content "$location/tools/metadata.json" -Raw | ConvertFrom-Json
|
||||
|
||||
$LTS = $metadata.LTSRelease
|
||||
$LTS = $metadata.LTSRelease.Package
|
||||
|
||||
Write-Verbose -Verbose -Message "LTS is set to: $LTS"
|
||||
|
||||
|
|
|
@ -217,7 +217,7 @@ stages:
|
|||
|
||||
- powershell: |
|
||||
$metadata = Get-Content '$(Build.SourcesDirectory)/tools/metadata.json' -Raw | ConvertFrom-Json
|
||||
$LTS = $metadata.LTSRelease
|
||||
$LTS = $metadata.LTSRelease.Latest
|
||||
@{ ReleaseVersion = "$(Version)"; LTSRelease = $LTS } | ConvertTo-Json | Out-File "$(Build.StagingDirectory)\release.json"
|
||||
Get-Content "$(Build.StagingDirectory)\release.json"
|
||||
Write-Host "##vso[artifact.upload containerfolder=metadata;artifactname=metadata]$(Build.StagingDirectory)\release.json"
|
||||
|
|
|
@ -103,7 +103,9 @@ jobs:
|
|||
Import-Module "$env:POWERSHELLROOT/tools/packaging"
|
||||
|
||||
$metadata = Get-Content "$env:POWERSHELLROOT/tools/metadata.json" -Raw | ConvertFrom-Json
|
||||
$LTS = $metadata.LTSRelease
|
||||
|
||||
# LTSRelease.Package indicates that the release should be packaged as an LTS
|
||||
$LTS = $metadata.LTSRelease.Package
|
||||
Write-Verbose -Verbose -Message "LTS is set to: $LTS"
|
||||
|
||||
Invoke-AzDevOpsLinuxPackageCreation -ReleaseTag '$(ReleaseTagVar)' -BuildType '$(build)'
|
||||
|
|
|
@ -18,8 +18,8 @@ steps:
|
|||
$dateTime = [datetime]::new($dateTime.Ticks - ($dateTime.Ticks % [timespan]::TicksPerSecond), $dateTime.Kind)
|
||||
|
||||
$metadata = Get-Content ./tools/metadata.json | ConvertFrom-Json
|
||||
$stableRelease = $metadata.StableRelease
|
||||
$ltsRelease = $metadata.LTSRelease
|
||||
$stableRelease = $metadata.StableRelease.Latest
|
||||
$ltsRelease = $metadata.LTSRelease.Latest
|
||||
|
||||
$buildInfo = Get-Content $jsonFile | ConvertFrom-Json
|
||||
$buildInfo.ReleaseDate = $dateTime
|
||||
|
@ -35,17 +35,27 @@ steps:
|
|||
Write-Host "sending " + $vstsCommandString
|
||||
Write-Host "##$vstsCommandString"
|
||||
|
||||
|
||||
## Create 'lts.json' if it's the latest stable and also a LTS release.
|
||||
|
||||
$vstsCommandCopyLTSBuildInfo = "vso[task.setvariable variable=CopyLTSBuildInfo]NO"
|
||||
$vstsCommandCopyVersionBuildInfo = "vso[task.setvariable variable=CopyVersionBuildInfo]NO"
|
||||
|
||||
if ($fileName -eq "stable.json" -and $ltsRelease)
|
||||
{
|
||||
$ltsFile = "$ENV:PIPELINE_WORKSPACE/lts.json"
|
||||
Copy-Item -Path $targetFile -Destination $ltsFile -Force
|
||||
$vstsCommandLtsJsonFile = "vso[task.setvariable variable=LtsBuildInfoJsonFile]$ltsFile"
|
||||
$vstsCommandCopyLTSBuildInfo = "vso[task.setvariable variable=CopyLTSBuildInfo]YES"
|
||||
if ($fileName -eq "stable.json") {
|
||||
if ($ltsRelease) {
|
||||
$ltsFile = "$ENV:PIPELINE_WORKSPACE/lts.json"
|
||||
Copy-Item -Path $targetFile -Destination $ltsFile -Force
|
||||
$vstsCommandLtsJsonFile = "vso[task.setvariable variable=LtsBuildInfoJsonFile]$ltsFile"
|
||||
$vstsCommandCopyLTSBuildInfo = "vso[task.setvariable variable=CopyLTSBuildInfo]YES"
|
||||
}
|
||||
|
||||
$releaseTag = $buildInfo.ReleaseTag
|
||||
$version = $releaseTag -replace '^v'
|
||||
$semVersion = [System.Management.Automation.SemanticVersion] $version
|
||||
|
||||
$versionFile = "$ENV:PIPELINE_WORKSPACE/$($semVersion.Major)-$($semVersion.Minor).json"
|
||||
Copy-Item -Path $targetFile -Destination $versionFile -Force
|
||||
$vstsCommandVersionJsonFile = "vso[task.setvariable variable=VersionBuildInfoJsonFile]$versionFile"
|
||||
$vstsCommandCopyVersionBuildInfo = "vso[task.setvariable variable=CopyVersionBuildInfo]YES"
|
||||
}
|
||||
|
||||
Write-Host "sending " + $vstsCommandCopyLTSBuildInfo
|
||||
|
@ -56,6 +66,15 @@ steps:
|
|||
Write-Host "sending " + $vstsCommandLtsJsonFile
|
||||
Write-Host "##$vstsCommandLtsJsonFile"
|
||||
}
|
||||
|
||||
Write-Host "sending " + $vstsCommandCopyVersionBuildInfo
|
||||
Write-Host "##$vstsCommandCopyVersionBuildInfo"
|
||||
|
||||
if ($vstsCommandVersionJsonFile)
|
||||
{
|
||||
Write-Host "sending " + $vstsCommandVersionJsonFile
|
||||
Write-Host "##$vstsCommandVersionJsonFile"
|
||||
}
|
||||
displayName: Download and Capture NuPkgs
|
||||
|
||||
- task: AzureFileCopy@2
|
||||
|
@ -77,3 +96,13 @@ steps:
|
|||
storage: '$(StorageAccount)'
|
||||
ContainerName: BuildInfo
|
||||
condition: and(succeeded(), eq(variables['CopyLTSBuildInfo'], 'YES'))
|
||||
|
||||
- task: AzureFileCopy@2
|
||||
displayName: 'AzureBlob build info ''Major-Minor.json'' Copy when needed'
|
||||
inputs:
|
||||
SourcePath: '$(VersionBuildInfoJsonFile)'
|
||||
azureSubscription: '$(AzureFileCopySubscription)'
|
||||
Destination: AzureBlob
|
||||
storage: '$(StorageAccount)'
|
||||
ContainerName: BuildInfo
|
||||
condition: and(succeeded(), eq(variables['CopyVersionBuildInfo'], 'YES'))
|
||||
|
|
|
@ -25,13 +25,13 @@ steps:
|
|||
|
||||
- pwsh: |
|
||||
$metadata = Get-Content -Path "$ENV:PIPELINE_WORKSPACE/releasePipeline/metadata/release.json" -Raw | ConvertFrom-Json
|
||||
Write-Verbose -Verbose "$(ReleaseTag) $(RepoClientCliClientID) $(RepoClientCliSecret) $(AzureVersion) $($metadata.LTSRelease)"
|
||||
Write-Verbose -Verbose "$(ReleaseTag) $(RepoClientCliClientID) $(RepoClientCliSecret) $(AzureVersion) $($metadata.LTSRelease.Latest)"
|
||||
$params = @{
|
||||
ReleaseTag = "$(ReleaseTag)"
|
||||
AadClientId = "$(RepoClientCliClientID)"
|
||||
AadClientSecret = "$(RepoClientCliSecret)"
|
||||
BlobFolderName = "$(AzureVersion)"
|
||||
LTS = $metadata.LTSRelease
|
||||
LTS = $metadata.LTSRelease.Latest
|
||||
ForProduction = $true
|
||||
}
|
||||
& '$(Pipeline.Workspace)/tools/packages.microsoft.com/releaseLinuxPackages.ps1' @params
|
||||
|
|
|
@ -65,7 +65,8 @@ if ($Build -or $PSCmdlet.ParameterSetName -eq 'packageSigned') {
|
|||
$semVersion = [System.Management.Automation.SemanticVersion] $version
|
||||
|
||||
$metadata = Get-Content "$location/tools/metadata.json" -Raw | ConvertFrom-Json
|
||||
$LTS = $metadata.LTSRelease
|
||||
|
||||
$LTS = $metadata.LTSRelease.Package
|
||||
|
||||
Write-Verbose -Verbose -Message "LTS is set to: $LTS"
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue