diff --git a/Makefile b/Makefile index 2ba9e006..6fcfd4fd 100644 --- a/Makefile +++ b/Makefile @@ -63,14 +63,16 @@ dist: mkdir -p build/diff/bin release/ cp README.md LICENSE plugin.yaml build/diff GOOS=linux GOARCH=amd64 go build -o build/diff/bin/diff -trimpath -ldflags="$(LDFLAGS)" - tar -C build/ -zcvf $(CURDIR)/release/helm-diff-linux.tgz diff/ + tar -C build/ -zcvf $(CURDIR)/release/helm-diff-linux-amd64.tgz diff/ + GOOS=linux GOARCH=arm64 go build -o build/diff/bin/diff -trimpath -ldflags="$(LDFLAGS)" + tar -C build/ -zcvf $(CURDIR)/release/helm-diff-linux-arm64.tgz diff/ GOOS=freebsd GOARCH=amd64 go build -o build/diff/bin/diff -trimpath -ldflags="$(LDFLAGS)" - tar -C build/ -zcvf $(CURDIR)/release/helm-diff-freebsd.tgz diff/ + tar -C build/ -zcvf $(CURDIR)/release/helm-diff-freebsd-amd64.tgz diff/ GOOS=darwin GOARCH=amd64 go build -o build/diff/bin/diff -trimpath -ldflags="$(LDFLAGS)" - tar -C build/ -zcvf $(CURDIR)/release/helm-diff-macos.tgz diff/ + tar -C build/ -zcvf $(CURDIR)/release/helm-diff-macos-amd64.tgz diff/ rm build/diff/bin/diff GOOS=windows GOARCH=amd64 go build -o build/diff/bin/diff.exe -trimpath -ldflags="$(LDFLAGS)" - tar -C build/ -zcvf $(CURDIR)/release/helm-diff-windows.tgz diff/ + tar -C build/ -zcvf $(CURDIR)/release/helm-diff-windows-amd64.tgz diff/ .PHONY: release release: lint dist diff --git a/install-binary.sh b/install-binary.sh index 788da53a..762d8f73 100755 --- a/install-binary.sh +++ b/install-binary.sh @@ -55,7 +55,7 @@ initOS() { # verifySupported checks that the os/arch combination is supported for # binary builds. verifySupported() { - supported="linux-amd64\nfreebsd-amd64\nmacos-amd64\nmacos-arm64\nwindows-amd64" + supported="linux-amd64\nlinux-arm64\nfreebsd-amd64\nmacos-amd64\nmacos-arm64\nwindows-amd64" if ! echo "${supported}" | grep -q "${OS}-${ARCH}"; then echo "No prebuild binary for ${OS}-${ARCH}." exit 1 @@ -70,15 +70,17 @@ verifySupported() { # getDownloadURL checks the latest available version. getDownloadURL() { version=$(git -C "$HELM_PLUGIN_DIR" describe --tags --exact-match 2>/dev/null || :) - if [ -n "$version" ]; then + if [ -n "$version" ] && [ "$version" -gt "3.1.3" ]; then + DOWNLOAD_URL="https://github.com/$PROJECT_GH/releases/download/$version/helm-diff-$OS-$ARCH.tgz" + elif [ -n "$version" ]; then DOWNLOAD_URL="https://github.com/$PROJECT_GH/releases/download/$version/helm-diff-$OS.tgz" else # Use the GitHub API to find the download url for this project. url="https://api.github.com/repos/$PROJECT_GH/releases/latest" if type "curl" >/dev/null; then - DOWNLOAD_URL=$(curl -s $url | grep $OS | awk '/\"browser_download_url\":/{gsub( /[,\"]/,"", $2); print $2}') + DOWNLOAD_URL=$(curl -s $url | grep $OS | grep $ARCH | awk '/\"browser_download_url\":/{gsub( /[,\"]/,"", $2); print $2}') elif type "wget" >/dev/null; then - DOWNLOAD_URL=$(wget -q -O - $url | grep $OS | awk '/\"browser_download_url\":/{gsub( /[,\"]/,"", $2); print $2}') + DOWNLOAD_URL=$(wget -q -O - $url | grep $OS | grep $ARCH | awk '/\"browser_download_url\":/{gsub( /[,\"]/,"", $2); print $2}') fi fi }