providers: specify build-on and build-for in instance name
Metadata
Current evaluation
Merged #3820 as commit 21cb1ab9a, adding build-on and build-for architecture names to provider instance names for core22 multi-architecture support.
Resolution: closed resolved
Reason: PR #3820 was approved and merged as commit 21cb1ab9a. The change implements the provider instance naming portion of the broader core22 architecture work split from #3712.
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] Have you successfully run `make lint`?
- [X] Have you successfully run `pytest tests/unit`?
-----
New naming convention for instances.
Part 6 of supporting architectures for `core22`. Full code change is proposed [here](https://github.com/snapcore/snapcraft/pull/3712).
#### Previous naming convention
`snapcraft-<project_name>-<inode-number>`
`snapcraft-hello-world-10488157`
#### New naming convention
`snapcraft-<project_name>-on-<build_on>-for-<build_for>-<inode-number>`
`snapcraft-hello-world-on-amd64-for-arm64-10488157`
#### Reference: Charmcraft naming convention
`charmcraft-<project_name>-<inode-number>-<bases_index>-<build_on_index>-<target_arch>`
`charmcraft-hello-world-20846552-2-1-amd64`
Where `bases_index` and `build_on_index` are the indices of each base and architecture defined in the charmcraft config.
For snapcraft, I chose to use the architectures names themselves, rather than indices. It's more descriptive and is not affected by the re-ordering of architectures in `snapcraft.yaml`.
(CRAFT-1172)
Evaluation history
| Date | Model | Scores | Action | Summary |
|---|---|---|---|---|
| stealth/space-bunny-alpha | — | closed resolved | Merged #3820 as commit 21cb1ab9a, adding build-on and build-for architecture names to provider instance names for core22 multi-architecture support. | |
| stealth/space-bunny-alpha | — | closed resolved | Merged #3820, adding build-on and build-for architecture names to provider instance names for the core22 multi-architecture work split from #3712. | |
| qwen/qwen3.6-35b-a3b | — | — | 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. | |
| qwen3.6-35b-a3b-mtp-q6 | — | — | Merged into main. Updated instance naming convention to include build-on and build-for architecture details, enhancing multi-architecture support for core22. Achieved 100% test coverage upon integration. |
Update history
No update history recorded yet.
Related work
-
Related To:
snapcore/snapcraft#3712
(confidence 98%)
Broader core22 architecture proposal that was split into smaller pull requests, including #3820.
-
Related To:
snapcore/snapcraft#3821
(confidence 90%)
Companion pull request implementing the remaining core22 build-on/build-for architecture behavior.
Related issues
| Issue | Project | State | Summary | Similarity |
|---|---|---|---|---|
| #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. | |
| #2522 build providers: add API for friendly instance type names | snapcraft | merged | Merged PR #2522 in commit e8efe5279, adding a build-provider API for friendly instance type names. | |
| #1027 feat: allow building on other compatible architectures | craft-application | merged | Merged #1027 as commit 15f48281, enabling provider-compatible cross-architecture builds and CRAFT_BUILD_ON architecture selection. | |
| #4341 architectures: allow same arch in multiple build-ons in core20 | snapcraft | closed | Closed as an enhancement: overlapping build-on entries already work in core22+ via merged PR #3821 (4876b53); core20 support was declined due to regression and legacy remote-build risk. |