Skip to content

feat(release): make the self-contained archive the unsuffixed asset - #185

Merged
ShortArrow merged 1 commit into
mainfrom
feat/release-asset-naming
Aug 25, 2026
Merged

feat(release): make the self-contained archive the unsuffixed asset#185
ShortArrow merged 1 commit into
mainfrom
feat/release-asset-naming

Conversation

@ShortArrow

Copy link
Copy Markdown
Owner

From the next release, the self-contained build ships as ivicli-<version>-<rid>.zip. The framework-dependent build keeps -fxdep.

Why

Every platform had two assets whose names both matched it. Installers that pick by platform therefore had to break the tie themselves, and mise picks -fxdep — verified against the live v0.3.1 release: mise install github:ShortArrow/ivi-cli downloads ivicli-0.3.1-win-x64-fxdep.zip, the build that needs a .NET runtime. A user reaching for ivi-cli through a version manager is the least likely to want a runtime prerequisite, and on a machine with no .NET the framework-dependent build is not even smaller once the runtime chain is counted: measured on Arch, 3 MB of app plus 97.29 MiB of dotnet-runtime + aspnet-runtime + dotnet-host + libunwind, against 102 MiB for the self-contained build. The suffix now marks the build with the prerequisite, and the plain name gets the one that runs anywhere.

Scope

release.yml's bundling step only. Three things deliberately unchanged:

  • The staging directory names (./artifacts/<rid>-selfcontained/) stay as they are — docker/Dockerfile and pr-docker-smoke.yml consume them, and they are internal to the build rather than part of the published surface. The grep that finds selfcontained in this repo hits both roles; only the asset name moves.
  • -fxdep.zip URLs are untouched.
  • Documentation and the AUR PKGBUILD, which point at v0.3.1 and are correct as they stand. They follow when the version bumps, at which point the mise section can be rewritten against an actually-published unsuffixed asset rather than against a prediction — the selection rule is empirical, and this PR is the experiment.

Breaking

A pinned URL for -selfcontained.zip will 404 on the next release. Recorded in the CHANGELOG. The container is unaffected: it builds from the publish output, not from these archives.

Tools that pick a release asset by platform saw two candidates per RID
and took the framework-dependent one, handing users a build that needs
.NET installed; the build that runs anywhere now carries the plain name.
@ShortArrow
ShortArrow merged commit 05454e7 into main Aug 25, 2026
8 checks passed
@ShortArrow
ShortArrow deleted the feat/release-asset-naming branch August 25, 2026 01:04
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