LeastAuthority/haskell-magic-wormhole

CI is broken

exarkun opened this issue · 1 comments

It fails on the libsodium install step:

#!/bin/bash -eo pipefail
apt-add-repository -y ppa:ondrej/php

/bin/bash: apt-add-repository: command not found

Exited with code exit status 127

CircleCI received exit code 127

I notice a number of things about the build system that might be improved:

  • The project uses stack. Cabal is probably fine at this point. There was a rough patch but that seems to be over.
  • The project doesn't use Nix. Nix is the best way to get reproducible builds.
  • There is no Windows or macOS CI. CircleCI can offer both of these.

These might not all be in scope for this single issue (especially the last) but switching to Nix and cabal probably makes as much sense as anything else for fixing the current CI configuration. We have lots of examples of such setups we can borrow from, too.

Some aspects of https://github.com/privatestorageio/paymentserver are pretty good - uses Nix and cabal and uses cachix for caching.
https://github.com/privatestorageio/zkapauthorizer has a Nix flake that shows off how flakes can make CI configuration easier (and more CI provider independent).

vu3rdd commented

#64 fixes a number of issues, but as noted by the original post, several other things are broken in CI. Keeping this ticket open for now.