From 5d75aea8d2c45159acf60852cef19633715db0f3 Mon Sep 17 00:00:00 2001 From: Travis Plunk Date: Mon, 5 Apr 2021 21:42:28 +0000 Subject: [PATCH 1/7] update release tag regex --- build.psm1 | 2 +- tools/packaging/packaging.psm1 | 2 +- .../releaseBuild/Images/GenericLinuxFiles/PowerShellPackage.ps1 | 2 +- .../PowerShellPackage.ps1 | 2 +- tools/releaseBuild/macOS/PowerShellPackageVsts.ps1 | 2 +- tools/releaseBuild/vstsbuild.ps1 | 2 +- 6 files changed, 6 insertions(+), 6 deletions(-) diff --git a/build.psm1 b/build.psm1 index 690b8684f68..7912f26b45a 100644 --- a/build.psm1 +++ b/build.psm1 @@ -303,7 +303,7 @@ function Start-PSBuild { [switch]$CrossGen, - [ValidatePattern("^v\d+\.\d+\.\d+(-\w+(\.\d{1,2})?)?$")] + [ValidatePattern("^v\d+\.\d+\.\d+(-(daily.\d{8}|\w+(\.\d{1,8})?))?$")] [ValidateNotNullOrEmpty()] [string]$ReleaseTag, [switch]$Detailed, diff --git a/tools/packaging/packaging.psm1 b/tools/packaging/packaging.psm1 index e9ede940673..392cfc93612 100644 --- a/tools/packaging/packaging.psm1 +++ b/tools/packaging/packaging.psm1 @@ -20,7 +20,7 @@ function Start-PSPackage { [string]$Version, [Parameter(ParameterSetName = "ReleaseTag")] - [ValidatePattern("^v\d+\.\d+\.\d+(-\w+(\.\d{1,2})?)?$")] + [ValidatePattern("^v\d+\.\d+\.\d+(-(daily.\d{8}|\w+(\.\d{1,8})?))?$")] [ValidateNotNullOrEmpty()] [string]$ReleaseTag, diff --git a/tools/releaseBuild/Images/GenericLinuxFiles/PowerShellPackage.ps1 b/tools/releaseBuild/Images/GenericLinuxFiles/PowerShellPackage.ps1 index 9635bee4ff7..adfc9c1c14a 100644 --- a/tools/releaseBuild/Images/GenericLinuxFiles/PowerShellPackage.ps1 +++ b/tools/releaseBuild/Images/GenericLinuxFiles/PowerShellPackage.ps1 @@ -11,7 +11,7 @@ param ( # Destination location of the package on docker host [string] $destination = '/mnt', - [ValidatePattern("^v\d+\.\d+\.\d+(-\w+(\.\d{1,2})?)?$")] + [ValidatePattern("^v\d+\.\d+\.\d+(-(daily.\d{8}|\w+(\.\d{1,8})?))?$")] [ValidateNotNullOrEmpty()] [string]$ReleaseTag, diff --git a/tools/releaseBuild/Images/microsoft_powershell_windowsservercore/PowerShellPackage.ps1 b/tools/releaseBuild/Images/microsoft_powershell_windowsservercore/PowerShellPackage.ps1 index ee8dec54006..0c1d022ddae 100644 --- a/tools/releaseBuild/Images/microsoft_powershell_windowsservercore/PowerShellPackage.ps1 +++ b/tools/releaseBuild/Images/microsoft_powershell_windowsservercore/PowerShellPackage.ps1 @@ -18,7 +18,7 @@ param ( [switch] $Wait, - [ValidatePattern("^v\d+\.\d+\.\d+(-\w+(\.\d{1,2})?)?$")] + [ValidatePattern("^v\d+\.\d+\.\d+(-(daily.\d{8}|\w+(\.\d{1,8})?))?$")] [ValidateNotNullOrEmpty()] [string] $ReleaseTag, diff --git a/tools/releaseBuild/macOS/PowerShellPackageVsts.ps1 b/tools/releaseBuild/macOS/PowerShellPackageVsts.ps1 index 75bd3a1ed8c..1eae3c1cc29 100644 --- a/tools/releaseBuild/macOS/PowerShellPackageVsts.ps1 +++ b/tools/releaseBuild/macOS/PowerShellPackageVsts.ps1 @@ -18,7 +18,7 @@ param ( [Parameter(Mandatory, ParameterSetName = 'packageSigned')] [Parameter(Mandatory, ParameterSetName = 'IncludeSymbols')] [Parameter(Mandatory, ParameterSetName = 'Build')] - [ValidatePattern("^v\d+\.\d+\.\d+(-\w+(\.\d{1,2})?)?$")] + [ValidatePattern("^v\d+\.\d+\.\d+(-(daily.\d{8}|\w+(\.\d{1,8})?))?$")] [ValidateNotNullOrEmpty()] [string]$ReleaseTag, diff --git a/tools/releaseBuild/vstsbuild.ps1 b/tools/releaseBuild/vstsbuild.ps1 index 1c2d740c418..11d668e3255 100644 --- a/tools/releaseBuild/vstsbuild.ps1 +++ b/tools/releaseBuild/vstsbuild.ps1 @@ -4,7 +4,7 @@ param( [Parameter(ParameterSetName='packageSigned')] [Parameter(ParameterSetName='Build')] - [ValidatePattern("^v\d+\.\d+\.\d+(-\w+(\.\d{1,2})?)?$")] + [ValidatePattern("^v\d+\.\d+\.\d+(-(daily.\d{8}|\w+(\.\d{1,8})?))?$")] [string]$ReleaseTag, # full paths to files to add to container to run the build From b1c1b949216a3d8c8704a5ecc980dbdebcf40fa1 Mon Sep 17 00:00:00 2001 From: Travis Plunk Date: Mon, 5 Apr 2021 23:04:27 +0000 Subject: [PATCH 2/7] make sure the revision is not too large --- PowerShell.Common.props | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/PowerShell.Common.props b/PowerShell.Common.props index 38cd13e007d..6e4eb8a7c50 100644 --- a/PowerShell.Common.props +++ b/PowerShell.Common.props @@ -53,7 +53,7 @@ $(ReleaseTag) - $(ReleaseTagVersionPart).$(ReleaseTagSemVersionPart) + $(ReleaseTagVersionPart).$(ReleaseTagSemVersionPart.Substring(3)) $(ReleaseTagVersionPart) From 043b925b72e05079dc2a53721ab44ca9e044b0ba Mon Sep 17 00:00:00 2001 From: Travis Plunk Date: Mon, 5 Apr 2021 23:26:07 +0000 Subject: [PATCH 3/7] use branch counter for daily --- tools/releaseBuild/azureDevOps/releaseBuild.yml | 3 ++- tools/releaseBuild/setReleaseTag.ps1 | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/tools/releaseBuild/azureDevOps/releaseBuild.yml b/tools/releaseBuild/azureDevOps/releaseBuild.yml index 756f2114d5a..28055bf65a4 100644 --- a/tools/releaseBuild/azureDevOps/releaseBuild.yml +++ b/tools/releaseBuild/azureDevOps/releaseBuild.yml @@ -25,7 +25,8 @@ variables: value: 1 - name: NugetSecurityAnalysisWarningLevel value: none - + - name: branchCounter + value: $[counter(variables['Build.SourceBranch'], 1)] stages: - stage: prep jobs: diff --git a/tools/releaseBuild/setReleaseTag.ps1 b/tools/releaseBuild/setReleaseTag.ps1 index 1659dbc74cb..49d59a5bbb6 100644 --- a/tools/releaseBuild/setReleaseTag.ps1 +++ b/tools/releaseBuild/setReleaseTag.ps1 @@ -92,7 +92,7 @@ if($ReleaseTag -eq 'fromBranch' -or !$ReleaseTag) $versionPart = $versionPart -replace '-.*$' } - $releaseTag = "$versionPart-daily.$((Get-Date).ToString('yyyyMMdd'))" + $releaseTag = "$versionPart-daily.$($env:BRANCHCOUNTER)" $vstsCommandString = "vso[task.setvariable variable=$Variable]$releaseTag" Write-Verbose -Message "setting $Variable to $releaseTag" -Verbose Write-Host -Object "##$vstsCommandString" From 88dbc271d8fe4dde3c555ad537962521a7559e9d Mon Sep 17 00:00:00 2001 From: Travis Plunk Date: Mon, 5 Apr 2021 23:26:16 +0000 Subject: [PATCH 4/7] Revert "make sure the revision is not too large" This reverts commit b1c1b949216a3d8c8704a5ecc980dbdebcf40fa1. --- PowerShell.Common.props | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/PowerShell.Common.props b/PowerShell.Common.props index 6e4eb8a7c50..38cd13e007d 100644 --- a/PowerShell.Common.props +++ b/PowerShell.Common.props @@ -53,7 +53,7 @@ $(ReleaseTag) - $(ReleaseTagVersionPart).$(ReleaseTagSemVersionPart.Substring(3)) + $(ReleaseTagVersionPart).$(ReleaseTagSemVersionPart) $(ReleaseTagVersionPart) From 38b3c5fb30c25579ff307cfa995af73d86701880 Mon Sep 17 00:00:00 2001 From: Travis Plunk Date: Mon, 5 Apr 2021 23:26:24 +0000 Subject: [PATCH 5/7] Revert "update release tag regex" This reverts commit 5d75aea8d2c45159acf60852cef19633715db0f3. --- build.psm1 | 2 +- tools/packaging/packaging.psm1 | 2 +- .../releaseBuild/Images/GenericLinuxFiles/PowerShellPackage.ps1 | 2 +- .../PowerShellPackage.ps1 | 2 +- tools/releaseBuild/macOS/PowerShellPackageVsts.ps1 | 2 +- tools/releaseBuild/vstsbuild.ps1 | 2 +- 6 files changed, 6 insertions(+), 6 deletions(-) diff --git a/build.psm1 b/build.psm1 index 7912f26b45a..690b8684f68 100644 --- a/build.psm1 +++ b/build.psm1 @@ -303,7 +303,7 @@ function Start-PSBuild { [switch]$CrossGen, - [ValidatePattern("^v\d+\.\d+\.\d+(-(daily.\d{8}|\w+(\.\d{1,8})?))?$")] + [ValidatePattern("^v\d+\.\d+\.\d+(-\w+(\.\d{1,2})?)?$")] [ValidateNotNullOrEmpty()] [string]$ReleaseTag, [switch]$Detailed, diff --git a/tools/packaging/packaging.psm1 b/tools/packaging/packaging.psm1 index 392cfc93612..e9ede940673 100644 --- a/tools/packaging/packaging.psm1 +++ b/tools/packaging/packaging.psm1 @@ -20,7 +20,7 @@ function Start-PSPackage { [string]$Version, [Parameter(ParameterSetName = "ReleaseTag")] - [ValidatePattern("^v\d+\.\d+\.\d+(-(daily.\d{8}|\w+(\.\d{1,8})?))?$")] + [ValidatePattern("^v\d+\.\d+\.\d+(-\w+(\.\d{1,2})?)?$")] [ValidateNotNullOrEmpty()] [string]$ReleaseTag, diff --git a/tools/releaseBuild/Images/GenericLinuxFiles/PowerShellPackage.ps1 b/tools/releaseBuild/Images/GenericLinuxFiles/PowerShellPackage.ps1 index adfc9c1c14a..9635bee4ff7 100644 --- a/tools/releaseBuild/Images/GenericLinuxFiles/PowerShellPackage.ps1 +++ b/tools/releaseBuild/Images/GenericLinuxFiles/PowerShellPackage.ps1 @@ -11,7 +11,7 @@ param ( # Destination location of the package on docker host [string] $destination = '/mnt', - [ValidatePattern("^v\d+\.\d+\.\d+(-(daily.\d{8}|\w+(\.\d{1,8})?))?$")] + [ValidatePattern("^v\d+\.\d+\.\d+(-\w+(\.\d{1,2})?)?$")] [ValidateNotNullOrEmpty()] [string]$ReleaseTag, diff --git a/tools/releaseBuild/Images/microsoft_powershell_windowsservercore/PowerShellPackage.ps1 b/tools/releaseBuild/Images/microsoft_powershell_windowsservercore/PowerShellPackage.ps1 index 0c1d022ddae..ee8dec54006 100644 --- a/tools/releaseBuild/Images/microsoft_powershell_windowsservercore/PowerShellPackage.ps1 +++ b/tools/releaseBuild/Images/microsoft_powershell_windowsservercore/PowerShellPackage.ps1 @@ -18,7 +18,7 @@ param ( [switch] $Wait, - [ValidatePattern("^v\d+\.\d+\.\d+(-(daily.\d{8}|\w+(\.\d{1,8})?))?$")] + [ValidatePattern("^v\d+\.\d+\.\d+(-\w+(\.\d{1,2})?)?$")] [ValidateNotNullOrEmpty()] [string] $ReleaseTag, diff --git a/tools/releaseBuild/macOS/PowerShellPackageVsts.ps1 b/tools/releaseBuild/macOS/PowerShellPackageVsts.ps1 index 1eae3c1cc29..75bd3a1ed8c 100644 --- a/tools/releaseBuild/macOS/PowerShellPackageVsts.ps1 +++ b/tools/releaseBuild/macOS/PowerShellPackageVsts.ps1 @@ -18,7 +18,7 @@ param ( [Parameter(Mandatory, ParameterSetName = 'packageSigned')] [Parameter(Mandatory, ParameterSetName = 'IncludeSymbols')] [Parameter(Mandatory, ParameterSetName = 'Build')] - [ValidatePattern("^v\d+\.\d+\.\d+(-(daily.\d{8}|\w+(\.\d{1,8})?))?$")] + [ValidatePattern("^v\d+\.\d+\.\d+(-\w+(\.\d{1,2})?)?$")] [ValidateNotNullOrEmpty()] [string]$ReleaseTag, diff --git a/tools/releaseBuild/vstsbuild.ps1 b/tools/releaseBuild/vstsbuild.ps1 index 11d668e3255..1c2d740c418 100644 --- a/tools/releaseBuild/vstsbuild.ps1 +++ b/tools/releaseBuild/vstsbuild.ps1 @@ -4,7 +4,7 @@ param( [Parameter(ParameterSetName='packageSigned')] [Parameter(ParameterSetName='Build')] - [ValidatePattern("^v\d+\.\d+\.\d+(-(daily.\d{8}|\w+(\.\d{1,8})?))?$")] + [ValidatePattern("^v\d+\.\d+\.\d+(-\w+(\.\d{1,2})?)?$")] [string]$ReleaseTag, # full paths to files to add to container to run the build From ce2ad13d972612745c0c246ff6c81e5e62f54145 Mon Sep 17 00:00:00 2001 From: Travis Plunk Date: Tue, 6 Apr 2021 17:15:15 +0000 Subject: [PATCH 6/7] maked date part of prerelease label and use count --- tools/releaseBuild/azureDevOps/releaseBuild.yml | 4 +++- tools/releaseBuild/setReleaseTag.ps1 | 2 +- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/tools/releaseBuild/azureDevOps/releaseBuild.yml b/tools/releaseBuild/azureDevOps/releaseBuild.yml index 28055bf65a4..f309431b977 100644 --- a/tools/releaseBuild/azureDevOps/releaseBuild.yml +++ b/tools/releaseBuild/azureDevOps/releaseBuild.yml @@ -25,8 +25,10 @@ variables: value: 1 - name: NugetSecurityAnalysisWarningLevel value: none + - name: branchCounterKey + value: $[format('{0:yyyyMMdd}-{1}', pipeline.startTime,variables['Build.SourceBranch'])] - name: branchCounter - value: $[counter(variables['Build.SourceBranch'], 1)] + value: $[counter(variables['branchCounterKey'], 1)] stages: - stage: prep jobs: diff --git a/tools/releaseBuild/setReleaseTag.ps1 b/tools/releaseBuild/setReleaseTag.ps1 index 49d59a5bbb6..26f97985c04 100644 --- a/tools/releaseBuild/setReleaseTag.ps1 +++ b/tools/releaseBuild/setReleaseTag.ps1 @@ -92,7 +92,7 @@ if($ReleaseTag -eq 'fromBranch' -or !$ReleaseTag) $versionPart = $versionPart -replace '-.*$' } - $releaseTag = "$versionPart-daily.$($env:BRANCHCOUNTER)" + $releaseTag = "$versionPart-daily$((Get-Date).ToString('yyyyMMdd')).$($env:BRANCHCOUNTER)" $vstsCommandString = "vso[task.setvariable variable=$Variable]$releaseTag" Write-Verbose -Message "setting $Variable to $releaseTag" -Verbose Write-Host -Object "##$vstsCommandString" From 3b6242c6c47b8a30539d9338f013e2a69ae23b39 Mon Sep 17 00:00:00 2001 From: Travis Plunk Date: Tue, 6 Apr 2021 18:18:44 +0000 Subject: [PATCH 7/7] fake exe siging --- .../azureDevOps/templates/windows-package-signing.yml | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/tools/releaseBuild/azureDevOps/templates/windows-package-signing.yml b/tools/releaseBuild/azureDevOps/templates/windows-package-signing.yml index e1b5e378def..0ab2724bf30 100644 --- a/tools/releaseBuild/azureDevOps/templates/windows-package-signing.yml +++ b/tools/releaseBuild/azureDevOps/templates/windows-package-signing.yml @@ -55,7 +55,12 @@ jobs: - powershell: | new-item -itemtype Directory -path '$(Build.StagingDirectory)\signedPackages' Get-ChildItem "$(System.ArtifactsDirectory)\signed\PowerShell-$(Version)-win-*.msi*" | copy-item -Destination '$(Build.StagingDirectory)\signedPackages' - displayName: 'Fake Signing' + displayName: 'Fake msi* Signing' + condition: and(succeeded(), ne(variables['SHOULD_SIGN'], 'true')) + + - pwsh: | + Get-ChildItem "$(System.ArtifactsDirectory)\signed\PowerShell-$(Version)-win-*.exe" | copy-item -Destination '$(Build.StagingDirectory)\signedPackages' + displayName: 'Fake exe Signing' condition: and(succeeded(), ne(variables['SHOULD_SIGN'], 'true')) - template: upload.yml