Build cache invalidation misses direct URL dependency change
Metadata
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.