commercialhaskell / commercialhaskell/stack

Docs/Travis: Recommend sudo-enabled CI environment over container-based env?

Open
#3,074 2 comments 0 reactions 0 assignees View on GitHub
component: docs (online) type: discuss
Dominant language
Haskell
Stars
4.1k
Forks
850
Avg merge
10h 37m
Merged PRs (30d)
4

Description

In both `travis-simple.yml` and `travis-complex.yml` we currently recommend using the container-based CI environment:

```
# Use new container infrastructure to enable caching
sudo: false
```

The explanation in the comment is no longer correct though: https://blog.travis-ci.com/2016-05-03-caches-are-coming-to-everyone

Apart from fixing that comment, I'm wondering if we should recommend the sudo-enabled CI env over the container-based one. Judging from https://docs.travis-ci.com/user/ci-environment/#Virtualization-environments the most important differences between the two environments seem to be that:

* The container-based env will startup slightly faster
* The sudo-enabled env has more memory (7.5 GB vs. 4 GB)
* The container-based env has exactly 2 cores, while the sudo-enabled env has "~2, bursted" (and I [don't](https://github.com/travis-ci/travis-ci/issues/6191) [know](http://stackoverflow.com/questions/42601256/what-does-a-number-of-cores-of-2-bursted-mean) what that means.)

The difference in startup time isn't _that_ important for Haskell projects IMO: I'm under the impression that virtually any Haskell Travis job takes > 2 minutes anyway with many taking upwards of 10 minutes.

Now if the sudo-enabled env was known to be at least as fast as the container-based one, I'd recommend that one but I don't currently have that data. Does anyone know more about this?

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.