gridscale / gscloud

The official command-line interface for the gridscale API
https://gridscale.io/
MIT License
16 stars 9 forks source link

Homebrew #127

Open neur0manc opened 3 years ago

neur0manc commented 3 years ago

Could be nice to have our releases available in homebrew, so mac users can just brew install gscloud to install the client.

Considering hcloud (hetzners client), google and others have their clients in homebrew it shouldn't be a problem to get ours in there as well. As an example, here's the hcloud formula.

nvthongswansea commented 3 years ago

+1

fkr commented 3 years ago

I actually have a ready-to-go formulae here, did that last weekend. Will submit soon.

fkr commented 3 years ago

I will submit the homebrew formulae upstream as soon as #131 is fixed.

patric-dosch-vi commented 2 years ago

are there any news?

henrikvolmer commented 2 years ago

+1

ghostwheel42 commented 2 years ago

I've attached a working homebrew formula for gscloud. The only "problem" is this:

$ brew audit --new-formula gscloud
gscloud:
  * GitHub repository not notable enough (<30 forks, <30 watchers and <75 stars)
Error: 1 problem in 1 formula detected

I don't know if we should submit the formula anyway. The generation of a new formula can and should be automated for a new release.

class Gscloud < Formula
  desc "Official command-line interface for the gridscale API"
  homepage "https://gridscale.io/"
  url "https://github.com/gridscale/gscloud/archive/refs/tags/v0.12.0.tar.gz"
  sha256 "20927acda1fff7372bd6de11dcd40b0b6143aa6668d88b79d181cd9ccf5440f4"
  license "MIT"
  head "https://github.com/gridscale/gscloud.git", branch: "master"

  depends_on "go" => :build

  def install
    ldflags = %W[
      -s -w
      -X github.com/gridscale/gscloud/cmd.Version=#{version}
    ]

    system "go", "build", *std_go_args(ldflags: ldflags)

    # currently gscloud needs at least an empty config to run
    touch "config.yaml"
    (zsh_completion/"_gscloud").write `#{bin}/gscloud completion zsh`
    (bash_completion/"gscloud").write `#{bin}/gscloud completion bash`
  end

  test do
    # currently gscloud needs at least an empty config to run
    touch "config.yaml"
    assert_match "Version:\t#{version}", shell_output("#{bin}/gscloud version")
    assert_match "gscloud lets you manage", shell_output("#{bin}/gscloud help")
  end
end
henrikvolmer commented 2 years ago

I would appreciate it if you submit the form anyway :)