Skip to content

fix(devcontainer): install pinned azd from GitHub releases - #338

Merged
Mani Bindra (maniSbindra) merged 3 commits into
mainfrom
fix/codespaces-prebuild-azd
Sep 15, 2026
Merged

Mani Bindra (maniSbindra) merged 3 commits into
mainfrom
fix/codespaces-prebuild-azd

Conversation

@maniSbindra

Copy link
Copy Markdown
Contributor

Summary

  • Route pinned Linux azd installs to the matching Azure/azure-dev GitHub Release asset
  • Keep the reproducible azd 1.25.2 pin and pinned official installer script
  • Preserve the existing latest path, install-directory behavior, cleanup, errors, and binary verification

Why

The Codespaces prebuild fails during task init because 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.sh
  • shfmt -d -i 2 -ci -bn .taskfiles/scripts/install_azd.sh
  • shellcheck .taskfiles/scripts/install_azd.sh
  • git diff --check
  • Installed azd 1.25.2 into an isolated temporary directory and verified the installed binary reports the expected version

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

🟡 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/download endpoint, which responds with a redirect to the release-assets host. The pinned install-azd.sh downloads with curl -so ... --fail but 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 install azd.
  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.

Comment thread .taskfiles/scripts/install_azd.sh Outdated

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

🟡 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 install call regresses custom installation into an existing directory that is not writable by the current user. The pinned official installer previously detected this case and used sudo for 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

Comment thread .taskfiles/scripts/install_azd.sh

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

🟢 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

@maniSbindra
Mani Bindra (maniSbindra) added this pull request to the merge queue Sep 15, 2026
Merged via the queue into main with commit 84688c6 Sep 15, 2026
18 checks passed
@maniSbindra
Mani Bindra (maniSbindra) deleted the fix/codespaces-prebuild-azd branch September 15, 2026 23:37
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.

Codespaces prebuild fails installing pinned azd 1.25.2

2 participants