← Back to issue list

Build cache invalidation misses direct URL dependency change

View original Github issue

Metadata

Project
charmcraft
Number
#2218
Type
issue
State
open
Author
dimaqq
Labels
Created
Updated
Closed

Current evaluation

Charmcraft build cache invalidation misses direct URL dependency changes in requirements.txt, causing stale packages to be used. Unlabelled, no maintainer response, inactive for over a year.

Suggested action: needs triage

Reason: The issue is unlabelled with no maintainer response or comments, indicating it has not been triaged. The bug report is well-structured with clear reproduction steps showing that changing a direct URL dependency in requirements.txt does not trigger cache invalidation, resulting in stale package content being used in the build.

Impact: 50 Quick Win: 20.0 Staleness: 75 Complexity: 60 Confidence: 70 Support Request: 10

Issue body

### Bug Description When `requirements.txt` contains entries like: `ops[tracing] @ https://github.com/dimaqq/operator/archive/refs/tags/2.20.0-rc3.zip` It seems that the build cached based on the package name `ops[tracing]` and not the URL. ### To Reproduce - `ops[tracing] @ https://github.com/dimaqq/operator/archive/refs/tags/2.20.0-rc2.zip` in `requirements.txt` - build the charm - bump the RC from 2 to 3: - `ops[tracing] @ https://github.com/dimaqq/operator/archive/refs/tags/2.20.0-rc3.zip` in `requirements.txt` - build the charm The charm is built with `-rc2` content instead of `-rc3`. ### Environment charmcraft 3.4.3.post54+g462296b4 LXD Ubuntu 24.04 ### charmcraft.yaml ```yaml --- name: hexanator type: charm title: Charmed Gubernator summary: High-performance, distributed rate-limiting service description: This is a charm for Gubernator, a high-performance, distributed rate-limiting service. # charmcraft 3.0 base: ubuntu@24.04 build-base: ubuntu@24.04 platforms: amd64: arm64: # Work-around from https://discourse.charmhub.io/t/charmcraft-3-0-in-the-beta-channel/13469/5?u=dimaqq parts: charm: plugin: charm source: . build-packages: - rustc - cargo containers: gubernator: resource: gubernator resources: gubernator: type: oci-image description: Gubernator Rock with Pebble upstream-source: docker.io/gubernator-io/gubernator:3.0.0 links: source: https://github.com/gubernator-io/gubernator provides: rate-limit: interface: http description: tells the consumer application how to call gubernator requires: ingress: interface: ingress limit: 1 description: tells the load balancer how to call gubernator charm-tracing: interface: tracing limit: 1 optional: true send-ca-cert: interface: certificate_transfer limit: 1 optional: true charm-libs: - lib: traefik_k8s.ingress version: '2' ``` ### Relevant log output ```shell nothing special ```

Evaluation history

Date Model Scores Action Summary
qwen/qwen3.8-27b
Impact: 50
Quick Win: 20.0
Staleness: 75
Complexity: 60
Confidence: 70
Support Request: 10
needs triage Charmcraft build cache invalidation misses direct URL dependency changes in requirements.txt, causing stale packages to be used. Unlabelled, no maintainer response, inactive for over a year.
qwen/qwen3.6-35b-a3b
Staleness: 92
Complexity: 55
Confidence: 80
Support Request: 5
needs triage Build cache invalidation fails when direct URL dependencies in requirements.txt change, causing stale packages to be used. Unlabelled, no maintainer response, inactive for over a year.
qwen3.6-35b-a3b-mtp-q6
Staleness: 90
Complexity: 50
Confidence: 85
Support Request: 10
close stale Charmcraft build cache ignores direct URL changes in requirements.txt, reusing stale packages. Reported for v3.4.3 with clear reproduction steps, but remains untriaged and inactive for over a year.
qwen3.6-35b-a3b-mtp-q6
Staleness: 90
Complexity: 45
Confidence: 85
Support Request: 10
needs triage Build cache incorrectly ignores direct URL changes in requirements.txt, causing outdated dependencies to be used. Untriaged with no maintainer comments after 480 days.
qwen3.6-35b-a3b-mtp-q6
Staleness: 90
Complexity: 50
Confidence: 65
Support Request: 10
needs triage charmcraft build cache fails to invalidate when direct URL dependencies in requirements.txt change, resulting in stale package builds. Open, unassigned, and untriaged.

Update history

No update history recorded yet.

Related issues

No related issues found above the similarity threshold.