mirror of
https://github.com/openziti/desktop-edge-win.git
synced 2026-09-23 03:13:58 +00:00
2f7e53f02c
* feat: bump dependencies (NuGet 8 -> 10, NLog 5 -> 6) * feat: shared IPC data structures for policy state * feat: registry policy reader with WMI watcher * feat: monitor service policy enforcement, maintenance window, deferred install * feat: UI policy state propagation, locks, deferred-install + sentinel UX fix * feat: ADMX/ADML templates, admin guide, helper script, test runbook * chore: build tooling, MSI SHA256, version bump, release notes * more reworking around the adml/admx/md * build and upload ADMX/ADML admin templates zip * updates from looking at / testing GPO UI * missed the prepare-for-tests ps1 * add boms to all ps1's just in case * update test-run for more vebosity to allow humans to understand * more updates to release notes * Fix alignment on "from" label for maintenance window * Remove arrow pointing to task bar * Remove unused selection changed stub * Ensure logical hour value is passed to maintenance window start/end * Fix invalid URL error not showing - ensure maintenance start/end time errors return correctly Change variable names * reworking new-upcoming-releasenotes * publish admin templates zip + sha256 sidecar to GitHub release, update release note * add tatooing words * reword clamping words --------- Co-authored-by: Christopher Britton <christopher.l.britton@outlook.com>
42 lines
1.3 KiB
PowerShell
42 lines
1.3 KiB
PowerShell
# Verifies that every browser_download_url in the release-streams JSON files is reachable.
|
|
# Skips versioned snapshot files (e.g. 2.9.5.0.json) and local dev files.
|
|
#
|
|
# Usage:
|
|
# .\verify-streams.ps1
|
|
# .\verify-streams.ps1 -StreamsDir .\release-streams
|
|
param(
|
|
[string]$StreamsDir = (Join-Path (Split-Path $PSScriptRoot -Parent) "release-streams")
|
|
)
|
|
|
|
$failed = $false
|
|
|
|
$files = Get-ChildItem (Join-Path $StreamsDir "*.json") | Where-Object {
|
|
$_.BaseName -notmatch '^\d' -and $_.BaseName -notlike 'local*'
|
|
}
|
|
|
|
foreach ($file in $files) {
|
|
$json = Get-Content $file.FullName -Raw | ConvertFrom-Json
|
|
|
|
foreach ($asset in $json.assets) {
|
|
$url = $asset.browser_download_url
|
|
if (-not $url) { continue }
|
|
|
|
Write-Host "$($file.Name): $url ... " -NoNewline
|
|
try {
|
|
$resp = Invoke-WebRequest -Uri $url -Method Head -UseBasicParsing -ErrorAction Stop
|
|
Write-Host "OK ($($resp.StatusCode))" -ForegroundColor Green
|
|
} catch {
|
|
$status = $_.Exception.Response.StatusCode.value__
|
|
Write-Host "FAIL ($status)" -ForegroundColor Red
|
|
$failed = $true
|
|
}
|
|
}
|
|
}
|
|
|
|
if ($failed) {
|
|
Write-Error "One or more download URLs could not be reached."
|
|
exit 1
|
|
}
|
|
|
|
Write-Host "All URLs OK." -ForegroundColor Green
|