LPGhatguy / aftman

Aftman, the prodigal sequel to Foreman
MIT License
162 stars 19 forks source link

Support for bare executables & more formats in releases #32

Open filiptibell opened 2 years ago

filiptibell commented 2 years ago

I've encountered a few tools that do not have executables zipped in their releases, one of them being sentry-cli:

https://github.com/getsentry/sentry-cli/releases

It would be cool if we had support for this! It also seems like aftman already sets the proper executable flags on unix, so I guess it may just be a minor matching fix. Right now we work around this by maintaining a fork with the only purpose of mirroring releases that zip up the executables.

LPGhatguy commented 2 years ago

This sounds good to me. I think it's usually a mistake to make releases like this since the binary names end up weird and nonuniform, but Aftman should be ideally be descriptive, not prescriptive where possible.

I think we should also support other archive formats if they come up in practice.

filiptibell commented 2 years ago

I think we should also support other archive formats if they come up in practice.

Another tool that we use releases tarballs for unix platforms and zip files for windows:

https://github.com/casey/just/releases

I'll update the issue title to be a bit more generic.

Corecii commented 2 years ago

I'm running into a related issue. We want to define some build tasks in a shareable format, and cargo-make seems like a good option because they release a more generalized makers binary alongside cargo-make. I have no way to instruct Aftman to download makers.exe instead of cargo-make.exe though, so we had to set up a cron job to repackage cargo-make's releases with only makers.

What would help here is being able to instruct Aftman to download a specific file instead of it grabbing the first binary it sees.