- Move completed tasks (85, 117, 118, 155) to backlog/completed/ - Delete superseded task files (166 verification, 172 drilldown) - Add stats dashboard milestone m-1 - Add new tasks (190, 194) - Update task metadata across remaining backlog items - Add changelog fragments for stats, mpv args, and subtitle filtering
3.4 KiB
id, title, status, assignee, created_date, updated_date, labels, dependencies, references, priority, ordinal
| id | title | status | assignee | created_date | updated_date | labels | dependencies | references | priority | ordinal | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| TASK-166 | Prevent AUR upgrade cache collisions for unversioned release assets | Done |
|
2026-03-17 18:10 | 2026-03-18 05:28 |
|
|
|
medium | 107500 |
Description
Fix the AUR release metadata generated by the tagged-release workflow so end-user upgrades do not reuse stale cached downloads for unversioned subminer and subminer-assets.tar.gz source names.
Acceptance Criteria
- #1 AUR packaging generated for a new
pkgveruses versioned local source aliases for the non-versioned GitHub release assets. - #2 The package install step references the versioned local launcher filename correctly.
- #3 Regression coverage fails if metadata generation reintroduces stable cache-colliding source aliases.
- #4 Targeted verification records the commands run and results.
Implementation Plan
- Add a failing regression test around
scripts/update-aur-package.shoutput for versioned local source aliases. - Update the repo AUR template and
.SRCINFOrewrite logic to stamp versioned alias names forsubminerandsubminer-assets. - Verify the generated metadata and targeted workflow/package tests, then record results here.
Implementation Notes
Root cause: the AUR package used stable local source aliases for the unversioned subminer and subminer-assets.tar.gz GitHub release assets. makepkg/AUR helpers can reuse those cached filenames across upgrades, so a stale cached download survives into a newer pkgver and then fails checksum validation.
Patched the repo AUR template to version the local cache aliases:
subminer-${pkgver}::.../subminersubminer-assets-${pkgver}.tar.gz::.../subminer-assets.tar.gz
Updated package() to install the versioned local wrapper filename, and updated scripts/update-aur-package.sh so the generated .SRCINFO stamps matching concrete versioned aliases for release automation.
Added regression assertions in scripts/update-aur-package.test.ts covering both versioned source aliases and the launcher install path, then watched that test fail before the patch and pass after it.
Verification:
bun test scripts/update-aur-package.test.tsbash -n scripts/update-aur-package.sh && bash -n packaging/aur/subminer-bin/PKGBUILDbun run typecheckbun run test:fastbun run test:envbun run buildbun run test:smoke:dist
Final Summary
The tagged-release AUR metadata path now emits versioned local source aliases for the non-versioned GitHub release assets, preventing stale makepkg cache reuse across subminer-bin upgrades. The change is covered by a regression test and passed the repo's maintained verification gate.