openAgent
gitlabThe open source UNIVERSAL agent.
clone
https://gitlab.com/bitzzdev/openAgent.gitAIagentautomationopen-sourceuniversal-agent
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_ENDPOINTaccount = $env:AZURE_TRUSTED_SIGNING_ACCOUNT_NAMEprofile = $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.endpointCodeSigningAccountName = $vars.accountCertificateProfileName = $vars.profileFiles = ($files -join ",")FileDigest = "SHA256"TimestampDigest = "SHA256"TimestampRfc3161 = "http://timestamp.acs.microsoft.com"ExcludeEnvironmentCredential = $trueExcludeWorkloadIdentityCredential = $trueExcludeManagedIdentityCredential = $trueExcludeSharedTokenCacheCredential = $trueExcludeVisualStudioCredential = $trueExcludeVisualStudioCodeCredential = $trueExcludeAzureCliCredential = $falseExcludeAzurePowerShellCredential = $trueExcludeAzureDeveloperCliCredential = $trueExcludeInteractiveBrowserCredential = $true}Invoke-TrustedSigning @params