DamianEdwards / DamianEdwards/kusto-cli

Implement self-updating

Open
#7 1 comment 0 reactions 0 assignees View on GitHub

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.Versioning package 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 --check to check for updates, kusto update to 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

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.