helpers icon indicating copy to clipboard operation
helpers copied to clipboard

Add the GitHub CLI installation instructions to the intern on-boarding doc

Open sandeepthalapanane opened this issue 9 months ago • 7 comments

As per the discussion in #392, I will try to include installation instructions for the GitHub CLI for Ubuntu users in the intern.set_up_development_on_laptop.how_to_guide.md. I installed the GitHub CLI on my Ubuntu machine by following the instructions in this link.

Would you also like me to add instructions for setting the GitHub personal access token file name and SSH file name according to the naming conventions in the gh_login() function of the lib_tasks_gh.py script?

ssh_filename = os.path.expanduser(f"~/.ssh/id_rsa.{account}.github")
github_pat_filename = os.path.expanduser(f"~/.ssh/github_pat.{account}.txt")

@samarth9008 @sonniki

sandeepthalapanane avatar Mar 24 '25 18:03 sandeepthalapanane

As per the discussion in https://github.com/causify-ai/helpers/issues/392, I will try to include installation instructions for the GitHub CLI for Ubuntu users in the intern.set_up_development_on_laptop.how_to_guide.md. I installed the GitHub CLI on my Ubuntu machine by following the instructions in this link.

Very good. Is it at all possible to automate the installation (like it's done for macOS users)? Or is it too hard because there are different commands for different Linux distros, etc? Ideally we don't want the user to do any more manual installations than they are already doing but if there is no way to automate, then adding instructions to the docs is the way to go.

Would you also like me to add instructions for setting the GitHub personal access token file name and SSH file name according to the naming conventions in the gh_login() function of the lib_tasks_gh.py script?

Good idea, go for it.

sonniki avatar Mar 24 '25 19:03 sonniki

We could do that since our current support is only for Ubuntu, but as @gpsaggese mentioned in #392, the GitHub CLI is a system-wide package. I tried to install it in the virtual environment, but it ultimately got installed system-wide. If we are okay with users having a system-wide package we could try automating it for Ubuntu.

sandeepthalapanane avatar Mar 24 '25 19:03 sandeepthalapanane

We could do that since our current support is only for Ubuntu, but as @gpsaggese mentioned in #392, the GitHub CLI is a system-wide package. I tried to install it in the virtual environment, but it ultimately got installed system-wide. If we are okay with users having a system-wide package we could try automating it for Ubuntu.

I don't think that's a problem if the users get it installed system-wide. @gpsaggese, @samarth9008 WDYT?

sonniki avatar Mar 24 '25 19:03 sonniki

  1. Yes, system-wide is the way to go (since there is also no alternative). The virtual env is only for Python packages and GH cli is not one of that.

Would you also like me to add instructions for setting the GitHub personal access token file name and SSH file name according to the naming conventions in the gh_login() function of the lib_tasks_gh.py script?

Yes please, but grep the documentation to make sure there is no note there. @sonniki can you check in cmamp too? There might be a note for that but in the including repo. In that case we are ok with the repetition or factoring out the documentation in the innermost repo //helpers

  1. Yes we should try to install it automatically like we do for MacOS. We only support Ubuntu so you can put an assertion and use apt-get. A note on this in the doc might avoid surprises for the user.

Good job @sandeepthalapanane You are going in the right direction

gpsaggese avatar Mar 25 '25 13:03 gpsaggese

Yes please, but grep the documentation to make sure there is no note there. @sonniki can you check in cmamp too? There might be a note for that but in the including repo. In that case we are ok with the repetition or factoring out the documentation in the innermost repo //helpers

I did check the documentation with grep and couldn't find any notes related to the renaming of the SSH and PAT keys. Would you like me to add the instructions to intern.set_up_development_on_laptop.how_to_guide.md or to all.git.how_to_guide.md?

  1. Yes we should try to install it automatically like we do for MacOS. We only support Ubuntu so you can put an assertion and use apt-get. A note on this in the doc might avoid surprises for the user.

I implemented the automation process for Ubuntu, similar to the one we have for macOS. Is it acceptable if the installation requires sudo?

sandeepthalapanane avatar Mar 25 '25 20:03 sandeepthalapanane

I did check the documentation with grep and couldn't find any notes related to the renaming of the SSH and PAT keys.

I've checked cmamp and there is no mention of it in the docs there either.

Would you like me to add the instructions to intern.set_up_development_on_laptop.how_to_guide.md or to all.git.how_to_guide.md?

It should go in the setup doc IMO.

I implemented the automation process for Ubuntu, similar to the one we have for macOS. Is it acceptable if the installation requires sudo?

I think it should be fine. Feel free to file a PR with your implementation + the necessary updates to the docs.

sonniki avatar Mar 27 '25 11:03 sonniki

All good.

  1. I believe sudo is inevitable in this case for Linux.

gpsaggese avatar Mar 27 '25 19:03 gpsaggese

Done, closing

sonniki avatar Mar 31 '25 18:03 sonniki