DamianEdwards / DamianEdwards/kusto-cli
Implement self-updating
Nobody has claimed this yet.
- Dominant language
- C#
- Stars
- 8
- Forks
- 3
- Avg merge
- 1d 35m
- Merged PRs (30d)
- 12
Description
NOTE: Need to create an installation experience first! See #10
DO NOT IMPLEMENT SELF-UPDATING FOR A GIVEN PLATFORM UNTIL ARTIFACT SIGNING IS COMPLETE FOR THAT PLATFORM
The CLI should detect and self-update to the latest version, similar to logic implemented in https://github.com/DamianEdwards/dotnet-dev-certs-plus/pull/4 adjusted appropriately for this CLI including:
- The source for updates are the releases on this repo (including the rolling dev release) Not nuget.org
- The CLI has its version embedded in it so it can be checked against the available versions to see if a newer one is available
- The logic should use the latest stable version of the
NuGet.Versioningpackage to do version comparison logic - The CLI will need a way to actually install the update here because it's a standalone executable, e.g.
kusto update --checkto check for updates,kusto updateto install an update. At this point we will NOT implement automatic self-updating, rather automatic checking will take place (like the referenced PR) and when one is available a yellow message will be printed in the output of every other command. - After downloading a new version, it should be checked to ensure the SHA256 of its contents matches what's recorded in the GH release for that asset
- The actual update command will need to properly handle updating the executable while it's running, e.g. rename current file to release lock before copying over new file
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Review issue #10 for the installation experience and confirm artifact signing requirements before starting. Then study the referenced dotnet-dev-certs-plus pull request and the NuGet.Versioning approach, along with this repository's GitHub release assets. Done means stable and rolling releases can be checked, SHA256-verified, reported, and installed through the specified update commands without implementing automatic updating.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- csharp, github
- Domain
- cli, release, security
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100