Shared values of Travis CI and snaps enhance integration confidence for developers

by Sarah Dickinson on 8 May 2019

Travis CI is a hosted, distributed continuous integration (CI) service used to build and test software projects hosted on GitHub, and free for anyone working on open source projects. Often regarded as the home of open source testing, Travis CI enables developers to automate their build without the need to set up their own servers. At GitHub’s Satellite London event in 2017, members of the Travis CI team met with Canonical to talk snaps. Since then, conversations have progressed to how users build and test their snaps with Travis CI central to the CI process.

Josh Kalderimis (Head of Product) and María de Antón (Product Manager) from Travis CI attended the Snapcraft Summit in London to discuss how snaps and Travis CI integration tools share a similar mission. “We also built our platform with an open source nature, and we are all about testing simplicity. A lot of what we want to offer developers is how to do tasks without repetition – in essence, improve the developer experience. That is exactly what snaps are aiming to achieve” explained Josh.

Historically Travis CI has used the package manager, apt, but has experienced a lot of pain in the process. For example, if someone takes a package offline, then it has the knock on effect for everyone. The team has been investigating options to move away from apt. The option of a cross-platform, cross-architecture mechanism provided an exciting possibility, and one that could enable consistency and security across vendors. Enter snaps.

“One of the biggest benefits of snaps is that changes can be made without having to re-release the entire software package. This layered core is easier to maintain and ensure security,” comments María. “As a user, you can be confident updates are done upstream, thereby removing maintenance issues – even if developers further down the software development chain are slower to implement.”

“We find anything that builds confidence in developers makes it easier for them to adopt. Snaps provides such assurances,” adds Josh.

That’s not to say the snaps journey is complete. Josh believes simple usability enhancements and reduced complexity to aid discoverability would be beneficial. “Version tags and channels are interesting but too complex. Which version should I use? Is there a better way to define configuration?” asks Josh.

The Travis CI snap with the Travis command line client can be installed by clicking here.

Newsletter Signup

Related posts

Productivity corner: offline translation

Language translation. Easily said, not easily done. Human languages have evolved over the past 30,000 years, tightly coupled to culture and collective memories of peoples, which is why, even today, we often struggle with fine nuances of meaning and context, especially when they need to be expressed in another language. But then, if we str […]

Popular snaps per distro (2020 edition)

Back in mid-2019, we wrote a blog post detailing and comparing the most popular snaps across multiple distributions – Arch Linux, CentOS, Debian, Fedora, Manjaro, and Ubuntu. This article gave us a fascinating insight into the usage patterns across these different systems and their audiences. We wanted to see if and how the situation has […]

The Hunt for Rogue Time – How we investigated and solved the Chromium snap slow startup problem

In October, we shared a blog post detailing significant snap startup time improvements due to the use of a new compression algorithm. In that article, we focused on the cold and hot application startups, but we did not delve much into the first-run setup scenario. While running our tests, we observed a rather interesting phenomenon, […]