dotenv-hs icon indicating copy to clipboard operation
dotenv-hs copied to clipboard

Create releases with pre-compiled binaries

Open sestrella opened this issue 6 years ago • 6 comments

dotenv is meant to be used as an executable, therefore, in order to simplify the installation process, we could provide pre-compiled binaries so end-users could just download and copy the binary instead of installing the whole package via stack or cabal.

Documentation

  • https://help.github.com/en/github/administering-a-repository/creating-releases
  • https://docs.travis-ci.com/user/deployment/releases/

References

  • https://github.com/commercialhaskell/stack/releases

sestrella avatar Nov 13 '19 14:11 sestrella

I've never done this before. I'd love to take this.

CristhianMotoche avatar Nov 14 '19 16:11 CristhianMotoche

Hey @sestrella As we discussed, let's do this step incrementally. I think our final goal is to make dotenv binary work for the following operating systems:

  • [x] Linux x86_64 (via #114)
  • [x] Mac osX (via #117)
  • [ ] Windows
  • [x] Automate release notes (via #115 )

I'll keep you updated with any progress.

CristhianMotoche avatar Nov 14 '19 17:11 CristhianMotoche

@CristhianMotoche sounds good to me, thank you for carrying this on.

sestrella avatar Nov 14 '19 17:11 sestrella

@sestrella I'm trying to set the release notes. Here is my first attempt: https://github.com/stackbuilders/dotenv-hs/releases/tag/untagged-8972a8d79f11a59c973f

Two things here:

  1. The advanced options of travis deploy didn't work, because formatting the body isn't supported (tested it here).

  2. So, based on this issue, I followed the suggestion described here.

Let me know what you think.

CristhianMotoche avatar Nov 20 '19 15:11 CristhianMotoche

Travis has the option to build on Mac OS and even Windows, I think. However, it cannot collect artifacts after builds. Info here. An option that Travis suggests is to set up a S3 bucket and push the artifacts there. And later, move those binaries from S3 to a GitHub release.

What do you think about that approach? /cc @sestrella @juanpaucar

CristhianMotoche avatar Mar 05 '20 16:03 CristhianMotoche

@CristhianMotoche nice suggestion, in fact, that seems to be the way to go in some well-know packages such as stack. I think adding some deployment scripts - to build the binaries locally - would be a good idea.

sestrella avatar Mar 09 '20 18:03 sestrella

Thanks to GH Actions the process has become very simple to upload the notes and generate the static binary (see this release). I suggest not to generate the binaries for OS X or Windows since that will add extra complexity to our CI pipeline and also it hasn't been requested by any else so far. Therefore, let's close this issue. We can open a new one for each individual platform as needed. Thanks for rising the issue @sestrella

CristhianMotoche avatar Jan 12 '23 16:01 CristhianMotoche