feat(release): make the self-contained archive the unsuffixed asset - #185
Merged
Conversation
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.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
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-clidownloadsivicli-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 ofdotnet-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:./artifacts/<rid>-selfcontained/) stay as they are —docker/Dockerfileandpr-docker-smoke.ymlconsume them, and they are internal to the build rather than part of the published surface. The grep that findsselfcontainedin this repo hits both roles; only the asset name moves.-fxdep.zipURLs are untouched.Breaking
A pinned URL for
-selfcontained.zipwill 404 on the next release. Recorded in the CHANGELOG. The container is unaffected: it builds from the publish output, not from these archives.