We are changing the way you build snaps from GitHub repos

by Luke Wesley-Holley on 26 April 2020

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 distros with the tools you already use, and new builds are triggered every time you push updates to your repo. Up until now this tool has lived as a separate service on a separate URL to snapcraft.io; but from now on it will live within snapcraft.io to integrate better with your workflow.

What’s new?

Build.snapcraft.io will cease to exist

In order to simplify how Build is integrated within Snapcraft.io, repos will be added to your snaps from within the individual snap pages. In this way, you can see all the relevant information related to your snap from one place. Build will now be a tab that lists all the latest builds and tells you what repo is linked to your snap. The current way you build will continue to be available for the next few months.

The building process will change

Because we moved Build to be integrated with your snap, the way you go about creating a new snap using GitHub has changed too. Now, to start creating a snap you’ll need to log in to snapcraft.io and register your Snap name first.

To build your snaps:

  1. Log in or register on snapcraft.io by clicking the “Developer Account” link in the top right of the site.
  2. Go to “My Snaps” page and select “Register new name”. Choose a name for your snap.
  3. Click on the “Build with GitHub” button that will appear next to your snap name when you hover.
  4. Select an organisation and a repo that you’d like to build from. This repo must have a snapcraft.yaml file and the name declared on the file must match the name you registered.
  5. Trigger your first build by clicking on “Start building”. Your snap will automatically start building. 
  6. Once your snap has been successfully built and released you can go to the “Releases” tab to see the newly released snap.

Your builds will continue to be triggered automatically

Everything else in regard to how you use Build will continue to be the same: every time you push code to GitHub a new build will be automatically triggered, and once it’s published, it will be automatically released to the latest/edge channel.

What do you need to do now?

If you had previous builds from a GitHub repo, we recommend you edit your GitHub Webhook URL so that your snaps automatically build in the future when you push new code. Follow these steps:

  1. Go to GitHub and open the repo you are using to build your snap
  2. Open settings on that repo, and select the “Webhook” tab on the menu
  3. Click the “Edit” button next to the https://build.snapcraft.io URL
  4. Change the “Payload URL”, to match the “GitHub Webhook” found on the settings page (https://snapcraft.io/<snap_name>/settings) for your snap
  5. Click “Update Webhook” to save the change

Give us your feedback

We would be very happy to hear what you think of the changes we have done to this feature. Share your thoughts or issues on the Snapcraft forum, and we’ll be happy to help.

Newsletter Signup

Related posts

Complex problems, clever solutions – unique containers and virtualization snaps

Snaps come in many shapes and forms: security tools, productivity apps, games, handy utilities, video editing software, and more. Often, most snap package a single application. But snaps can also include services, databases, as well as multiple binaries. How far can this concept scale, you ask? Quite far. There are also some rather unique […]

CanonicalがFlutterにLinuxデスクトップアプリのサポートを提供

Chris Sells(Google)、Ken VanDine(Canonical) GoogleはFlutterの開発当初から、ターゲットプラットフォームを問わず、ネイティブ速度で動作する美しいUIを構築するための移植可能なフレームワークを目指しています。このため当初はAndroidとiOSのモバイルプラットフォームに力を注ぎました。Google Playには、すでに8万種類以上の美しいFlutterアプリが公開されています。 この成功を踏まえ、1年以上前から、ウェブOSとデスクトップOS(macOS、Windows、Linux)の両方でデスクトップクラスの体験を提供することに努めてきました。たとえば、デスクトップタイプのマウス入力とキーボード入力のほか、サイズ調整可能 […]

Canonical通过Flutter支持Linux桌面应用

本文由Chris Sells(Google)和Ken VanDine(Canonical)所写 Google对Flutter的目标一直是提供一个构建以原生速度运行的精美UI的可移植的框架,无论您使用的平台是什么。为了验证此功能,我们首先关注于Android和iOS移动平台,我们已经在Google Play上看到了8万多个快速和精美的Flutter应用程序。 为了获得成功,一年多来,我们一直将重点扩展到包括桌面级体验,包括针对Web和桌面系统(macOS,Windows和Linux)的体验。这项工作包括对引擎的大量重构,以支持桌面样式的鼠标和键盘输入以及可调整大小的顶层窗口。它还包括可以很好地适应桌面的新UI功能,例如Material Density支持和Navigatio […]