Buckets:
| param( | |
| [Parameter(ValueFromRemainingArguments = $true)] | |
| [string[]] $Path | |
| ) | |
| $ErrorActionPreference = "Stop" | |
| if (-not $Path -or $Path.Count -eq 0) { | |
| throw "At least one path is required" | |
| } | |
| if ($env:GITHUB_ACTIONS -ne "true") { | |
| Write-Host "Skipping Windows signing because this is not running on GitHub Actions" | |
| exit 0 | |
| } | |
| $vars = @{ | |
| endpoint = $env:AZURE_TRUSTED_SIGNING_ENDPOINT | |
| account = $env:AZURE_TRUSTED_SIGNING_ACCOUNT_NAME | |
| profile = $env:AZURE_TRUSTED_SIGNING_CERTIFICATE_PROFILE | |
| } | |
| if ($vars.Values | Where-Object { -not $_ }) { | |
| Write-Host "Skipping Windows signing because Azure Artifact Signing is not configured" | |
| exit 0 | |
| } | |
| $moduleVersion = "0.5.8" | |
| $module = Get-Module -ListAvailable -Name TrustedSigning | Where-Object { $_.Version -eq [version] $moduleVersion } | |
| if (-not $module) { | |
| try { | |
| Install-PackageProvider -Name NuGet -MinimumVersion 2.8.5.201 -Force -Scope CurrentUser | Out-Null | |
| } | |
| catch { | |
| Write-Host "NuGet package provider install skipped: $($_.Exception.Message)" | |
| } | |
| Install-Module -Name TrustedSigning -RequiredVersion $moduleVersion -Force -Repository PSGallery -Scope CurrentUser | |
| } | |
| Import-Module TrustedSigning -RequiredVersion $moduleVersion -Force | |
| $files = @($Path | ForEach-Object { Resolve-Path $_ -ErrorAction SilentlyContinue } | Select-Object -ExpandProperty Path -Unique) | |
| if (-not $files -or $files.Count -eq 0) { | |
| throw "No files matched the requested paths" | |
| } | |
| $params = @{ | |
| Endpoint = $vars.endpoint | |
| CodeSigningAccountName = $vars.account | |
| CertificateProfileName = $vars.profile | |
| Files = ($files -join ",") | |
| FileDigest = "SHA256" | |
| TimestampDigest = "SHA256" | |
| TimestampRfc3161 = "http://timestamp.acs.microsoft.com" | |
| ExcludeEnvironmentCredential = $true | |
| ExcludeWorkloadIdentityCredential = $true | |
| ExcludeManagedIdentityCredential = $true | |
| ExcludeSharedTokenCacheCredential = $true | |
| ExcludeVisualStudioCredential = $true | |
| ExcludeVisualStudioCodeCredential = $true | |
| ExcludeAzureCliCredential = $false | |
| ExcludeAzurePowerShellCredential = $true | |
| ExcludeAzureDeveloperCliCredential = $true | |
| ExcludeInteractiveBrowserCredential = $true | |
| } | |
| Invoke-TrustedSigning @params | |
Xet Storage Details
- Size:
- 2.3 kB
- Xet hash:
- cad707998645ad1001e883329e359c3e0e397531bd9b32e76a78db9daeb2bfcc
·
Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.