fix: improve Radius CLI installer error output - #12799
Conversation
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Signed-off-by: Brooke Hamilton <45323234+brooke-hamilton@users.noreply.github.com>
Dependency Review✅ No vulnerabilities or license issues or OpenSSF Scorecard issues found.Scanned FilesNone |
There was a problem hiding this comment.
Pull request overview
Improves the Radius CLI installer and related automation to surface native HTTP-client diagnostics (curl/wget) during release discovery and artifact downloads, and adds regression coverage to prevent silent failures.
Changes:
- Switch installer
curl/wgetinvocations to options that surface HTTP/client failures (e.g.,curl --fail --show-error). - Make the long-running Azure workflow’s installer download step fail visibly when the
wget | bashpipeline fails. - Add an integration-style regression test to ensure a simulated curl HTTP error is emitted and results in a non-zero installer exit.
Reviewed changes
Copilot reviewed 3 out of 3 changed files in this pull request and generated 2 comments.
| File | Description |
|---|---|
| deploy/test-install.sh | Adds a regression test that validates curl HTTP errors are visible and cause installer failure. |
| deploy/install.sh | Updates release discovery and artifact downloads to preserve native curl/wget diagnostics on failure. |
| .github/workflows/long-running-azure.yaml | Ensures the workflow fails when the installer script download pipeline fails and keeps wget output non-silent. |
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #12799 +/- ##
==========================================
- Coverage 54.19% 54.16% -0.03%
==========================================
Files 774 774
Lines 52113 52113
==========================================
- Hits 28242 28229 -13
- Misses 21223 21231 +8
- Partials 2648 2653 +5 ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
Preserve the GitHub API response body and HTTP status when querying releases, so causes such as rate limiting are visible instead of only 'Failed to install Radius CLI'. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Signed-off-by: Brooke Hamilton <45323234+brooke-hamilton@users.noreply.github.com>
Fetch the releases response before parsing it so curl and wget errors remain visible and API error bodies can be logged when no release is found. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: cbf370f4-2b60-4355-a3c8-57e0fc7449c7 Signed-off-by: Brooke Hamilton <45323234+brooke-hamilton@users.noreply.github.com>
Preserve errors while fetching the installer, resolving the latest release, and downloading the CLI artifact. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: cbf370f4-2b60-4355-a3c8-57e0fc7449c7 Signed-off-by: Brooke Hamilton <45323234+brooke-hamilton@users.noreply.github.com>
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: cbf370f4-2b60-4355-a3c8-57e0fc7449c7 Signed-off-by: Brooke Hamilton <45323234+brooke-hamilton@users.noreply.github.com>
Radius functional test overviewClick here to see the test run details
Test Status⌛ Building Radius and pushing container images for functional tests... |
Summary
Preserves the underlying error output when Radius CLI installation fails, both in the long-running workflow and when users run
deploy/install.shlocally.Reason for change
The failed workflow only logged
Failed to install Radius CLIbecause network diagnostics were suppressed or discarded. The installation path now keeps errors visible while fetching the installer, resolving the latest release, and downloading the CLI artifact. Other installation commands already write their errors to stderr.Fixes #12794
How to test
deploy/test-install.sh(25 tests, including transport, API-response, and artifact-download error coverage).shellcheck deploy/install.sh deploy/test-install.sh.File change summary
.github/workflows/long-running-azure.yamlwgeterrors while fetching the installer.deploy/install.shdeploy/test-install.sh