Ubuntu Trusty to Ubuntu Xenial Migration Guide
As of August, 13th 2019, we’ve switched the default Linux distribution on Travis CI from Ubuntu Trusty 14.04 LTS to Ubuntu Xenial 16.04. Here are the most common issues our customers ran into and how you can fix them.
If you’d like to stay on Ubuntu Trusty or need more time to set up your repository with Ubuntu Trusty, please explicitly set
dist: trustyin your .travis.yml file as soon as possible.
What does this mean for your projects? #
Repositories without an explicit
dist: YAML key in their
.travis.yml file will be routed to Xenial instead of Trusty.
Repositories without an explicit operating system
os: key in their
travis.yml file will use Linux Ubuntu Xenial 16.04.
There are three important changes to take into account when updating to Xenial from our Trusty build environment:
1. Services support #
Services like MySQL or PostgreSQL are not started by default. To start any service, such as MySQL, add it to the services key in your config:
services: - mysql
When you are trying to run PostgreSQL and you are facing a memory problem, i.e. running
sudo df -h and getting output from the mount points;
none 768M 768M 0 100% /var/ramfs
try to add the following line of code to your
before_install: sudo mount -o remount,size=50% /var/ramfs
2. Third-party APT sources #
Sources from third-party APT repositories have been removed. During the Xenial image provision, third-party APT repositories are used to pre-install services like
redis-server. These packages are available during build time, but to reduce the risk of sporadic
apt-get update failures, the repositories are removed after the packages are installed.
For example, to update the
git-lfs version, you’d need to explicitly specify the source in your config:
You can find the full list of sources that have been used and to install packages and then were removed here.
addons: apt: sources: - github-git-lfs-xenial packages: - git-lfs
3. Headless browser testing #
To use headless browser testing, you now start
xvfb via the services key, like this:
services: - xvfb
If you had configured
xvfbmanually in your trusty builds, please replace it with the services key above, which is also easier to maintain!
To recap! #
The default build environment is Ubuntu Xenial 16.04. You can identify if your repository is now running on Xenial by checking your build log, under Operating System Details like:
Jobs run on Xenial, display Operating System Details, Description: Ubuntu 16.04.5 LTS You can find the specific versions of what’s pre-installed in the Xenial Reference docs.
If your build depends on a different Ubuntu distribution like Ubuntu Trusty 14.04, you can explicitly specify
dist: trustyto ensure your build will use it.