From 591e87f803be2f2e9cd4e9b223f0c89adff54a01 Mon Sep 17 00:00:00 2001 From: Pranshu Srivastava Date: Wed, 18 Sep 2024 05:25:55 +0530 Subject: [PATCH] chore: support `tools` target for arm64 Signed-off-by: Pranshu Srivastava --- .github/tools | 4 ++-- Makefile.tools | 26 ++++++++++++-------------- 2 files changed, 14 insertions(+), 16 deletions(-) diff --git a/.github/tools b/.github/tools index 51922c067..ba3b7d81e 100644 --- a/.github/tools +++ b/.github/tools @@ -3,7 +3,7 @@ golangci-lint v1.55.2 controller-gen v0.14.0 kustomize v4.5.2 -oc v4.8.11 +oc v4.16.10 operator-sdk v1.34.1 opm v1.39.0 promq v0.0.1 @@ -13,4 +13,4 @@ jsonnetfmt v0.20.0 jsonnet-lint v0.20.0 jb v0.5.1 gojsontoyaml v0.1.0 -shellcheck 0.10.0 +shellcheck v0.10.0 diff --git a/Makefile.tools b/Makefile.tools index e345933e5..aef017ae8 100644 --- a/Makefile.tools +++ b/Makefile.tools @@ -29,7 +29,7 @@ PROMQ_VERSION = v0.0.1 # NOTE: oc is NOT downloadable using the OC_VERSION in its URL, so this has to be manually updated OC = $(TOOLS_DIR)/oc -OC_VERSION = v4.8.11 +OC_VERSION = 4.16.10 CRDOC = $(TOOLS_DIR)/crdoc CRDOC_VERSION = v0.5.2 @@ -125,12 +125,11 @@ $(OC) oc: $(TOOLS_DIR) set -ex ;\ [[ -f $(OC) ]] && exit 0 ;\ OS=$(shell go env GOOS) && ARCH=$(shell go env GOARCH) && \ - curl -sSLo $(OC) https://mirror.openshift.com/pub/openshift-v4/$${ARCH}/clients/oc/latest/$${OS}/oc.tar.gz ;\ - tar -xf $(TOOLS_DIR)/oc -C $(TOOLS_DIR) ;\ - rm -f $(TOOLS_DIR)/README.md ;\ - $(OC) version ;\ - version=$(OC_VERSION) ;\ - $(OC) version | grep -q $${version##v} ;\ + if [[ $${OS} == "darwin" ]]; then OS="mac"; fi ;\ + curl -sSLo $(OC).tar.gz https://mirror.openshift.com/pub/openshift-v4/$${ARCH}/clients/ocp/stable-4.16/openshift-client-$${OS}-$(OC_VERSION).tar.gz ;\ + tar -xf $(OC).tar.gz -C $(TOOLS_DIR) ;\ + rm -f $(OC).tar.gz ;\ + rm -f $(TOOLS_DIR)/-.md ;\ } .PHONY: crdoc @@ -189,11 +188,10 @@ $(SHELLCHECK) shellcheck: $(TOOLS_DIR) [[ -f $(SHELLCHECK) ]] && exit 0 ;\ cd $$(mktemp -d) ;\ OS=$(shell go env GOOS) && ARCH=$(shell uname -m) && \ - curl -sSLo shellcheck-stable.tar.xz https://github.com/koalaman/shellcheck/releases/download/stable/shellcheck-stable.$${OS}.$${ARCH}.tar.xz ;\ - tar -xJf shellcheck-stable.tar.xz ;\ - cp shellcheck-stable/shellcheck $(SHELLCHECK) ;\ - version=$(SHELLCHECK_VERSION) ;\ - $(SHELLCHECK) -V | grep -q $${version##v} ;\ + if [[ "$$OS" == "darwin" && "$$ARCH" == "arm64" ]]; then shellcheck_arch="aarch64"; fi ;\ + curl -sSLo shellcheck.tar.xz https://github.com/koalaman/shellcheck/releases/download/v$(SHELLCHECK_VERSION)/shellcheck-v$(SHELLCHECK_VERSION).$${OS}.$${shellcheck_arch}.tar.xz ;\ + tar -xJf shellcheck.tar.xz ;\ + cp shellcheck-v$(SHELLCHECK_VERSION)/shellcheck $(SHELLCHECK) ;\ } .PHONY: jsonnet-tools @@ -219,7 +217,7 @@ tools: $(CONTROLLER_GEN) \ echo $$(basename $(GOLANGCI_LINT)) $(GOLANGCI_LINT_VERSION) >> $$tools_file ;\ echo $$(basename $(CONTROLLER_GEN)) $(CONTROLLER_GEN_VERSION) >> $$tools_file ;\ echo $$(basename $(KUSTOMIZE)) $(KUSTOMIZE_VERSION) >> $$tools_file ;\ - echo $$(basename $(OC)) $(OC_VERSION) >> $$tools_file ;\ + echo $$(basename $(OC)) v$(OC_VERSION) >> $$tools_file ;\ echo $$(basename $(OPERATOR_SDK)) $(OPERATOR_SDK_VERSION) >> $$tools_file ;\ echo $$(basename $(OPM)) $(OPM_VERSION) >> $$tools_file ;\ echo $$(basename $(PROMQ)) $(PROMQ_VERSION) >> $$tools_file ;\ @@ -229,7 +227,7 @@ tools: $(CONTROLLER_GEN) \ echo $$(basename $(JSONNET_LINT)) $(JSONNET_VERSION) >> $$tools_file ;\ echo $$(basename $(JB)) $(JB_VERSION) >> $$tools_file ;\ echo $$(basename $(GOJSONTOYAML)) $(GOJSONTOYAML_VERSION) >> $$tools_file ;\ - echo $$(basename $(SHELLCHECK)) $(SHELLCHECK_VERSION) >> $$tools_file ;\ + echo $$(basename $(SHELLCHECK)) v$(SHELLCHECK_VERSION) >> $$tools_file ;\ } .PHONY: clean-tools