Skip to content

fix: generate tag-pinned release installer assets#213

Merged
DeadWaveWave merged 1 commit intomainfrom
fix/release-installer-tagged-assets
May 1, 2026
Merged

fix: generate tag-pinned release installer assets#213
DeadWaveWave merged 1 commit intomainfrom
fix/release-installer-tagged-assets

Conversation

@DeadWaveWave
Copy link
Copy Markdown
Owner

💡 Change Scope

  • Small Change: Fast feedback, localized UI/logic, low-risk.
  • Large Change: New feature, cross-boundary logic, runtime-risk (persistence, IPC, lifecycle, recovery).

📝 What Does This PR Do?

Fixes the standalone installer release asset semantics so nightly and stable no longer share the same ambiguous script assets.

What changed:

  • Generate tag-pinned installer/uninstaller assets for every release, with filenames that include the release tag.
  • Nightly releases now publish only the tag-pinned installer assets, and those scripts default to downloading assets from that exact nightly tag.
  • Stable releases publish both the tag-pinned installer assets and the generic opencove-install.* / opencove-uninstall.* aliases.
  • The generic aliases continue to default to releases/latest/download, so they always track the latest stable release.
  • Release publishing now uploads the generated installer assets from release-assets/* instead of the raw repo templates.
  • Added a unit test that locks down the nightly vs stable asset matrix and the default download URL behavior.

🏗️ Large Change Spec (Required if "Large Change" is checked)

N/A. This PR is a localized release-asset behavior fix.


✅ Delivery & Compliance Checklist

  • My code passes the ultimate gatekeeper: pnpm pre-commit is completely green.
  • I have signed the CLA if required (see CLA.md).
  • I have included new tests to lock down the behavior (or explicitly stated why it's untestable).
  • I have strictly adhered to the DEVELOPMENT.md architectural boundaries.
  • I have attached a screenshot or screen recording (if this touches the UI).
  • I have updated the documentation accordingly (if adding a feature or changing a contract).

Verification completed:

  • pnpm exec vitest run tests/unit/scripts/release-installer-assets.spec.ts
  • OPENCOVE_RELEASE_TAG=v0.2.0-nightly.20260501.1 node scripts/generate-release-installer-assets.mjs /tmp/opencove-release-assets-nightly
  • OPENCOVE_RELEASE_TAG=v0.2.1 node scripts/generate-release-installer-assets.mjs /tmp/opencove-release-assets-stable
  • pnpm line-check:staged
  • pnpm naming-check:staged
  • pnpm secret-check:staged
  • pnpm format-check:staged
  • pnpm test:staged

Not run:

  • pnpm pre-commit (full suite not necessary for this localized release asset fix)
  • Docs updates were intentionally left out of this PR because the corresponding local docs files already have unrelated in-progress edits in the working tree.

📸 Screenshots / Visual Evidence

N/A: no UI surface changed.

@DeadWaveWave DeadWaveWave merged commit 1056ea5 into main May 1, 2026
6 of 7 checks passed
@DeadWaveWave DeadWaveWave deleted the fix/release-installer-tagged-assets branch May 1, 2026 07:56
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant