Travis

Update on Trusty as default Linux

Dan Buch,

We previously posted about the gradual transition to trusty as the default value for dist, and with this post we’d like to provide a status update and set expectations for what’s next.

Chinese pangolin skeleton

Currently

At the time of this writing, the distributions of container-based Precise and Trusty jobs have traded places since early July when we began the rollout process. This tells us that the rollout process has worked correctly, and the vast majority of active repositories have been selected for dist: trusty as the default value.

What’s next

The next step in the transition process for dist: trusty as the default is to remove the conditional rollout-based logic and make it true for all incoming jobs. This will be happening on Friday, September 1st, 2017. Once complete, any jobs that do not explicitly set a value for dist: will be saved with dist: trusty.

For example, the following .travis.yml

language: ruby
sudo: false
script: bundle exec rspec

will become

language: ruby
sudo: false
script: bundle exec rspec
dist: trusty

With all incoming jobs defaulted to dist: trusty, the remaining transition we will be focusing on is phasing out our container-based infrastructure for dist: precise jobs. This rollout will be similar to the dist: trusty defaulting, but instead of setting a default value, we will begin ignoring sudo: false when we find an explicit dist: precise.

For example, the following .travis.yml

language: ruby
sudo: false
script: bundle exec rspec
dist: precise

will be treated the same way as

language: ruby
sudo: required
script: bundle exec rspec
dist: precise

We are planning to begin this process on Tuesday, September 5th, 2017.

NOTE: If your setup relies on safelisting the IP ranges of the build machines, please note that these vary with the infrastructure in which the builds run. Precise builds routed to sudo: required will run in our GCE infrastructure where we don’t provide static IP addresses yet, which will require safelisting the IP ranges used by GCE.

If allowing connections to your network from these broad ranges is not an option for you, we’d recommend switching your builds to:

sudo: false
dist: trusty

where static public IP addresses are available. See our IP ranges list for more information.

How to know

An important difference to note is that we will not be changing the persisted value of sudo for the sudo-only precise rollout. This means that the configuration shown in the View config tab will retain the value present in one’s .travis.yml

precise sudo always

The Worker information fold at the beginning of the output in the Job log tab will show the instance: name. For any jobs that run on our sudo-enabled infrastructure, this value will begin with the string testing-gce.

worker instance name on GCE

The future

We expect the process of phasing out our container-based infrastructure for dist: precise to be complete by the end of September 2017. Once complete, we will continue to offer fully-virtualized Ubuntu Precise until March 2018 at the earliest.

As always, if you encounter issues during either of these transitions, please reach out to us at support@travis-ci.com

Once more, with calendar

NOTE: future dates are tentative

what when
begin default dist: trusty rollout Tuesday, July 18th 2017
complete default dist: trusty rollout Friday, September 1 2017
begin sudo: required for dist: precise rollout Tuesday, September 5 2017
complete sudo: required for dist: precise rollout Friday, September 22 2017
end support for dist: precise Sunday, April 1 2018

Want to be notified about new articles and updates? Sign up for our newsletter, we'll send you coffee tips as well!

Questions or feedback?

Let us know what you're thinking by emailing support@travis-ci.com!