Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions tools/metadata.json
Original file line number Diff line number Diff line change
Expand Up @@ -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 }
}
Original file line number Diff line number Diff line change
Expand Up @@ -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"

Expand Down
2 changes: 1 addition & 1 deletion tools/releaseBuild/azureDevOps/releaseBuild.yml
Original file line number Diff line number Diff line change
Expand Up @@ -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"
Expand Down
4 changes: 3 additions & 1 deletion tools/releaseBuild/azureDevOps/templates/linux.yml
Original file line number Diff line number Diff line change
Expand Up @@ -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)'
Expand Down
47 changes: 38 additions & 9 deletions tools/releaseBuild/azureDevOps/templates/release-BuildJson.yml
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand All @@ -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
Expand All @@ -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
Expand All @@ -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'))
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
3 changes: 2 additions & 1 deletion tools/releaseBuild/macOS/PowerShellPackageVsts.ps1
Original file line number Diff line number Diff line change
Expand Up @@ -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"
}
Expand Down