fix(devcontainer): install pinned azd from GitHub releases - #338
Conversation
There was a problem hiding this comment.
🟡 Changes recommended
The daily version is incorrectly routed to a GitHub release URL and fails with a 404.
Get a fresh assessment by requesting another Copilot review.
Pull request overview
Updates Linux azd installation to use matching GitHub release assets for pinned versions while preserving the latest path and verification behavior.
Changes:
- Routes pinned downloads through GitHub releases.
- Preserves installation, cleanup, error handling, and binary verification.
File summaries
| File | Summary |
|---|---|
.taskfiles/scripts/install_azd.sh |
Updates pinned release routing; the supported daily version still requires correction. |
Review details
Suppressed comments (1)
.taskfiles/scripts/install_azd.sh:118
- This points the pinned installer at GitHub's
releases/downloadendpoint, which responds with a redirect to the release-assets host. The pinnedinstall-azd.shdownloads withcurl -so ... --failbut does not pass-L, so it will save the redirect response rather than the tarball and fail during extraction. Please resolve the redirect before invoking this installer or use an installer revision/download path that follows redirects; otherwise the new pinned path still cannot installazd.
releaseBaseUrl="https://github.com/Azure/azure-dev/releases/download/azure-dev-cli_${releaseVersion}"
log "Using GitHub Release asset for pinned version ${releaseVersion}"
installerArgs=(
--base-url "${releaseBaseUrl}"
- Files reviewed: 1/1 changed files
- Comments generated: 1
- Review effort level: Lite
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
Address review feedback on #338
There was a problem hiding this comment.
🟡 Changes recommended
The pinned path bypasses the required installer and regresses installation into directories requiring elevation.
Get a fresh assessment by requesting another Copilot review.
Review details
Suppressed comments (1)
.taskfiles/scripts/install_azd.sh:120
- The direct
installcall regresses custom installation into an existing directory that is not writable by the current user. The pinned official installer previously detected this case and usedsudofor the move and symlink, whereas this command now fails immediately. Keep using the installer with the release base URL, or preserve its writable-directory/elevation handling.
install -m 0755 "${binaryPath}" "${INSTALL_DIR}/${TOOL_NAME}" || die "Failed to install ${TOOL_NAME}"
- Files reviewed: 1/1 changed files
- Comments generated: 1
- Review effort level: Balanced
Address review feedback on #338
There was a problem hiding this comment.
🟢 Approval recommended
The focused change correctly addresses the unavailable versioned Blob asset without disrupting existing installation paths.
Review details
- Files reviewed: 1/1 changed files
- Comments generated: 0 new
- Review effort level: Balanced
Summary
azdinstalls to the matching Azure/azure-dev GitHub Release assetazd 1.25.2pin and pinned official installer scriptlatestpath, install-directory behavior, cleanup, errors, and binary verificationWhy
The Codespaces prebuild fails during
task initbecause the official installer requests a versioned Azure Blob URL that returns HTTP 404. The same immutable archive remains available from the corresponding GitHub release.Closes #337
Validation
bash -n .taskfiles/scripts/install_azd.shshfmt -d -i 2 -ci -bn .taskfiles/scripts/install_azd.shshellcheck .taskfiles/scripts/install_azd.shgit diff --checkazd 1.25.2into an isolated temporary directory and verified the installed binary reports the expected version