Граф коммитов

589 Коммитов

Автор SHA1 Сообщение Дата
Chet Husk 85574e4367 mocha test reporting in azdo 2024-05-30 12:37:19 -05:00
Noah Gilson 6946df5bd5
Update Axios Cache Interceptor Bundle for Runtime Error Change (#1810)
* Update axios cache interceptor for bug fix

* Force update axios as well

* Migrate from vsce to @vscode/vsce

This is required for using newer versions of vsce.

* Update Node to 18 from 16 as VSCE now requires 18

* Extend log test timeout since it seems to sometimes take longer

* Make the assert not a question
2024-05-23 22:21:58 +00:00
Chet Husk 64acdca3bc
Update distro schema file to account for changes in the file. (#1801)
* Update distro schema file to account for changes in the file.

Break out the shared types into reusable definitions to make it easier to reflect reality.

* fix offset on required properties
2024-05-23 10:30:42 -07:00
JL03-Yue 607809bf9b
Add global shared file path for extension (#1726)
* add logic for adding a global shared path to extension

* add tests for global path config

* update comment out code

* update mock comment

* remove commented out code in ExtensionConfigurationWorker

* update ExistingPathResolver

* add tests for global shared path

* remove empty line

* resolve duplicate import

* fix tslint

* resolve format comments

* get rid of set global path to avoid type error

* add logic for checking local paths first in ExistingPathResolver

* create set global path method

* fix test

* Fix Typo

* change the field name for global shared path; add sharedExistingDotnetPath to package.json; change get and set method for shared path for ExtensionConfigurationWorker

* fix typo

* update readme for global shared path

* Add more examples to the path for .NET

* Consolidate read.me section to one page

* Simplify Logic for Failure to set Manual Path

I thought about the direction this should go, and I think that the old logic only makes sense because we'd need to concat the existing settings. In this case we are setting the global setting, so we can just add it without having to do any additional logic.

* Consolidate setting global and local to one function for simplicity

* update sample page to use the string instead of path obj

* Refactor path setting functions to two separate ones

We need to access the configuration with the direct objects the users can use the settings json file, hence this could not be simplified to a shared object.

* update class member names to disambiguate overloaded terms

* Check whether a matching extension id extension exists before calling the global path

* Make read.me more clear

* Update read.me to show that the example is only an example

* .some may not exist in certain versions so dont use it?

* Dont activate the runtime extension under test

* dont rely on test env variable since we cant set one within vscode launch profile

* Fix ability to run extension tests under launch json

We activate the extension in the test to inject custom objects to track 'telemetry' under test and analyze the telemetry events to ensure things are going well.

We cant activate the extension twice.
In the recent past we made a change to auto activate as a necessity to check the operating system before exposing APIs to users that were not available on their OS.

When I made that change I think we actually broke the ability to run the runtime extension tests under the launch profile. This fixes that.

* Remove global setting from test

This setting impacts the return path of all tests when correctly implemented. We dont want to dupe the extension test configuration for a single test to run it with a different configuration either, so we cant test it this way.

* Add tests that dont rely on the extension

* fix typo

* improve warning messages to correctly diagnose what went wrong

* remark that you need to restart vscode for the setting to take effect

* return empty properties array instead of undefined so properties are forwarded via telemetry observer

---------

Co-authored-by: Noah Gilson <noahgilson@microsoft.com>
Co-authored-by: Noah Gilson <nagilson@umich.edu>
2024-05-07 16:17:04 +00:00
Noah Gilson ce6fcc47f7
Improve the error message for failing to install the .NET SDK. (#1770)
* Improve the error message for failing to install the .NET SDK.

* Use https in the url.
2024-04-24 15:59:37 -07:00
Noah Gilson 63803e87c5
Always collect install script stdout and stderr. (#1769)
Per our discussion at https://github.com/dotnet/vscode-dotnet-runtime/issues/1741#issuecomment-2051238090, it would be useful to have stdout even if we dont error, because the error condition is only if:

When running the install script:
The process could not be spawned.
The process could not be killed.
Sending a message to the child process failed.
The child process was aborted via the signal option.
2024-04-24 15:47:10 -07:00
Noah Gilson cc510402c2
Protect against no versions of .NET to recommend (#1768)
* Update Dependencies

* Remove is online

Is-online now requires ES6.
It has not been maintained in over 2 years.
The checks it does are fairly rudimentary. We only rely on this code to try to diagnose the error which has already happened.
I would trust this code rather than rely on external libraries.

* Fix timeout logic for no is online

* Fix Linting Issues

* Protect against no versions of .NET to recommend

The API contract is to return an IDotnetVersion which is an array of versions. If there are no packages of .NET available to install, we should have a specific message for that and return an empty array instead of what we do right now, which is

a - returning a bad version
b - returning undefined
c - erroring out

* respond to linter to accept any error type
2024-04-24 14:51:41 -07:00
Noah Gilson dc058c717e
Update Is Online Lookup (#1758)
* Update Dependencies

* Remove is online

Is-online now requires ES6.
It has not been maintained in over 2 years.
The checks it does are fairly rudimentary. We only rely on this code to try to diagnose the error which has already happened.
I would trust this code rather than rely on external libraries.

* Fix timeout logic for no is online

* Fix Linting Issues
2024-04-18 11:04:38 -07:00
Noah Gilson f60f952a25
collect stack trace on axios error to diagnose better (#1745) 2024-04-11 13:59:09 -07:00
Noah Gilson 0289a6d048
Migrate to 1ES Pipeline (#1679)
* Migrate pipeline to 1es

* Clean up changes made from migration tool

* Separate pipeline out into many yaml files so we can have 2 pipelines without code duplication
due to new internal requirement

* remove unncessary pipeline backup

* Remove pipeline from 1es for public as it is not going to be added to the organization in public

* Update yaml loop logic
Remove devcontainer as it is out of compliance and not used by anyone

* fix mappping by adding body to the loop with indentation:

* add a 1es repository

* Create a separate 1es pipeline

* use self to search in the correct repository

* migrate to self on 1es

* use folder name pipeline-templates over templates

* use yaml over yml

* temporarily move jobs into one os

* split pools

* Move the loop to out of the job

* move the task into steps instead of a job as u cant do a job in a job

* remove template keyword

* dont call steps template in job outside of steps

* use yaml instead of yml

* add sdl

* use unique names for jobs

* use _ instead of space

* Use azure pipelines name to conform to style

* give image to each parameter

* make it 1 os for 1 os job and use different pool

* Call pool explicyk

* try to fix names

* Use different source for mac instead of 1es

* Update get-func-name

* Update public PR pipeline

* use public pool as thats what the name param is for

* give image name instead of vmimage as it snot used

* try to switch to a better pool

* try using internal pool on public as external is not available

* Publish logs to os specific folder

* condition steps so they are skipped if not needed per os

* dont care if it succeeded

* add paran

* remove paran

* use parameter pools instead of agent os

* move to 7.0 instead of 6 bc six is broken in the cache online maybe

* switch to 1es pool

* try using public  pool

* See if mac pipeline has a mirror in svc

* use image names from open

* Use vm image in the image

* Use vm image in the image

* update vm image

* try to condition the pool

* code cleanup now that everything was working

* fix whitespace

* Update vscode-test

* Update vscode-test to the new name

* respond to most pr feedback

* rename the file as I cannot change the pipeline name while its in main maybe
2024-03-14 15:09:21 -07:00
Noah Gilson 7805325c01 Change Bad Versions Into Cancellations Instead of Error
When users enter manual versions we will see a lot more bad version strings which currently are reported as a failure for us to acquire. We dont want to pollute the telemetry with bad data for failure analysis.

When doing this change, I also improved logging for powershell and noticed some cancellation errors are still counted as failure due to some bugs like throwing a new error instead of bumping up the error, and some places throw the event and others throw the error inside of the event, We need to update the code to do both, although it is probably better to migrate all code to one system, that is a big change I dont want to do right now
2024-02-22 11:55:57 -08:00
Noah Gilson 1f0f2cf4fc Add logging for wsl detection 2024-02-21 15:11:30 -08:00
Noah Gilson b4e5ea63af Make version parsing always work for extended runtime versions 2024-02-21 14:38:54 -08:00
Noah Gilson 72c5f863a7
Parenthesize the order of operations for and logic to represent correct behavior 2024-02-21 13:41:21 -08:00
annie 329671857e Change options to include red hat 2024-02-20 13:49:18 -08:00
annie 3629d4e968 Add more option to include red hat 2024-02-20 13:15:45 -08:00
annie c1d4de1f30 change to original state 2024-02-13 21:22:00 -08:00
annie d8974edfe0 Merge branch 'origin/jl03-version-split' of https://github.com/JL03-Yue/vscode-dotnet-runtime into origin/jl03-version-split 2024-02-13 21:11:40 -08:00
annie 6ab592e66d add version split option for test 2024-02-13 21:10:54 -08:00
JL03-Yue e15e8d0d7b
Merge branch 'main' into origin/jl03-version-split 2024-02-13 16:45:31 -08:00
annie 751a219a0e change version split for test 2024-02-13 16:42:35 -08:00
Noah Gilson 67e7786fca Improve error message for existing installs. 2024-02-06 14:14:34 -08:00
Noah Gilson fad035f4ac
Remove message as it already exists once before 2024-02-06 13:55:11 -08:00
Noah Gilson 3329c09c32 Add a message for when we dont need to do another install 2024-02-06 10:58:53 -08:00
Noah Gilson 539792b982 consider update a terminal failure
if we fail to update we are probably still fine
but update is sometimes the first command to be executed
if it is the first and fails, then we will continue with the master process being dead
while thinking it is alive
2024-02-06 10:28:12 -08:00
Noah Gilson 38aa367f95 resolve with stderr, err still gets posted fine 2024-02-05 16:39:08 -08:00
Noah Gilson 03d53e45bb
Merge branch 'main' into nagilson-stderr-insr 2024-02-05 15:43:27 -08:00
Noah Gilson ffd97360ec Fix WSL Check to work if we dont know if we are running under linux yet 2024-02-05 13:45:59 -08:00
Noah Gilson 45e0bafd38 Merge RHEL test change with api change 2024-02-05 12:41:38 -08:00
Noah Gilson 4784d1d24d Merge branch 'nagilson-2.0.2-release' of https://github.com/nagilson/vscode-dotnet-runtime into nagilson-2.0.2-release 2024-02-05 12:37:04 -08:00
Noah Gilson 6bdfdb788e Add preview flag to enable public command 2024-02-05 12:36:51 -08:00
Noah Gilson f7c9b363bb
Merge branch 'main' into nagilson-2.0.2-release 2024-02-05 12:34:45 -08:00
Noah Gilson 6b66731a54 Update to 8.0 for test 2024-02-05 10:54:20 -08:00
Noah Gilson b654998f1a 8.0 is now available in the feed, so update test to expect 8.0 2024-02-05 10:27:45 -08:00
Noah Gilson e82554f249 Dont run RHEL tests on ubuntu now that they cover things properly 2024-02-05 10:22:05 -08:00
Noah Gilson 55d0617a6d Fix potential dependency chain where
Injecting the feed checks for the support status to make sure it should inject the feed
To check the support status it would check which versions are available
To do that check, the PMC feed is added in part of the version check if it has not been done before
Which could result in an infinite recursive stack without this new boolean check
2024-02-05 10:05:14 -08:00
Noah Gilson 101343761d Update linux tests to have a message stating why tsts will fail when you add support for newer versions 2024-02-01 16:51:56 -08:00
Noah Gilson 799fe4b06b update rhel tests to use the correct version 2024-02-01 16:21:29 -08:00
Noah Gilson 74917a7451 update ubuntu test to expect regex 2024-02-01 16:09:23 -08:00
Noah Gilson 5e2e76bcd1 Fix mock object to make the owned executor have the same return status state 2024-02-01 15:42:45 -08:00
Noah Gilson 0c840f4c25 Use --names-only plus regex to filter packages to only be their exact match and remove extraneous output 2024-02-01 15:22:17 -08:00
Noah Gilson 9a86065f66 Add in 8.0 and 9.0 future support for linux
This is to prevent breakage from occuring in the future. Also 8 is already supported.
2024-02-01 10:54:41 -08:00
Noah Gilson 8ed796f464 Respond to PR Feedback, Add Traps & Unknown Cmd Exit Detection
Add ability to detect and report when an Unknown command is executed
Use traps to ensure clean up
Remove . from Installer Name in backup option as . is not supported
2024-02-01 10:50:56 -08:00
Noah Gilson a939cea64a
Add a comment about what we should eventually do in the shell script
Co-authored-by: Chet Husk <baronfel@users.noreply.github.com>
2024-01-31 16:10:39 -08:00
Noah Gilson 332195fac9
Comment out uneeded code
we could get rid of it.... but it saves time for me to keep it so xd

Co-authored-by: Chet Husk <baronfel@users.noreply.github.com>
2024-01-31 16:10:15 -08:00
Noah Gilson 285aeed36a Add doc page about adding distros for open source 2024-01-31 16:07:20 -08:00
Noah Gilson 83f1d95cc1 Obtain the real support phase for the linux resolved version 2024-01-31 15:37:26 -08:00
Noah Gilson 018ed651f0 Implement recommended version linux code for API callers to suggest an in support version for that distro 2024-01-31 14:33:01 -08:00
Noah Gilson 15088375f6 Dont treat stderr as error for old install script invoker, as more than failure goes into stderr... 2024-01-30 11:43:47 -08:00
Noah Gilson 6d9e72c47f Change the timeout for command execution to be based on the timeout for the script 2024-01-26 11:44:14 -08:00