← Back to issue list

core18/20: inconsistent architecture parsing

View original Launchpad issue

Metadata

Project
snapcraft (launchpad)
Number
#2009520
Type
issue
State
closed
Author
~ondrak
Labels
craft-1826
Created
Updated
Closed

Current evaluation

Superseded by snapcore/snapcraft#4340 and #4341. Core22+ overlapping build-on handling merged in #3821 (4876b53); core20 support was declined.

Resolution: closed superseded

Reason: Maintainer mr-cal closed the report after converting it into #4340 and #4341. #4340 became obsolete after Pydantic validation, while #4341 declined core20 changes and linked merged PR #3821 (4876b53), which supports overlapping build-on entries in core22+.

Evaluated by: mr-cal-bot

No scores available.

Issue body

snapcraft: 7.x (6.x) base: core18/core20 Architecture parsing is inconsistent and preferred syntax leads to invalid yaml syntax The following arch definition is promoted by snapcraft, but this does not follow yaml syntax and is refused by the launchpad parser base: core20 architectures: - build-on: amd64, arm64, armhf run-on: armhf - build-on: amd64, arm64 run-on: arm64 At the same time the following syntax is valid yaml, but refused by snapcraft base: core20 architectures: - build-on: [amd64, arm64, armhf] run-on: armhf - build-on: [amd64, arm64] run-on: arm64 Error message from SN: The 'architectures' property does not match the required schema: 'amd64' and 'arm64' are present in the 'build-on' of multiple items, which means snapcraft doesn't know which 'run-on' to use when building on those architectures Ideally, we should support a valid yaml option, while not breaking the existing use of "current" syntax.

Evaluation history

Date Model Scores Action Summary
stealth/space-bunny-alpha — closed superseded Superseded by snapcore/snapcraft#4340 and #4341. Core22+ overlapping build-on handling merged in #3821 (4876b53); core20 support was declined.
stealth/space-bunny-alpha — closed superseded Split the architecture parsing problems into #4340 for scalar validation and #4341 for duplicate build-on support; no resolving PR was cited.
stealth/space-bunny-alpha — closed stale Closed without a verified linked fix, superseding reference, or maintainer explanation; the reported Snapcraft architecture-parsing inconsistency appears stale or abandoned.
qwen/qwen3.6-35b-a3b — — Closed without resolution due to inactivity. The inconsistent architecture parsing for core18/20 bases remains unfixed, with no valid YAML list syntax support or backward-compatible workaround implemented.
qwen/qwen3.6-35b-a3b — — Abandoned. The reported YAML architecture parsing inconsistency in snapcraft was closed without resolution or fix.
qwen/qwen3.6-35b-a3b — — Closed without resolution. The report highlighted inconsistent architecture parsing in snapcraft for core18/20, where promoted syntax broke YAML standards and valid YAML triggered schema errors. No fix was implemented.
qwen3.6-35b-a3b-mtp-q6 — — Closed without resolution. The inconsistent architecture parsing for core18/20 bases remains unaddressed, with no fix implemented or syntax update adopted.

Update history

Date Change
created

Related work

  • Superseded By: snapcore/snapcraft#4340 (confidence 100%)

    Created to validate architecture scalars; later closed as obsolete because Pydantic supplied usable validation.

  • Superseded By: snapcore/snapcraft#4341 (confidence 100%)

    Created for overlapping build-on entries; core20 support was declined because of regression and legacy remote-build concerns.

  • Likely Fixed By: snapcore/snapcraft#3821 (confidence 90%)

    Merged as commit 4876b53 and enabled overlapping build-on entries for core22+, but not core20.

Related issues

Issue Project State Summary Similarity
#1862256 snapcraft should complain loudly when building base: core20 snap on i386 snapcraft (launchpad) closed Closed as superseded: improved architecture parsing rejects unsupported core20/i386 builds, making a dedicated check unnecessary; snapcraft#4392 improved this handling.
82%
#3821 meta: architectures snapcraft merged Merged core22 architecture support, including build-on/build-for handling, host and build-instance selection, and SNAPCRAFT_BUILD_FOR filtering, via commit 4876b53.
79%
#4177 core18: removal snapcraft merged Merged PR snapcore/snapcraft#4177 (May 2023) dropped core18 base support and its unit/spread tests, fixing #4165 via commits 40136ea9b, 77edc734b and ed423b6a8; core18 was EOL.
78%
#1997752 base core20: wrong arch triplet snapcraft (launchpad) closed Wrong SNAPCRAFT_ARCH_TRIPLET for core20 build-on/run-on builds fixed by adding SNAPCRAFT_ARCH_BUILD_ON/BUILD_FOR and *_TRIPLET_BUILD_FOR envvars (PR #4313, commit 93a9d8170); follow-up #4332 (48bd0632f) errors on unevaluable multi-arch cases.
76%
#4186 snap: migrate to core22 snapcraft merged PR #4186 merged, moving the Snapcraft snap's own build environment to base core22 (8 files, +71/-70), landing as commit 60033305b and closing the core22 migration issue #4166.
76%
#2761 Core20 base snapcraft merged Core20 base support was merged via #3579, moving Snapcraft to core20 in commit 18a974e01 (merge ed2baf8bd).
76%
#1866300 snapcraft fails to build core20 snap snapcraft (launchpad) closed Closed without a documented fix after core20 Multipass/LXD failures; core20 build-base support was unavailable and the workaround was destructive mode.
75%
#2444 snap: move to core18 snapcraft closed Superseded by merged PR #2712, which moved Snapcraft's snap from core to core18 in commit bd5be51a3.
75%
#3583 build providers: snapcraft's new base is core20 (CRAFT-544) snapcraft merged Merged PR #3583 via 2b2d7dbcf, replacing build providers' injected core18 base with core20 to match Snapcraft's new base.
75%
#1999580 core22: wrong arch in snap.yaml when building for all archs snapcraft (launchpad) closed Fixed in merged canonical/snapcraft#4150 (commit 77d3454d): core22 snap.yaml now records build-for (all) instead of the build-on architecture.
75%