Xcode 6.3 Beta general availability

Dan Buch,

I'm happy to announce the general availability of our Xcode 6.3 beta. This program is long overdue, but we're feeling confident about the stability of the offering thanks to the invaluable feedback from many private beta customers.

Opting into the beta will require the following in one's .travis.yml in addition to either being a multi-os configuration or a language that is routed to OS X by default:

osx_image: beta-xcode6.3

Please note: the config string is beta-xcode6.3, although the exact version is Xcode 6.3.1.

The details

Getting Xcode 6.3 to work on our virtualization platform would not have been possible without the help of our amazing infrastructure partners at MacStadium. As Xcode 6.3 requires OS X 10.10 Yosemite, this meant we had to choose between running Yosemite in an unsupported configuration on vSphere 5.5 or upgrading to vSphere 6.

Thanks to the agility and responsiveness of our MacStadium friends, half of our vSphere 5.5 cluster (less than 2 weeks old at the time) was reprovisioned into a new vSphere 6 cluster in under 3 days.

Next steps

Being able to run Xcode 6.3 on Travis is nice, but as said before it's long overdue. We're already hard at work on being able to offer future Xcode versions as early as possible, as well as breaking the coupling between OS X VM images and Xcode versions so that we can offer more than "current" and "beta" at a given time, and allow customers to pin to the exact version(s) they need.

The current plan is to investigate the feasibility of on-demand Xcode version installation, then to move all remaining OS X capacity to our vSphere 6 cluster.

We'll be sure to announce early and often when these new features and changes land. Happy testing!

State of the Mac infrastructure on Travis CI

Hiro Asari's Gravatar Hiro Asari,

In recent weeks, many of our Mac users have asked when they can test their code written for Xcode 6.2 and 6.3 on Travis CI.

I would like to shed light on the status of our Mac infrastructure in a bit more detail today.

As demands for our services on the Mac grew, we reevaluated our Mac infrastructure, and decided that it was time to revamp it.

Photo (CC-BY-SA) 2008 by Christopher Bowns

Our goals are:

  1. Stable and reliable infrastructure for OS X builds
  2. Faster updates to the build environments, including offering newer Xcode SDK updates

State of the Mac Infrastructure

As we indicated in a previous blog post, we continue to make great progress toward getting the new Mac infrastructure ready for production use. This is our Mac team's top priority.

We are testing the new infrastructure with the current images (Xcode 6.1 and 6.1.1) as well as a beta image with Xcode 6.2.

While it is not easy to estimate, we hope to roll out the new Mac infrastructure within a couple of weeks.

What about Xcode 6.3?

Once we have the new infrastructure out, we will tackle the Xcode 6.3.

There is a bit of unknown here, because Xcode 6.3 requires OS X 10.10 (a.k.a. Yosemite). The new infrastructure service provider is running on a version of virtualization software that does not officially support 10.10. Offering it to our users may involve some extra work, but we will do what we can to make it happen.

We will have another blog post to address this in more detail before then.

This week in Travis CI, 2015-04-09

Hiro Asari's Gravatar Hiro Asari,

Things are moving fast at Travis CI.

Some changes are visible (six(!) new members of our growing team and the UI improvements — more on this below), and some are not so visible (like emphasis on the new container-based infrastructure, and behind-the-scenes API improvements).

We want to let you know what Travis CI is up to with these regular updates.

UI improvements

You have undoubtedly noticed the recent changes to our web pages. The overall theme is flatter; the focus of these updates to make information easier to find, along with some eye candies like favicon (sorry, Safari users, you won't see them) which changes according to the build/job’s status.

We have also beefed up the landing page. If you are logged in, please sign out, and see it for yourself!

These changes are great on their own merit, but we are not done yet. These lay foundations for future updates we have planned.

We plan a more detailed blog post. Stay tuned!

Containerized future

As we just announced, recently activated repositories will run on containers by default, unless they are explicitly opted out with sudo: required.

The container-based infrastructure provides a better overall experience, with shorter wait and more capable VMs.

KVM in the works

We are also working hard on bringing KVM to our infrastructure. This has some interesting ramifications:

  1. Builds can use Docker processes
  2. Hitherto unattainable features such as FUSE are now possible

Currently in early alpha stage, this setup is showing some promising results so far.

Rails Girls Summer of Code

Rails Girls Summer of Code returns for the third straight year. Anika Lindtner, Sven Fuchs, Laura Gaetano, and Sara Regan are hard at work to make this another smashing success.

If you have not done so, I encourage you to donate today!

2015-04 Build environments updates

Among many small updates announced, the highlight is MySQL 5.6, provided by Ubuntu packages from

While MySQL 5.6 brings you many new features, if you need to stay on 5.5, be sure to follow the instructions given in the announcement above.

State of the Mac infrastructure

You might be wondering, “What about the Mac?” I’m glad you asked!

We are in the process of investing in a new Mac cloud infrastructure that brings us, and you, some great features and improvements.

Our current focus is not just on stability, but also the ability to offer our users a faster turnaround for new Mac images.

We are working hard with our infrastructure partner to make this all possible, just at a time when Apple has been releasing Xcode betas and updates to the Swift programming language.

We have been conducting a beta test with Xcode 6.2 on the new Mac cloud. These beta testers have helped us identify and fix some important issues, and for this we can’t thank them enough!

The capacity is limited for the beta testing, so we are unable to add more users to it while we bring more capacity online.

As for Xcode 6.3, due to it requiring OS X 10.10, we hope to have good news next week. Watch this space!

We appreciate your understanding on this issue, and thanks for being awesome.

Miscellaneous bug fixes and new features

These don't merit special mentions or a separate blog post, but are interesting nonetheless.

  1. Ruby VM now respects .ruby-version file, and uses the Ruby runtime defined in it.
  2. A new build phase before_cache is added. You can use this phase to prepare the cache before it is checked for updates. This is useful for cases where a utility touches a small file, which would mark the entire cache as new without interference.

Until next time…

We will talk soon, but until then, happy testing!