snap build recipes don't seem to handle core24 "platforms" section
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Launchpad itself |
Fix Released
|
High
|
Quentin Debhi |
Bug Description
I recently upgraded one of my architecture independent snaps to build with core24, and the Launchpad build recipe started failing. Here is an example failure log:
Comparing with a previous log files, a successful build invokes buildsnap with:
RUN: /usr/share/
and the failed build invoked it as:
RUN: /usr/share/
Of note, it's changed "--target-arch all" to "--target-arch amd64", and there is no amd64 snap to build (since it is architecture independent).
For core24 builds, Snapcraft has changed the syntax it uses to specify which architectures to build on as described in the documentation:
https:/
It now uses a "platforms" top level section rather than "architectures". So I'd changed my snap to use:
platforms:
all:
build-on: amd64
build-for: all
This works fine building locally with Snapcraft 8.3.1, but the code in Launchpad used to schedule builds seems to only consult "architectures" when deciding what builds to schedule:
https:/
So it ends up scheduling an amd64 build rather than an architecture independent build.
I can't work around the problem by leaving the old architectures section in place, since Snapcraft will reject that in core24 projects.
Changed in launchpad: | |
importance: | Undecided → High |
status: | New → Triaged |
tags: | added: buildfarm lp-snappy |
Changed in launchpad: | |
status: | Triaged → In Progress |
assignee: | nobody → Quentin Debhi (ruinedyourlife) |
Changed in launchpad: | |
status: | In Progress → Fix Released |
Hi @ines-almeida and @ruinedyourlife - Is there any update on this? Thanks!