← Back to issue list

project_loader: support grammar on architectures

View original Github issue

Metadata

Project
snapcraft
Number
#1782
Type
pull request
State
closed
Author
kyrofa
Labels
—
Created
Updated
Closed

Current evaluation

Closed unmerged after review requested further discussion; equivalent architecture-grammar support later landed via merged PR #2080 (c60ac3891).

Resolution: closed superseded

Reason: Maintainer sergiusens closed the PR for further discussion over backward compatibility and a missing deprecation notice. The feature was subsequently delivered by PR #2080, merged as commit c60ac3891.

Evaluated by: mr-cal-bot

No scores available.

Issue body

- [x] Have you followed the [guidelines for contributing](https://github.com/snapcore/snapcraft/blob/master/CONTRIBUTING.md)? - [x] Have you signed the [CLA](http://www.ubuntu.com/legal/contributors/)? - [x] If this is a bugfix. Have you checked that there is a bug report open for the issue you are trying to fix on [bug reports](https://bugs.launchpad.net/snapcraft)? - [x] If this is a new feature. Have you discussed the design on the [forum](https://forum.snapcraft.io)? - [x] Have you successfully run `./runtests.sh static`? - [x] Have you successfully run `./runtests.sh unit`? ----- Currently Snapcraft supports a flat list of architecture overrides in the snapcraft.yaml that look something like this: architectures: [amd64, i386] If this property is specified, Snapcraft passes it on verbatim to the snap.yaml, which then assumes the same generated snap supports both of those architectures (called a "fat" snap). This PR resolves #1681 by expanding Snapcraft's `architectures` property to support the advanced grammar, which allows the property to be dual-purposed into not only run-time architecture support, but build-time (i.e. specify the architecture on which it should be built, as well as the architectures on which the resulting snap can be run). That looks something like this: architectures: - on i386: [amd64, i386] - on armhf: [arm64, armhf] The final snap.yaml will still only contain a flat list of architectures.

Evaluation history

Date Model Scores Action Summary
stealth/space-bunny-alpha — closed superseded Closed unmerged after review requested further discussion; equivalent architecture-grammar support later landed via merged PR #2080 (c60ac3891).
stealth/space-bunny-alpha — closed stale Advanced on/build-architecture grammar was not merged; the maintainer closed the approved PR for further discussion over legacy-list compatibility and a missing deprecation notice.
qwen/qwen3.6-35b-a3b — — Closed for further discussion after maintainers requested a deprecation notice for the legacy flat list architecture format. The changes were abandoned pending resolution of backwards compatibility concerns.
qwen3.6-35b-a3b-mtp-q6 — — Closed without merging. Maintainers discussed backwards compatibility and deprecation notices for the architecture grammar feature, but ultimately shelved the pull request for further discussion.

Update history

No update history recorded yet.

Related work

  • Superseded By: snapcraft#2080 (confidence 98%)

    Merged follow-up adding CI-oriented build-on/run-on architecture lists.

  • Related To: snapcraft#1681 (confidence 95%)

    Original architecture-selection design issue ultimately implemented by PR #2080.

Related issues

Issue Project State Summary Similarity
#1511 project_loader: support grammar on build-packages snapcraft merged Merged as commit 4674a5738, adding grammar support for build-packages globally and per part after prerequisite #1509.
75%