Last active
April 15, 2020 09:43
-
-
Save thynson/a65a54c1f78a40d30af9fd02391fe8bf to your computer and use it in GitHub Desktop.
kubernetes-cli@1.17.4 for macos catalina
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
class KubernetesCli < Formula | |
desc "Kubernetes command-line interface" | |
homepage "https://kubernetes.io/" | |
url "https://github.com/kubernetes/kubernetes.git", | |
:tag => "v1.17.4", | |
:revision => "8d8aa39598534325ad77120c120a22b3a990b5ea" | |
head "https://github.com/kubernetes/kubernetes.git" | |
bottle do | |
cellar :any_skip_relocation | |
sha256 "49b84c53f5f056389ff0cc05b7bffd6004502db84674ce651df02f146fe911a2" => :catalina | |
end | |
depends_on "go" => :build | |
def install | |
ENV["GOPATH"] = buildpath | |
dir = buildpath/"src/k8s.io/kubernetes" | |
dir.install buildpath.children - [buildpath/".brew_home"] | |
cd dir do | |
# Race condition still exists in OS X Yosemite | |
# Filed issue: https://github.com/kubernetes/kubernetes/issues/34635 | |
ENV.deparallelize { system "make", "generated_files" } | |
# Make binary | |
system "make", "kubectl" | |
bin.install "_output/local/bin/darwin/amd64/kubectl" | |
# Install bash completion | |
output = Utils.popen_read("#{bin}/kubectl completion bash") | |
(bash_completion/"kubectl").write output | |
# Install zsh completion | |
output = Utils.popen_read("#{bin}/kubectl completion zsh") | |
(zsh_completion/"_kubectl").write output | |
prefix.install_metafiles | |
# Install man pages | |
# Leave this step for the end as this dirties the git tree | |
system "hack/generate-docs.sh" | |
man1.install Dir["docs/man/man1/*.1"] | |
end | |
end | |
test do | |
run_output = shell_output("#{bin}/kubectl 2>&1") | |
assert_match "kubectl controls the Kubernetes cluster manager.", run_output | |
version_output = shell_output("#{bin}/kubectl version --client 2>&1") | |
assert_match "GitTreeState:\"clean\"", version_output | |
if build.stable? | |
assert_match stable.instance_variable_get(:@resource) | |
.instance_variable_get(:@specs)[:revision], | |
version_output | |
end | |
end | |
end |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment