-
Notifications
You must be signed in to change notification settings - Fork 701
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Split up Cabal's Travis buildjobs into stages #4556
Comments
Seems a bit difficult: travis-ci/beta-features#11 (comment) |
The announcement says that "build stages work as expected when combined with build matrix expansion". |
But see travis-ci/beta-features#11 (comment). |
So I sort of got this to work in #4560 (with help from @BanzaiMan), but there are following problems:
|
Btw, I've wanted to have a way to better control what is built (in this case you'd want only non-local deps built). In the case of matrix builder I would need the granularity of adressing to be able to select the build goal(s) by specifying the nix-hash (which I lookup in the |
Could we do away with this nonsense with a bit of sponsorship for a real CI solution? The amount of time wasted on the "free tier" of Travis-CI is absurd. (Not that I expect paid Travis-CI to be much better. Their issue tracker tells quite a tale.) (FWIW, if it helps the community, I'm willing to donate a bit of money[1] towards it... but I think the Haskell.org might also be willing to donate a bit for a project as critical as Cabal?) [1] Actually, also time, if need be. If there are existing servers which could be recruited for CI, I'd be quite happy to help sysadmin them. |
@BardurArantsson We talked with @gbaz about setting up a build farm for core projects like Cabal using haskell.org machines. Servers seem to be available, what's missing is developer/sysadmin time to make it happen. |
@gbaz Is there some wiki page or something which describes the current infrastructure? I'd like to get an idea of whether it's similar enough to what I'm used to to see if I could meaningfully contribute... EDIT: E.g. is it running docker containers, etc. etc? |
@BardurArantsson I've sent you an e-mail. |
Closing the ticket, since enabling build stages doesn't seem to be worth it currently. |
#4529 shows a problem we're starting to run into with cabal's heavy Travis jobs:
If a travis job gets killed due to timeout, it misses the opprotunity to write anything to the Travis cache.
However, there's a recently introduced staged jobs feature which should allow us to build & cache dependencies in an early stage, so that if a later stage runs into a timeout, we'd still have at least not lost the cached work, which could then be reused by a restarted job.
Moreover, this could allow us to split work into smaller logical workunits which travis could then schedule accordingly (as our current jobs seem rather unevenly distributed in terms of work-length).
The text was updated successfully, but these errors were encountered: