← Back to issue list

charmcraft 3.2 not accepting non-vectorised build-on and build-for

View original Github issue

Metadata

Project
charmcraft
Number
#1874
Type
issue
State
closed
Author
lengau
Labels
Created
Updated
Closed

Current evaluation

Closed without a code fix; reported a breaking change in charmcraft 3.2 requiring list syntax for build-on/build-for fields. Logged to internal Jira ticket CRAFT-3318.

Suggested action:

No scores available.

Issue body

### Bug Description See: https://matrix.to/#/!LhFxJIPEcCacgdMghH:ubuntu.com/$h_KICbWryOMQQcmQ6FPZzXro0aFp-Qiyk8tbz_obrRg @wolsen: hmm, I noticed a difference between charmcraft 3.1.2 and charmcraft 3.2.0 which is a bit confusing to me. This charmcraft.yaml file (https://opendev.org/openstack/charm-cinder-backup/src/branch/master/charmcraft.yaml) works fine for 3.1.2, but fails on 3.2.0 as its expecting that the build-on and build-for stanzas to contain lists of architectures ### To Reproduce n/a ### Environment n/a ### charmcraft.yaml ```yaml type: charm parts: charm: plugin: dump source: . prime: - actions/* - files/* - hooks/* - lib/* - templates/* - config.yaml - copyright - icon.svg - LICENSE - Makefile - metadata.yaml - README.md base: ubuntu@24.04 platforms: amd64: build-on: amd64 build-for: amd64 arm64: build-on: arm64 build-for: arm64 ppc64el: build-on: ppc64el build-for: ppc64el s390x: build-on: s390x build-for: s390x ``` ### Relevant log output ```shell Logging execution to '/root/.local/state/charmcraft/log/charmcraft-20240904-124944.844686.log' Bad charmcraft.yaml content: - input should be a valid list (in field 'platforms.amd64.build-on') - input should be a valid list (in field 'platforms.amd64.build-for') - input should be a valid list (in field 'platforms.arm64.build-on') - input should be a valid list (in field 'platforms.arm64.build-for') - input should be a valid list (in field 'platforms.ppc64el.build-on') - input should be a valid list (in field 'platforms.ppc64el.build-for') - input should be a valid list (in field 'platforms.s390x.build-on') - input should be a valid list (in field 'platforms.s390x.build-for') Build failed Traceback (most recent call last): File "/usr/lib/python3/dist-packages/lpbuildd/target/build_charm.py", line 119, in run self.build() File "/usr/lib/python3/dist-packages/lpbuildd/target/build_charm.py", line 109, in build self.run_build_command(args, env=env, cwd=build_context_path) File "/usr/lib/python3/dist-packages/lpbuildd/target/operation.py", line 62, in run_build_command return self.backend.run(args, cwd=cwd, env=full_env, **kwargs) File "/usr/lib/python3/dist-packages/lpbuildd/target/lxd.py", line 718, in run subprocess.check_call(cmd, **kwargs) File "/usr/lib/python3.8/subprocess.py", line 364, in check_call raise CalledProcessError(retcode, cmd) subprocess.CalledProcessError: Command '['lxc', 'exec', 'lp-noble-arm64', '--env', 'LANG=C.UTF-8', '--env', 'SHELL=/bin/sh', '--env', 'http_proxy=http://10.10.10.1:8222/', '--env', 'https_proxy=http://10.10.10.1:8222/', '--env', 'GIT_PROXY_COMMAND=/usr/local/bin/lpbuildd-git-proxy', '--env', 'SNAPPY_STORE_NO_CDN=1', '--', '/bin/sh', '-c', 'cd /home/buildd/cinder-backup/. && linux64 charmcraft pack -v --destructive-mode']' returned non-zero exit status 1. Revoking proxy token... RUN: /usr/share/launchpad-buildd/bin/in-target scan-for-processes --backend=lxd --series=noble --arch=arm64 CHARMRECIPEBUILD-27678 Scanning for processes to kill in build CHARMRECIPEBUILD-27678 ```

Evaluation history

Date Model Scores Action Summary
qwen3.6-35b-a3b-mtp-q6 Closed without a code fix; reported a breaking change in charmcraft 3.2 requiring list syntax for build-on/build-for fields. Logged to internal Jira ticket CRAFT-3318.
qwen/qwen3.6-35b-a3b Reported a regression in charmcraft 3.2 requiring build-on and build-for to be architecture lists instead of single strings. Closed without a direct fix, with the matter tracked internally as CRAFT-3318. No further resolution provided.
qwen/qwen3.6-35b-a3b Closed without a public resolution. Automatically synced to internal Jira ticket CRAFT-3318 for tracking, but no code fix or merge was applied.
qwen3.6-35b-a3b-mtp-q6 Abandoned. Reported a regression in charmcraft 3.2 requiring build-on and build-for fields to be lists instead of strings. Only an automated Jira sync comment was posted; no fix or technical response was provided.
qwen3.6-35b-a3b-mtp-q6 Closed without documented resolution. Reports a regression in charmcraft 3.2.0 requiring build-on and build-for fields to be architecture lists instead of single strings, breaking existing charmcraft.yaml files.

Update history

No update history recorded yet.

Related issues

Issue Project State Summary Similarity
#1697 Charmcraft 3 breaks charms with multiple run-on architectures charmcraft closed Closed as blocked by an upstream fix in craft-application. Charmcraft 3 incorrectly concatenated multiple run-on architectures into a single invalid string, causing build failures. Resolution awaits the referenced upstream issue.
73%