Skip to content

aws-ssm-tunnel (new formula) #221863

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
wants to merge 1 commit into from

Conversation

ilkerispir
Copy link

Go-based CLI tool to port-forward into RDS & ElastiCache over SSM-managed EC2 instances.

  • Source-built using Go 1.24
  • Apache-2.0 licensed
  • Supports interactive + quick-connect modes
  • Includes session tracking (--list, --kill, --kill-all)
  • Tested with AWS SSO profiles

brew install --build-from-source aws-ssm-tunnel works
brew test aws-ssm-tunnel passes
brew audit --new-formula aws-ssm-tunnel passes

@github-actions github-actions bot added go Go use is a significant feature of the PR or issue new formula PR adds a new formula to Homebrew/homebrew-core labels Apr 29, 2025
@daeho-ro daeho-ro added the notability Project is not notable enough for inclusion label Apr 29, 2025
Copy link
Contributor

Thanks for contributing to Homebrew! 🎉 It looks like you're having trouble with a CI failure. See our contribution guide for help. You may be most interested in the section on dealing with CI failures. You can find the CI logs in the Checks tab of your pull request.

@botantony
Copy link
Contributor

botantony commented Apr 29, 2025

  1. Remove version "0.0.2"
  2. bin/"aws-ssm-tunnel", "--help" is not a sufficient test, see more here: https://docs.brew.sh/Formula-Cookbook#add-a-test-to-the-formula

We want tests that don’t require any user input and test the basic functionality of the application. For example foo build-foo input.foo is a good test and (despite their widespread use) foo --version and foo --help are bad tests.

  1. Homebrew doesn't accept niche packages without stars, watchers, or a lot of forks: https://docs.brew.sh/Acceptable-Formulae#niche-or-self-submitted-stuff

Consider creating your own tap: https://docs.brew.sh/How-to-Create-and-Maintain-a-Tap

@ilkerispir ilkerispir changed the title aws-ssm-tunnel 0.0.2 (new formula) aws-ssm-tunnel 0.0.1 (new formula) Apr 29, 2025
@ilkerispir ilkerispir changed the title aws-ssm-tunnel 0.0.1 (new formula) aws-ssm-tunnel (new formula) Apr 29, 2025
depends_on "go" => :build

def install
system "go", "build", *std_go_args(output: bin/"aws-ssm-tunnel")
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is the naming not correct if you leave out the output: arg?

Comment on lines +15 to +16
output = shell_output("#{bin}/aws-ssm-tunnel --help")
assert_match "Usage", output
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We need a test that exercises the some of the functionality of the app. Version checks or usage checks (foo --version or foo --help) are not sufficient, as explained in the formula cookbook.

In most cases, a good test would involve running a simple test case: run #{bin}/foo input.txt.

  • Then you can check that the output is as expected (with assert_equal or assert_match on the output of shell_output)
  • You can also check that an output file was created, if that is expected: assert_predicate testpath/"output.txt", :exist?

Some advice for specific cases:

  • If the formula is a library, compile and run some simple code that links against it. It could be taken from upstream's documentation / source examples.
  • If the formula is for a GUI program, try to find some function that runs as command-line only, like a format conversion, reading or displaying a config file, etc.
  • If the software cannot function without credentials, a test could be to try to connect with invalid credentials (or without credentials) and confirm that it fails as expected.
  • Same if the software requires a virtual machine, docker instance, etc. to be running.

@SMillerDev
Copy link
Member

Hi, this seems like a nice software, but not notable enough for us to package in Homebrew for now. This is not a decision on the merits of the software, but we cannot distribute every single piece of software and have to draw a line on “notability” somewhere. Of course, we would be happy to reconsider in the future.

However, please note that "We frown on authors submitting their own work unless it is very popular."

Please consider hosting it in a personal tap, which is very easy to do: https://docs.brew.sh/How-to-Create-and-Maintain-a-Tap

@SMillerDev SMillerDev closed this May 1, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
go Go use is a significant feature of the PR or issue new formula PR adds a new formula to Homebrew/homebrew-core notability Project is not notable enough for inclusion
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants