"Skipping build for serde (already ran)" despite `build-environment` changing
Metadata
Current evaluation
Fixed by #1686: build-environment changes are now tracked, so changing CARGO_PACKAGES triggers a rebuild instead of skipping it as already run.
Resolution: closed resolved
Reason: The bug was resolved by merged PR #1686 in commit 2121e8ed, titled "fix: rebuild part on build-environment changes."
Evaluated by: mr-cal-bot
No scores available.
Issue body
### Bug Description
Given a part with a `build-environment` (ref. #1217), changing the value of the variables doesn't cause a rebuild of the part.
### To Reproduce
```
$ snapcraft --verbose build --debug serde
# change `CARGO_PACKAGES`
$ snapcraft --verbose build --debug serde
```
### part yaml
```shell
serde:
source: https://github.com/serde-rs/serde
source-type: git
source-tag: v1.0.215
source-depth: 1
source-subdir: serde
plugin: cargo-use
build-environment:
- CARGO_PACKAGES: serde serde_derive
```
### Relevant log output
```shell
$ snapcraft --verbose build --debug serde
# ...
Initialising lifecycle
Rust is installed on the system, skipping rustup
Installing build-packages
Skipping pull for serde (already ran)
Skipping build for serde (already ran)
```
Evaluation history
| Date | Model | Scores | Action | Summary |
|---|---|---|---|---|
| stealth/space-bunny-alpha | — | closed resolved | Fixed by #1686: build-environment changes are now tracked, so changing CARGO_PACKAGES triggers a rebuild instead of skipping it as already run. | |
| stealth/space-bunny-alpha | — | closed resolved | Build-environment changes now trigger part rebuilds via canonical/craft-parts#1686, fixing the stale “already ran” decision when CARGO_PACKAGES changes. | |
| qwen/qwen3.6-35b-a3b | — | — | Modifying build-environment variables failed to invalidate the build cache, causing skipped builds. The issue was closed, confirming the cache invalidation logic was fixed. | |
| qwen/qwen3.8-27b |
Impact:
55
Quick Win:
33
Staleness:
75
Complexity:
40
Confidence:
70
Support Request:
5
|
needs triage | craft-parts bug: changing a part's build-environment value does not mark the build step dirty, so snapcraft skips the build (already ran). Unlabelled, no maintainer activity for 370 days; dirty-check code still compares marshaled part/plugin properties. | |
| qwen/qwen3.6-35b-a3b |
Staleness:
92
Complexity:
55
Confidence:
75
Support Request:
10
|
close stale | Bug report indicating that modifying build-environment variables in a snapcraft part fails to trigger a rebuild, causing the build step to be skipped. Unlabelled and inactive for over a year. | |
| qwen3.6-35b-a3b-mtp-q6 |
Staleness:
80
Complexity:
45
Confidence:
80
Support Request:
5
|
needs triage | Bug where modifying build-environment variables fails to trigger a part rebuild in Snapcraft. Report includes reproduction steps and logs. Currently unlabelled with no maintainer interaction after 317 days. |
Update history
| Date | Change |
|---|---|
| closed |
Related work
-
Likely Fixed By:
canonical/craft-parts#1686
(confidence 100%)
PR #1686 made build-environment changes part of the state used to decide whether a part must be rebuilt.
Related issues
No related issues found above the similarity threshold.