We're updating the issue view to help you get more done. 

DSW-Server build in Travis review & speedup

Description

  • Build takes a lot of time on Travis CI (around 50 minutes for no-cache which is way too much)

  • Build in Travis CI is done using generic image (Ubuntu), maybe Haskell-specific would work better

  • Docker image for dsw-server is based on Ubuntu 14.04 which LTS ends on April 30, again, maybe Haskell-specific would work better

An option is to use Docker image designed for building dsw-server project, such image can be also pushed to public Docker Hub and then reused in Travis CI and even for local builds: https://docs.docker.com/develop/develop-images/multistage-build/

Activity

Show:
Marek Suchánek
March 18, 2019, 6:02 AM
Edited

This looks great: https://andrewlock.net/caching-docker-layers-on-serverless-build-hosts-with-multi-stage-builds---target,-and---cache-from/

But not sure about pull/push builder image in case of multiple branches and tags. Maybe it should be also only per tag, latest, and develop branch in our case, e.g., dsw-server-builder:develop. Or there will be indeed just “develop” version in the registry named dsw-server:builder.

Marek Suchánek
March 18, 2019, 6:42 AM

During this issue “build-info” should be also improved…

Marek Suchánek
March 22, 2019, 7:35 AM

Proposed solution:

  • Since Haskell on Travis CI is again just Ubuntu but with different pre-installed stuff (and not stack), there is no reason for that. We will just upgrade to Ubuntu 16.04 (LTS) both in Travis CI and Dockerfile - sadly Travis does not support 18.04 yet (https://travis-ci.community/t/ubuntu-18-04-1-lts-bionic-beaver/1270/7). This will prolong support by 2 years. This upgrade require tests since more dependencies might be needed in Travis/Docker to build and run dsw-server.

  • Dockerfile.build will be prepared locally to test it for the future but not on Travis.

Marek Suchánek
April 2, 2019, 7:35 PM

The upgrade to Ubuntu Xenial Xerus has been already done for 1.5 because of end of support of Trusty Tahr here: https://github.com/ds-wizard/dsw-server/pull/57

This issue will just try to improve performance with --system-ghc, investigate caching and update dependencies.

Assignee

Marek Suchánek

Reporter

Marek Suchánek

Priority

Medium

Components

Labels

None

Fix versions

Epic Link

None
Configure