Support snapcraft base snaps

Bug #1812985 reported by Colin Watson
14
This bug affects 2 people
Affects Status Importance Assigned to Milestone
Launchpad itself
Fix Released
High
Colin Watson

Bug Description

snapcraft now supports things like "base: core18" to build snaps based on 18.04 rather than the historical default of 16.04. This can be made to work in Launchpad today, but making it work without non-obvious configuration (especially for build.snapcraft.io) requires a few adjustments.

 * SnapBuildBehaviour should instruct launchpad-buildd to fetch snapcraft from the stable channel by default for builds of snaps that declare a base, rather than the default of using apt which should remain the default for snaps that don't declare a base. (This split is a simple way to minimise potential breakage from switching to the stable channel by default, since most snaps in Launchpad today don't declare a base.)

 * We need a way for a snap recipe to be set up without declaring a specific Ubuntu series, and to work out the series at build dispatch time by inspecting snapcraft.yaml. This should be feasible now that we have the Snap.requestBuilds mechanism, which already inspects snapcraft.yaml to work out the correct set of architectures to dispatch.

Related branches

Revision history for this message
Sergio Schvezov (sergiusens) wrote :

SnapBuildBehavior: We can always have it retrieve snapcraft from a channel branch (e.g.; stable/launchpad-buildd) for quick turn arounds.

Revision history for this message
Colin Watson (cjwatson) wrote :

Yes; though would we need to do something convoluted to make sure that the branch stays open?

Revision history for this message
Sergio Schvezov (sergiusens) wrote :

I was thinking about the ubuntu branch trick for the snaps that are part of the snaps seeded into distro, I thing wgrant is well aware of the mechanics of this.

If agreed upon, and considering my assumptions are correct, we just need to agree to a branch name once and the fallback should stick.

Revision history for this message
William Grant (wgrant) wrote :

Right, remember that an expired branch just falls back to stable, which is probably the behaviour we want here.

Colin Watson (cjwatson)
Changed in launchpad:
status: Triaged → In Progress
assignee: nobody → Colin Watson (cjwatson)
Revision history for this message
Launchpad QA Bot (lpqabot) wrote :
tags: added: qa-needstesting
Colin Watson (cjwatson)
tags: added: qa-ok
removed: qa-needstesting
Revision history for this message
Launchpad QA Bot (lpqabot) wrote :
tags: added: qa-needstesting
removed: qa-ok
Revision history for this message
Launchpad QA Bot (lpqabot) wrote :
Changed in launchpad:
status: In Progress → Fix Committed
Revision history for this message
Launchpad QA Bot (lpqabot) wrote :
Colin Watson (cjwatson)
tags: added: qa-ok
removed: qa-needstesting
Changed in launchpad:
status: Fix Committed → Fix Released
Revision history for this message
Krishnaraj (krrishnarraj) wrote :

I changed the status(which I should not be allowed to) by mistake. Can someone revert it back?

Colin Watson (cjwatson)
Changed in launchpad:
status: Fix Released → Fix Committed
Revision history for this message
Colin Watson (cjwatson) wrote :

I deployed this to production a few days ago, populated the new SnapBase table, and adjusted the metadata of build.snapcraft.io's snap recipes; builds of "base: core18" snaps now work.

Changed in launchpad:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.