* Enable Policheck
* Remove the old pipeline
We probably should have done this post 1ES Migration
* azdo is being buggy and not letting me move from 1 to another
so undo this and do it in another pr
Revert "Remove the old pipeline"
This reverts commit 3c4cc97fa0.
* azdo is buggy no more
Revert "azdo is being buggy and not letting me move from 1 to another"
This reverts commit 012133fd34.
* 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
* 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
* 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>
* Update the changelog to include details about this version
* add the release date
* Use \ to get a new line
* Use \ to get a new line for better readability
* Use \ to get a new line for better readability
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.
* 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
* 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
The migration tool and doc examples all use the unofficial one ecks dee
Also create a dupe of the PR pipeline so we can migrate main to that file once it is checked in and then delete the other one to rename it to a more descriptive name.
The migration tool and doc examples all use the unofficial one ecks dee
Also create a dupe of the PR pipeline so we can migrate main to that file once it is checked in and then delete the other one to rename it to a more descriptive name.
* 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
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
When we add activation on startup finished we encountered a new bug with the test process that has existed for many years
it will activate twice and the extension will be in a bad state. we need to allow manual activation to inject the correct mock classes into the extension and prevent it from activating on startupfinished under test.