Build cache invalidation misses direct URL dependency change
Metadata
Current evaluation
No evaluation has been recorded for this issue yet.
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
No evaluation history available.