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:
Please note: the config string is beta-xcode6.3, although the exact
version is Xcode 6.3.1.
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.
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!
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
Our goals are:
Stable and reliable infrastructure for OS X builds
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.
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
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.
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:
Builds can use Docker processes
Hitherto unattainable features such as FUSE are now possible
Currently in early alpha stage, this setup is showing some promising results so far.
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.
Ruby VM now respects .ruby-version file, and uses the Ruby runtime defined in it.
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.