Skip to content
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

[Feature request]: Provide binaries as part of releases #808

Closed
p5 opened this issue Aug 16, 2024 · 5 comments · Fixed by #810
Closed

[Feature request]: Provide binaries as part of releases #808

p5 opened this issue Aug 16, 2024 · 5 comments · Fixed by #810
Labels
enhancement New feature or request

Comments

@p5
Copy link
Contributor

p5 commented Aug 16, 2024

What do you need?

It's awesome that you switched from Python to Go! Now we don't need to have Python installed on our workstations to experience Fabric!

Since moving to Go, I assume the application is packaged as a single binary, and doesn't require the typical runtime dependencies (Python or Go), however your installation steps require Go to be installed on the machine.

It would be great if, as part of your release pipelines/processes, you could build and upload these built binaries for each platform so it's just a single curl + chmod to install Fabric.

The main aim here is to remove as many of the dependencies the user needs to install to get up and running with Fabric, as it's something everyone should try out!

Apologies if I am missing some of the limitations that require this installation method.

If this is something you'd like to include, I am happy to work on it.

@p5 p5 added the enhancement New feature or request label Aug 16, 2024
@xssdoctor
Copy link
Collaborator

the pipeline is running. Thanks @eugeis!!

@p5
Copy link
Contributor Author

p5 commented Aug 16, 2024

the pipeline is running. Thanks @eugeis!!

If the existing workflow is supposed to be linking these binaries to releases, I believe it will need some changes.

https://github.com/danielmiessler/fabric/blob/main/.github%2Fworkflows%2Fgo.yml#L53

This upload-artifact step attached the binaries to the individual workflow runs, but not the release. This makes it nearly impossible for people to discover.

Rather than attaching the binaries to each workflow run, we need to link them to the tagged release.

For these binaries to be discoverable, we can use the following action, recommended by GitHub.
https://github.com/softprops/action-gh-release

@ideologysec
Copy link

ideologysec commented Aug 16, 2024

Also, there's really no need for the macOS binary to get put into a DMG - that's an extra step on both ends (packaging and installing) that doesn't need to be there.

Some additional thoughts:

  • adding the SHA256 sum of the binaries would make download verification possible
  • adding a homebrew recipe would make it very easy for anyone on macOS to install (brew install fabric-ai or brew install --cask fabric are both available)

@p5
Copy link
Contributor Author

p5 commented Aug 16, 2024

CC @xssdoctor
I've PR'd a fix to include the binaries in future GitHub Releases. I'm not entirely sure if it's setup correctly, but it's an attempt at making something that looks about right 😆

As for checksums and a Homebrew recipe, that's out of scope for the PR, and it may be good to open a separate issue since this one was already closed, and likely has no eyes.

@ideologysec
Copy link

@p5 done as #812

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants