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

admin install linux #5

Draft
wants to merge 74 commits into
base: nagilson-admin-install
Choose a base branch
from

Conversation

nagilson
Copy link
Owner

@nagilson nagilson commented Jun 5, 2023

No description provided.

…w a 'failure' on the test even if the exception is caught and expected in an assert
…imes to properly reflect what the command does better
…ets you pick either runtimes or SDKs, so the old name was technically incorrect even though it was less verbose
@nagilson nagilson force-pushed the nagilson-admin-install-linux branch from 0ce832b to 2a8d4cf Compare June 14, 2023 23:47
nagilson and others added 26 commits June 15, 2023 09:48
…o be tested more to see command output and results not on admin), and add nornt option to skip building the runtime ext
…it synchronous, add a base implementation for every single command.
installcommand works up to replacing the {0}, which should be fixed now, check runcommand on wsl and such
…Resolver and make it easier to test.

Need to fix the remaining bug in detecting if valid or fully specified version
…nsion

VSCode added support for no activiation events in vsce with 1.74.0, the vsce package will fail until this update was added to bump vscode engine in the sample extension. VSCE is also deprecated and you must use @vscode/vsce now.
We needed to add the mock executor to the mock distro provider so we could see if it tried to run the install command or the update command. I also added a test to see if things are rejected (when you try to install a lower major.minor than what's already on the machine) but we should see if we want that behavior by checking in with the PMs on the team!
We needed to create a sample extension VSIX for testing but now we want to allow debugging it again, so this reverts that part of the commit. We didnt just revert the commit as it included changes to vscode versions needed to run
…dk and runtime agnostic.

Since classes will be running a global install of the sdk and the runtime in the future, it makes sense to rename them now. The word SDK also makes them more verbose.

This implements the tests for the global installer resolver. It also makes improvements to said resolver I observed while testing. We never needed, to check for mac conflicting installs as they would be caught by the mac installer.

I added a file for the windows and mac installer tests that will be implemented soon.
This is so it can be read during PR Review and by the public. Thank you to many who contributed their thoughts, including but not limited to @baronfel, @rlander, and @leecow.
This also removes some of the remaining todo checks that required verifying that things worked.

The windows and mac install tests are failing. Those 2 still need to be fixed.
The directory deletion did not work correctly and the file download would throw with concurrent requests which has been fixed. Passes all library tests. Next the end to end tests should be fixed, todos checked, and code cleaned up.
The e2e test has added an option to not actually do the install via the environment variable `VSCODE_DOTNET_GLOBAL_INSTALL_FAKE_PATH`. We dont want to run the install as it'd put things on our build machines and quickly escalate into a disaster for other repositories.

We now set the PATH for a global install because there is no linux installer that sets the path.

This also includes minor improvements to other tests like using assert.includes instead of just asserting is true and checking substring.includes.
We added this to assist in the reviewing process.
Also expanded the details for why we use a distro json file.
We do not have logic to do an uninstall for the global install yet, but it's good to be able to check for a partial install and log it nontheless, which is what we do here.

We fixed the windows installer to use the installer status exit code instead of stdout because the windows installer does not print to stdout or stderr. We also dont want to fail on reboot success codes.

We also cleaned up code by removing unneeded includes. Moving a test string into a file.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants