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.
We’re super excited to announce the newest member of our Travis CI family, Jenifer Duke! Jen, or Duke as she's usually called, has joined the team as our Chief Happiness Officer. She’ll be helping out with all kinds of awesomeness from planning our team off-sites to making sure the office is a well oiled machine.
Team Happiness is a role Duke learned she fit into naturally. After working as a secretary for the Georgia House of Representatives, she realized being organized and helping people has always floated her boat. In her new role with Travis CI she’ll help to create streamlined procedures that allow everyone to focus on their goals while maintaining our awesome culture.
The electric vibes and excitement that draws so many of us ex-pats to Berlin didn’t miss Duke's heartbeats either. She has started a new chapter in her life, leaving most things behind in San Francisco and moving here to Berlin! Despite our frigid temperatures and icy sidewalks that accompany them, Duke has loved this city since her first visit at the end of 2012. Lucky for her, spring is just around the corner!
No better city to experience spring and summer than Berlin! As much as we’d love to have her 24/7, when Duke's not being super-awesome in our office she’ll be out experiencing the world and all it has to offer… her stomach. Duke loves all things involving travel and food. You can follow along her adventures on Instagram and Exposure.
The whole Travis CI team couldn’t be happier to have her on board and we hope you’ll drop her a warm welcome too!