Skip to content

fix: use merge-multiple for snapshot artifact download#8432

Merged
AustinMroz merged 1 commit intomainfrom
ci/fix/ensure-snapshot-merge
Jan 29, 2026
Merged

fix: use merge-multiple for snapshot artifact download#8432
AustinMroz merged 1 commit intomainfrom
ci/fix/ensure-snapshot-merge

Conversation

@christian-byrne
Copy link
Contributor

@christian-byrne christian-byrne commented Jan 29, 2026

Summary

Fixes the snapshot merge failure introduced by PR #8377 (actions/download-artifact v4→v7 upgrade).

Root Cause

The v5+ release of download-artifact changed behavior: when a pattern matches only a single artifact, files are extracted directly to path/ without the artifact name subdirectory. When only one shard had changes, the merge loop couldn't find the expected snapshots-shard-*/ directories.

Fix

Use merge-multiple: true — the documented pattern for combining sharded artifacts. This merges all matched artifacts directly into the target path, eliminating directory structure assumptions.

Testing

This fix can be validated by re-running the workflow on PR #8276 after merge.


┆Issue is synchronized with this Notion page by Unito

The v4→v7 upgrade of download-artifact changed behavior: when a pattern
matches only one artifact, files extract directly to path/ without the
artifact name subdirectory. This broke the merge loop which expected
snapshots-shard-*/ directories.

Using merge-multiple: true is the documented pattern for sharded artifacts
and eliminates directory structure assumptions.

Amp-Thread-ID: https://ampcode.com/threads/T-019c0b70-122a-709b-a4f6-4929ed6ff3c2
Co-authored-by: Amp <amp@ampcode.com>
@christian-byrne christian-byrne requested a review from a team as a code owner January 29, 2026 20:36
@dosubot dosubot bot added the size:M This PR changes 30-99 lines, ignoring generated files. label Jan 29, 2026
@github-actions
Copy link

github-actions bot commented Jan 29, 2026

🎨 Storybook Build Status

Build completed successfully!

⏰ Completed at: 01/29/2026, 08:53:02 PM UTC

🔗 Links


🎉 Your Storybook is ready for review!

@github-actions
Copy link

github-actions bot commented Jan 29, 2026

🎭 Playwright Tests: ✅ Passed

Results: 507 passed, 0 failed, 0 flaky, 8 skipped (Total: 515)

📊 Browser Reports
  • chromium: View Report (✅ 495 / ❌ 0 / ⚠️ 0 / ⏭️ 8)
  • chromium-2x: View Report (✅ 2 / ❌ 0 / ⚠️ 0 / ⏭️ 0)
  • chromium-0.5x: View Report (✅ 1 / ❌ 0 / ⚠️ 0 / ⏭️ 0)
  • mobile-chrome: View Report (✅ 9 / ❌ 0 / ⚠️ 0 / ⏭️ 0)

@coderabbitai
Copy link
Contributor

coderabbitai bot commented Jan 29, 2026

Important

Review skipped

Review was skipped due to path filters

⛔ Files ignored due to path filters (1)
  • browser_tests/tests/loadWorkflowInMedia.spec.ts-snapshots/dropped-workflow-url-hidream-dev-example-png-chromium-linux.png is excluded by !**/*.png

CodeRabbit blocks several paths by default. You can override this behavior by explicitly including those paths in the path filters. For example, including **/dist/** will override the default block on the dist directory, by removing the pattern from both the lists.

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

  • 🔍 Trigger a full review
📝 Walkthrough

Walkthrough

This PR refactors the Playwright expectations update workflow by enabling multi-artifact merging and simplifying the snapshot file handling logic from a per-shard iteration approach to a unified file-count validation that directly copies all downloaded snapshot files.

Changes

Cohort / File(s) Summary
Workflow Artifact Handling
.github/workflows/pr-update-playwright-expectations.yaml
Refactored snapshot file merging logic: enabled merge-multiple for artifact downloads, replaced per-shard iteration with single file-count check across all downloaded files, added early exit when no files found, and simplified direct file copying from downloaded-snapshots to browser_tests directory. Updated messaging to reflect files merged instead of shards merged.

Possibly related PRs

Suggested reviewers

  • DrJKL

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@coderabbitai coderabbitai bot requested a review from DrJKL January 29, 2026 20:36
@github-actions
Copy link

github-actions bot commented Jan 29, 2026

Bundle Size Report

Summary

  • Raw size: 22.1 MB baseline 22.1 MB — 🟢 -205 B
  • Gzip: 4.6 MB baseline 4.6 MB — 🟢 -52 B
  • Brotli: 3.42 MB baseline 3.42 MB — 🔴 +28 B
  • Bundles: 173 current • 173 baseline • 81 added / 81 removed

Category Glance
Other 🟢 -198 B (7.1 MB) · Panels & Settings 🟢 -8 B (471 kB) · Data & Services 🔴 +1 B (2.7 MB) · Vendor & Third-Party ⚪ 0 B (10.7 MB) · Graph Workspace ⚪ 0 B (974 kB) · Views & Navigation ⚪ 0 B (80.7 kB) · + 5 more

Per-category breakdown
App Entry Points — 26 kB (baseline 26 kB) • ⚪ 0 B

Main entry bundles and manifests

File Before After Δ Raw Δ Gzip Δ Brotli
assets/index-CluDTJOq.js (removed) 26 kB 🟢 -26 kB 🟢 -7.51 kB 🟢 -6.61 kB
assets/index-CTXQ-c2w.js (new) 26 kB 🔴 +26 kB 🔴 +7.5 kB 🔴 +6.62 kB

Status: 1 added / 1 removed

Graph Workspace — 974 kB (baseline 974 kB) • ⚪ 0 B

Graph editor runtime, canvas, workflow orchestration

File Before After Δ Raw Δ Gzip Δ Brotli
assets/GraphView-DpjmXUOj.js (removed) 974 kB 🟢 -974 kB 🟢 -197 kB 🟢 -149 kB
assets/GraphView-Dst1-xjP.js (new) 974 kB 🔴 +974 kB 🔴 +197 kB 🔴 +149 kB

Status: 1 added / 1 removed

Views & Navigation — 80.7 kB (baseline 80.7 kB) • ⚪ 0 B

Top-level views, pages, and routed surfaces

File Before After Δ Raw Δ Gzip Δ Brotli
assets/CloudSurveyView-BmV6AAzW.js (new) 17.1 kB 🔴 +17.1 kB 🔴 +3.6 kB 🔴 +3.06 kB
assets/CloudSurveyView-OwE7GpQL.js (removed) 17.1 kB 🟢 -17.1 kB 🟢 -3.61 kB 🟢 -3.05 kB
assets/CloudLoginView-4lkwcF5Z.js (removed) 11.8 kB 🟢 -11.8 kB 🟢 -3.09 kB 🟢 -2.72 kB
assets/CloudLoginView-Cu5_bwaa.js (new) 11.8 kB 🔴 +11.8 kB 🔴 +3.09 kB 🔴 +2.71 kB
assets/UserCheckView--2c4ViQ5.js (new) 10.5 kB 🔴 +10.5 kB 🔴 +2.44 kB 🔴 +2.13 kB
assets/UserCheckView-CJoXnSFr.js (removed) 10.5 kB 🟢 -10.5 kB 🟢 -2.45 kB 🟢 -2.13 kB
assets/CloudLayoutView-BH4wnTyb.js (new) 8.54 kB 🔴 +8.54 kB 🔴 +2.24 kB 🔴 +1.95 kB
assets/CloudLayoutView-yo2gxLi6.js (removed) 8.54 kB 🟢 -8.54 kB 🟢 -2.24 kB 🟢 -1.96 kB
assets/CloudSignupView-BmZSrpL6.js (new) 8.18 kB 🔴 +8.18 kB 🔴 +2.33 kB 🔴 +2.01 kB
assets/CloudSignupView-CInfPBxo.js (removed) 8.18 kB 🟢 -8.18 kB 🟢 -2.33 kB 🟢 -2.02 kB
assets/CloudForgotPasswordView-Bb-SvIFs.js (new) 6.26 kB 🔴 +6.26 kB 🔴 +1.93 kB 🔴 +1.69 kB
assets/CloudForgotPasswordView-vFzS9FNR.js (removed) 6.26 kB 🟢 -6.26 kB 🟢 -1.93 kB 🟢 -1.69 kB
assets/UserSelectView-Cg82nquj.js (new) 5.28 kB 🔴 +5.28 kB 🔴 +1.76 kB 🔴 +1.57 kB
assets/UserSelectView-MImS5UA6.js (removed) 5.28 kB 🟢 -5.28 kB 🟢 -1.76 kB 🟢 -1.57 kB
assets/CloudSubscriptionRedirectView-C_H8bIMI.js (new) 5.27 kB 🔴 +5.27 kB 🔴 +1.73 kB 🔴 +1.54 kB
assets/CloudSubscriptionRedirectView-Dz4jkeWE.js (removed) 5.27 kB 🟢 -5.27 kB 🟢 -1.73 kB 🟢 -1.54 kB
assets/CloudAuthTimeoutView-BgAyuYjK.js (new) 5.24 kB 🔴 +5.24 kB 🔴 +1.71 kB 🔴 +1.49 kB
assets/CloudAuthTimeoutView-CF65t8lX.js (removed) 5.24 kB 🟢 -5.24 kB 🟢 -1.71 kB 🟢 -1.49 kB
assets/CloudSorryContactSupportView-n5f-fGMz.js 1.97 kB 1.97 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/layout-V93lMUpe.js 500 B 500 B ⚪ 0 B ⚪ 0 B ⚪ 0 B

Status: 9 added / 9 removed

Panels & Settings — 471 kB (baseline 471 kB) • 🟢 -8 B

Configuration panels, inspectors, and settings screens

File Before After Δ Raw Δ Gzip Δ Brotli
assets/WorkspacePanel-CB0xPtcH.js (new) 29.8 kB 🔴 +29.8 kB 🔴 +5.89 kB 🔴 +5.14 kB
assets/WorkspacePanel-X59S-tlo.js (removed) 29.8 kB 🟢 -29.8 kB 🟢 -5.89 kB 🟢 -5.13 kB
assets/LegacyCreditsPanel-Csgu8WBy.js (new) 23.8 kB 🔴 +23.8 kB 🔴 +5.94 kB 🔴 +5.23 kB
assets/LegacyCreditsPanel-txUPYtZe.js (removed) 23.8 kB 🟢 -23.8 kB 🟢 -5.94 kB 🟢 -5.23 kB
assets/SubscriptionPanel-BIFSeDOy.js (new) 21 kB 🔴 +21 kB 🔴 +5.04 kB 🔴 +4.44 kB
assets/SubscriptionPanel-CFBQxDoj.js (removed) 21 kB 🟢 -21 kB 🟢 -5.04 kB 🟢 -4.45 kB
assets/KeybindingPanel-6kXrZEqA.js (removed) 14.2 kB 🟢 -14.2 kB 🟢 -3.74 kB 🟢 -3.31 kB
assets/KeybindingPanel-BrYr_EHm.js (new) 14.2 kB 🔴 +14.2 kB 🔴 +3.74 kB 🔴 +3.31 kB
assets/AboutPanel-B1eAxKO-.js (removed) 10.8 kB 🟢 -10.8 kB 🟢 -2.68 kB 🟢 -2.43 kB
assets/AboutPanel-Vhv1pKpM.js (new) 10.8 kB 🔴 +10.8 kB 🔴 +2.68 kB 🔴 +2.42 kB
assets/ExtensionPanel-1D03rGdk.js (new) 10.2 kB 🔴 +10.2 kB 🔴 +2.71 kB 🔴 +2.4 kB
assets/ExtensionPanel-BF5LR6t_.js (removed) 10.2 kB 🟢 -10.2 kB 🟢 -2.71 kB 🟢 -2.4 kB
assets/ServerConfigPanel-AWL-6k29.js (new) 7.23 kB 🔴 +7.23 kB 🔴 +2.17 kB 🔴 +1.94 kB
assets/ServerConfigPanel-I86BQRZy.js (removed) 7.23 kB 🟢 -7.23 kB 🟢 -2.17 kB 🟢 -1.94 kB
assets/UserPanel-B-W4FnzV.js (new) 6.58 kB 🔴 +6.58 kB 🔴 +1.9 kB 🔴 +1.67 kB
assets/UserPanel-Q73Zbslh.js (removed) 6.58 kB 🟢 -6.58 kB 🟢 -1.9 kB 🟢 -1.67 kB
assets/refreshRemoteConfig-_9544s7R.js (new) 1.31 kB 🔴 +1.31 kB 🔴 +571 B 🔴 +500 B
assets/refreshRemoteConfig-C4bdOrOX.js (removed) 1.31 kB 🟢 -1.31 kB 🟢 -572 B 🟢 -500 B
assets/config-CIFyxCnV.js (removed) 1.16 kB 🟢 -1.16 kB 🟢 -610 B 🟢 -532 B
assets/config-3UTA1C9k.js (new) 1.15 kB 🔴 +1.15 kB 🔴 +604 B 🔴 +533 B
assets/cloudRemoteConfig-BPymBerh.js (new) 1.11 kB 🔴 +1.11 kB 🔴 +511 B 🔴 +444 B
assets/cloudRemoteConfig-CareHUWX.js (removed) 1.11 kB 🟢 -1.11 kB 🟢 -507 B 🟢 -453 B
assets/refreshRemoteConfig-99d8oS1v.js (new) 169 B 🔴 +169 B 🔴 +108 B 🔴 +102 B
assets/refreshRemoteConfig-rp1reFTj.js (removed) 169 B 🟢 -169 B 🟢 -108 B 🟢 -102 B
assets/remoteConfig-B0mlVvm7.js 788 B 788 B ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/settings-2UNjEj6k.js 32.9 kB 32.9 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/settings-B2OMGvh7.js 31.2 kB 31.2 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/settings-BcujOfpn.js 29.6 kB 29.6 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/settings-BI09_t23.js 29.4 kB 29.4 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/settings-BKamuseh.js 25.8 kB 25.8 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/settings-BlTun9tZ.js 26.4 kB 26.4 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/settings-CZ62uO3e.js 30.2 kB 30.2 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/settings-DaK-NByz.js 35.2 kB 35.2 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/settings-DaS3cSXp.js 39.4 kB 39.4 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/settings-DWbMuaAa.js 32 kB 32 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/settings-S7pA60Hj.js 30.4 kB 30.4 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B

Status: 12 added / 12 removed

User & Accounts — 3.94 kB (baseline 3.94 kB) • ⚪ 0 B

Authentication, profile, and account management bundles

File Before After Δ Raw Δ Gzip Δ Brotli
assets/auth-CY6qvDst.js (removed) 3.54 kB 🟢 -3.54 kB 🟢 -1.24 kB 🟢 -1.05 kB
assets/auth-utDzvgkd.js (new) 3.54 kB 🔴 +3.54 kB 🔴 +1.24 kB 🔴 +1.07 kB
assets/firebaseAuthStore-DtYUO0Qt.js (new) 217 B 🔴 +217 B 🔴 +138 B 🔴 +115 B
assets/firebaseAuthStore-SqK40m-n.js (removed) 217 B 🟢 -217 B 🟢 -138 B 🟢 -117 B
assets/auth-Dtpb8Xqw.js (removed) 178 B 🟢 -178 B 🟢 -142 B 🟢 -134 B
assets/auth-DxgmiF2u.js (new) 178 B 🔴 +178 B 🔴 +142 B 🔴 +132 B

Status: 3 added / 3 removed

Editors & Dialogs — 2.89 kB (baseline 2.89 kB) • ⚪ 0 B

Modals, dialogs, drawers, and in-app editors

File Before After Δ Raw Δ Gzip Δ Brotli
assets/useSubscriptionDialog-CTyLOnMl.js (removed) 2.71 kB 🟢 -2.71 kB 🟢 -1.29 kB 🟢 -1.13 kB
assets/useSubscriptionDialog-w73tPsY0.js (new) 2.71 kB 🔴 +2.71 kB 🔴 +1.28 kB 🔴 +1.13 kB
assets/useSubscriptionDialog-7_lZNuRa.js (new) 179 B 🔴 +179 B 🔴 +110 B 🔴 +99 B
assets/useSubscriptionDialog-C2tHx5Xv.js (removed) 179 B 🟢 -179 B 🟢 -110 B 🟢 -97 B

Status: 2 added / 2 removed

UI Components — 33.7 kB (baseline 33.7 kB) • ⚪ 0 B

Reusable component library chunks

File Before After Δ Raw Δ Gzip Δ Brotli
assets/ComfyQueueButton-C7hoCsJ5.js (new) 9.52 kB 🔴 +9.52 kB 🔴 +2.68 kB 🔴 +2.41 kB
assets/ComfyQueueButton-CDsA_J1h.js (removed) 9.52 kB 🟢 -9.52 kB 🟢 -2.68 kB 🟢 -2.41 kB
assets/SubscribeButton-bIPP7Szd.js (removed) 4.63 kB 🟢 -4.63 kB 🟢 -1.57 kB 🟢 -1.39 kB
assets/SubscribeButton-BKZpMB7u.js (new) 4.63 kB 🔴 +4.63 kB 🔴 +1.57 kB 🔴 +1.39 kB
assets/cloudFeedbackTopbarButton-Bz_HDN_k.js (removed) 1.24 kB 🟢 -1.24 kB 🟢 -676 B 🟢 -569 B
assets/cloudFeedbackTopbarButton-DFDm_4R6.js (new) 1.24 kB 🔴 +1.24 kB 🔴 +675 B 🔴 +572 B
assets/ComfyQueueButton-CasxGNFu.js (new) 181 B 🔴 +181 B 🔴 +118 B 🔴 +106 B
assets/ComfyQueueButton-WjD6eg4j.js (removed) 181 B 🟢 -181 B 🟢 -118 B 🟢 -128 B
assets/Button-Bb_i0j7c.js 3.82 kB 3.82 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/CloudBadge-BNjL4ma_.js 1.85 kB 1.85 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/TopbarBadge-qACg_vGT.js 8.36 kB 8.36 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/UserAvatar-D80lITos.js 1.73 kB 1.73 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/WidgetButton-DSv9NFvF.js 2.41 kB 2.41 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B

Status: 4 added / 4 removed

Data & Services — 2.7 MB (baseline 2.7 MB) • 🔴 +1 B

Stores, services, APIs, and repositories

File Before After Δ Raw Δ Gzip Δ Brotli
assets/dialogService-CwO30Cd1.js (new) 2 MB 🔴 +2 MB 🔴 +424 kB 🔴 +323 kB
assets/dialogService-DOur9Pfm.js (removed) 2 MB 🟢 -2 MB 🟢 -424 kB 🟢 -324 kB
assets/api-DLgIC_Sp.js (new) 674 kB 🔴 +674 kB 🔴 +149 kB 🔴 +118 kB
assets/api-BH4u-N2i.js (removed) 674 kB 🟢 -674 kB 🟢 -149 kB 🟢 -118 kB
assets/releaseStore-BR7ix1UA.js (removed) 8.91 kB 🟢 -8.91 kB 🟢 -2.4 kB 🟢 -2.12 kB
assets/releaseStore-TajFtfJ4.js (new) 8.91 kB 🔴 +8.91 kB 🔴 +2.4 kB 🔴 +2.12 kB
assets/keybindingService-D6WN_cY-.js (new) 6.78 kB 🔴 +6.78 kB 🔴 +1.75 kB 🔴 +1.51 kB
assets/keybindingService-fXsDE85e.js (removed) 6.78 kB 🟢 -6.78 kB 🟢 -1.74 kB 🟢 -1.51 kB
assets/bootstrapStore-Cmu0Eiqd.js (new) 2.69 kB 🔴 +2.69 kB 🔴 +1.03 kB 🔴 +960 B
assets/bootstrapStore-DraEJKso.js (removed) 2.69 kB 🟢 -2.69 kB 🟢 -1.03 kB 🟢 -957 B
assets/userStore-lUxUwB-1.js (new) 2.16 kB 🔴 +2.16 kB 🔴 +814 B 🔴 +725 B
assets/userStore-v2tPUtm0.js (removed) 2.16 kB 🟢 -2.16 kB 🟢 -809 B 🟢 -722 B
assets/audioService-A9hpRdoC.js (removed) 2.03 kB 🟢 -2.03 kB 🟢 -928 B 🟢 -809 B
assets/audioService-BGTvQ8W7.js (new) 2.03 kB 🔴 +2.03 kB 🔴 +932 B 🔴 +810 B
assets/releaseStore-B3lZr1VF.js (new) 140 B 🔴 +140 B 🔴 +106 B 🔴 +107 B
assets/releaseStore-DNjwX83W.js (removed) 140 B 🟢 -140 B 🟢 -106 B 🟢 -107 B
assets/serverConfigStore-DOoqLe5c.js 2.64 kB 2.64 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B

Status: 8 added / 8 removed

Utilities & Hooks — 25.3 kB (baseline 25.3 kB) • ⚪ 0 B

Helpers, composables, and utility bundles

File Before After Δ Raw Δ Gzip Δ Brotli
assets/useErrorHandling-BzAU9jP9.js (removed) 5.21 kB 🟢 -5.21 kB 🟢 -1.53 kB 🟢 -1.35 kB
assets/useErrorHandling-tMv2bkee.js (new) 5.21 kB 🔴 +5.21 kB 🔴 +1.53 kB 🔴 +1.35 kB
assets/useWorkspaceUI-CH8puFUO.js (new) 3.42 kB 🔴 +3.42 kB 🔴 +976 B 🔴 +841 B
assets/useWorkspaceUI-DI40_eU3.js (removed) 3.42 kB 🟢 -3.42 kB 🟢 -975 B 🟢 -832 B
assets/useSubscriptionActions-D8qgpm9S.js (new) 2.22 kB 🔴 +2.22 kB 🔴 +871 B 🔴 +764 B
assets/useSubscriptionActions-xJA2VU2h.js (removed) 2.22 kB 🟢 -2.22 kB 🟢 -869 B 🟢 -764 B
assets/subscriptionCheckoutUtil-CHhlJPvm.js (new) 2.03 kB 🔴 +2.03 kB 🔴 +871 B 🔴 +757 B
assets/subscriptionCheckoutUtil-DNCTDdc3.js (removed) 2.03 kB 🟢 -2.03 kB 🟢 -870 B 🟢 -760 B
assets/useSubscriptionCredits-Bm-4drpJ.js (new) 1.39 kB 🔴 +1.39 kB 🔴 +594 B 🔴 +520 B
assets/useSubscriptionCredits-ClJr8TTx.js (removed) 1.39 kB 🟢 -1.39 kB 🟢 -595 B 🟢 -518 B
assets/audioUtils-Cddh4xQU.js (removed) 970 B 🟢 -970 B 🟢 -546 B 🟢 -459 B
assets/audioUtils-Cn3hd-Rn.js (new) 970 B 🔴 +970 B 🔴 +546 B 🔴 +459 B
assets/useCurrentUser-CzGzaXvI.js (removed) 145 B 🟢 -145 B 🟢 -114 B 🟢 -98 B
assets/useCurrentUser-Dr5No6F0.js (new) 145 B 🔴 +145 B 🔴 +114 B 🔴 +104 B
assets/_plugin-vue_export-helper-DuK_Fly3.js 467 B 467 B ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/colorUtil-GMAsfHxw.js 7.2 kB 7.2 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/markdownRendererUtil-ivqHoiOs.js 1.78 kB 1.78 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/tailwindUtil-CJjrIEVR.js 488 B 488 B ⚪ 0 B ⚪ 0 B ⚪ 0 B

Status: 7 added / 7 removed

Vendor & Third-Party — 10.7 MB (baseline 10.7 MB) • ⚪ 0 B

External libraries and shared vendor chunks

File Before After Δ Raw Δ Gzip Δ Brotli
assets/vendor-chart-DHGfk3hn.js 408 kB 408 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/vendor-other-jpGqhHNG.js 4.1 MB 4.1 MB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/vendor-primevue-4Jj8eU28.js 3.04 MB 3.04 MB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/vendor-reka-ui-aCG649nF.js 263 kB 263 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/vendor-three-CERwhPwK.js 1.83 MB 1.83 MB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/vendor-tiptap-BxrEVL6s.js 650 kB 650 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/vendor-vue-Dwii0E-t.js 13.6 kB 13.6 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/vendor-xterm-IX6P8SWv.js 398 kB 398 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
Other — 7.1 MB (baseline 7.1 MB) • 🟢 -198 B

Bundles that do not match a named category

File Before After Δ Raw Δ Gzip Δ Brotli
assets/core-CTM_WJXD.js (removed) 180 kB 🟢 -180 kB 🟢 -43.3 kB 🟢 -36.2 kB
assets/core-h6s8LRzy.js (new) 180 kB 🔴 +180 kB 🔴 +43.3 kB 🔴 +36.2 kB
assets/WidgetSelect-CtGbmC1Z.js (removed) 51 kB 🟢 -51 kB 🟢 -11.3 kB 🟢 -9.81 kB
assets/WidgetSelect-Dt6JNg71.js (new) 51 kB 🔴 +51 kB 🔴 +11.3 kB 🔴 +9.82 kB
assets/Load3DControls-Bfvl3bDC.js (new) 35.9 kB 🔴 +35.9 kB 🔴 +5.87 kB 🔴 +5.08 kB
assets/Load3DControls-C_UTqRBS.js (removed) 35.9 kB 🟢 -35.9 kB 🟢 -5.87 kB 🟢 -5.08 kB
assets/SubscriptionRequiredDialogContent-SUf6VsYB.js (new) 28.7 kB 🔴 +28.7 kB 🔴 +6.78 kB 🔴 +5.92 kB
assets/SubscriptionRequiredDialogContent-wsrk71P3.js (removed) 28.7 kB 🟢 -28.7 kB 🟢 -6.78 kB 🟢 -5.91 kB
assets/CurrentUserPopoverWorkspace-BkB_T1Oe.js (removed) 22.2 kB 🟢 -22.2 kB 🟢 -4.99 kB 🟢 -4.42 kB
assets/CurrentUserPopoverWorkspace-CsOro3aY.js (new) 22.2 kB 🔴 +22.2 kB 🔴 +4.99 kB 🔴 +4.42 kB
assets/Load3D-DI18SBZS.js (removed) 19.2 kB 🟢 -19.2 kB 🟢 -4.37 kB 🟢 -3.86 kB
assets/Load3D-QNbRSUDy.js (new) 19.2 kB 🔴 +19.2 kB 🔴 +4.37 kB 🔴 +3.85 kB
assets/WidgetInputNumber-CuOh0BYz.js (new) 18.3 kB 🔴 +18.3 kB 🔴 +4.53 kB 🔴 +4.03 kB
assets/WidgetInputNumber-GTdBbzBo.js (removed) 18.3 kB 🟢 -18.3 kB 🟢 -4.53 kB 🟢 -4.03 kB
assets/WidgetRecordAudio-9nnH5IxQ.js (removed) 18.3 kB 🟢 -18.3 kB 🟢 -4.97 kB 🟢 -4.45 kB
assets/WidgetRecordAudio-BXjBloi3.js (new) 18.3 kB 🔴 +18.3 kB 🔴 +4.97 kB 🔴 +4.44 kB
assets/SubscriptionPanelContentWorkspace-BH88uLXn.js (new) 18.2 kB 🔴 +18.2 kB 🔴 +4.47 kB 🔴 +3.9 kB
assets/SubscriptionPanelContentWorkspace-DAELGndO.js (removed) 18.2 kB 🟢 -18.2 kB 🟢 -4.47 kB 🟢 -3.9 kB
assets/WidgetImageCrop-C57fJI_7.js (new) 17.1 kB 🔴 +17.1 kB 🔴 +4.14 kB 🔴 +3.63 kB
assets/WidgetImageCrop-Cb-eZpog.js (removed) 17.1 kB 🟢 -17.1 kB 🟢 -4.14 kB 🟢 -3.63 kB
assets/PanelTemplate-CdpA80WP.js (new) 16.2 kB 🔴 +16.2 kB 🔴 +5.46 kB 🔴 +4.8 kB
assets/PanelTemplate-DSN9Y75S.js (removed) 16.2 kB 🟢 -16.2 kB 🟢 -5.46 kB 🟢 -4.8 kB
assets/AudioPreviewPlayer-CuO0vt-5.js (removed) 10.8 kB 🟢 -10.8 kB 🟢 -2.97 kB 🟢 -2.65 kB
assets/AudioPreviewPlayer-DAGLr5kT.js (new) 10.8 kB 🔴 +10.8 kB 🔴 +2.97 kB 🔴 +2.65 kB
assets/InviteMemberDialogContent-CRtHYzZE.js (new) 8.36 kB 🔴 +8.36 kB 🔴 +2.51 kB 🔴 +2.17 kB
assets/InviteMemberDialogContent-vC9XjD2y.js (removed) 8.36 kB 🟢 -8.36 kB 🟢 -2.5 kB 🟢 -2.17 kB
assets/WidgetWithControl-B5Lbwt4R.js (new) 8.07 kB 🔴 +8.07 kB 🔴 +2.68 kB 🔴 +2.41 kB
assets/WidgetWithControl-BOEF-3oY.js (removed) 8.07 kB 🟢 -8.07 kB 🟢 -2.68 kB 🟢 -2.42 kB
assets/CreateWorkspaceDialogContent-BoakGuFG.js (removed) 5.93 kB 🟢 -5.93 kB 🟢 -1.92 kB 🟢 -1.68 kB
assets/CreateWorkspaceDialogContent-DimLd-sK.js (new) 5.93 kB 🔴 +5.93 kB 🔴 +1.92 kB 🔴 +1.68 kB
assets/EditWorkspaceDialogContent-B_riE8Ls.js (removed) 5.7 kB 🟢 -5.7 kB 🟢 -1.88 kB 🟢 -1.64 kB
assets/EditWorkspaceDialogContent-CC-GvdVX.js (new) 5.7 kB 🔴 +5.7 kB 🔴 +1.88 kB 🔴 +1.64 kB
assets/ValueControlPopover-9CkEPe9N.js (removed) 5.17 kB 🟢 -5.17 kB 🟢 -1.68 kB 🟢 -1.5 kB
assets/ValueControlPopover-D5YLOxR3.js (new) 5.17 kB 🔴 +5.17 kB 🔴 +1.68 kB 🔴 +1.5 kB
assets/DeleteWorkspaceDialogContent-Bl35AUJX.js (removed) 4.59 kB 🟢 -4.59 kB 🟢 -1.56 kB 🟢 -1.35 kB
assets/DeleteWorkspaceDialogContent-BQUgLozN.js (new) 4.59 kB 🔴 +4.59 kB 🔴 +1.56 kB 🔴 +1.35 kB
assets/LeaveWorkspaceDialogContent-BLDKKh-S.js (new) 4.41 kB 🔴 +4.41 kB 🔴 +1.5 kB 🔴 +1.3 kB
assets/LeaveWorkspaceDialogContent-VuDgZ8AR.js (removed) 4.41 kB 🟢 -4.41 kB 🟢 -1.5 kB 🟢 -1.31 kB
assets/RemoveMemberDialogContent-f4ydEnDa.js (new) 4.38 kB 🔴 +4.38 kB 🔴 +1.45 kB 🔴 +1.27 kB
assets/RemoveMemberDialogContent-p1E_5WuQ.js (removed) 4.38 kB 🟢 -4.38 kB 🟢 -1.45 kB 🟢 -1.27 kB
assets/RevokeInviteDialogContent-APl4EqQA.js (new) 4.29 kB 🔴 +4.29 kB 🔴 +1.47 kB 🔴 +1.29 kB
assets/RevokeInviteDialogContent-BciDVoGq.js (removed) 4.29 kB 🟢 -4.29 kB 🟢 -1.47 kB 🟢 -1.29 kB
assets/GlobalToast-B_wryJCs.js (new) 3.05 kB 🔴 +3.05 kB 🔴 +1.1 kB 🔴 +944 B
assets/GlobalToast-WTqfSIot.js (removed) 3.05 kB 🟢 -3.05 kB 🟢 -1.1 kB 🟢 -943 B
assets/SubscribeToRun-Dfu3kYst.js (removed) 2.96 kB 🟢 -2.96 kB 🟢 -1.15 kB 🟢 -1.01 kB
assets/SubscribeToRun-DPJRjJ3w.js (new) 2.96 kB 🔴 +2.96 kB 🔴 +1.15 kB 🔴 +1.01 kB
assets/cloudSessionCookie-_Q5Kx-xG.js (removed) 2.94 kB 🟢 -2.94 kB 🟢 -929 B 🟢 -796 B
assets/cloudSessionCookie-B4Fh7ORj.js (new) 2.94 kB 🔴 +2.94 kB 🔴 +928 B 🔴 +795 B
assets/BaseViewTemplate-0S14Frj3.js (removed) 2.42 kB 🟢 -2.42 kB 🟢 -1.04 kB 🟢 -943 B
assets/BaseViewTemplate-BHlfxc2v.js (new) 2.42 kB 🔴 +2.42 kB 🔴 +1.04 kB 🔴 +937 B
assets/CloudRunButtonWrapper-bB49b-4f.js (new) 1.79 kB 🔴 +1.79 kB 🔴 +645 B 🔴 +600 B
assets/CloudRunButtonWrapper-D4hf6ZIR.js (removed) 1.79 kB 🟢 -1.79 kB 🟢 -644 B 🟢 -563 B
assets/cloudBadges-BsCFbgNu.js (new) 1.08 kB 🔴 +1.08 kB 🔴 +537 B 🔴 +474 B
assets/cloudBadges-CsFUNmwS.js (removed) 1.08 kB 🟢 -1.08 kB 🟢 -537 B 🟢 -493 B
assets/graphHasMissingNodes-BqNQb58g.js (new) 1.06 kB 🔴 +1.06 kB 🔴 +463 B 🔴 +423 B
assets/graphHasMissingNodes-i4uHWcZI.js (removed) 1.06 kB 🟢 -1.06 kB 🟢 -461 B 🟢 -413 B
assets/cloudSubscription-BQux_vqR.js (removed) 976 B 🟢 -976 B 🟢 -464 B 🟢 -398 B
assets/cloudSubscription-C9VnZ3Rp.js (new) 976 B 🔴 +976 B 🔴 +465 B 🔴 +400 B
assets/nightlyBadges-B30l9vf9.js (new) 595 B 🔴 +595 B 🔴 +356 B 🔴 +309 B
assets/nightlyBadges-DC6ssnc2.js (removed) 595 B 🟢 -595 B 🟢 -355 B 🟢 -308 B
assets/SubscriptionPanelContentWorkspace-BhbMOpun.js (new) 266 B 🔴 +266 B 🔴 +136 B 🔴 +122 B
assets/SubscriptionPanelContentWorkspace-RmNe5dO9.js (removed) 266 B 🟢 -266 B 🟢 -136 B 🟢 -119 B
assets/WidgetInputNumber-C8R5A2ts.js (new) 186 B 🔴 +186 B 🔴 +119 B 🔴 +120 B
assets/WidgetInputNumber-DDigbhRy.js (removed) 186 B 🟢 -186 B 🟢 -119 B 🟢 -109 B
assets/WidgetLegacy-D3Wy4S-S.js (removed) 164 B 🟢 -164 B 🟢 -125 B 🟢 -104 B
assets/WidgetLegacy-DO6uQPE5.js (new) 164 B 🔴 +164 B 🔴 +125 B 🔴 +104 B
assets/Load3D-CZRCdcjF.js (removed) 131 B 🟢 -131 B 🟢 -107 B 🟢 -109 B
assets/Load3D-mI6qO7q6.js (new) 131 B 🔴 +131 B 🔴 +107 B 🔴 +104 B
assets/auto-DWs2ctGL.js 1.73 kB 1.73 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/commands-BEw5ErI4.js 18.5 kB 18.5 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/commands-BGeHkplA.js 17.9 kB 17.9 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/commands-BV0l36Iz.js 17.2 kB 17.2 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/commands-C_Y3D6Cn.js 17.8 kB 17.8 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/commands-C6piRza5.js 19.3 kB 19.3 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/commands-Cf8Zq1td.js 18.8 kB 18.8 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/commands-CiziP3Xs.js 18 kB 18 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/commands-D1595tOr.js 19.3 kB 19.3 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/commands-DXauvccL.js 20.6 kB 20.6 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/commands-P5QCEfZc.js 18 kB 18 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/commands-WbYP_D61.js 17 kB 17 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/i18n-COrIg4fJ.js 188 B 188 B ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/i18n-Cp-AD5FJ.js 499 kB 499 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/LazyImage-DHwPdKGO.js 14.1 kB 14.1 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/main-BHtk4Fg_.js 174 kB 174 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/main-BMSlgLcp.js 155 kB 155 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/main-BQCWi9e4.js 112 kB 112 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/main-BWJjz1qs.js 130 kB 130 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/main-CJicmTR7.js 113 kB 113 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/main-CNOkBy-u.js 126 kB 126 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/main-CySb1R5_.js 151 kB 151 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/main-DMUPIFMF.js 133 kB 133 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/main-DpsGU4si.js 126 kB 126 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/main-Dz6IPJXM.js 144 kB 144 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/main-lrEzMywH.js 128 kB 128 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/Media3DTop-DUmUhXD6.js 2.38 kB 2.38 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/MediaAudioTop-CD66_Mw_.js 2 kB 2 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/MediaImageTop-Bqe7yvm_.js 2.34 kB 2.34 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/MediaVideoTop-De3MzVmp.js 2.82 kB 2.82 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/mixpanel.module-CC2-PIpB.js 143 B 143 B ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/nodeDefs-A7pvB7zM.js 370 kB 370 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/nodeDefs-BIVjUijC.js 345 kB 345 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/nodeDefs-Chkn0HaI.js 343 kB 343 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/nodeDefs-CK_6GHao.js 452 kB 452 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/nodeDefs-CToVAwnT.js 373 kB 373 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/nodeDefs-DDabdWgx.js 417 kB 417 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/nodeDefs-DgvJyE3d.js 386 kB 386 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/nodeDefs-DjxaeFt_.js 416 kB 416 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/nodeDefs-DslnWEGg.js 377 kB 377 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/nodeDefs-EPAM3kwk.js 373 kB 373 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/nodeDefs-NrulhNyH.js 366 kB 366 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/OBJLoader2WorkerModule-DTMpvldF.js 109 kB 109 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/previousFullPath-CmezY7As.js 838 B 838 B ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/rolldown-runtime-cVp-94Rc.js 1.96 kB 1.96 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/Slider-D4lsf6Ob.js 4.21 kB 4.21 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/widget-BJiJuR5i.js 518 B 518 B ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/WidgetBoundingBox-CUtab2CB.js 4.71 kB 4.71 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/WidgetBoundingBox-D79nBMxa.js 186 B 186 B ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/WidgetChart-CiXfBVBH.js 2.79 kB 2.79 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/WidgetColorPicker-BxNqMlFv.js 3.71 kB 3.71 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/WidgetGalleria-DDD96zwa.js 4.57 kB 4.57 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/WidgetImageCompare-A6pZMGtc.js 3.79 kB 3.79 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/WidgetInputText-DSMUKRnt.js 2.58 kB 2.58 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/WidgetLayoutField-MDImyvc3.js 2.7 kB 2.7 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/WidgetMarkdown-a8bZhyc5.js 3.49 kB 3.49 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/widgetPropFilter-ERx8czR8.js 1.31 kB 1.31 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/WidgetTextarea-CV3BoahN.js 3.87 kB 3.87 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/WidgetToggleSwitch-ZdaYkxkD.js 3.26 kB 3.26 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/widgetTypes-KPj-zM0O.js 573 B 573 B ⚪ 0 B ⚪ 0 B ⚪ 0 B

Status: 34 added / 34 removed

@DrJKL DrJKL self-assigned this Jan 29, 2026
DrJKL
DrJKL previously approved these changes Jan 29, 2026
Copy link
Contributor

@DrJKL DrJKL left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Want to force this to run on this PR?

@DrJKL DrJKL added the New Browser Test Expectations New browser test screenshot should be set by github action label Jan 29, 2026
@github-actions
Copy link

Updating Playwright Expectations

@DrJKL DrJKL removed their assignment Jan 29, 2026
@github-actions github-actions bot removed the New Browser Test Expectations New browser test screenshot should be set by github action label Jan 29, 2026
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Noooooooo

@christian-byrne
Copy link
Contributor Author

Fixing

@christian-byrne christian-byrne force-pushed the ci/fix/ensure-snapshot-merge branch from 41c6499 to 1aad2ef Compare January 29, 2026 20:51
@socket-security
Copy link

Review the following changes in direct dependencies. Learn more about Socket for GitHub.

Diff Package Supply Chain
Security
Vulnerability Quality Maintenance License
Addedvite@​8.0.0-beta.8941008298100

View full report

@socket-security
Copy link

Warning

Review the following alerts detected in dependencies.

According to your organization's Security Policy, it is recommended to resolve "Warn" alerts. Learn more about Socket for GitHub.

Action Severity Alert  (click "▶" to expand/collapse)
Warn High
Obfuscated code: npm vite is 91.0% likely obfuscated

Confidence: 0.91

Location: Package overview

From: apps/desktop-ui/package.jsonnpm/vite@8.0.0-beta.8

ℹ Read more on: This package | This alert | What is obfuscated code?

Next steps: Take a moment to review the security alert above. Review the linked package source code to understand the potential risk. Ensure the package is not malicious before proceeding. If you're unsure how to proceed, reach out to your security team or ask the Socket team for help at support@socket.dev.

Suggestion: Packages should not obfuscate their code. Consider not using packages with obfuscated code.

Mark the package as acceptable risk. To ignore this alert only in this pull request, reply with the comment @SocketSecurity ignore npm/vite@8.0.0-beta.8. You can also ignore all packages with @SocketSecurity ignore-all. To ignore an alert for all future pull requests, use Socket's Dashboard to change the triage state of this alert.

View full report

@AustinMroz AustinMroz merged commit d4cec49 into main Jan 29, 2026
73 checks passed
@AustinMroz AustinMroz deleted the ci/fix/ensure-snapshot-merge branch January 29, 2026 20:58
christian-byrne added a commit that referenced this pull request Jan 30, 2026
## Summary

Fixes the snapshot merge failure introduced by PR #8377
(actions/download-artifact v4→v7 upgrade).

## Root Cause

The v5+ release of `download-artifact` changed behavior: when a
`pattern` matches only a **single artifact**, files are extracted
directly to `path/` without the artifact name subdirectory. When only
one shard had changes, the merge loop couldn't find the expected
`snapshots-shard-*/` directories.

## Fix

Use `merge-multiple: true` — the documented pattern for combining
sharded artifacts. This merges all matched artifacts directly into the
target path, eliminating directory structure assumptions.

## Testing

This fix can be validated by re-running the workflow on [PR
#8276](#8276) after
merge.

---
- Fixes snapshot update workflow regression from #8377

┆Issue is synchronized with this [Notion
page](https://www.notion.so/PR-8432-fix-use-merge-multiple-for-snapshot-artifact-download-2f76d73d3650810b97fdfe28cd3c7694)
by [Unito](https://www.unito.io)

Co-authored-by: Subagent 5 <subagent@example.com>
Co-authored-by: Amp <amp@ampcode.com>
DrJKL pushed a commit that referenced this pull request Jan 31, 2026
## Summary

Fixes the snapshot merge failure introduced by PR #8377
(actions/download-artifact v4→v7 upgrade).

## Root Cause

The v5+ release of `download-artifact` changed behavior: when a
`pattern` matches only a **single artifact**, files are extracted
directly to `path/` without the artifact name subdirectory. When only
one shard had changes, the merge loop couldn't find the expected
`snapshots-shard-*/` directories.

## Fix

Use `merge-multiple: true` — the documented pattern for combining
sharded artifacts. This merges all matched artifacts directly into the
target path, eliminating directory structure assumptions.

## Testing

This fix can be validated by re-running the workflow on [PR
#8276](#8276) after
merge.

---
- Fixes snapshot update workflow regression from #8377

┆Issue is synchronized with this [Notion
page](https://www.notion.so/PR-8432-fix-use-merge-multiple-for-snapshot-artifact-download-2f76d73d3650810b97fdfe28cd3c7694)
by [Unito](https://www.unito.io)

Co-authored-by: Subagent 5 <subagent@example.com>
Co-authored-by: Amp <amp@ampcode.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area:CI/CD size:M This PR changes 30-99 lines, ignoring generated files.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants