Thank you for signing up for our newsletter!
In these regular emails you will find the latest updates from Canonical and upcoming events where you can meet our team.Close
Thank you for contacting us. A member of our team will be in touch shortly. Close
“No plan survives contact with the enemy.” This is a quote famously attributed to the Prussian field marshal Helmuth von Moltke. It is also quite applicable to software development: “No code survives contact with the user.” In mission-critical environments, staggered deployments of software are a crucial part of controlled updates, design ...
On 11 March 2020 we introduced a new process for building a snap using GitHub repos to snapcraft.io. Here is all you need to know about this update. What is build.snapcraft.io? Build.snapcraft.io allows you to automatically build and release snaps from a GitHub repository. This means you can build your snaps for multiple architectures and ...
We constantly strive to empower developers. Part of that aim extends to making development easier, for example improving build tools and documentation. As an element of this continued effort, we would like to introduce the new gnome-3-34 snapcraft extension! What is the GNOME snapcraft extension? The gnome-3-34 snapcraft extension is a co ...
Over the past few months, we published a number of articles showing how to snap desktop applications written in different languages – Rust, Java, C/C++, and others. In each one of these zero-to-hero guides, we went through a representative snapcraft.yaml file and highlighted the specific bits and pieces developers need to successfully bui ...
Sometimes, software projects are simple – one architecture, one version, one release. But often, they can be complex, targeting multiple platforms, and with different versions at that. If you are packaging your apps as snaps, you might wonder about the optimal way to accommodate a multi-dimensional release matrix. One yaml to rule them al ...
With a smart phones in their pocket, most people don’t bother carrying a traditional camera anymore. For most, the single, double or even triple cameras on modern phones are great for making memories. Many Android and some iOS users have chosen to store their photos in the free or paid Google Photos service. In the ...
For a while now, snapd has supported the ability to install and use multiple instances of the same snap in parallel. This allows users to test features in new software releases side by side with the stable, production versions. Similarly, users can distribute their work or perhaps use custom settings across several distinct, isolated prof ...
Following up on the previous example of building a rust and C based snaps, I thought we’d take a look at bundling a Java application as a snap. In this example we’ll use an open source game called “Shattered Pixel Dungeon“. It’s a little more complex than some more common snaps, which helps highlight some ...
Quite often, getting started with new technologies is a chicken and an egg problem. You want to fall back and rely upon work done by others, so you can learn from it, and yet, as a technological pioneer, you will be facing first-of-kind issues that won’t have readily available answers. We are fully aware of ...
The end of 2019 brings about the latest ROS 2 release – Eloquent Elusor. Despite an ever growing set of features and some changes throughout the ecosystem, packaging with snaps is as easy as always. Let’s go through a quick example! Prerequisites You’ll need two tools: “snapcraft,” the program that builds snaps, and “multipass,” the ...
There’s plenty of official documentation which details how to create snaps. We live in the copy/paste generation though. So lets walk through a real-world example you can use as a template, or selectively yoink sections from. This is the first in a series of posts which break down how to build snaps based on published ...