It's been nine days since Xcode 6 was released, and I wanted to give you an update on what we've been doing to get it rolled out to you.
We started working on this as soon as Xcode 6 was out, but had some issues booting up and connecting to the base VM that we use to install any updates. Once we got the machine booted up and got past the connection issue (turned out to be a bug in the VPN client that I use), we started updating the software in the build environment.
Our first attempt at rolling this out was on September 24th. Once we enabled the new image, we almost immediately started getting errors. We rolled back to the old image and started investigating the source of the errors. We found that the image had disappeared from the VM hosts. This meant that we had to re-distribute the image from the master image again. Due to the length of this process, this meant that we were unable to try again until the next day.
Our second attempt at rolling out the image was yesterday, September 25th. We verified that the image was on all the VM hosts this time, and flipped the switch to use the new image. This time the VMs were booting up, but pretty soon we started seeing timeout errors when SSHing into the machines. We tried looking at the screens over VNC and discovered that the machines were getting stuck in the boot sequence, and some asked for a password (even though we have passwordless login enabled).
We're still trying to figure out the booting issue with our infrastructure team, and we hope to have this resolved as soon as possible.
I'm really sorry for the delays in getting this update out to you.
Dan has been a long-time contributor to Travis CI, including not only our Go
support, but also features within our cookbooks, as well as how we originally
supported uploading artifacts after a build. We're very honored to have him
not only help us ship this feature, but also write this blog post, which I'm
sure you'll all enjoy. ~ Josh Kalderimis
If the builds you're running on Travis CI produces artifacts, you'll no doubt
be thrilled to hear that we want to make saving these artifacts super easy for
The first supported tool for doing this was
travis-artifacts, a handy
gem-installable tool for shipping artifacts to Amazon S3. This was a great
start, and solved the immediate need, but we knew we could do better.
Among the problems we hoped to address were the lengthy installation process of
runtime dependencies and the lack of first-class support in one's
What we ended up building comes in two parts. First, there is a binary
artifacts. This binary may be downloaded and used directly
by following the installation
In addition to this binary, an
artifacts addon was tacked onto
travis-build so that you can use
it via your
.travis.yml. More details are available in the
docs, for example, all
you need is to add the following to your
And you should then see at the bottom of your log:
The above screenshot is from
You can also set
ARTIFACTS_SECRET environment variables
via the repository settings in order to keep your
.travis.yml more slim, for
Setting such environment variables would reduce the valid addons configuration
to the following:
By default, any files found using
git ls-files -o within your repository
directory will be uploaded to S3. If you want to upload a different set of
files, you can specify these using the following config:
# arbitrary shell commands are supported, but the output should be
# converted to a ':'-delimited string.
- $(ls /var/log/*.log | tr "\n" ":")
# singular paths work fine, too
We have some great improvements in the works to make artifacts even better, but
consider this the first of many.
We're looking forward to hearing what you think!
It's a well known fact that the Travis CI team is very appreciative of great
coffee, and that we love sharing our enthusiasm. We also enjoy meeting our
customers and chat about all things continuous integration, shipping, production
and, of course, coffee.
We love combining those things into an opportunity for you to grab a coffee with
and on us, and to have a little chat in a relaxed atmosphere.
Next week, just before Josh starts his journey back to the southern hemisphere,
literally dozens of timezones away, he'll be stopping by in Berlin for a few
Next Tuesday, September 9 2014, we'll be hanging out at Silo Coffee, one of
our favorite shops in Berlin, in the morning hours from 9:00-11:30 (okay,
maybe even longer than that, it's kinda our second office).
Coffee is on us, so do come by for a chat and a cup of the greatest coffee
around. Hint: they're serving the greatest breakfast at Silo Coffee as well!