purebred-mua / hs-notmuch

Modern Haskell binding to the Notmuch mail indexer
11 stars 2 forks source link

ci: test against all notmuch versions we want to support #13

Closed frasertweedale closed 7 years ago

frasertweedale commented 7 years ago

The first thing here is to determine what versions of notmuch we need to support.

A quick survey of what's available on different OSes:

For the full range of versions we want to support, we should build that version of notmuch, then build and test hs-notmuch against it.

romanofski commented 7 years ago

Got three ideas:

  1. Create a private Jenkins instance we have control over. Upside is the flexibility, but downside is the access which we will only have control over.
  2. Use travis with the combination of docker images. Has the upside of building against the releases in each OS release. Maintaining the images is awful tho.
  3. Use Fedora Copr and continously build packages of hs-notmuch. Has the upside of a cheap CI, but only one OS.

Staying public and build against a certain production reference seems that the docker approach is the only viable one atm.

frasertweedale commented 7 years ago
  1. install build deps, download source code, build and install notmuch from source, at each version we support.
romanofski commented 7 years ago

Good point. I suppose we don't have to install the artefacts, but how do you build hs-notmuch against the built version? Environmental variables trickery?

frasertweedale commented 7 years ago

On Mon, Sep 04, 2017 at 10:20:45PM -0700, Roman Joost wrote:

Good point. I suppose we don't have to install the artefacts, but how do you build hs-notmuch against the built version? Environmental variables trickery?

I'm guessing with CFLAGS, LDFLAGS, LD_PRELOAD et al.

frasertweedale commented 7 years ago

Fixed in commit 6295f5b69c23782460daf34dd1fb1fa6c36a2a01

romanofski commented 7 years ago

Nice work!

frasertweedale commented 7 years ago

On Thu, Sep 21, 2017 at 05:30:37AM +0000, Roman Joost wrote:

Nice work!

Ah, I had to get around to it eventually. PR incoming for purebred to add GHC-8.2.1 to build matrix there, too.