kowainik / stan

🕵️ Haskell STatic ANalyser
https://kowainik.github.io/projects/stan
Mozilla Public License 2.0
565 stars 48 forks source link

Make binary releases #336

Closed TomMD closed 4 years ago

TomMD commented 4 years ago

The ShellCheck project has some great binary release scripts. It takes a small amount of massaging, but I transformed those to working with v2-style builds such as what I'd been using to build stan. Using this script - which itself uses docker, alpine, and the GHC alpine distributions with simple-integer - I was able to build statically linked stan binaries. Should I include this release script in a PR? Is there any interest in making official releases?

chshersh commented 4 years ago

Usually in our projects when we want to produce binaries for all operating systems, instead of storing a script in the repo, we implement CI infrastructure. The CI creates releases with assets automatically for us, so we don't need to do manual work and maintain extra bash.

We haven't provided binaries yet, because Stan uses GHC API, and even different minor GHC versions of the same major version are incompatible. Thus, providing statically linked binaries only for the latest minor GHC version will break users of others GHC.

See the following GHC issue for more details:

I've created an issue to track the implementation of binary releases via CI.