Travis

UC Berkeley CalSol Team Runs on Travis CI

Christopher Ngyuen,

This is a guest blog post from Christopher Nguyen, a member of the embedded systems group of CalSol, the UC Berkeley Solar Vehicle Team.

CalSol uses Travis CI to test their embedded software that powers their solar vehicle to explore the future of engineering.

(Photos reproduced with permission)


Embedded systems are hard. You're often on bare metal, fighting against memory constraints and a lack of specific documentation. And the bugs. The bugs are terrible. As the systems you build on the bare metal become serious, complicated, use-specific, there will be bugs, and they will require more than a printf, and at minimum a logic analyzer to squash. You may find that the bug isn't code at all, but a burnt out port causing funky noise in the io. Often you'll find hours wasted chasing bugs through the system.

BUT sometimes there is a bright spot in the workflow.

Here at CalSol we've started down the long path of test-oriented code in building our solar racecars, and this has meant that it is now possible to start using great tools like Travis CI and start putting in practice continuous integration.

Before Travis CI, the only sanity checks on pushes to the code base were watchful eyes. In practice this often meant overlooked 3am pushes that sometimes wouldn't even build, let alone run on the boards on the Zephyr (the current solar racecar we're building). Overburdened university students software and electrical engineers should not be doing the job of computers. That's what computers are for!

In order to get GCC ARM embedded toolchain working on Travis CI's container-based infrastructure we first make sure that certain 32-bit libraries are setup so that we can run the GCC ARM embedded toolchain. (The GCC ARM embedded toolchain is 32-bit while the Travis CI environment is 64-bit.) So in our .travis.yml file we put

addons:
  apt_packages:
    - lib32bz2-1.0
    - lib32ncurses5
    - lib32z1

Now we have all the dependencies we need for the linux environment to identify and run the 32-bit executables in the GCC ARM embedded toolchain! For the piece de resistance, (getting GCC ARM embedded toolchain onto our environment), we simply wget the appropriate file and unzip.

So in our .travis.yml file we add:

install:
  - wget https://launchpad.net/gcc-arm-embedded/4.9/4.9-2014-q4-major/+download/gcc-arm-none-eabi-4_9-2014q4-20141203-linux.tar.bz2
  - tar -xf gcc-arm-none-eabi-4_9-2014q4-20141203-linux.tar.bz2

We can now compile embedded code on Travis CI! (Remember that if you want to call arm-none-eabi, you will either need to add the location of where you unzipped the toolchain to the PATH variable or reference directly its location.)

Long story short, we're now using Travis CI to build our code using the GCC ARM embedded toolchain, and working towards fully running and testing it using our virtualizations of our boards.

We are very grateful to the crew at Travis CI for helping make our lives a little easier, and the job of making a winning solar racecar even more enjoyable.

If you'd like to support CalSol, you can donate here http://give.berkeley.edu/fund/index.cfm?f=FU1032000.


Aly joins the Travis CI Team

Dan Buch,

We're super excited to announce that Aly has joined the Travis team!

Aly joins us as the second member of the "Pittsburgh office". She resisted the pull of the tech world for years, choosing the path of the language nerd which led to her graduate work in Speech Pathology.

Years of MMO guild management and many more of tinkering (aka breaking) websites left her little choice but to dive into the depths of software development, but she still manages to flex her language skills in our team chat.

Additional fun Aly numbers include:

  • 1 spoiled cat
  • 2 spoiled guinea pigs
  • 1 amazing Oracle DBA (who doubles as a spouse)
  • 7 years old at start of photography career
  • 8000 is less than her desire for multi-glot status

Important travel tip: Do not occupy the full width of an airport escalator or conveyer with your luggage when Aly is behind you, unless you want to experience some Twitter wrath.

Catch Aly in our IRC channel and on Twitter as @sinthetix or take your chances with her guild management skills on ESO, Guild Wars 2, or Steam.

OBEY THE LIME!


Travis CI supports Rails Girls Summer of Code 2015

Carla Drago's Gravatar Carla Drago,

Rails Girls Summer of Code has opened their fundraising campaign for 2015.

Please join us in helping them support 20 sponsored students have an amazing summer, working on great Open Source projects.

Rails Girls Summer of Code

For those who may not know, Rails Girls Summer of Code is a program that funds and supports women around the world to work full-time for three months on Open Source projects. Participants speak at conferences, attend developer events, and get in touch with the wider Open Source community.

From Chicago to Cruj, Bangalore to Berlin, in the last two years 65 students from 15 countries, 72 coaches, 27 open source projects, 52 sponsoring companies, and 451 individual donors have come together to make the Rails Girls Summer of Code happen. Some of the participating projects include Rails, Sinatra, Rubinius, Bundler, Ruby Documentation, RailsAdmin, Lotus, and Ruby Object Mapper.

Also, Rails Girls Summer of Code works: over 90% of their alumni are now working in a technology-related position, most of them as developers.

We think this is amazing work from an amazing community!

Travis Foundation, along with GitHub, are partnering up to help make Rails Girls Summer of Code happen again this year.

Everyone who knows us well knows it's a project close to our hearts - not just for the significant contributions being made to software used by millions of people, or the life-transforming experiences had by the women who take part, but also for the role models these participants become. This way Rails Girls Summer of Code also functions as a long term learning goal for Rails Girls students worldwide.

While we're extremely proud to support RGSoC, we know the program would not be possible without the generous support of other sponsors and private donors from this amazing community.

Please consider taking a few minutes to make a personal donation towards the campaign, and convince your company to chip in with a sponsorship!

"I have a selfish reason for supporting Rails Girls Summer of Code: my 2-year-old daughter Erika. She loves lightsaber fights and sparkly shoes, and I want the software industry to be a great place for her to work by the time she’s old enough, if that’s what she chooses." -- Mark Madsen, Founder, AGiLE ANiMAL

Please find the RGSoC fundraising campaign here and more information about sponsor's packages here.