XS✔ ◾ Include version number in release installer filename - #1019
ssw-armada[bot] wants to merge 1 commit into
Conversation
The Windows installer's stable download link was always named YakShaver-latest-Setup.exe, making it impossible to tell which version was downloaded when comparing multiple downloaded files. Rename it to YakShaver-ai-Setup-v<version>.exe so the filename carries the release version.
PR Metrics✔ Thanks for keeping your pull request small.
Metrics computed by PR Metrics. Add it to your Azure DevOps and GitHub PRs! |
|
🚀 Pre-release build is available for this PR: |
|
🔭 crows-nest: ready-PR pipeline started — review → address → re-validate → gated merge. |
🔭 muster review — PR #1019Verdict: no blocking findings — review advisory only.
code-review lens: 0 findings. The one-line change to
Summary: 0 blocking, 0 major, 0 minor, 0 nit. — posted by ARMADA muster (single-lens, degraded: codex-rescue unavailable) |
|
🔭 crows-nest: blocked — review degraded (codex-rescue lens unavailable in this environment) — a missing review is not a green light per the merge gate. Zero findings from the code-review lens (single lens); CI is green and the PR is mergeable, so once a second-lens review can run cleanly (or a human overrides), this should clear quickly. Needs a human look. |
| # Create a copy with fixed name | ||
| $fixedName = "YakShaver-latest-Setup.exe" | ||
| # Create a copy named with the release version so it's clear which build is latest | ||
| $fixedName = "YakShaver-ai-Setup-v$VERSION.exe" |
There was a problem hiding this comment.
On our product page we are linking to the file YakShaver-latest-Setup.exe which this PR will modify. Is it possible to create an alias or automatically link to the latest file at all times so that we do not have to update the link on our product page?
|
Hi there! This PR has been here a while. Did you know you should avoid merge debt? Please review and merge or close. Thanks! |
|
🔭 crows-nest: ready-PR pipeline started — review → address → re-validate → gated merge. |
🔭 muster review — PR #1019Verdict: 1 blocking finding — do not merge as-is.
Findings (code-review lens)🔴 Blocking — This PR changes 🟠 Major — Summary
Dispatching shipwright in address-review mode to fix the blocking finding before re-validating. |
|
🔭 crows-nest: address-review — investigated the blocking finding before implementing, and found the fix is not as simple as updating the asset-name check. What I confirmed:
Why I'm not just patching the ASSET check — a deeper conflict: Issue #1017 asks to embed the version into that same filename (
I don't have access to the Recommendation for a human: pick one before merging —
I haven't pushed any change — this needs a product/design call, not a mechanical fix, so I'm leaving this blocked for a human rather than guessing. (Separately: the |
|
🔭 crows-nest: blocked — 1 unresolved blocking finding (publish-release asset-check drift, needs a product decision on the stable-download-link tradeoff — see comment above) + review degraded (codex-rescue lens unavailable in this environment) + branch protections not satisfied (review required, no approving review yet). Needs a human. Not retried automatically until the blocking finding is resolved or |
Summary
YakShaver-latest-Setup.exe, so when multiple installers are downloaded over time there's no way to tell which version is which just from the filename.YakShaver-ai-Setup-v<version>.exeinstead, embedding the release version directly in the filename, per the acceptance criteria in the issue.Closes #1017
What changed
.github/workflows/release-electron-app.yml: the Windows release job now names the copied installerYakShaver-ai-Setup-v$VERSION.exe(where$VERSIONis the same release version/tag already used elsewhere in that job to bumppackage.jsonand to select the GitHub release to upload to), instead of the old genericYakShaver-latest-Setup.exe.YakShaver-latest-{arm64,x64}.dmgfixed-name artifacts were intentionally left as-is — the issue's acceptance criterion is specific to the Windows...Setup.exefilename format (YakShaver-ai-Setup-v<version number>.exe).Acceptance criteria mapping
YakShaver-ai-Setup-v<version number>.exe→ implemented in the "Create fixed-name artifacts for stable download links" step ofrelease-electron-app.yml.Testing performed
This is a CI workflow (YAML) change with no source code impact; ran the full project validation suite to confirm nothing else was affected:
npm run build— passed (tscclean)npm rebuild better-sqlite3 --build-from-source && npx vitest run --exclude 'src/ui/**'— 83 files / 929 tests passednpm --prefix src/ui test— 45 files / 317 tests passednpm run lint— clean (biome, 0 errors)The workflow step itself can't be exercised locally (it only runs in the
release: publishedGitHub Actions context), so it was reviewed carefully against the existing, working pattern in the same job (the$VERSIONvariable is already used the same way a few lines below, in thegh release upload "$VERSION" ...call), and the string-interpolation syntax was double-checked for correctness.