Skip to content

Status update - #2080

Open
alerickson wants to merge 3 commits into
PowerShell:masterfrom
alerickson:statusUpdate
Open

alerickson wants to merge 3 commits into
PowerShell:masterfrom
alerickson:statusUpdate

Conversation

@alerickson

Copy link
Copy Markdown
Member

PR Summary

PR Context

PR Checklist

…dlet errors and a scheduled health check that triggers an agentic workflow to file a service-status issue
…ve the manual Test-PSGalleryOutage.ps1 script under test/FindPSResourceTests
@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines:
There may be pipelines that require an authorized user to comment /azp run to run.

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟡 Changes recommended

The default test module path is incorrect, and outage reporting can be prevented by insufficient retry timeouts, improperly quoted probe URLs, and curl transport failures that skip dispatch.

5 open issues
What changed in this PR

This PR improves PowerShell Gallery outage diagnostics in PSResourceGet and adds automated monitoring to report persistent service failures.

Changes:

  • Add a Gallery status-page hint to relevant V2 request errors and suppress follow-on errors after failed searches.
  • Add scheduled endpoint checks and an outage reporter that re-verifies failures before creating or updating a service-status issue.
  • Add a manual local outage simulation script.
File Description
test/​Test-PSGalleryOutage.ps1 Simulates Gallery failures with a local HTTP server.
src/​code/​V2ServerAPICalls.cs Preserves request error details and avoids parsing failed responses.
src/​code/​Utils.cs Adds Gallery-specific status-page guidance.
src/​code/​FindHelper.cs Skips further response processing after request errors.
.github/​workflows/​psgallery-outage-reporter.md Defines outage verification and issue-reporting behavior.
.github/​workflows/​psgallery-outage-reporter.lock.yml Provides the generated executable reporter workflow.
.github/​workflows/​psgallery-health-check.yml Schedules endpoint probes and dispatches confirmed failures.
.github/​aw/​actions-lock.json Pins the agentic workflow setup action.
.gitattributes Marks workflow lock files as generated.

Review effort: Balanced

jobs:
probe:
runs-on: ubuntu-latest
timeout-minutes: 15

$json = if ($failures.Count) { ConvertTo-Json -InputObject $failures -Compress -Depth 3 } else { '[]' }
"failed=$([bool]$failures.Count)".ToLower() >> $env:GITHUB_OUTPUT
"results=$json" >> $env:GITHUB_OUTPUT

engine: copilot

timeout-minutes: 15
Comment on lines +66 to +67
1. **Re-verify.** For every failing probe, request its `uri` again with
`curl --silent --location --output /dev/null --max-time 60 --write-out '%{http_code}' '<uri>'`,
[int] $StatusCode = 503,
[int] $Port = 8080,
[string] $FakeHost = 'test.powershellgallery.com',
[string] $ModulePath = (Join-Path $PSScriptRoot '..\..\out\Microsoft.PowerShell.PSResourceGet\Microsoft.PowerShell.PSResourceGet.psd1'),

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants