Skip to content

add: 文件整理桌面版与自动发布流程 #1

add: 文件整理桌面版与自动发布流程

add: 文件整理桌面版与自动发布流程 #1

Triggered via push July 4, 2026 09:25
Status Failure
Total duration 49s
Artifacts

release.yml

on: push
Build Windows exe and publish release
44s
Build Windows exe and publish release
Fit to window
Zoom out
Zoom in

Annotations

5 errors and 1 warning
Build Windows exe and publish release
Process completed with exit code 1.
tests/ui-layout.test.js > album manager layout controls > separates toolbar filters from right-side actions with a compact subfolder toggle: tests/ui-layout.test.js#L126
AssertionError: expected ':root {\r\n font-family: Inter, "Mic…' to contain '.toolbar-filters {\n display: flex;\…' - Expected + Received - .toolbar-filters { - display: flex; - align-items: center; - justify-content: flex-start; + :root { + font-family: Inter, "Microsoft YaHei UI", "Microsoft YaHei", system-ui, sans-serif; + color: #172033; + background: #f6f8fc; + font-synthesis: none; + text-rendering: optimizeLegibility; + -webkit-font-smoothing: antialiased; + --bg: #f6f8fc; + --panel: #ffffff; + --panel-soft: #eef4ff; + --text: #172033; + --muted: #64748b; + --line: #d8e2f0; + --accent: #2563eb; + --accent-dark: #1d4ed8; + --accent-soft: #dbeafe; + --amber: #b7791f; + --red: #b42318; + --shadow: 0 14px 32px rgba(37, 99, 235, 0.1); + } + + * { + box-sizing: border-box; + } + + body { + margin: 0; + min-width: 320px; + min-height: 720px; + background: var(--bg); + } + + button, + input { + font: inherit; + } + + button { + border: 0; + } + + .app-shell { + display: grid; + grid-template-rows: auto minmax(0, 1fr); + height: 100vh; + color: var(--text); + } + + .toolbar { + display: grid; + grid-template-columns: minmax(420px, 1fr) auto; + align-items: center; + gap: 16px; + padding: 10px 24px; + background: rgba(255, 255, 255, 0.92); + border-bottom: 1px solid var(--line); + } + + .inline-actions, + .tile-actions { + display: flex; + align-items: center; + } + + .preview-header h2, + .panel-section h2, + .day-group h2, + .empty-state h2, + .history-page h1 { + margin: 0; + letter-spacing: 0; + } + + .toolbar-spacer { + min-width: 0; + } + + .toolbar-filters { + display: flex; + align-items: center; + justify-content: flex-start; + min-width: 0; + gap: 8px; + } + + .toolbar-actions { + display: flex; + align-items: center; + justify-content: flex-end; + flex: 0 0 auto; + gap: 12px; + } + + .toolbar-secondary-actions, + .toolbar-primary-actions { + display: flex; + align-items: center; + gap: 8px; + } + + .toolbar-primary-actions { + padding-left: 12px; + border-left: 1px solid var(--line); + } + + .toolbar-menu-control { + position: relative; + display: inline-flex; + } + + .toolbar-menu-button.active { + color: #1d4ed8; + background: #eff6ff; + border-color: #93c5fd; + } + + .toolbar-menu-button svg:last-child { + margin-left: -3px; + } + + .toolbar-dropdown, + .toolbar-filter-dropdown, + .toolbar-page-dropdown { + position: absolute; + top: calc(100% + 8px); + right: 0; + z-index: 20; + display: grid; + min-width: 154px; + gap: 4px; + padding: 6px; + background: #fff; + border: 1px solid var(--line); + border-radius: 8px; + box-shadow: var(--shadow); + } + + .toolbar-filter-dropdown { + right: auto; + left: 0; + min-width: 124px; + } + + .toolbar-page-dropdown { + min-width: 118px; + gap: 2px; + padding: 4px; + } + + .toolbar-dropdown button, + .toolbar-filter-dropdown button, + .toolbar-page-dropdown button { + display: flex; + align-items: center; + justify-content: flex-start; + min-height: 34px; + gap: 8px; + padding: 0 10px; + color: #1e293b; + background: transparent; + border-radius: 6px; + cursor: pointer; + font-size: 13px; + font-weight: 700; + white-space: nowrap; + } + + .toolbar-dropdown button:hover:not(:disabled), + .toolbar-filter-dropdown button:hover:not(:disabled), + .toolbar-page-dropdown button:hover:not(:disabled), + .toolbar-filter-dropdown button.active, + .toolbar-page-dropdown button.active { + background: #eef4ff; + } + + .toolbar-filter-dropdown button.active, + .toolbar-page-dropdown button.active { + color: #1d4ed8; + } + + .toolbar-page-dropdown button { + min-height: 30px; + gap: 7px; + padding: 0 9px; + border-radius: 5px; + } + + .toolbar-page-dropdown button.active {
tests/rename-plan.test.js > rename planning > builds collision-safe rename operations and preserves extensions: tests/rename-plan.test.js#L52
AssertionError: expected [ '20260101_020000.jpg', …(1) ] to deeply equal [ '20260101_100000.jpg', …(1) ] - Expected + Received [ - "20260101_100000.jpg", - "20260101_100000-2.jpg", + "20260101_020000.jpg", + "20260101_020000-2.jpg", ] ❯ tests/rename-plan.test.js:52:56
tests/rename-plan.test.js > rename planning > renders the default short folder and file naming formats: tests/rename-plan.test.js#L26
AssertionError: expected '260202_IMG_0099' to be '260203_IMG_0099' // Object.is equality Expected: "260203_IMG_0099" Received: "260202_IMG_0099" ❯ tests/rename-plan.test.js:26:67
tests/rename-plan.test.js > rename planning > renders custom name templates from media metadata: tests/rename-plan.test.js#L13
AssertionError: expected '2026-02-02_200506_image_007' to be '2026-02-03_040506_image_007' // Object.is equality Expected: "2026-02-03_040506_image_007" Received: "2026-02-02_200506_image_007" ❯ tests/rename-plan.test.js:13:90
Build Windows exe and publish release
Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: actions/checkout@v4, actions/setup-node@v4. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/