← Back to issue list

remote-build success message lists duplicate artifact names

View original Github issue

Metadata

Project
craft-application
Number
#1093
Type
issue
State
open
Author
kirtisingh05
Labels
—
Created
Updated
Closed
—

Current evaluation

remote-build success message repeats artifact filenames because artifact URLs from all prior Launchpad builds are collected; still unfixed at HEAD, with open PR #1094 as a dedup workaround and mr-cal researching build-id filtering.

Suggested action: keep open

Reason: The bug is still present in the pinned HEAD: craft_application/services/remotebuild.py:216-223 builds `artifact_downloads` keyed by URL and returns `.values()`, while `_get_artifact_urls()` chains `get_artifact_urls()` over `self._builds`, which comes from `_recipe.get_builds()` (line 408) — i.e. all builds, so repeated remote-build runs yield duplicate filenames. Maintainers engaged: mr-cal confirmed 'craft-application is downloading the same artifacts multiple times and overwriting it' and proposed two concrete fixes (filter at retrieval time or pass the unique build id as a Launchpad filter), and steinbro linked it to #249; PR #1094 is still open and described as masking the root cause, so the issue is valid and tracked, not resolved.

Evaluated by: mr-cal-bot

Impact: 32 Quick Win: 14 Complexity: 45 Confidence: 86 Actionability: 78

Issue body

### Bug Description ## Bug description When `remote-build` is run multiple times, the success message lists the same artifact filenames multiple times. ## Root cause `artifact_downloads` is a `dict[url → path]`. Different build runs produce different URLs but the same filenames. Since deduplication keys on URL, duplicate paths end up in `.values()`, causing the same snap name to appear multiple times in the output. ## Related canonical/snapcraft#6230 ### To Reproduce 1. Run `snapcraft remote-build` on a core22 project with multiple architectures 2. Wait for build to complete 3. Run `snapcraft remote-build` again on the same project 4. Observe the success message artifact names are listed twice ### part yaml ```shell name: my-snap base: core22 version: '0.1' summary: test snap description: test snap grade: devel confinement: devmode architectures: - build-on: amd64 - build-on: arm64 parts: my-part: plugin: nil ``` ### Relevant log output ```shell Build completed. Log files: ... Artifacts: my-snap_0.1_amd64.snap, my-snap_0.1_arm64.snap, my-snap_0.1_amd64.snap, my-snap_0.1_arm64.snap (same artifacts listed twice after running remote-build a second time) ```

Evaluation history

Date Model Scores Action Summary
stealth/space-bunny-alpha
Impact: 32
Quick Win: 14
Complexity: 45
Confidence: 86
Actionability: 78
keep open remote-build success message repeats artifact filenames because artifact URLs from all prior Launchpad builds are collected; still unfixed at HEAD, with open PR #1094 as a dedup workaround and mr-cal researching build-id filtering.
stealth/space-bunny-alpha
Impact: 24
Quick Win: 13
Complexity: 32
Confidence: 96
Actionability: 82
keep open Confirmed remote-build cosmetic bug: repeated runs list identical artifact filenames. Root cause remains under review; PR #1094 offers a deduplication workaround, not a complete fix.
qwen3.6-35b-a3b-mtp-q6
Impact: 60
Quick Win: 42
Staleness: 40
Complexity: 30
Confidence: 80
Support Request: 0
keep open Duplicate artifact names in remote-build success message due to URL-keyed dict not deduplicating by filename. Valid bug with open PR craft-application#1094 addressing it.
qwen/qwen3.6-35b-a3b
Staleness: 20
Complexity: 25
Confidence: 85
Support Request: 5
keep open remote-build success message lists duplicate artifact filenames after multiple runs. Root cause identified in dict keying logic. Maintainer analyzed the issue and proposed filtering solutions; awaiting implementation.
qwen3.6-35b-a3b-mtp-q6
Staleness: 5
Complexity: 35
Confidence: 85
Support Request: 5
keep open remote-build success message lists duplicate artifact filenames when run multiple times. Root cause identified in artifact_downloads dict deduplication; maintainer proposed filtering solutions. Awaiting implementation.

Update history

No update history recorded yet.

Related work

  • Duplicate Of: canonical/snapcraft#6230 (confidence 95%)

    The snapcraft-side report of the same symptom; it was closed as a duplicate of this issue, confirming the logic lives in craft-application.

  • Related To: canonical/craft-application#249 (confidence 80%)

    steinbro commented this is 'possibly related to #249 regarding cleaning up old remote builds' — the stale build accumulation is the shared root cause.

  • Likely Fixed By: canonical/craft-application#1094 (confidence 55%)

    Open PR 'fix(remote): deduplicate artifact names in remote-build success message'; adds dedup + test/changelog but per its own summary tests pass while lint fails and the author acknowledged it masks the root cause, so it is only a partial fix.

Related issues

Issue Project State Summary Similarity
#1094 fix(remote): deduplicate artifact names in remote-build success message craft-application open One-line dedup of artifact filenames in the remote-build success message (sorted set over path names), plus a regression test and changelog entry. Fixes #1093. Lint check fails, 2 review comments unresolved; author says it masks the root cause and is reworking a build-request-ID filter.
78%
#6230 Remote-build success message lists same atifact multiple times (for core22) snapcraft closed Closed as a duplicate of canonical/craft-application#1093; proposed fix PR canonical/craft-application#1094 deduplicates artifact filenames, but remains open and unmerged.
76%