← Back to issue list

architectures: allow same arch in multiple build-ons in core20

View original Github issue

Metadata

Project
snapcraft
Number
#4341
Type
issue
State
closed
Author
mr-cal
Labels
Status: Triaged Type: Enhancement
Created
Updated
Closed

Current evaluation

Abandoned and closed. Core20 support for duplicate build-on architectures was rejected because core22 and newer bases natively handle this via build-for. Implementing for core20 was deemed too risky and effort-intensive for an enhancement.

Suggested action:

No scores available.

Issue body

### What needs to get done `core20` snaps should allow the same architecture in multiple build-ons, when a target arch is supplied with `snapcraft --target-arch armhf --enable-experimental-target-arch --destructive-mode`. Caevaets: - all 3 cli options in `snapcraft --target-arch armhf --enable-experimental-target-arch --destructive-mode` must be used everytime - the snap will not be able to be built with `snapcraft remote-build` ### Why it needs to get done Currently, core20 snaps do not allow the same architecture to be present in multiple build-ons. Consider the following `snapcraft.yaml`: ```yaml base: core20 architectures: - build-on: [amd64, arm64, armhf] run-on: armhf - build-on: [amd64, arm64] run-on: arm64 ``` Running snapcraft with or without a target arch produces the following error: ```Issues while validating snapcraft.yaml: 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``` When a target arch is supplied, snapcraft has enough information to determine which `build-on/run-on` tuple to use. source: https://bugs.launchpad.net/snapcraft/+bug/2009520

Evaluation history

Date Model Scores Action Summary
qwen/qwen3.6-35b-a3b Abandoned and closed. Core20 support for duplicate build-on architectures was rejected because core22 and newer bases natively handle this via build-for. Implementing for core20 was deemed too risky and effort-intensive for an enhancement.
qwen/qwen3.6-35b-a3b Closed as rejected. Multi-build-on architecture support is already natively available in core22 and newer bases. Implementing it for core20 was deemed too risky and effort-intensive for an enhancement, so the request was abandoned.
qwen/qwen3.6-35b-a3b Closed as rejected. Multi-arch build-on support is already implemented for core22 and newer bases. Backporting to core20 is deemed too high-risk and effort-intensive for an enhancement, so the request was abandoned.
qwen3.6-35b-a3b-mtp-q6 Closed without implementation. Backporting multi-arch build-on support to core20 was rejected due to high regression risk and legacy remote build compatibility issues. The functionality is already available in core22 and newer bases.
qwen3.6-35b-a3b-mtp-q6 Rejected. Duplicate architectures in build-on are already supported in core22 and newer bases. Backporting this enhancement to core20 was deemed too risky due to potential regressions and legacy remote build breakage.

Update history

No update history recorded yet.

Related issues

Issue Project State Summary Similarity
#3820 providers: specify build-on and build-for in instance name snapcraft merged Merged changes to instance naming convention, incorporating build-on and build-for architecture specifications. Approved by reviewers, passed CI with 100% coverage, and enables core22 multi-architecture support.
72%