Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Problems with new dev experience on fresh Windows install #1074

Open
rmunn opened this issue Sep 26, 2024 · 2 comments · May be fixed by #1117
Open

Problems with new dev experience on fresh Windows install #1074

rmunn opened this issue Sep 26, 2024 · 2 comments · May be fixed by #1117
Assignees
Labels
bug Something isn't working

Comments

@rmunn
Copy link
Contributor

rmunn commented Sep 26, 2024

Describe the bug
I just got a new laptop and decided to be a naïve new developer for a minute. I installed VS Code (and Visual Studio), installed Git for Windows (I wasn't a completely naïve new dev), and read the README file. I then installed Docker Desktop, Skaffold, and Task as recommended. All went well at first, but then I hit the following snags.

When I ran "task setup" for the first time, Windows wouldn't let me run the Powershell script to download sena-3.zip and elawa.zip: default execution policy (Restricted) forbids running .ps1 scripts. I had to read and understand the error message taking me to the Microsoft documentation, and understand that I had to run Set-ExecutionPolicy to set the execution policy to RemoteSigned. Then I was able to run task setup and then task up. (This is where I briefly stopped pretending to be a naïve dev, and skimmed through the documentation looking for the exact syntax since I already understood the concepts. If I'd been a complete newbie, I would probably have taken 1-2 hours to understand what I needed to do here).

The first time I ran task up, it failed because I hadn't realized that the Skaffold file I downloaded was a standalone exe, not an installer. That was simple to solve, though.

When I browsed to localhost and signed in as admin, everything looked good... until I clicked on a project (sena-3). Then I got a bunch of error messages about Mongo connections not being able to be established, and I couldn't load the project. I had to clone the web-languageforge repo and get LF up and running before I could proceed with testing local Lexbox.

Finally, as a long-standing Linux dev I wanted to get my SSH private and public keys copied over to the new laptop so I could clone [email protected]:sillsdev/languageforge-lexbox, but in the character of a naïve dev I would probably not be as familiar with the Windows SSH subsystem as an experienced Linux dev would be.

Based on the mistakes I made while pretending I was a brand-new dev unfamiliar with the codebase, I suggest the following changes to our README:

Changes needed

  • We should mention the need to run Set-ExecutionPolicy before task setup in our README
  • We should expand a little on the instructions for putting Skaffold in your PATH
  • We may want to guide Windows devs through the process of setting up an SSH public/private keypair and uploading it to Git (Linux devs can be presumed familiar with SSH keypairs and will need much less guidance)
    • It's possible the Git credentials manager is sufficient and git push can be done over HTTPS; I'll have to experiment a little
  • Lexbox using a local copy of Language Forge is good, but there should be a graceful fallback if Language Forge isn't available at all. Being completely unable to access any project pages in the absence of a running LF is not great DX.

That last one might be extracted to a different issue, as that will involve code changes, whereas the other points are just things to note in the README.

@rmunn rmunn added the bug Something isn't working label Sep 26, 2024
@megahirt
Copy link
Contributor

I would suggest that cross-platform Git Credential manager is the recommended way to authenticate with git and that SSH keys auth is less desirable. I think our README should reflect that. GCM is easier, especially if you don't have SSH setup.

@rmunn
Copy link
Contributor Author

rmunn commented Oct 1, 2024

I created #1092 to track that last bullet point. The rest, I will fix with a PR that updates the README.

@rmunn rmunn self-assigned this Oct 1, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants