← Back to issue list

Packing method is inherently susceptible to failure even with the most strict version pinning

View original Github issue

Metadata

Project
charmcraft
Number
#1269
Type
issue
State
closed
Author
sed-i
Labels
—
Created
Updated
Closed

Current evaluation

Strict dependency management was added by merged PR #1306 (commit 6ebf9209), using build isolation to make dependency resolution explicit and reproducible.

Resolution: closed resolved

Reason: PR #1306 was merged as commit 6ebf9209, adding strict dependency management to address the build failures caused by implicit transitive dependencies. Existing bases gained an opt-in strict mode, which was intended to become the default for future bases.

Evaluated by: mr-cal-bot

No scores available.

Issue body

### What needs to get done Guarantee the "exact same charm" would keep packing fine. ### Why it needs to get done Recently, following up a new release of `setuptools-scm` (8), all 20.04 charms failed to pack: - https://github.com/pypa/setuptools_scm/issues/918 - https://chat.charmhub.io/charmhub/pl/bkagbm1i87f6ijjt5dw8tubtpc Various types of version pinning did not work for some reason. This is concerning because it means version pinning isn't enough to guarantee the "exact same charm" would keep packing/working fine. Eventually two solutions surfaced: - Bump charm OS to 22.04, but that is just avoiding the problem (also not currently viable due to https://bugs.launchpad.net/juju/+bug/2030110). - Use `charm-binary-python-packages` for the toplevel package that introduced the `setuptools-scm` dependency, but that is also avoiding the problem.

Evaluation history

Date Model Scores Action Summary
stealth/space-bunny-alpha — closed resolved Strict dependency management was added by merged PR #1306 (commit 6ebf9209), using build isolation to make dependency resolution explicit and reproducible.
stealth/space-bunny-alpha — closed resolved Strict dependency management landed in canonical/charmcraft#1306 (6ebf9209), addressing packing failures by enforcing complete, isolated dependency resolution.
stealth/space-bunny-alpha — closed resolved Strict dependency management was added in canonical/charmcraft#1306 (commit 6ebf9209), resolving reproducibility concerns by isolating builds and using the future default dependency mode.
qwen3.6-35b-a3b-mtp-q6 — — Superseded by a planned strict-dependencies option for the charm plugin. Workarounds involve migrating dependencies to charm-binary-python-packages, with the new system becoming opt-in for existing bases and mandatory for future releases.
qwen/qwen3.6-35b-a3b — — Closed without a direct fix. A strict-dependencies feature is in development to replace the current packing method. It will debut as an opt-in for existing bases and become mandatory for future releases.
qwen/qwen3.6-35b-a3b — — Closed as superseded. A new strict-dependencies: true option is in development to replace the current packing method. This opt-in feature will become mandatory for future bases, resolving the version pinning failures.
qwen3.6-35b-a3b-mtp-q6 — — Superseded by an upcoming backwards-incompatible update. The charm plugin will introduce an opt-in strict-dependencies flag for existing bases, becoming mandatory for future bases.

Update history

No update history recorded yet.

Related work

  • Likely Fixed By: canonical/charmcraft#1306 (confidence 100%)

    Merged strict dependency management and build isolation in commit 6ebf9209.

Related issues

Issue Project State Summary Similarity
#1306 feat: strict dependency management charmcraft merged Merged PR #1306 via commit 6ebf9209, adding strict dependency management to resolve #1269 through build isolation and a future default dependency mode.
71%