# Travis build times increased 3x on macOS. Why?

**URL:** https://discourse.julialang.org/t/travis-build-times-increased-3x-on-macos-why/6085
**Category:** Tooling
**Tags:** travis
**Created:** [September 26, 2017, 12:56pm UTC](https://discourse.julialang.org/t/travis-build-times-increased-3x-on-macos-why/6085 "2017-09-26T12:56:59Z")
**Posts on this page:** 4
**Page:** 1

<div class="post-metadata">

### Author: ![mauro3](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/mauro3/32/292_2.png) [@mauro3](https://discourse.julialang.org/u/mauro3)
#### Post date: [September 26, 2017, 12:56pm UTC](https://discourse.julialang.org/t/travis-build-times-increased-3x-on-macos-why/6085/1 "2017-09-26T12:56:59Z")

</div>

Build times on Travis macOS increased markedly sometimes ~ 2 month ago. Example:

- [Travis CI - Test and Deploy Your Code with Confidence](https://travis-ci.org/JuliaMath/FixedPointNumbers.jl/builds/261486968) (macOS ~ 5.5 min)
- [Travis CI - Test and Deploy Your Code with Confidence](https://travis-ci.org/JuliaMath/FixedPointNumbers.jl/builds/265159471) (macOS ~ 14min)

The Linux times stayed at ~2.5min. Any idea why? What I just saw on [this](https://travis-ci.org/mauro3/Parameters.jl/jobs/279930963) run was that it hung on [`INFO: Computing changes...`](https://travis-ci.org/mauro3/Parameters.jl/jobs/279930963#L84) a long time (although maybe I miss-remember this up as the log suggest differently).

It might be related to [recent](https://blog.travis-ci.com/) travis macOS problems, but then I would have thought it would affect wait time but not run time.

---

<div class="post-metadata">

### Author: ![ChrisRackauckas](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/chrisrackauckas/32/77_2.png) [@ChrisRackauckas](https://discourse.julialang.org/u/ChrisRackauckas)
#### Post date: [October 2, 2017, 3:15pm UTC](https://discourse.julialang.org/t/travis-build-times-increased-3x-on-macos-why/6085/2 "2017-10-02T15:15:44Z")

</div>

Yes, the Mac servers essentially are getting to many concurrent jobs and that’s ruining server times so they have deceased the amount of jobs any use it org can simultaneously run on Mac

---

<div class="post-metadata">

### Author: ![helgee](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/helgee/32/2022_2.png) [@helgee](https://discourse.julialang.org/u/helgee)
#### Post date: [October 20, 2017, 9:54am UTC](https://discourse.julialang.org/t/travis-build-times-increased-3x-on-macos-why/6085/3 "2017-10-20T09:54:58Z")

</div>

In my opinion, macOS CI on Travis is starting to become useless.

The inital cloning and dependency installation step (especially if there is compilation of binaries involved) alone takes longer than 15 minutes for [some of my packages](https://travis-ci.org/JuliaAstrodynamics/AstroDynCoordinates.jl/jobs/290324899).

But what is the alternative? Dropping macOS CI?

---

<div class="post-metadata">

### Author: ![Tamas\_Papp](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/tamas_papp/32/25949_2.png) [@Tamas\_Papp](https://discourse.julialang.org/u/Tamas_Papp)
#### Post date: [October 20, 2017, 10:00am UTC](https://discourse.julialang.org/t/travis-build-times-increased-3x-on-macos-why/6085/4 "2017-10-20T10:00:31Z")

</div>

> [@helgee](#):
>
> But what is the alternative? Dropping macOS CI?

I advocate treating Travis for OS X as a scarce resource: if you have a good reason to use it (eg a package which is not pure Julia, has some tricky cross-platform stuff, etc) then do, otherwise disable testing for OS X until the situation is resolved.

This would result in **faster test times for those who really need it** , and obviously faster test times who skip these tests. The downside is not catching some subtle bugs which could crop up nevertheless. I recognize that more testing is always good, and suggest this as a practical compromise given the constraints.

I opened a related issue for `PkgDev`:

> <https://github.com/JuliaLang/PkgDev.jl/issues/124>
>
> Travis has limited servers for OS X. Most of them \[run continuously\](https://www….traviscistatus.com/), with a large backlog for open source projects. This results in \[long wait times\](https://github.com/travis-ci/travis-ci/issues/7304).
> 
> Of course code that has OS-specific features should be tested on all possible architectures. But arguably, this is not the case for the typical Julia package. We are contributing to the congestion of a scarce resource that is provided for free. Using it only when necessary would be better.
> 
> A single \`#\` in \[the relevant line\](https://github.com/JuliaLang/PkgDev.jl/blob/master/src/generate.jl#L234) would be sufficient. Package authors who need OS X testing could just remove it.
