mirror of
https://github.com/PowerShell/PowerShell
synced 2026-06-08 12:12:50 +00:00
Fix $pkgPath array iteration and apply certificate_logical_to_actual changes
Agent-Logs-Url: https://github.com/PowerShell/PowerShell/sessions/23cc139a-aa0a-4713-a660-832ae08e6ad4 Co-authored-by: TravisEz13 <10873629+TravisEz13@users.noreply.github.com>
This commit is contained in:
co-authored by
TravisEz13
parent
11dc00159a
commit
31b0544eff
@@ -3,7 +3,6 @@ parameters:
|
||||
signedeDrop: 'drop_linux_sign_linux_x64'
|
||||
packageType: deb
|
||||
jobName: 'deb'
|
||||
signingProfile: 'CP-450779-pgpdetached'
|
||||
|
||||
jobs:
|
||||
- job: ${{ parameters.jobName }}
|
||||
@@ -20,6 +19,7 @@ jobs:
|
||||
- name: skipNugetSecurityAnalysis
|
||||
value: true
|
||||
- group: DotNetPrivateBuildAccess
|
||||
- group: certificate_logical_to_actual
|
||||
- name: ob_outputDirectory
|
||||
value: '$(Build.ArtifactStagingDirectory)/ONEBRANCH_ARTIFACT'
|
||||
- name: ob_sdl_binskim_enabled
|
||||
@@ -34,8 +34,16 @@ jobs:
|
||||
value: $(Build.SourcesDirectory)/PowerShell/.config/tsaoptions.json
|
||||
- name: ob_sdl_credscan_suppressionsFile
|
||||
value: $(Build.SourcesDirectory)/PowerShell/.config/suppress.json
|
||||
- name: SigningProfile
|
||||
value: ${{ parameters.signingProfile }}
|
||||
# PGP signing profile selection: Mariner (Azure Linux) packages ship through
|
||||
# a different distribution channel and must be signed with the Mariner release
|
||||
# key; all other Linux packages use the standard PowerShell Linux key. Both
|
||||
# key codes come from the `certificate_logical_to_actual` variable group.
|
||||
- ${{ if startsWith(parameters.jobName, 'mariner') }}:
|
||||
- name: SigningProfile
|
||||
value: $(pgp_release_cert_id)
|
||||
- ${{ else }}:
|
||||
- name: SigningProfile
|
||||
value: $(pgp_linux_cert_id)
|
||||
|
||||
steps:
|
||||
- checkout: self
|
||||
@@ -192,6 +200,15 @@ jobs:
|
||||
$pkgPath = Get-ChildItem -Path $(Pipeline.Workspace) -Filter $pkgFilter -Recurse -File | Select-Object -ExpandProperty FullName
|
||||
Write-Verbose -Verbose "pkgPath: $pkgPath"
|
||||
Copy-Item -Path $pkgPath -Destination '$(ob_outputDirectory)' -Force -Verbose
|
||||
|
||||
foreach ($path in $pkgPath) {
|
||||
if ($path -like '*.tar.gz') {
|
||||
$entry = & tar -tzvf $path | Where-Object { $_ -match '\spwsh$' } | Select-Object -First 1
|
||||
if ($entry -notmatch '^-..x') {
|
||||
throw "pwsh is not executable in $path : $entry"
|
||||
}
|
||||
}
|
||||
}
|
||||
displayName: 'Copy artifacts to output directory'
|
||||
env:
|
||||
__DOTNET_RUNTIME_FEED_KEY: $(RUNTIME_SOURCEFEED_KEY)
|
||||
|
||||
@@ -154,6 +154,10 @@ jobs:
|
||||
|
||||
foreach($t in $tarPkgPath) {
|
||||
$file = $t.FullName
|
||||
$entry = & tar -tzvf $file | Where-Object { $_ -match '\spwsh$' } | Select-Object -First 1
|
||||
if ($entry -notmatch '^-..x') {
|
||||
throw "pwsh is not executable in $file : $entry"
|
||||
}
|
||||
Write-Verbose -verbose "Uploading $file to macos-pkgs"
|
||||
Write-Host "##vso[artifact.upload containerfolder=macos-pkgs;artifactname=macos-pkgs]$file"
|
||||
}
|
||||
@@ -170,6 +174,7 @@ jobs:
|
||||
type: windows
|
||||
|
||||
variables:
|
||||
- group: certificate_logical_to_actual
|
||||
- name: ob_outputDirectory
|
||||
value: '$(Build.ArtifactStagingDirectory)/ONEBRANCH_ARTIFACT'
|
||||
- name: ob_sdl_binskim_enabled
|
||||
|
||||
@@ -23,6 +23,7 @@ jobs:
|
||||
- group: mscodehub-feed-read-general
|
||||
- group: mscodehub-feed-read-akv
|
||||
- group: DotNetPrivateBuildAccess
|
||||
- group: certificate_logical_to_actual
|
||||
|
||||
steps:
|
||||
- checkout: self
|
||||
@@ -208,7 +209,7 @@ jobs:
|
||||
displayName: Sign nupkg files
|
||||
inputs:
|
||||
command: 'sign'
|
||||
cp_code: 'CP-401405'
|
||||
cp_code: '$(nuget_cert_id)'
|
||||
files_to_sign: '**\*.nupkg'
|
||||
search_root: '$(Pipeline.Workspace)\nupkg'
|
||||
|
||||
@@ -268,7 +269,7 @@ jobs:
|
||||
displayName: Sign nupkg files
|
||||
inputs:
|
||||
command: 'sign'
|
||||
cp_code: 'CP-401405'
|
||||
cp_code: '$(nuget_cert_id)'
|
||||
files_to_sign: '**\*.nupkg'
|
||||
search_root: '$(Pipeline.Workspace)\globaltools'
|
||||
|
||||
|
||||
@@ -6,11 +6,11 @@ parameters:
|
||||
steps:
|
||||
- powershell: |
|
||||
$shouldSign = $true
|
||||
$authenticodeCert = 'CP-230012'
|
||||
$msixCert = 'CP-230012'
|
||||
$authenticodeCert = '$(authenticode_cert_id)'
|
||||
$msixCert = '$(authenticode_cert_id)'
|
||||
if($env:IS_DAILY -eq 'true')
|
||||
{
|
||||
$authenticodeCert = 'CP-460906'
|
||||
$authenticodeCert = '$(authenticode_test_cert_id)'
|
||||
}
|
||||
if($env:SKIP_SIGNING -eq 'Yes')
|
||||
{
|
||||
|
||||
@@ -93,7 +93,6 @@ stages:
|
||||
signedDrop: 'drop_linux_sign_linux_fxd_x64_mariner'
|
||||
packageType: rpm-fxdependent #mariner-x64
|
||||
jobName: mariner_x64
|
||||
signingProfile: 'CP-459159-pgpdetached'
|
||||
|
||||
- template: /.pipelines/templates/linux-package-build.yml@self
|
||||
parameters:
|
||||
@@ -101,7 +100,6 @@ stages:
|
||||
signedDrop: 'drop_linux_sign_linux_fxd_arm64_mariner'
|
||||
packageType: rpm-fxdependent-arm64 #mariner-arm64
|
||||
jobName: mariner_arm64
|
||||
signingProfile: 'CP-459159-pgpdetached'
|
||||
|
||||
- template: /.pipelines/templates/linux-package-build.yml@self
|
||||
parameters:
|
||||
|
||||
@@ -315,7 +315,7 @@ jobs:
|
||||
displayName: Sign nupkg files
|
||||
inputs:
|
||||
command: 'sign'
|
||||
cp_code: 'CP-401405'
|
||||
cp_code: '$(nuget_cert_id)'
|
||||
files_to_sign: '**\*.nupkg'
|
||||
search_root: '$(ob_outputDirectory)\globaltool'
|
||||
condition: and(succeeded(), eq(variables['Architecture'], 'fxdependent'))
|
||||
|
||||
@@ -776,6 +776,18 @@ function New-TarballPackage {
|
||||
$Staging = "$PSScriptRoot/staging"
|
||||
New-StagingFolder -StagingPath $Staging -PackageSourcePath $PackageSourcePath -R2RVerification $R2RVerification
|
||||
|
||||
# Ensure PowerShell executable has correct permissions in tarball
|
||||
$pwshInStaging = Join-Path $Staging 'pwsh'
|
||||
if (Test-Path -LiteralPath $pwshInStaging) {
|
||||
Start-NativeExecution { chmod 755 $pwshInStaging }
|
||||
}
|
||||
|
||||
# Included .NET executable for producing crash dumps
|
||||
$createdumpInStaging = Join-Path $Staging 'createdump'
|
||||
if (Test-Path -LiteralPath $createdumpInStaging) {
|
||||
Start-NativeExecution { chmod 755 $createdumpInStaging }
|
||||
}
|
||||
|
||||
if (Get-Command -Name tar -CommandType Application -ErrorAction Ignore) {
|
||||
if ($Force -or $PSCmdlet.ShouldProcess("Create tarball package")) {
|
||||
$options = "-czf"
|
||||
@@ -1194,7 +1206,11 @@ function New-UnixPackage {
|
||||
find $Staging -type f | xargs chmod 644
|
||||
chmod 644 $ManGzipInfo.GzipFile
|
||||
# refers to executable, does not vary by channel
|
||||
chmod 755 "$Staging/pwsh" #only the executable file should be granted the execution permission
|
||||
chmod 755 "$Staging/pwsh" # only the executable file should be granted the execution permission
|
||||
# Included .NET executable for producing crash dumps
|
||||
if (Test-Path "$Staging/createdump") {
|
||||
chmod 755 "$Staging/createdump"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1874,6 +1890,12 @@ $(if ($extendedDescription) { $extendedDescription + "`n" })
|
||||
Start-NativeExecution { chmod 755 $pwshPath }
|
||||
}
|
||||
|
||||
# Included .NET executable for producing crash dumps
|
||||
$createdumpPath = "$targetPath/createdump"
|
||||
if (Test-Path $createdumpPath) {
|
||||
Start-NativeExecution { chmod 755 $createdumpPath }
|
||||
}
|
||||
|
||||
# Calculate md5sums for all files in data directory (excluding symlinks)
|
||||
$md5sumsFile = Join-Path $debianDir "md5sums"
|
||||
$md5Content = ""
|
||||
|
||||
Reference in New Issue
Block a user