diff --git a/eng/pipelines/templates/stages/sign.yml b/eng/pipelines/templates/stages/sign.yml index 64dd6f9d71a..23559cf3047 100644 --- a/eng/pipelines/templates/stages/sign.yml +++ b/eng/pipelines/templates/stages/sign.yml @@ -363,5 +363,7 @@ stages: arguments: >- -ZipFilePathAmd64 release/azd-darwin-amd64.zip -ZipFilePathArm64 release/azd-darwin-arm64.zip + -LinuxArchivePathAmd64 release/azd-linux-amd64.tar.gz + -LinuxArchivePathArm64 release/azd-linux-arm64.tar.gz -Version $(CLI_VERSION) -OutFile homebrew-formula/azd.rb diff --git a/eng/scripts/Update-HomebrewFormula.ps1 b/eng/scripts/Update-HomebrewFormula.ps1 index 88060e7faae..c21dc5a38b8 100644 --- a/eng/scripts/Update-HomebrewFormula.ps1 +++ b/eng/scripts/Update-HomebrewFormula.ps1 @@ -2,14 +2,18 @@ param( [string] $TemplatePath = "$PSSCriptRoot/../templates/brew.template", [string] $ZipFilePathAmd64, [string] $ZipFilePathArm64, + [string] $LinuxArchivePathAmd64, + [string] $LinuxArchivePathArm64, [string] $Version, [string] $OutFile ) $sha256amd64 = (Get-FileHash -Path $ZipFilePathAmd64 -Algorithm SHA256).Hash.ToLower() $sha256arm64 = (Get-FileHash -Path $ZipFilePathArm64 -Algorithm SHA256).Hash.ToLower() +$sha256amd64_linux = (Get-FileHash -Path $LinuxArchivePathAmd64 -Algorithm SHA256).Hash.ToLower() +$sha256arm64_linux = (Get-FileHash -Path $LinuxArchivePathArm64 -Algorithm SHA256).Hash.ToLower() $content = Get-Content $TemplatePath -Raw -$updatedContent = $content.Replace('%VERSION%', $Version).Replace('%SHA256AMD64%', $sha256amd64).Replace('%SHA256ARM64%', $sha256arm64) +$updatedContent = $content.Replace('%VERSION%', $Version).Replace('%SHA256AMD64%', $sha256amd64).Replace('%SHA256ARM64%', $sha256arm64).Replace('%SHA256AMD64_LINUX%', $sha256amd64_linux).Replace('%SHA256ARM64_LINUX%', $sha256arm64_linux) Set-Content -Path $OutFile -Value $updatedContent diff --git a/eng/templates/brew.template b/eng/templates/brew.template index 20460cb2c0d..ea158ccaa2f 100644 --- a/eng/templates/brew.template +++ b/eng/templates/brew.template @@ -2,12 +2,22 @@ class Azd < Formula desc "Azure Developer CLI" homepage "https://github.com/azure/azure-dev" - if Hardware::CPU.intel? - url "https://github.com/Azure/azure-dev/releases/download/azure-dev-cli_%VERSION%/azd-darwin-amd64.zip" - sha256 "%SHA256AMD64%" - elsif Hardware::CPU.arm? - url "https://github.com/Azure/azure-dev/releases/download/azure-dev-cli_%VERSION%/azd-darwin-arm64.zip" - sha256 "%SHA256ARM64%" + if OS.mac? + if Hardware::CPU.intel? + url "https://github.com/Azure/azure-dev/releases/download/azure-dev-cli_%VERSION%/azd-darwin-amd64.zip" + sha256 "%SHA256AMD64%" + elsif Hardware::CPU.arm? + url "https://github.com/Azure/azure-dev/releases/download/azure-dev-cli_%VERSION%/azd-darwin-arm64.zip" + sha256 "%SHA256ARM64%" + end + elsif OS.linux? + if Hardware::CPU.intel? + url "https://github.com/Azure/azure-dev/releases/download/azure-dev-cli_%VERSION%/azd-linux-amd64.tar.gz" + sha256 "%SHA256AMD64_LINUX%" + elsif Hardware::CPU.arm? + url "https://github.com/Azure/azure-dev/releases/download/azure-dev-cli_%VERSION%/azd-linux-arm64.tar.gz" + sha256 "%SHA256ARM64_LINUX%" + end end version "%VERSION%" @@ -15,10 +25,18 @@ class Azd < Formula license "MIT" def install - if Hardware::CPU.intel? - bin.install "azd-darwin-amd64" => "azd" - elsif Hardware::CPU.arm? - bin.install "azd-darwin-arm64" => "azd" + if OS.mac? + if Hardware::CPU.intel? + bin.install "azd-darwin-amd64" => "azd" + elsif Hardware::CPU.arm? + bin.install "azd-darwin-arm64" => "azd" + end + elsif OS.linux? + if Hardware::CPU.intel? + bin.install "azd-linux-amd64" => "azd" + elsif Hardware::CPU.arm? + bin.install "azd-linux-arm64" => "azd" + end end (bin/".installed-by.txt").write "brew"