Compare commits

..

1180 Commits

Author SHA1 Message Date
Hai Cao
31bee67f00 bump STS (#23148) 2023-05-16 14:40:54 -07:00
Alan Ren
e2949d4494 add securable settings (#22936) (#23141)
* wip

* Update typings

* nullable

* update test service

* support securables

* updata test data

* fix issues

* fix build failure

* update test mocks

* fix typo

* fix reference

* fix findobjectdialog issue

* update SearchResultItem type

* fix table component perf issue

* hide effective permission for server role

* hide effective permission for app role and db role

* vbump sts and fix a couple issues

* STS update and UI update

* fix user login display issue

* vbump sts
2023-05-15 15:35:47 -07:00
Cheena Malhotra
b6bd726066 Support advanced options in command line arguments (#23104) (#23124) 2023-05-12 13:51:15 -07:00
Benjin Dubishar
0fe638974d Fixing issue where sqlcmdvars wouldn't load from publish profile in ADS (#23116) (#23121)
* fixing issue where sqlcmdvars wouldn't load from publish profile in ADS

* in -> of
2023-05-12 13:50:26 -07:00
Benjin Dubishar
f364e52079 Fix deploy/generatePlan/saveProfile when no sqlcmdvars are defined (#23112) (#23120)
* fix deploy/generate when no sqlcmdvars are defined

* saveProfile
2023-05-12 13:50:02 -07:00
Maddy
84143d3caf remove the access point (#23105) (#23114) 2023-05-11 19:31:57 -07:00
Kim Santiago
0cfaf69647 fix sqlcmd variables not getting loaded correctly in vscode (#23103) (#23108) 2023-05-11 19:31:34 -07:00
Aasim Khan
343d878457 Adding telemetry to ads OE filter (#23089) (#23106)
* Adding telemetry to ads oe filter

* Fixing prop names

* fixing prop name

* Fixing localized strings

* Update src/sql/azdata.proposed.d.ts



* Update src/sql/workbench/contrib/objectExplorer/browser/serverTreeView.ts



---------

Co-authored-by: Charles Gagnon <chgagnon@microsoft.com>
2023-05-11 19:31:07 -07:00
Cheena Malhotra
7d0cfc4f99 Support migrating credentials to new format (#23088) (#23095) 2023-05-11 18:41:11 -07:00
Barbara Valdez
f13406570e update workbench file and fix relative link not working in markdown (#23109) (#23113) 2023-05-11 16:52:05 -07:00
Benjin Dubishar
c44ecf56f2 Fixing bug where SQLCMD vars weren't getting JSONified (#23082) (#23096)
* changing param for sqlcmdvars back to Record since Json.stringify doesn't handle Maps

* swapping over savePublishProfile
2023-05-10 23:12:12 -07:00
Aasim Khan
f10fc9b56d Adding back OE filtering in rmay release. (#23070) 2023-05-10 08:41:26 -07:00
Benjin Dubishar
72acd2af83 Bumping SQL Tools Service (#23046) (#23051) 2023-05-09 14:09:15 -07:00
Cheena Malhotra
6112eabc3c Fixes import wizard to work with enabled SQL auth provider (#23004) (#23052) 2023-05-09 11:12:19 -07:00
Lewis Sanchez
27bac701bb Use notification prompt before running a command (#23035) (#23048)
* Use notification prompt before running a command

https://github.com/microsoft/vscode/pull/179702/commits

* Removes unused declarations
2023-05-09 11:10:46 -07:00
Cheena Malhotra
0bcd010d9a Fixes build folder compilation + enable linux .deb files (#23006) (#23042) 2023-05-09 11:10:14 -07:00
Aasim Khan
bca671bc3f disabling async tree by default (#23037) 2023-05-09 11:09:33 -07:00
Aasim Khan
706ba6c974 Adding filtering dialog and action to OE (#22937) (#23036)
* Adding init change

* Adding filter cache in OE

* Adding more filtering changes

* Fixed stuff with dialog

* Fixing filter

* Adding support for connecitons

* Fixed stuff

* filtering

* Fixing  date

* Filters

* Removing is filtering supported

* Removing contracts

* Fixing filters

* Fixing cache

* Adding some accessibility changes

* Reverting some more changes to pull in changes from the main

* Adding comments

* Fixing boolean operators

* Fixing stuff

* Fixing stuff

* Fixing error handling and making dialog generic

* Fixing more stuff

* Making filter a generic dialog

* adding erase icon

* removing floating promises

* Fixing compile issue

* Adding support for choice filter with different and actual value.

* Adding null checks

* Adding durability type fix

* Fixing filtering for providers that do not play well with empty filter properties
2023-05-09 11:07:03 -07:00
Kim Santiago
8e38295691 vbump sql projects to 1.1.1 (#23029) (#23039) 2023-05-08 16:44:44 -07:00
Alan Ren
a97d882e3c fix #174264 (#174845) (#23027) (#23034)
Co-authored-by: Sandeep Somavarapu <sasomava@microsoft.com>
2023-05-08 15:49:00 -07:00
Aasim Khan
f605a3c644 Fixing node retention after disconnect (#23020) 2023-05-08 10:13:53 -07:00
Aasim Khan
6fa948adbe Fixing delete server group error when we try to focus on root (#23019) 2023-05-08 09:46:40 -07:00
Alex Hsu
4b9147a6a0 Juno: check in to lego/hb_04604851-bac4-4681-9f74-73de611d6e48_20230508154231869. (#23026) 2023-05-08 09:23:56 -07:00
Raymond Truong
6684dbb78c [SQL Migration] Add storage/VM connectivity validation (#22982)
* Implement storage account connectivity check for SQL VM targets

* Add missing break statement

* Address PR comments
2023-05-08 08:42:40 -07:00
Aasim Khan
3ae97b81f2 Fixing the error showing up in console log (#23018) 2023-05-08 08:29:39 -07:00
Alex Ma
ff3f6d53c7 Langpack source update for May release (#23014) 2023-05-07 19:58:41 -07:00
Benjin Dubishar
1620b3b374 Fixing deleteDatabaseReference test for vscode-mssql (#23008) 2023-05-07 13:08:04 -07:00
Alan Ren
688b0c0819 add label for database dropdown (#23015) 2023-05-07 10:27:30 -07:00
Alan Ren
718b149e84 introduce fieldset component (#23005) 2023-05-06 21:36:08 -07:00
Sakshi Sharma
feed449d97 Update default folder structure option in VSCode (#23002) 2023-05-05 16:50:32 -07:00
Cheena Malhotra
77c8b3bda1 Validate MSAL library is enabled (#23000) 2023-05-05 16:44:04 -07:00
Benjin Dubishar
127a2d2e2f Updating SqlProjects readme to have absolute github link for image (#23001) 2023-05-05 15:53:02 -07:00
Alex Ma
898bb73a34 Revert new connection string format (#22997) 2023-05-05 13:41:40 -07:00
Cory Rivera
27e0d67dec Add context menu entries for deleting a database (#22948) 2023-05-05 12:12:35 -07:00
Cheena Malhotra
0dc05a6a4c Hide tenant dropdown from Connection Dialog (#22973) 2023-05-05 10:40:00 -07:00
Cory Rivera
876a4a24f6 Bump SQL Tools dependency to 4.7.0.28 (#22983) 2023-05-05 10:39:34 -07:00
Charles Gagnon
c3bf85f026 Create separate ScriptableDialogBase (#22974)
* Create separate ScriptableDialogBase

* more
2023-05-05 09:17:51 -07:00
Cheena Malhotra
9af7a049e6 Revert build folder update to fix it properly (#22981)
* Revert "Disable publishing crash reports temporarily (#22950)"

This reverts commit 13a791d14e.

* Revert "Compile build folder (#22811)"

This reverts commit 2c07c09d0d.
2023-05-05 08:50:23 -07:00
Alan Ren
70e756b82d fix duplicate required indicator (#22976) 2023-05-04 21:53:42 -07:00
Alan Ren
b37df9b6ad fix tab style in hc mode (#22975) 2023-05-04 21:53:24 -07:00
Charles Gagnon
88197a5162 Fix validation errors in package.json when clause (#22972) 2023-05-04 16:19:52 -07:00
Aasim Khan
302855e4a4 Fixing async server tree error handling and removing timeout. (#22955)
* Fixing async server tree issues and removing timeout

* removing empty results for connection errors

* Fixing error message fetching

* Update src/sql/workbench/services/objectExplorer/browser/asyncServerTreeDataSource.ts

Co-authored-by: Charles Gagnon <chgagnon@microsoft.com>

---------

Co-authored-by: Charles Gagnon <chgagnon@microsoft.com>
2023-05-04 15:50:37 -07:00
Alan Ren
86cd0003fe add required indicator (#22971) 2023-05-04 15:23:22 -07:00
Benjin Dubishar
94745a69f5 Bumping Tools Service dependency (#22963) 2023-05-04 11:45:00 -07:00
Benjin Dubishar
8a56e0c0cd Bumping azdata dependency (#22961) 2023-05-04 11:33:43 -07:00
Alan Ren
8a5387d97a remove the rename db context menu (#22962) 2023-05-04 10:52:07 -07:00
Alex Hsu
47893e005c Juno: check in to lego/hb_04604851-bac4-4681-9f74-73de611d6e48_20230504154225133. (#22960) 2023-05-04 09:29:04 -07:00
Alex Ma
e76e6df49c [Loc] final update to localization before code complete (#22956) 2023-05-03 17:16:12 -07:00
Cheena Malhotra
13a791d14e Disable publishing crash reports temporarily (#22950) 2023-05-03 16:20:01 -07:00
Charles Gagnon
c6549dd6f4 Remove vs code engine version for whoisactive extension (#22952) 2023-05-03 16:07:00 -07:00
Karl Burtram
1ddcce5a75 Bump STS to 4.7.0.26 for User w Login fix (#22934) 2023-05-03 14:10:30 -07:00
AkshayMata
ced2f7938f Bump sql-migration version (#22946)
Co-authored-by: Akshay Mata <akma@microsoft.com>
2023-05-03 13:43:43 -07:00
Raymond Truong
0d2ed6e517 [SQL Migration] Improve IR registration experience (#22926)
* Add registration instructions to IR page

* Clean up

* Typo

* Fix typo

* Replace link with aka.ms link

* Refactor + implement regenerate auth keys

* Update strings and clean up comments

* Fix sqlMigrationServiceDetailsDialog

* Fix sqlMigrationServiceDetailsDialog width

* Extract helpers to utils

* Add IR registration instructions to sqlMigrationServiceDetailsDialog

* Update SHIR description slightly
2023-05-03 16:43:00 -04:00
Kim Santiago
844ed758a5 Fix .publish.xml file extension not being used on mac (#22939) 2023-05-03 13:18:42 -07:00
Kim Santiago
8f37ea8746 fix macros not getting replaced in sql project item scripts (#22945) 2023-05-03 13:18:02 -07:00
Sakshi Sharma
55d652198c Fix schema comparison failure for Azure synapse (#22938) 2023-05-03 13:03:40 -07:00
AkshayMata
a8a88ccbeb [SQL-Migration] Improve log migrations telemetry (#22927)
- Bucketized errors to track top errors
- Created separate login migration specific error to improve monitoring

---------

Co-authored-by: Akshay Mata <akma@microsoft.com>
2023-05-03 10:35:44 -07:00
Cheena Malhotra
2c07c09d0d Compile build folder (#22811)
* Compile build folder

* Fix build compile issues (#22813)

* Revert changes

* Update gulp-shell

* Test

* Update

* Update modifiers

* Try reverting minimist

* Generates linux deb artifact (#22922)

* Remove deb files that were brought in with the latest merge.

* Add debian back to linux gulp file

* Remove async from anonymous function.

* Remove run core integration tests build step in pipeline

* Revert "Remove async from anonymous function."

This reverts commit 7ad1ce2942954fce58939b9965343b46b9311a7e.

* Revert "Add debian back to linux gulp file"

This reverts commit 96b7c0f0995c8024ef67ed886da34255a5caa325.

* Revert "Remove deb files that were brought in with the latest merge."

This reverts commit bf3aae233b8da1f9111a149a96d77cc78d376094.

* Removes dependency checks

* Fix dependency gen errors

* Reenable "Build Deb" step

* Reenable publish deb

* Run core integration tests

* Revert "Run core integration tests"

This reverts commit 7cafbada194feebe771862af796fb3416b5dd686.

* Revert "Try reverting minimist"

This reverts commit 38fd843c1d5c33318a92f4bbc7057e951c5a9f71.

* Disable code coverage step intermin

---------

Co-authored-by: Charles Gagnon <chgagnon@microsoft.com>
Co-authored-by: Lewis Sanchez <87730006+lewis-sanchez@users.noreply.github.com>
2023-05-02 19:32:46 -07:00
Alex Ma
32c99ab1a6 [Loc] Localization update for 5-2-2023 (Second to last before code complete) (#22940) 2023-05-02 17:36:20 -07:00
Kim Santiago
ab44d205d0 add telemetry for saving publish profiles (#22933) 2023-05-02 16:09:18 -07:00
Kim Santiago
e57fc9f202 shorten 'Save Profile as...' button text to 'Save as...' (#22932)
* shorten 'Save Profile as...' button text to 'Save as...'

* uppercase
2023-05-02 15:37:16 -07:00
Raymond Truong
6de9c5e1ae [SQL Migration] Add support for assessing XEvent session files (#22210)
* Template

* Refactor

* Update strings

* Clean up

* Add clear button

* Clean up

* Fix typo and use aka.ms link

* Refactor to use GroupContainer

* Remove dialog and clean up common strings

* Fix previous/forward behavior

* Make group container default to collapsed

* Clean up

* Slightly reword string

* Add https to aka.ms link
2023-05-02 10:45:13 -04:00
Cheena Malhotra
1f3a514c90 Add launch config for VS Code selfhost test provider (#22913) 2023-05-01 20:27:37 -07:00
Alex Ma
7edd48fb11 added new password reset number (#22920) 2023-05-01 18:28:28 -07:00
Alex Ma
88c9e0b492 [Loc] update to XLF on 5-1-2023 prior to code complete (#22921) 2023-05-01 17:20:51 -07:00
Kim Santiago
a56109dad7 vbump data workspace (#22914) 2023-05-01 15:50:31 -07:00
Charles Gagnon
457365537c Add License section to extension READMEs (#22912)
* Add License section to extension READMEs

* vbump
2023-05-01 13:51:51 -07:00
Charles Gagnon
a650f268f7 Remove sqlservernotebook extension (#22903) 2023-05-01 13:44:14 -07:00
Alan Ren
6a7899281a remove auth type from user (#22905)
* remove auth type from user

* vbump sts
2023-05-01 13:29:55 -07:00
AkshayMata
af6f9089f7 [SQL-Migration] Improve error message for failed migration service download (#22846)
Add troubleshooting links to error message when SQL-Migration fails to download the MigrationService as seen in this issue: #22558

---------

Co-authored-by: Akshay Mata <akma@microsoft.com>
2023-05-01 13:24:35 -07:00
Cheena Malhotra
7b2a07befd Respect 'showDashboard' disabled by default (#22907) 2023-05-01 11:55:38 -07:00
Cheena Malhotra
ea6bb41f45 Allow 'ApplicationName' to be specified for MSSQL connections (#22890) 2023-05-01 10:55:05 -07:00
Cheena Malhotra
f4952c76b8 Handle no matching account scenario (#22908) 2023-05-01 10:54:42 -07:00
Charles Gagnon
24e67a1cbd Remove publisher link and fix license link (#22904) 2023-05-01 09:44:56 -07:00
Charles Gagnon
519a42c5b3 Fix missing placeholder warning for infoboxes (#22898) 2023-05-01 09:30:02 -07:00
Benjin Dubishar
6b1dd0e468 Changing "files" to "sqlObjectScripts" to be more accurate (#22899)
* Changing "files" to "sqlObjectScripts" to be more accurate

* fixing func call
2023-05-01 08:31:13 -07:00
Aasim Khan
b86463ee71 Adding filtering to OE Service (#22900)
* Adding filtering to OE Service

* Update src/sql/workbench/services/objectExplorer/browser/objectExplorerService.ts

Co-authored-by: Cheena Malhotra <13396919+cheenamalhotra@users.noreply.github.com>

* Update src/sql/workbench/services/objectExplorer/browser/serverTreeRenderer.ts

Co-authored-by: Cheena Malhotra <13396919+cheenamalhotra@users.noreply.github.com>

* Update src/sql/workbench/services/objectExplorer/browser/objectExplorerService.ts

Co-authored-by: Cheena Malhotra <13396919+cheenamalhotra@users.noreply.github.com>

* Update src/sql/workbench/services/objectExplorer/browser/objectExplorerService.ts

Co-authored-by: Cheena Malhotra <13396919+cheenamalhotra@users.noreply.github.com>

* Fixing compile errors

* Fixing circular dependency

---------

Co-authored-by: Cheena Malhotra <13396919+cheenamalhotra@users.noreply.github.com>
2023-04-29 17:22:38 -04:00
Cheena Malhotra
e26937b101 Touch up MSAL errors (#22906) 2023-04-28 21:22:26 -07:00
Cheena Malhotra
ed8149599c Update error for ignored tenants (#22881) 2023-04-28 16:19:29 -07:00
Benjin Dubishar
29ff6ca16c Adding Move, Exclude, and Rename support for folders (#22867)
* Adding exclude folder and base for move folder

* checkpoint

* rename

* Fixing up tests

* Adding exclude test to projController

* Adding tests

* fixing order of service.moveX() calls

* Updating move() order in sqlproj service

* PR feedback

* unskipping

* reskipping test

* Fixing folder move conditional

* updating comments
2023-04-28 16:05:38 -07:00
Kim Santiago
934d8ff8fa Add nupkg database reference option for sql projects in vscode (#22882)
* add nupkg db ref option in vscode

* add telemetry for nupkg db ref

* update comment
2023-04-28 14:57:22 -07:00
Alan Ren
468b3e4f06 update shortcut keys for parse query (#22896) 2023-04-28 14:45:28 -07:00
Alan Ren
15d26b7f9a fix the sqlservices sample extension (#22893) 2023-04-28 14:45:20 -07:00
Alan Ren
4f53d76eb5 User Management - Support new object types: Server Role, Application Role and Database Role (#22889)
* server role dialogs

* dialogs for other types

* refactor

* find object dialog

* script button

* refactoring

* fix issues

* fix title

* vbump sts

* remove language from links
2023-04-28 12:05:20 -07:00
Kim Santiago
ba09248483 fix build errors from sql projects test file (#22894) 2023-04-28 11:57:54 -07:00
Sakshi Sharma
757067b132 Required changes to make sql projects extension work with vscode (#22847)
* Update CreateProject api

* More updates

* Fix a few comments

* Address comments

* Remove package.json changes

* Fix error

* Fix testUtil
2023-04-28 10:27:59 -07:00
Cheena Malhotra
c04b8af1d2 Prompt user to refresh account credentials for AADSTS70043 and AADSTS50173 error codes (#22853) 2023-04-27 20:44:22 -07:00
Lewis Sanchez
942786c2a7 Enables previously skipped tests (#22884) 2023-04-27 17:20:12 -07:00
brian-harris
fe32180c71 SQL-Migration: enable cross subscription service migration (#22876)
* x subscription migration support

* refresh after cutover

* fix service irregular status load behavior

* queue service status requests, fix typo

* add migationTargetServerName helper method

* save context before api call
2023-04-27 16:28:32 -07:00
Charles Gagnon
65f8915b7e Remove azurehybridtoolkit extension (#22879) 2023-04-27 13:56:14 -07:00
Karl Burtram
109d428d8c Bump STS to pickup latest User management updates (#22880) 2023-04-27 11:32:22 -07:00
Aasim Khan
9c68043137 Adding OE filtering interfaces. (#22738)
* Adding interfaces for tree filtering

* fixing type

* Adding enums in sqlhost

* Fixing comment

* Fixed filters lol

* Fixing some contract definitions

* Removing flag

* Update src/sql/azdata.proposed.d.ts

Co-authored-by: Charles Gagnon <chgagnon@microsoft.com>

* Removing filters

* Removing filters2

* Fixing enum

* Fixing interface and enum names

* Fixing interface name

* Update src/sql/azdata.proposed.d.ts

Co-authored-by: Charles Gagnon <chgagnon@microsoft.com>

* Removing type from filter

* Adding is null and is not null operators

* Fixing enums

* Update src/sql/azdata.proposed.d.ts

Co-authored-by: Charles Gagnon <chgagnon@microsoft.com>

* Update src/sql/azdata.proposed.d.ts

Co-authored-by: Charles Gagnon <chgagnon@microsoft.com>

* Update src/sql/azdata.proposed.d.ts

Co-authored-by: Charles Gagnon <chgagnon@microsoft.com>

---------

Co-authored-by: Charles Gagnon <chgagnon@microsoft.com>
2023-04-27 13:15:11 -04:00
Alex Hsu
c4b19597b6 Juno: check in to lego/hb_04604851-bac4-4681-9f74-73de611d6e48_20230427154831319. (#22874) 2023-04-27 09:38:01 -07:00
Benjin Dubishar
62255fe4dd no longer filtering to well-known database sources (#22864) 2023-04-26 13:31:15 -07:00
Kim Santiago
abff6a0a34 fix schema compare diff editor colors not being reversed after merge (#22852) 2023-04-26 09:25:07 -07:00
Lewis Sanchez
1fcba44772 Removes package-lock.json (#22855) 2023-04-25 21:49:42 -07:00
Charles Gagnon
5ba8369cb0 Fix Azure rest calls not working (#22854) 2023-04-25 19:29:32 -07:00
Kim Santiago
d551f5170d add telemetry for add database reference quickpick (#22848) 2023-04-25 13:52:48 -07:00
Cheena Malhotra
24af5db4a2 Fix resetting tenant when dropdown is not visible (#22845) 2023-04-25 12:53:58 -07:00
Charles Gagnon
64dd4f0904 Fix IConnectionProfile to have same options key when generated from ConnectionProfile (#22840) 2023-04-25 09:52:51 -07:00
Cheena Malhotra
a887bb199e Fix username to respect existing values (#22837) 2023-04-24 15:28:44 -07:00
Charles Gagnon
167ef2fea8 Finish up no-unsafe-assignment fixes in azurecore (#22836)
* Finish up no-unsafe-assignment fixes in azurecore

* Add link to typings

* Remove unused

* Ignore webpack file
2023-04-24 14:13:00 -07:00
Kim Santiago
8616c5948b Update vscode-mssql.d.ts to match what's in the vscode-mssql repo (#22830)
* update vscode-mssql.d.ts

* update extensions that need updates because of the vscode-mssql.d.ts changes

* remove skip

* fix sql projects tests failing because vscode-mssql couldn't be found
2023-04-24 13:40:05 -07:00
Alex Ma
c42418d89c Update to langpack base source file, and fix to xlf generation. (#22829)
* update to build lib and langpack base files

* fix for gulp localization xlf task and xlf update

* fix to yarn
2023-04-24 11:33:13 -07:00
Charles Gagnon
7f388dd420 Add azurecore HTTP typings (#22828)
* Add azurecore HTTP typings

* undo + spelling fix
2023-04-24 10:39:02 -07:00
Erin Stellato
e5e8824d34 Minor updates to readme (#22827)
* Minor updates to readme

* removed extraneous URL

removed ?view=sql-server-ver16 from docs URL
2023-04-24 10:51:44 -04:00
Cheena Malhotra
2247d5de88 Prevent reconnects for mssql provider (#22825) 2023-04-21 16:56:40 -07:00
Benjin Dubishar
c581b0285d Bumping SqlToolsService to 4.7.0.17 (#22823)
* Bumping STS

* Whoops

* Upgrading STS to 4.7.0.17
2023-04-21 16:44:52 -07:00
Cheena Malhotra
db03525b10 Fix launch.json (#22822) 2023-04-21 14:34:05 -07:00
Charles Gagnon
3bd85a5798 Move stringifying of request body for azure REST calls (#22820)
* Move stringifying of request body for azure REST calls

* spelling

* Remove unused
2023-04-21 13:27:11 -07:00
Charles Gagnon
ec81fc89bb Fix CI workflow (#22819) 2023-04-21 13:26:39 -07:00
Charles Gagnon
651f1ed85b Few more no-unsafe-assignment cleanups (#22818) 2023-04-21 11:27:03 -07:00
Kim Santiago
41e6f3b84b fix accessibility issue for open dialog location radio button (#22812)
* fix accessibliity issue where location radio button showed as required

* fix ariaLabel
2023-04-21 09:53:02 -07:00
Lewis Sanchez
c8618d39fe Update distro commit hash (#22810) 2023-04-20 21:41:51 -07:00
Cheena Malhotra
f83815cecd Enable Sql Authentication Provider by default (targeting May release) (#22213) 2023-04-20 17:55:56 -07:00
Benjin Dubishar
2142c706b0 Improving error message when projects fail to load (#22786)
* Improving message when project fails to load

* Cleaning up string
2023-04-20 14:00:43 -07:00
Cheena Malhotra
8613176817 Cache access tokens in local cache file to prevent MSAL throttling (#22763) 2023-04-20 13:55:30 -07:00
Karl Burtram
0bdb35d9ab Enable proposed APIs for copilot (#22805) 2023-04-20 12:51:55 -07:00
Benjin Dubishar
a9e359f58f Bumping STS to 4.7.0.15 (#22796)
* Bumping STS

* Whoops
2023-04-20 10:43:28 -07:00
Kim Santiago
b98ac1d211 change value to default value in sqlcmd variable prompt (#22787) 2023-04-20 10:18:48 -07:00
Karl Burtram
a9951e977c Disable DEB publish step (#22795)
* Disable DEB publishing

* Revert "Reenable DEB build (#22794)"

This reverts commit 9132695d61.
2023-04-20 08:35:14 -07:00
Karl Burtram
9132695d61 Reenable DEB build (#22794) 2023-04-20 07:36:05 -07:00
Karl Burtram
e7d3d047ec Merge from vscode merge-base (#22780)
* Revert "Revert "Merge from vscode merge-base (#22769)" (#22779)"

This reverts commit 47a1745180.

* Fix notebook download task

* Remove done call from extensions-ci
2023-04-19 21:48:46 -07:00
Alan Ren
decbe8dded simplify object management feature APIs (#22781) 2023-04-19 19:26:29 -07:00
Raymond Truong
34d092a7dd vbump extension (#22784) 2023-04-19 13:56:49 -07:00
Alan Ren
35829acd00 fix error message steal focus issue (#22782)
* fix steal focus issue

* update comment
2023-04-19 11:39:45 -07:00
Kim Santiago
39a28c5f51 Add nupkg option to add database reference dialog (#22772)
* add nupkg option to add database reference dialog

* Add required indicator

* only show nupkg radio button for SDK-style projects

* fix enable ok button

* hookup

* fix typo
2023-04-19 10:09:15 -07:00
Kim Santiago
c29bb27d9e fix sqlcmd table var table in publish dialog (#22770)
* fix sqlcmd var table in publish dialog

* const

* remove unused _value
2023-04-19 09:17:34 -07:00
Cheena Malhotra
ba694a0558 Register mysql, pgsql with mssql as default 'sql' kernel providers (#22729) 2023-04-18 22:07:02 -07:00
Karl Burtram
47a1745180 Revert "Merge from vscode merge-base (#22769)" (#22779)
This reverts commit 6bd0a17d3c.
2023-04-18 21:44:05 -07:00
Lewis Sanchez
6bd0a17d3c Merge from vscode merge-base (#22769)
* Merge from vscode merge-base

* Turn off basic checks

* Enable compilation, unit, and integration tests
2023-04-18 18:28:58 -07:00
Cheena Malhotra
6186358001 Rename 'body' to 'data' to prevent breaking change (#22761) 2023-04-18 18:04:51 -07:00
Kim Santiago
4709eab293 make UserDatabaseReferenceProjectEntry class (#22768) 2023-04-18 13:23:09 -07:00
Kim Santiago
2dcbdc9c63 Handle nukpg database references in project.ts (#22762)
* changes in project.ts for adding nupkg database references

* Add tests

* more tests

* fix comment

* remove it.only
2023-04-18 11:11:42 -07:00
Alex Ma
b69e87df15 Connection URI with complete options (finalized) (#22735)
* Connection URI made to include every option available instead of basic details (#22045)

* Revert "Merge remote-tracking branch 'origin' into feat/connectionUri"

This reverts commit 11b2d31bf99e216daee823f732254f69a017fee1, reversing
changes made to 36e4db8c0744f81565efdfd2f56a3ae3c0026896.

* Revert "Revert "Merge remote-tracking branch 'origin' into feat/connectionUri""

This reverts commit f439673c2693e1144c52e04c14e82cd8566c13a6.

* Added changes and fixes for feat connectionuri (#22706)

* add title generation at start

* added await to refreshConnectionTreeTitles
2023-04-18 11:08:48 -07:00
Karl Burtram
a9bc34acf0 Bump STS to 4.7.0.12 for Login script fix (#22766) 2023-04-18 09:37:29 -07:00
Karl Burtram
48cc5e53bd Bump STS to 4.7.0.12 for Login script fix (#22766) 2023-04-18 09:36:57 -07:00
Aasim Khan
fe086dc778 Fixing adding connections on a new ads install (#22760)
* Fixing stuff

* Fixing connection groups as well
2023-04-18 08:39:53 -07:00
Aasim Khan
b7d24dcecd Cleaning up some code in Async Server Tree. (#22732) 2023-04-17 23:23:41 -07:00
Kim Santiago
938a8bffbe Add AddNugetPackageReferenceRequest for sql projects (#22757)
* Add AddnugetPackageReferenceRequest for sql projects

* update comment

* fix whitespace
2023-04-17 13:31:17 -07:00
Benjin Dubishar
02e61d1598 Swapping Record usage to Map in SQL Projects (#22758)
* Changing SqlCmdVars from Record to Map

* Converting the rest

* Updating tests

* more cleanup

* Updating test to use new test creation API
2023-04-17 12:56:39 -07:00
Charles Gagnon
4a4580e9ef More azurecore cleanup (#22748)
* More azurecore cleanup

* convert to any

* Fix name
2023-04-17 10:29:49 -07:00
Alan Ren
f66d3349b9 add tooltip for dashboard learn more button (#22744) 2023-04-17 08:19:59 -07:00
Charles Gagnon
2d25c8626f Fix typings (#22747) 2023-04-16 16:36:47 -07:00
Karl Burtram
89797e2e94 Bump STS to 4.7.0.11 (#22746) 2023-04-14 18:45:15 -07:00
Alan Ren
1f57a10f7f auto focus message area (#22743) 2023-04-14 16:30:47 -07:00
Hai Cao
5de4f205b1 Add more description to queryEditor.nullBackground color setting (#22739)
* add desc to disable null bgcolor

* add more desc to queryEditor.nullBackground

* move color outside of the loc string

* comment
2023-04-14 16:22:16 -07:00
Benjin Dubishar
b1c2cc1740 Converting remaining services to use runWithErrorHandling() (#22720)
* Converting remaining services to use `runWithErrorHandling()`

* Updating sqlops-dataprotocolclient to 1.3.3

* upgrading dataprotocol and swapping to that baseService

* Adding async to make thenable -> promise conversion happy

---------

Co-authored-by: Alan Ren <alanren@microsoft.com>
2023-04-14 16:08:07 -07:00
Cheena Malhotra
47bf7efd4a Reset IV/Key if MSAL cache file decryption fails (#22733) 2023-04-14 15:45:37 -07:00
Alan Ren
46bc19bcb8 adjust the default max column width (#22740) 2023-04-14 15:29:12 -07:00
Alan Ren
9456285c65 support scripting in object management dialogs (#22429)
* user management - scripting

* remove confirmation

* update sts

* update string
2023-04-14 13:52:06 -07:00
Sakshi Sharma
d69e5b97df Update SC dialog to save/read file structure to/from schema compare file (#22727)
* Read/Send ExtractTarget information from/to STS

* Remove comment

* Cleanup comment and update azdata dependency
2023-04-14 11:47:59 -07:00
Kim Santiago
18a541b0a6 removed unused data sources code from publish dialog (#22722) 2023-04-14 11:44:46 -07:00
Aasim Khan
8d9ddebd98 Adding restart ads notification when async server tree is toggled (#22726) 2023-04-14 07:54:28 +01:00
Cheena Malhotra
537df7cbac Fix file upload (#22725) 2023-04-13 20:51:03 -07:00
Cheena Malhotra
bb3ddc7364 Fix advanced options for CMS and MSSQL (#22708) 2023-04-13 19:21:42 -07:00
Sakshi Sharma
91ea2b43d6 Save publish profile in Publish UI workflow (#22700)
* Add profile section in Publish project UI

* Move publish profile row below Publish Target

* Add contract for savePublishProfie and SaveProfileAs button functionality

* Make the DacFx contract functional

* Send values from UI to DacFx service call

* Fix build error

* Address comment, remove print statements

* Address comments

* Set correct connection string

* Fix functionality for rename, exclude, delete publish profiles. Add new profile to the tree and sqlproj.

* Address comment to update alignement of button

* Address comments

* Update button to use title casing
2023-04-13 17:08:24 -07:00
Kim Santiago
3deb163210 replace deprecated onDidClick() handler in sql projects (#22721) 2023-04-13 16:27:59 -07:00
Cheena Malhotra
87571b2706 Support placeholder text for connection dialog options (#22693) 2023-04-13 15:08:12 -07:00
Benjin Dubishar
733359de57 Updating yarn lock for ML (#22719) 2023-04-13 14:00:38 -07:00
Cory Rivera
8aade56214 Use column names as keys for table data in SQL cell outputs (#22688) 2023-04-13 13:26:12 -07:00
Benjin Dubishar
8202e1ec4e Changing dacFxService and schemaCompareService to use shared logic for error handling (#22718)
* Move helper function to base class

* Switching DacFxService over

* Thenable -> Promise

* Converting SchemaCompareService
2023-04-13 12:44:13 -07:00
Kim Santiago
35e1d63871 fix project listed twice when using multi root workspaces (#22705)
* fix project listed twice when using multi root workspaces

* uppercase
2023-04-13 09:49:14 -07:00
Kim Santiago
c78cc6e534 vbump sql database projects to 1.1.0 (#22707)
vbump after the April release
2023-04-12 20:27:23 -07:00
Cheena Malhotra
728f70bf6e Append Endpoint suffix (#22704) 2023-04-12 20:24:52 -07:00
Christopher Suh
897f026d1e Firewall Dialog Account/Tenant Selection (#22695)
* preselect account in firewall dialog from connection details

* cleanup

* fix element reference

* add initial tenant selection

* fix compile & cleanup

* pr comments

* change to private
2023-04-12 15:59:31 -07:00
Christopher Suh
62c2fd3290 add ms graph endpoint for us gov (#22574) 2023-04-12 14:58:58 -07:00
erpett
0310b132a9 Update changelof for 1.43 and update readme with evergreen links (#22699) 2023-04-12 14:37:13 -07:00
Sakshi Sharma
12011209f3 Update STS to bring in save publish profile changes (and others) (#22684) 2023-04-12 12:32:54 -07:00
Charles Gagnon
df88d881c5 Remove disposable from connection (#22687)
* Remove disposable from connection

* Remove from group
2023-04-11 15:27:01 -07:00
Cheena Malhotra
219bdabfb2 Upgrade xml2js to v0.5.0 + migration to @vscode/vsce + migration to @azure/storage-blob (#22664) 2023-04-11 15:13:43 -07:00
Aasim Khan
577d99e790 Fixing dup connections (#22670) 2023-04-11 14:16:59 -07:00
Benjin Dubishar
4d3d74e3da Fix for issue where bulk-adding scripts could perform a rescan after each script (#22665)
* Changed bulk script add to delay reloading file list until end of operation.

* Adding style name to sqlproj typing file

* vBump to 1.0.1
2023-04-10 16:28:53 -07:00
Christopher Suh
6857718cb3 Fix http request format (#22618)
* fix http request format

* encode to utf 8 and add body for put requests

* encode proxy request body

* change ?.data to ?.body

* add note for textencoder

* change content-type to application/json
2023-04-10 14:36:35 -07:00
Christopher Suh
e7a5ea6ee8 Add No Resources Found label under azure browse (#22660)
* Add No Resources Found label under azure browse

* update localize message

* add period
2023-04-10 10:27:01 -07:00
Raymond Truong
b6f1b949d7 [SQL Migration] Miscellaneous UI improvements from feedback (#22592)
* Hide more info for assessment issues without help links

* Add info box about blob container folders

* WIP - reuse create DMS dialog for IR registration

* Revert "Add info box about blob container folders"

This reverts commit 30b8892ea7918841a6466b59058181062d367ba5.

* Add help link to target platform selection page explaining Azure SQL offerings

* Revert "WIP - reuse create DMS dialog for IR registration"

This reverts commit 5fac6b5c7148b2520cc42ce9fad549cde28baba2.

* Don't show storage account warning banner for DB scenario

* Vbump extension and migration service

* Test - fix http request format from chsuh/fixFormat

* Add instructions for table mapping and schema migration

* Revert "Test - fix http request format from chsuh/fixFormat"

This reverts commit 4992603532e98dff3b7ba6f04ba9304d173fc5ad.
2023-04-10 10:20:39 -07:00
brian-harris
a60d6107b4 SQL-Migration: improve SQL DB table selection ux to include missing tables (#22659)
* add missing target tables ux

* fix number formatting
2023-04-07 16:00:12 -07:00
Cory Rivera
0412ba194b Add more error handling for python installation (#22650) 2023-04-07 14:55:17 -07:00
Charles Gagnon
6a2ec12a35 Fix some no unsafe assignment errors in azurecore (#22643) 2023-04-06 16:50:24 -07:00
Aasim Khan
5ae0e3a503 Removed parent override (#22648) 2023-04-06 15:26:50 -07:00
Alan Ren
2ee7c2649d reduce toolbar space (#22647)
* reduce toolbar space

* feedback
2023-04-06 14:56:48 -07:00
Leila Lali
a62d8f8960 Adding telemetry config to client config to send to STS (#22644)
* Adding telemetry config to client config so they can be sent to STS to monitor updates
2023-04-06 08:18:23 -07:00
Drew Skwiers-Koballa
755a3e9e00 fixing setting description in sql projects readme (#22640) 2023-04-05 17:18:52 -07:00
Drew Skwiers-Koballa
6447e92870 updating SQL projects extension readme (#22632) 2023-04-05 13:01:51 -07:00
Charles Gagnon
df1accf918 Improve missing placeholder warning message (#22630)
* Improve missing placeholder warning message

* stringify
2023-04-05 11:42:26 -07:00
brian-harris
a30719c471 add tooltips to explain migrations list columns (#22598) 2023-04-05 08:16:49 -07:00
Benjin Dubishar
efd489ecde Adding patch to rename backup file when it already exists (#22613) 2023-04-04 13:20:12 -07:00
Benjin Dubishar
cec349d2a4 Fix issue where errors during project update were swallowed (#22612)
* adding errors

* Fixing bug where errors occurring during updating project got swallowed

* removing unnecessary "vscode"
2023-04-04 13:19:07 -07:00
Aasim Khan
958a3f85e5 Enabling async server tree in insiders (#22596) 2023-04-03 17:15:52 -07:00
erpett
b2f131a8ba version bump 1.44 (#22599) 2023-04-03 15:23:47 -07:00
Alan Ren
071d76bc94 fix the empty schema issue (#22594) 2023-04-03 13:57:51 -07:00
Alan Ren
61b3285eaf make table keyboard shortcuts configurable (#22582)
* make table keyboard shortcuts configurable

* fix error

* new slickgrid version

* add comment

* tree grid
2023-04-03 13:21:00 -07:00
Aasim Khan
38a3312cb6 Fixing edited connections not working for root in Async Server Tree (#22580)
* Fixing edited connections not working for root

* Fixing comment
2023-04-03 11:58:19 -07:00
Benjin Dubishar
15ecdc8653 Fixing smattering of issues regarding updating projects for cross-plat (#22575)
* Fixing smattering of issues regarding updating projects for cross-plat

* Adding both options for modal

* Removing quickpick
2023-04-03 10:10:31 -07:00
Benjin Dubishar
267a830775 Disabling revert button when no changes to SQLCMD vars at publish time (#22552)
* disabling revert SQLCMD var value button when no changes to values; changing string

* Updating docstring

* Updating behavior to account for SQLCMD vars defined in publish profiles
2023-04-03 10:09:06 -07:00
Alex Hsu
55820e94f9 Juno: check in to lego/hb_04604851-bac4-4681-9f74-73de611d6e48_20230403154147337. (#22586) 2023-04-03 10:00:25 -07:00
Alex Hsu
59c5ca605c Juno: check in to lego/hb_04604851-bac4-4681-9f74-73de611d6e48_20230402154501941. (#22581) 2023-04-03 08:29:45 -07:00
Alan Ren
2a14562ec7 update parse query action (#22577)
* update parse query action

* revert export notebook change

* comment
2023-03-31 18:24:47 -07:00
Alex Ma
0f21ecd531 Add fix to enter press on last row of Edit Data. (#22351)
* added fix to enter on null row for edit data

* added fix to displayValue after new row is added

* added suggested changes and fixes
2023-03-31 18:09:34 -07:00
Cory Rivera
1dbb2211e3 Use blue icon for dashboard New Notebook task (#22568) 2023-03-31 16:06:50 -07:00
Hai Cao
490ea592f2 bump STS (#22576) 2023-03-31 15:27:47 -07:00
Kim Santiago
2280c54d4d vbump sql projects to 1.0.0 (#22553)
* vbump sql projects to 1.0.0

* set preview to false
2023-03-31 13:35:43 -07:00
Christopher Suh
ccd5775093 Update remaining Axios calls (#22525)
* initial commit adding put and delete operations

* change response.data => response.body

* add client response interface

* add error to interface

* add reqHeaders
2023-03-31 12:22:31 -07:00
Cheena Malhotra
152eb32278 Fix saving profile from Azure tree nodes (#22518) 2023-03-31 11:58:49 -07:00
Cheena Malhotra
87b3ac1c05 Bump STS version (#22564) 2023-03-31 11:32:21 -07:00
brian-harris
887053c604 SQL-Migration: add retry migration prompt (#22555)
* add retry migration prompt

* updating review comments

* update context menu postion to match toolbar
2023-03-31 10:25:39 -07:00
Alex Ma
e948b4e842 Langpack source and XLF update for April 2023 Release (#22554) 2023-03-31 09:41:43 -07:00
Aasim Khan
d49ff85afc Fixing connection without saved password not connecting in Async Server Tree (#22535) 2023-03-31 09:19:01 -07:00
Aasim Khan
a1acaf2096 Adding caching in OE service (#22539) 2023-03-31 09:18:36 -07:00
Sakshi Sharma
9d8006562d Fix project name validation (#22547)
* Fix project name validation

* Add/update tests

* Address comments

* Fix error
2023-03-31 08:46:58 -07:00
Alan Ren
6cc5e9a70d fix object management dialog's validation issue (#22556)
* fix validation issue

* make message optional

* fix errors
2023-03-31 07:59:38 -07:00
Kim Santiago
e2d4d07c0b fix console error when trying to drag a sql project node (#22551)
* fix console error when trying to drag a sql project node

* fix typo

* update comment
2023-03-30 17:27:01 -07:00
Raymond Truong
3ca583760f [SQL Migration] Add additional checks for multiple database backups in same folder (#22483)
* Add info box about blob container folders

* Add warning banner if non-unique backup locations

* WIP - Add offline scenario

* Clean up

* Address PR comments
2023-03-30 17:19:59 -07:00
Kim Santiago
8e82f62164 cleanup sql projects readme (#22538)
* cleanup sql projects readme

* update to use code blocks for commands
2023-03-30 15:56:17 -07:00
Aasim Khan
4ff16885c1 Cleaning update children logic in async server tree (#22550) 2023-03-30 15:17:45 -07:00
Christopher Suh
2e1689b44d Add warning message when pii logging enabled (#22533)
* add warning message when pii logging enabled

* fix typo

* Update extensions/azurecore/src/localizedConstants.ts

Co-authored-by: Charles Gagnon <chgagnon@microsoft.com>

* update warning message

---------

Co-authored-by: Charles Gagnon <chgagnon@microsoft.com>
2023-03-30 14:44:25 -07:00
Alex Hsu
92f9b11012 Juno: check in to lego/hb_04604851-bac4-4681-9f74-73de611d6e48_20230330154329299. (#22545) 2023-03-30 14:34:28 -07:00
Cory Rivera
621f390eef Add New Notebook task to server and database dashboards. (#22548) 2023-03-30 12:41:03 -07:00
Kim Santiago
0feabc9a6f use fsPath instead of path when calculating relative path to sqlproj (#22534) 2023-03-30 10:01:06 -07:00
Alan Ren
ee2e59243a revert changes for testing (#22544) 2023-03-30 08:37:40 -07:00
Alan Ren
ff603fa911 handle table designer errors (#22527)
* handle table designer error

* log to console
2023-03-29 16:37:15 -07:00
Kim Santiago
4458a5bd57 move publish interfaces out of sqldbproj.d.ts (#22521) 2023-03-29 16:27:23 -07:00
Charles Gagnon
3320bb55c2 Update privacy documentation (#22520)
* Update privacy documentation

* move
2023-03-29 15:40:01 -07:00
Benjin Dubishar
edc2c5e200 Surfacing better error messages about SQLCMD var names (#22509)
* Surfacing better error messages about SQLCMD var names

* correcting docstring

* adding space to join char
2023-03-29 14:23:03 -07:00
Aasim Khan
2a9705c495 Fixing async server tree (#22511)
* Changing look of new OE

* Fixing styling

* Fixing moving of connected profile

* Fixing drag and drop where treenodes delete connection nodes

* Fixing Deleting and disconnecting in AsyncServerTree

* Adding constant for OE timeout

* Updated interfaces

* Removing test compilation errors

* Fixing most events in async server tree

* Fixing connection pane styling

* Fixing find node function

* Fixing some more operations

* Fixing some ops

* All operations done

* Fixed active connections

* Fixed data source

* Adding support for setting parents

* code cleanup

* Fixing icon styling issues

* Fix errors

* Fixing comment

* Fixing spacing

* Adding explanation to OE service.

* Reverting server delegate changes

* Reverting styling

* reverting more styling change

* reverting more styling

* Fixing has children

* Fixing drag and drop to tree nodes

* fixing drag and drop

* reverting timing

* fixing drag and drop

* cleaning some code

* Fixed server and group moving

* spell check

* consolidating some logic

* Fixed whitespace

* fixing moving to root group
2023-03-29 13:59:35 -07:00
Austin Bryan
7ecbbdf398 Fixing setTargetServerName in SqlMigration extension. Previously if a case was entered it would run all code in the following cases as well (#22477) 2023-03-29 13:44:29 -07:00
Raymond Truong
4867a3747c [SQL Migration] Add storage/MI connectivity validation (#22410)
* wip

* Add SQL VM POC

* Undo azurecore changes

* Add warning banner instead of blocking on next

* Fix warning banner behavior

* Add private endpoint support

* Fix navigation issue

* Add offline scenario

* Address PR comments

* Fix merge conflicts
2023-03-29 12:48:22 -07:00
Cheena Malhotra
e70865ff20 Send telemetry with Auth Library when adding/refreshing account (#22506) 2023-03-29 11:56:56 -07:00
Christopher Suh
87fb3f9b86 Add kusto endpoints for non-public clouds (#22515)
* add kusto endpoints for non-public clouds

* fix endpoints
2023-03-29 11:42:38 -07:00
Alan Ren
e01e3b0e8e update sts (#22516) 2023-03-29 10:45:06 -07:00
Alex Hsu
09b0488978 Juno: check in to lego/hb_04604851-bac4-4681-9f74-73de611d6e48_20230329154135186. (#22513) 2023-03-29 09:34:39 -07:00
Charles Gagnon
2ccd7405c0 Promote some proposed typings (#22508) 2023-03-29 09:06:44 -07:00
brian-harris
ef02e2bfce SQL-Migration: add new migration monitoring data to migration details (#22460)
* add new migration details

* move migraiton target type enum to utils

* address review feedback, refectore, text update

* fix variable name

* limit and filter migrations list to mi/vm/db
2023-03-29 07:48:30 -07:00
Alan Ren
afafee844c fix notebook serialization issue for non-mssql providers (#22504)
* use mssql as notebook serialization provider

* comment

* use fallback
2023-03-28 21:34:38 -07:00
Hai Cao
83e35ad7f8 fix hover for cells with null value (#22507) 2023-03-28 20:19:15 -07:00
Aasim Khan
f60bd1335c Adding promises and operation timeouts to fix race conditions and infinite loading in OE (#22475)
* Adding promises and operation timeouts to fix race conditions

* cleaning up logic

* Update src/sql/workbench/services/objectExplorer/browser/objectExplorerService.ts

Co-authored-by: Charles Gagnon <chgagnon@microsoft.com>

* Update src/sql/workbench/services/objectExplorer/browser/objectExplorerService.ts

Co-authored-by: Charles Gagnon <chgagnon@microsoft.com>

* Fixing promise type

* Reverting back to old error logic

* Making onsessioncreated async

* Removed polling and converted to event based

* removing connection variable out of promise

* Combining promises

* Update src/sql/workbench/services/objectExplorer/browser/treeUpdateUtils.ts

Co-authored-by: Charles Gagnon <chgagnon@microsoft.com>

* Fixing error messages and localizing user facing errors

* Fixing error message

* localizing config

* Update src/sql/workbench/services/objectExplorer/browser/objectExplorerService.ts

Co-authored-by: Charles Gagnon <chgagnon@microsoft.com>

* Update src/sql/workbench/services/objectExplorer/browser/objectExplorerService.ts

Co-authored-by: Charles Gagnon <chgagnon@microsoft.com>

* Update src/sql/workbench/services/objectExplorer/browser/objectExplorerService.ts

Co-authored-by: Charles Gagnon <chgagnon@microsoft.com>

* Update src/sql/workbench/services/objectExplorer/browser/objectExplorerService.ts

Co-authored-by: Charles Gagnon <chgagnon@microsoft.com>

* Fixing comment

---------

Co-authored-by: Charles Gagnon <chgagnon@microsoft.com>
2023-03-28 18:36:45 -07:00
Charles Gagnon
5c6ea2890a Switch "Install" to "Download" for downloaded extensions (#22498) 2023-03-28 15:35:43 -07:00
Kim Santiago
19a9611407 vbump sql database projects (#22501) 2023-03-28 15:13:38 -07:00
Benjin Dubishar
15c0c68e44 SQL Database Projects backend swap to DacFx/Tools Service (#22451)
* Move call to STS move api into project.ts (#22071)

* move call to STS move api into project.ts

* remove undefined

* Remove convert to sdk style code (#22081)

* remove convert to sdk style code

* remove from package.json

* Merging latest from main (#22097)

* [SQL-Migration] Login migrations telemetry (#22038)

This PR enhances telemetry for login migrations (and in the following ways:

Add details for starting migration (number of logins migrating, type of logins)
Log Migration result (number of errors per step, duration of each step, type of logins, if system error occurred)
Add sql-migration extension to our telemetry
Adds details when trying to connect to target
Tracks clicking "done" from the wizard
Fixes bucketizing for navigating telemetry in the login migration wizard
Sample usage of kusto query for new telemetry:
RawEventsADS
| where EventName contains 'sql-migration'
| extend view = tostring(Properties['view'])
| extend action = tostring(Properties['action'])
| extend buttonPressed = tostring(Properties['buttonpressed'])
| extend pageTitle = tostring(Properties['pagetitle'])
| extend adsVersion = tostring(Properties['common.adsversion'])
| extend targetType = tostring(Properties['targettype'])
| extend tenantId = tostring(Properties['tenantid'])
| extend subscriptionId = tostring(Properties['subscriptionid'])
| where view contains "login"
//| where adsVersion contains "1.42.0-insider"
| where ClientTimestamp >= ago(18h)
| project EventName, ClientTimestamp, SessionId, view, pageTitle, action, buttonPressed, targetType
, tenantId, subscriptionId
, adsVersion, OSVersion, Properties

* Add Secure Enclaves dropdown with customizable Advanced options (#22019)

* Update extension READMEs (#22079)

* Fix query-history README images (#22084)

* [Loc] update to mssql and sql-migration xlf files (#22087)

* [Loc] small fix to Portuguese lcl file (#22088)

* [Loc] small fix to Portuguese lcl file

* remove newline

* Adding None bindings to the sqlProjects service (#22085)

* Adding None bindings

* updating names of None bindings

---------

Co-authored-by: AkshayMata <akam520@gmail.com>
Co-authored-by: Cheena Malhotra <13396919+cheenamalhotra@users.noreply.github.com>
Co-authored-by: Charles Gagnon <chgagnon@microsoft.com>
Co-authored-by: Alex Ma <alma1@microsoft.com>

* Swap add and update sqlcmd variables in sql projects to use STS apis (#22086)

* delete sqlcmd variable working

* undo add

* remove variable from add and update sqlcmd variable apis

* hookup add and edit sqlcmd variable

* update vscode-mssql.d.ts

* move add and edit to project.ts

* update STS and tests

* move delete sqlcmd variable to project.ts (#22104)

* add test for add and edit sqlcmd variable (#22107)

* Swapping property access to STS (#22115)

* checkpoint

* Adding sqlproj property bindings

* Swapping out property loading and setting

* consolidating to this.sqlProjService

* Update dacpac reference to use STS api (#22116)

* Update add dacpac reference to use STS api

* remove changes for project ref

* validate unset settings from add database reference dialog

* update one more place getting sqlprojservice

* addressing comments

* fix path for dacpac reference (#22143)

* Swap add project reference to call STS (#22148)

* initial changes for swapping add project reference

* fix include path

* move common logic to helper function

* read sqlcmd variables from STS (#22147)

* Swapping .sqlproj- and crossplat compatibility-related functions to use STS (#22146)

* Supporting roundtrip

* Updating sqlproj style checks and cross-platform compatibility to use STS

* removing unnecessary awaits

* Fixing assertions

* Adding roundtrip update confirmations

* test cleanup

* cleaning up comment; localizing error

* Swap add system db reference (#22171)

* swap adding system database references

* fix tests

* remove only in test

* Read database references from STS (#22179)

* Read database references from STS

* fix system dacpac names

* fix project reference name

* Swap changeTargetPlatform to call STS (#22172)

* swap changeTargetPlatform to call STS

* Address comments

* De-duplicating enum for SystemDatabase (#22196)

* Deudping SystemDatabase enum

* simplifying enum refs

* Removing the now-unused imports code from SqlProjects (#22199)

* Removing unused importTargets entries

* whitespace; also to retrigger github checks on correct branch

* Hooking in Move() for Nones and PublishProfiles (#22200)

* Swap delete database reference to call STS (#22215)

* initial changes

* update contracts

* remove unnecessary info from SystemDatabaseReferenceProjectEntry

* uppercase master and msdb

* cleanup

* update test

* update comment

* undo change in projectController.ts

* remove unused system dacpac helper functions (#22204)

* more cleanup of project.ts (#22242)

* fix a couple database reference tests (#22248)

* Organizing sqlcmd variable and db reference code (#22284)

* organize database references and sqlcmd variable functions

* separate database reference tests

* Script and folder get + add support (#22166)

* Initial sqlobjectscripts

* adding mock filter

* test fixing

* another test passing

* swapping pre/post/none checkpoint

* awaiters

* convert addExistingItem

* swapping folders

* removing print

* stripping out project folder and file readers

* adding some regions

* Updating sqlproj style checks and cross-platform compatibility to use STS

* Updating sqlproj style checks and cross-platform compatibility to use STS

* added type property to tree items

* projectController swapovers

* removing imported targets

* Deleting the last of the TS XML parsing!

* Removing old functions

* renamed readNoneScripts to readNoneItems

* fixing path passed to STS calls

* remove system dacpac tests that were moved to DacFx (#22299)

* fix error when opening file after adding a file to sql project (#22309)

* fix error when opening file after adding a file to sql project

* remove unused import

* fix exclude for table and externalStreamingJob (#22310)

* add reload project (#22313)

* set DSP from STS (#22320)

* fix adding post-deployment script and existing item (#22317)

* Test cleanup for .sqlproj content operations (#22330)

* Fixing up tests

* sqlproj content operations tests

* remove only

* Cleanup

* Correcting collation

* cleanup constants.ts (#22336)

* fix folders not showing in project tree (#22319)

* Fix project controller tests (#22327)

* fixing ProjectController tests after swap

* remove only from database reference tests

* change system dbs back to lowercase in sql projects (#22353)

* Bump tools service

* Updated yarn.lock file

* pass SystemDacpacsLocation when building legacy style sql projects (#22329)

* Benjin/fix types (#22365)

* Updated yarn.lock file

* Fixing types

* fix projectController tests (#22375)

* Fixing the deletion flow for files and folders (#22366)

* checkpoint

* PR feedback

* Fixing up SDK-style operations project test group (#22377)

* Fixing up SDK-style project test group

* Removing .only

* Fixing up database reference tests (#22380)

* Fixing DB reference test group

* Extra cleanup

* removing only

* Consolidating None and PublishProfile; lighting up test (#22382)

* Lighting up project property tests (#22395)

* Checkpoint

* Lighting up project property tests

* removing timeout

* Fixing buildHelper test (#22400)

* Unskipping up roundtrip test (#22397)

* Refactoring database references to split literalVariable from databaseName (#22412)

* refactoring database references to split databaseVariableLiteralValue out from databaseName

* renaming more properties

* Removing branch in entry population

* removing only

* Fixing baselines for delete test

* PR feedback

* Fixing up ProjectTree tests (#22419)

* Fixing up projectTree tests

* remove only

* Updating projectController exclude test (#22413)

* Updating test

* moving filtering for external folders to readFolders() method

* Removing EntryType import

* fix ups (#22435)

* adding extra info for test failure

* hide exclude folder from context menu until it's supported (#22454)

* Adding current test name to generated folder to avoid conflicts (#22478)

* Adding current test name to generated folder to avoid conflicts

* passing correct test parameter in

* Adding trimming and entropy

* Deleting unused baselines (#22497)

* Replacing addToProject() with addSqlObjectScripts() (#22489)

* checkpoint

* Fixing test

* Updating file scraper function to filter only to .sql files (no folders, no txt)

* changing var names to reflect that the lists only contain .sql scripts

---------

Co-authored-by: Kim Santiago <31145923+kisantia@users.noreply.github.com>
Co-authored-by: AkshayMata <akam520@gmail.com>
Co-authored-by: Cheena Malhotra <13396919+cheenamalhotra@users.noreply.github.com>
Co-authored-by: Charles Gagnon <chgagnon@microsoft.com>
Co-authored-by: Alex Ma <alma1@microsoft.com>
2023-03-28 13:39:57 -07:00
Kim Santiago
a7ecff77dd turn on noUnusedParameters in Schema Compare (#22452)
* turn on noUnusedParameters in Schema Compare

* use _click

* Add names to unused parameters in test files
2023-03-28 11:17:14 -07:00
Kim Santiago
929184514e fix undefined error when opening Create Project from Database dialog (#22480) 2023-03-28 11:16:53 -07:00
Aasim Khan
3aee3f006a Fixing icon styling in tree (#22490) 2023-03-28 09:23:15 -07:00
Alan Ren
e15b612166 update manage extension action (#22488) 2023-03-27 20:40:26 -07:00
Alex Ma
fd8d8b0a27 [Loc] fix for webpack for sql-migration and update to XLFs two weeks prior to code complete. (#22484) 2023-03-27 17:07:14 -07:00
Cory Rivera
97eb69477e Remove unused files in sql and extensions folders (#22444) 2023-03-27 16:40:32 -07:00
junierch
e741fa0bbd telemetry for tde user actions (#22474)
* telemetry for user actions

* remove unused action

* try catch around admin function
2023-03-27 17:48:47 -04:00
Aasim Khan
e80c6f2dcb Fixing async tree styling (#22458) 2023-03-27 13:16:23 -07:00
Alan Ren
115062c0fc bring back ads edit (#22472) 2023-03-27 11:27:41 -07:00
Karl Burtram
7377feeb22 Bump STS to pick-up Intellicode fix (#22462) 2023-03-25 11:52:29 -07:00
Alan Ren
86e6b42bdc select the row on double click (#22456)
* select row on double click

* skip row number column
2023-03-24 20:10:05 -07:00
Alan Ren
35cb233851 support default action for OE node (#22455)
* support default action for OE node

* fix floating promise
2023-03-24 20:09:48 -07:00
Kim Santiago
3d2a531976 add hover text to icon buttons in sql projects extension (#22453) 2023-03-24 16:01:30 -07:00
Kim Santiago
8fdcafcca7 fix aria label for name input box in create project from db dialog (#22449) 2023-03-24 15:21:44 -07:00
Kim Santiago
c8d0edf048 add aria labels to a couple radio groups in sql database projects (#22446) 2023-03-24 15:21:33 -07:00
Christopher Suh
738987c4d5 Show message indicating that ADAL is being deprecated (#22432)
* show message indicating that ADAL is being deprecated

* pr comments update

* added settings deprecation message

* fix deprecation message
2023-03-24 14:42:45 -07:00
Kim Santiago
31ac636222 make screenreader announce task status (#22434) 2023-03-24 11:14:10 -07:00
Cheena Malhotra
d5c495f05a Address Secure enclaves feedback to show required indicator optionally (#22428) 2023-03-24 09:57:32 -07:00
Karl Burtram
ad6c202e34 Enable contained and Windows user types (#22440) 2023-03-24 09:11:16 -07:00
Cheena Malhotra
8d49b15b53 Skip forceRefresh for full (owning) tenant (#22421) 2023-03-23 21:01:03 -07:00
Charles Gagnon
dfc6469c9d Enable strict null in MSSQL extension (#22433) 2023-03-23 16:49:48 -07:00
Alan Ren
59ad572800 fix strict null issues (#22430) 2023-03-23 15:19:23 -07:00
Christopher Suh
00897fc513 Replace Axios calls with HttpClient (#22417)
* replace axios calls with httpClient

* add latest files

* fix url
2023-03-23 13:47:25 -07:00
Charles Gagnon
57c35ca255 More MSSQL strict null (#22420) 2023-03-23 11:13:04 -07:00
Charles Gagnon
2805f9f499 More MSSQL strict null (#22402) 2023-03-23 07:04:18 -07:00
Cheena Malhotra
43f97f4f56 Handle out of sync extension activations for encryption keys updated event (#22415) 2023-03-22 22:23:03 -07:00
Kim Santiago
0741e18533 vbump dacpac extension after release (#22418) 2023-03-22 17:47:56 -07:00
Christopher Suh
14ea5e9dd7 fix logic (#22405) 2023-03-22 12:57:49 -07:00
Charles Gagnon
ed37ad315f Clean up buildConnectionInfo (#22407)
* Clean up buildConnectionInfo

* Add test and cleanup
2023-03-22 12:54:29 -07:00
Cory Rivera
9f435e271a Establish connection after running New Notebook from Azure data explorer view (#22408) 2023-03-22 12:53:03 -07:00
erpett
94e779ef0d Changes for release (#22409) 2023-03-22 12:49:50 -07:00
Charles Gagnon
ca4722360a More strict SSL proxy setting fixes (#22404) 2023-03-22 12:45:51 -07:00
Cheena Malhotra
a3e77c674c Address console warnings with new connection dialog (#22293) 2023-03-22 12:31:25 -07:00
Cheena Malhotra
94b3261276 Notify STS when encryption keys are updated in azurecore (#22384) 2023-03-22 11:46:30 -07:00
Karl Burtram
1e4800a60c Support adding Windows users (#22399)
* Support adding Windows users

* Bump STS
2023-03-22 09:53:20 -07:00
Kim Santiago
3b68aaed72 change publish options to use declarative table (#22398) 2023-03-22 09:44:27 -07:00
Charles Gagnon
d7bd87fac0 Fix incorrect default for proxy setting when downloading STS (#22396) 2023-03-22 09:28:32 -07:00
Vsevolod Kukol
e3135aca4c Preserve name and group when using Connection String (#22341) 2023-03-22 07:55:18 -07:00
Kim Santiago
21bb7eb482 add aria label for checkboxes in declrative table (#22393) 2023-03-21 16:35:28 -07:00
Charles Gagnon
62ece298cc Some MSSQL strict null check fixes (#22383) 2023-03-21 16:10:57 -07:00
Kim Santiago
2be49a9911 switch exclude object types table to use declarative table component (#22390)
* switch exclude options to use declarative table component

* add to disposableListeners
2023-03-21 14:09:31 -07:00
Alan Ren
21f271671d new drop object request (#22387)
* simplify drop object requests

* update sts

* pr comments
2023-03-21 10:51:55 -07:00
Hai Cao
ffc7f05c10 Add background color for null cell in query editor result grid (#22370) 2023-03-20 15:55:57 -07:00
Aasim Khan
f9e72b0d93 Fixing connection group change for connections (#22379) 2023-03-20 15:37:47 -07:00
Charles Gagnon
7bf11118af Enable datavirtualization tests (#22378)
* Enable datavirtualization tests

* Remove unneeded
2023-03-20 14:45:13 -07:00
Charles Gagnon
47ce587fef Update ads-extension-telemetry to 3.0.1 (#22374) 2023-03-20 12:48:31 -07:00
Alex Hsu
b06398b32b Juno: check in to lego/hb_04604851-bac4-4681-9f74-73de611d6e48_20230318154256685. (#22368) 2023-03-20 09:43:04 -07:00
Alan Ren
aa47729f90 fix find parent node issue (#22356)
* fix find parent node issue

* sts update

* fix errors

* pr comments and a fix
2023-03-20 08:20:11 -07:00
Benjin Dubishar
9d16a48dee Bump tools service (#22361) 2023-03-17 15:11:39 -07:00
Benjin Dubishar
0b3a9ca0f0 Updated yarn.lock file (#22363) 2023-03-17 15:11:11 -07:00
Alex Hsu
54e86e19a3 Juno: check in to lego/hb_04604851-bac4-4681-9f74-73de611d6e48_20230317154311330. (#22359) 2023-03-17 09:30:47 -07:00
Cheena Malhotra
4b02c26a52 MSAL cache encryption + log improvements (#22335) 2023-03-16 16:53:16 -07:00
Kim Santiago
931c44ac41 add ariaLive to publish options description (#22338)
* add ariaLive to publish options description

* use correct string and update typings

* update type

* remove comment update

* create type AriaLiveType

* update MockInputBoxComponent with AriaLiveValue

* update azdata-test and add comment
2023-03-16 16:08:24 -07:00
Alan Ren
20cf2489a2 support rename for login, user and a few other types (#22331)
* rename object

* add comment

* use URN property

* vbump STS

* revert loc string change

* fix name check

* pr comments
2023-03-16 15:00:07 -07:00
Alex Hsu
f5628ed8e3 Juno: check in to lego/hb_04604851-bac4-4681-9f74-73de611d6e48_20230316192338900. (#22350) 2023-03-16 12:33:19 -07:00
Alan Ren
1d99060443 update the display name (#22345) 2023-03-16 11:49:17 -07:00
Alex Hsu
8406ce8f93 Juno: check in to lego/hb_04604851-bac4-4681-9f74-73de611d6e48_20230315234519077. (#22339) 2023-03-15 17:07:25 -07:00
Charles Gagnon
8c20e827ad Remove error messages from error events (#22337) 2023-03-15 15:19:16 -07:00
dependabot[bot]
a2d66a288c Bump webpack from 5.73.0 to 5.76.0 (#22326)
Bumps [webpack](https://github.com/webpack/webpack) from 5.73.0 to 5.76.0.
- [Release notes](https://github.com/webpack/webpack/releases)
- [Commits](https://github.com/webpack/webpack/compare/v5.73.0...v5.76.0)

---
updated-dependencies:
- dependency-name: webpack
  dependency-type: direct:development
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-03-15 15:04:52 -07:00
junierch
cb66ef349e focus on tde edit button (#22314) 2023-03-15 13:30:34 -04:00
Alex Ma
8e6f747336 [Loc] SQL xlf update (Added node expansion labels) (#22328) 2023-03-14 17:15:10 -07:00
Alan Ren
91f64df29f update yarn.lock (#22324) 2023-03-14 14:00:44 -07:00
Aasim Khan
f0a5d296bf Fixing new connections not expanding in object explorer. (#22307)
* Fixing new connection node not expanding in OE

* Fixing new connections not expanding and fixing expand request not resolving because of some provider error.

* Fixing test

* Adding a setting for node expansion timeout

* Not saving when loading tree based connections

* Adding some logs

* Removing special casing for mssql provider

* Missing providers

* Adding user toast for node expansion timeout

* Adding notification service to test

* Fixing node type for mssql

* remove polling

* Fixing onNodeStatus

* Fixing stuff

* consolidating functions

* Consolidating resolve logic

* removing extra try catch

* code cleanup

* adding size checks

* Removing commented code

* Ignoring errors from other sessions and nodepaths.
2023-03-14 10:50:46 -07:00
Alex Ma
ef99e67cfe [Loc] update to XLFS for 3-13-2023 (#22318) 2023-03-13 17:18:30 -07:00
Karl Burtram
efc5938141 Fix casing of OE icon files to match source (#22315) 2023-03-13 15:04:15 -07:00
brian-harris
7c41d45e66 add SHIR registration for create service for sqldb (#22308) 2023-03-13 12:36:56 -07:00
Cheena Malhotra
8539b63a5c Upgrade http(s)-proxy-agent dependent npm packages (#22306) 2023-03-13 11:05:59 -07:00
Alan Ren
653293aad9 fix action bar size (#22301) 2023-03-10 14:39:45 -08:00
Alan Ren
7f3461c026 use latest STS version (#22297) 2023-03-10 11:36:46 -08:00
Cheena Malhotra
c163830bc4 Use Preferred username over email as 'user' property (#22288) 2023-03-09 20:25:07 -08:00
Cheena Malhotra
4c3f622250 Update @azure/msal-node to v1.16.0 (#22287) 2023-03-09 17:09:05 -08:00
Alex Ma
344ca478ef Fix for Edit Data grid newline on multiline strings (#22269)
* Fix for newline replacement

* added proper null regex and null character check

* removed cell class

* removed unnecessary function

* revert back to old check

* change onbeforeeditcell

* small fix to typo in onBeforeEditCell

* made changes based on feedback

* added comments clarifying isDBCellValue
2023-03-09 16:10:31 -08:00
Cheena Malhotra
f51fe75397 Null & Error handling in Azure core (#22259) 2023-03-09 14:34:39 -08:00
Kim Santiago
0bbc290790 fix accessibility issues in update project from db dialog (#22274)
* fix accessibility issues in update project from db dialog

* remove aria label on radio buttons
2023-03-09 14:21:43 -08:00
Kim Santiago
394d88445a undo remove project change in data workspace (#22283) 2023-03-09 14:14:39 -08:00
Alan Ren
6ace579986 user management fixes (#22282)
* fix a few user management bugs

* revert user dialog change
2023-03-09 14:11:04 -08:00
brian-harris
39f90afe6c add delete migration method in migration list and details pages (#22243)
* add delete migraiton, fix stale token detection

* address pr comments, fix api error response format
2023-03-09 13:52:48 -08:00
Kim Santiago
12a5bd0ef2 update target platform text for azure synapse sql pool (#22265) 2023-03-09 10:07:12 -08:00
Cheena Malhotra
d3d594e826 Revert "Update @azure/msal-node to 1.16.0 (#22255)" (#22268)
This reverts commit 87defc0367.
2023-03-09 09:27:30 -08:00
Kim Santiago
ab68c3060c Add required property in missing places in sql projects (#22253)
* add required property for missing places in sql projects

* remove comma
2023-03-09 08:45:21 -08:00
Alan Ren
ec515a3b23 allow nothing is selected as initial state (#22260) 2023-03-09 08:44:35 -08:00
Maddy
5fc69a0445 Fix find highlight on cell edits (#22080)
* update the rendered text onCellSourceChange

* fix test

* fix highlight in split mode

* update corresponding test

* update hasEditor with getEditor

* update event

* add comment
2023-03-08 22:26:07 -08:00
Cheena Malhotra
87defc0367 Update @azure/msal-node to 1.16.0 (#22255) 2023-03-08 20:25:37 -08:00
Cheena Malhotra
cc52eb9dd8 Include App Path in service launch arguments (#22233) 2023-03-08 18:44:17 -08:00
Charles Gagnon
8e5d89ef94 Fix datavirtualization wizard opening to wrong database (#22232)
* Fix datavirtualization wizard opening to wrong database

* vBump
2023-03-08 14:27:19 -08:00
Aasim Khan
9fddefc8fb Fixing execution plan not finding provider (#22238) 2023-03-08 12:55:49 -08:00
Aasim Khan
84c9a03bf9 Fixing icon for group by schema (#22212) 2023-03-08 12:13:49 -08:00
Kim Santiago
954d521a83 Fix delete database reference request (#22214) 2023-03-08 11:03:44 -08:00
Charles Gagnon
3937f62ce4 Fix query history storage folder creation (#22229) 2023-03-08 10:51:14 -08:00
Charles Gagnon
31fd467bec Add backup and restore keywords to sql grammar (#22226)
* Add BACKUP, STATS and CHECKSUM to keywords list

* LOG and REPLACE
2023-03-08 10:38:40 -08:00
Alan Ren
d19aad9b37 remove commands (#22218) 2023-03-08 08:10:11 -08:00
Alex Hsu
c78c2815cc Juno: check in to lego/hb_04604851-bac4-4681-9f74-73de611d6e48_20230307165240996. (#22191) 2023-03-07 09:42:54 -08:00
Benjin Dubishar
14b0e508cb Bumping sql tools service (#22188) 2023-03-07 09:59:22 -07:00
Charles Gagnon
a575eb1b87 Fix telemetry property names (#22190) 2023-03-07 08:31:24 -08:00
Karl Burtram
b4d5a08199 Bump STS to 4.6.0.1 (#22184) 2023-03-06 20:41:49 -08:00
Aasim Khan
d3f4f0daa4 Adding light contrast theme (#22028)
* Adding light contrast theme

* fixing oe icons

* Fixing more files

* Converting ep files to support hc light

* Revert "Copy Headers for Selected Columns (#21622)"

This reverts commit f74d6f6d9b.

* Adding more css rules

* Fixing modal

* Fixing azure icons
2023-03-06 17:31:27 -08:00
Alan Ren
29c1f5edd0 disable the checkbox for schemas owned by user (#22178) 2023-03-06 15:14:46 -08:00
Alex Ma
f25599119e [Loc] Massive fix for March Langpack (#22180) 2023-03-06 15:04:31 -08:00
Karl Burtram
8a71302aea Only support 'user with login' in dialog (#22175) 2023-03-06 14:32:30 -08:00
erpett
bf753309e7 Updating package.json to show the next build number now that the release branch has split for 1.42 (#22169) 2023-03-06 12:01:27 -08:00
Charles Gagnon
a657aa6cb5 Remove hasEditor from ICellEditorProvider (#22145) 2023-03-06 11:02:41 -08:00
Alex Hsu
c882aeddb0 Juno: check in to lego/hb_04604851-bac4-4681-9f74-73de611d6e48_20230306164853268. (#22167) 2023-03-06 09:24:16 -08:00
Alex Hsu
fae37856fb Juno: check in to lego/hb_04604851-bac4-4681-9f74-73de611d6e48_20230305164151174. (#22153) 2023-03-05 11:23:06 -08:00
Alex Ma
666034b85c [Loc] updates to xlfs 3-5-2023 (#22152) 2023-03-05 05:04:27 -08:00
Alex Hsu
720f91b0ea Juno: check in to lego/hb_04604851-bac4-4681-9f74-73de611d6e48_20230304164235493. (#22150) 2023-03-05 03:04:28 -08:00
Aasim Khan
644f5a16ef Fixing URI openings for execution plans (#22139) 2023-03-04 15:14:50 -08:00
Alan Ren
b5a9a3647b escape the special character (#22141) 2023-03-03 23:57:40 -08:00
Lewis Sanchez
0f813a9900 Update add account icon (#22142)
* Update add account icon

* Remove unused icon from SqlIconId

* Remove unused accountActions.css

* Revert "Remove unused accountActions.css"

This reverts commit d31d17f5d2027f25f306e713abff14e750e7479a.

* Remove unused css file and svg's

* Remove unused import

* Revert "Remove unused import"

This reverts commit 91ad47da56d428d8805b65f685af76694b16ba6c.

* Remove unused import
2023-03-03 17:42:10 -08:00
Kim Santiago
5fef212ea3 add vscode mssql handling for getSqlProjectsService() (#22121)
* add vscode mssql handling for getSqlProjectsService()

* try to fix error because of projectStyle enum
2023-03-03 16:52:05 -08:00
Alan Ren
d2d24e3827 dispose view after the operation is done (#22144) 2023-03-03 15:34:51 -08:00
Cheena Malhotra
07eb964c32 Fix AuthLibrary detection and use MSAL by default (#22140) 2023-03-03 14:33:29 -08:00
Alex Ma
076ab355a0 Langpack update for March 1.43 release (#22137)
* [Loc] Update to langpack source files and xlfs for March Release

* Last update before code complete
2023-03-03 13:54:13 -08:00
Cheena Malhotra
aa350f7e49 Enable SQL Auth Provider support (#21903) 2023-03-03 12:49:01 -08:00
Cheena Malhotra
0ac6f40559 Fixes clearing of username/password on auth type change (#22138) 2023-03-03 12:45:09 -08:00
Cheena Malhotra
19d77f02dd Pre-populate username for selected user account (AzureMFAAndUser) (#22126) 2023-03-03 12:11:52 -08:00
Alan Ren
9ea3889170 use native osx_arm64 sts bits (#22122)
* use native osx-arm64 sts bits

* universal app

* update package
2023-03-03 11:09:39 -08:00
Benjin Dubishar
1a5ae9cf32 Bumping SqlToolsService to 4.5.0.38, and adding new bindings (#22129)
* Bump STS

* adding/updating bindings
2023-03-03 09:13:16 -08:00
Alex Hsu
1cc338c79b Juno: check in to lego/hb_04604851-bac4-4681-9f74-73de611d6e48_20230303164110539. (#22136) 2023-03-03 08:52:15 -08:00
AkshayMata
bb40a71166 Update migration service (#22135)
This PR bumps up the Migration Service version to 4.5.0.38. This version includes login migration nuget changes to expose error codes to the user.
2023-03-03 08:35:57 -08:00
Alan Ren
1882c02ad6 update the compiled js file (#22123) 2023-03-03 08:06:29 -08:00
Alex Ma
18758b6748 [Loc] update to Azurecore and SQL xlfs (#22130) 2023-03-03 00:02:58 -08:00
Cheena Malhotra
b310e3eed4 Fixes a console error raised from error dialog action (#22124) 2023-03-02 21:02:31 -08:00
Cheena Malhotra
375ce82b7d Bump STS (#22119) 2023-03-02 18:42:01 -08:00
Charles Gagnon
bd797ea6e1 Update extension privacy statements (#22120)
* Update extension privacy statements

* one more
2023-03-02 16:39:29 -08:00
Lewis Sanchez
eb3c5f1f47 Moves New Deployment from connections pane to file menu bar. (#22090)
* Moves New Deployment to file menu bar.

* Add deployment back to breadcrumb menu

* Update extensions/resource-deployment/DEVELOPER_GUIDE.md

Co-authored-by: Charles Gagnon <chgagnon@microsoft.com>

* Adjust new deployment mnemonic

* Remove unused localized string

---------

Co-authored-by: Charles Gagnon <chgagnon@microsoft.com>
2023-03-02 16:26:38 -08:00
Christopher Suh
20c290aa91 Better error messages from connection failures in MSAL (#22065)
* better error messages from connection failures in MSAL\, fix typo

* cleanup

* pr comments

* rename error interface

* address pr comments

* update api

* fix typings

* change one more typing

* fix build

* fix tests
2023-03-02 15:38:12 -08:00
Charles Gagnon
6172b4677f Update ads-extension-telemetry (#22112) 2023-03-02 15:20:04 -08:00
Alex Ma
69d3552749 [Loc] xlf update for 3-2-2023 (#22117) 2023-03-02 15:17:50 -08:00
Alan Ren
9b6018a21e fix null reference issue (#22113)
* fix null reference issue

* move opendialog call out of promise.
2023-03-02 14:44:10 -08:00
Raymond Truong
da92875fea vbump MigrationService (#22110) 2023-03-02 14:43:35 -08:00
Benjin Dubishar
df9b0f7771 Adding sqlproj property bindings (#22106) 2023-03-02 13:34:00 -08:00
Cory Rivera
075b3cb35e Remove unused $connect arg leftover from vscode notebooks change. (#22108) 2023-03-02 13:26:44 -08:00
Raymond Truong
8600cc3cd1 [SQL Migration] Remove preview tag from SQL DB scenario (#22070)
* Remove preview from strings

* Update readme
2023-03-02 13:11:46 -08:00
Alan Ren
91ee26a888 use native win-arm64 STS builds (#22103)
* use native windows arm STS

* update downloader and build job

* remove workarounds

* vbump STS

* revert change

* update ads-service-downloader version

* fix admin-tool-ext-win extension
2023-03-02 12:37:14 -08:00
Hai Cao
20969bf244 Add perf marks for query execution (#22082) 2023-03-02 11:36:29 -08:00
Aasim Khan
9033ed5583 Adding group by schema button to OE (#22083) 2023-03-02 11:35:33 -08:00
brian-harris
345c6b16e3 add error handler for validateIR gateway timeout (#22091)
* add error handler for validateIR gateway timeout

* log api errors
2023-03-02 11:01:28 -08:00
Benjin Dubishar
711923cd46 Adding None bindings to the sqlProjects service (#22085)
* Adding None bindings

* updating names of None bindings
2023-03-01 22:02:54 -08:00
Alex Ma
dacbc24143 [Loc] small fix to Portuguese lcl file (#22088)
* [Loc] small fix to Portuguese lcl file

* remove newline
2023-03-01 17:14:51 -08:00
Alex Ma
e06e88cc0f [Loc] update to mssql and sql-migration xlf files (#22087) 2023-03-01 16:58:29 -08:00
Charles Gagnon
d0ca3031e0 Fix query-history README images (#22084) 2023-03-01 14:36:40 -08:00
Charles Gagnon
e4663b9778 Update extension READMEs (#22079) 2023-03-01 11:34:17 -08:00
Cheena Malhotra
35f7736b96 Add Secure Enclaves dropdown with customizable Advanced options (#22019) 2023-03-01 11:01:50 -08:00
AkshayMata
bf05ea69ef [SQL-Migration] Login migrations telemetry (#22038)
This PR enhances telemetry for login migrations (and in the following ways:

Add details for starting migration (number of logins migrating, type of logins)
Log Migration result (number of errors per step, duration of each step, type of logins, if system error occurred)
Add sql-migration extension to our telemetry
Adds details when trying to connect to target
Tracks clicking "done" from the wizard
Fixes bucketizing for navigating telemetry in the login migration wizard
Sample usage of kusto query for new telemetry:
RawEventsADS
| where EventName contains 'sql-migration'
| extend view = tostring(Properties['view'])
| extend action = tostring(Properties['action'])
| extend buttonPressed = tostring(Properties['buttonpressed'])
| extend pageTitle = tostring(Properties['pagetitle'])
| extend adsVersion = tostring(Properties['common.adsversion'])
| extend targetType = tostring(Properties['targettype'])
| extend tenantId = tostring(Properties['tenantid'])
| extend subscriptionId = tostring(Properties['subscriptionid'])
| where view contains "login"
//| where adsVersion contains "1.42.0-insider"
| where ClientTimestamp >= ago(18h)
| project EventName, ClientTimestamp, SessionId, view, pageTitle, action, buttonPressed, targetType
, tenantId, subscriptionId
, adsVersion, OSVersion, Properties
2023-03-01 10:55:01 -08:00
Kim Santiago
d6358b3e29 Add telemetry events for rename and move in sql project (#22068)
* add telemetry events for rename and move in sql project

* remove check

* update telemetry events
2023-03-01 10:25:09 -08:00
AkshayMata
e69346e7fa Update infobox to public preview (#22074)
This PR updates the infobox for upcoming public preview mode.
2023-03-01 09:48:30 -08:00
Benjin Dubishar
eecffbf82d Bump SqlToolsService to 4.5.0.33 (#22076) 2023-03-01 09:19:14 -08:00
Alan Ren
6684e227d6 Fix default install location for system installer of Windows on ARM build (#22073)
* fix default path for win arm system installer

* update

* remove commented out code
2023-03-01 08:49:29 -08:00
Charles Gagnon
4a5ac92e46 Update ads-extension-telemetry to 1.4.0 (#22069)
* Update ads-extension-telemetry

* One more
2023-02-28 22:25:07 -08:00
Alex Ma
78b285e43a [Loc] update to mssql and sql-database-projects xlfs (#22072) 2023-02-28 17:27:11 -08:00
Kim Santiago
bc85f52dd4 Update sql project file move to use DacFx api (#22064)
* update move to use STS api

* swap rename to use move function

* add try catch

* remove debug statement

* get original path from node
2023-02-28 14:31:49 -08:00
Cory Rivera
2ca093f15f Disable the vscode SQL notebook controller since it breaks query editor. (#22061) 2023-02-28 12:18:38 -08:00
Kim Santiago
0413b95343 Swap rename to use DacFx move api (#22051)
* swap rename to use DacFx project apis

* add support for rename pre/post deploy scripts and add tests

* update the enum names too

* check instanceof instead of getting and iterating through all the collections
2023-02-28 11:59:09 -08:00
Kim Santiago
8550faaa73 Have different node types for the different item types in sql project tree (#22053)
* Have different node types for the different item types in sql project tree

* address comments
2023-02-28 10:31:46 -08:00
Aasim Khan
555f8fbb1e Adding null checks to prevent runtime exceptions (#22054) 2023-02-27 23:46:14 -08:00
Aasim Khan
45d41347ba Adding null checks and fixing values in slickgrid checkbox column plugin (#22050)
* Adding null checks to checkbox column

* Setting default value for undefined checkbox
2023-02-27 18:52:16 -08:00
Alex Ma
7d4ee2d0b8 [Loc] update to SQL-Database-Projects XLF for 2-27-2023 (#22052) 2023-02-27 17:00:38 -08:00
Kim Santiago
e675fc14f0 Revert 'Add profile section in Publish project UI (#21906)' (#22047)
This reverts commit cb58286247.
2023-02-27 15:09:50 -08:00
Benjin Dubishar
febfe3718f Adding bindings for SqlProject service getters (#22046)
* Getters

* blank lines

* STS bump

* Fixing typos

* updating contract ID
2023-02-27 15:01:04 -08:00
Alan Ren
d48984fe13 use the dialog's loading indicator (#22032)
* use the dialog's loading indicator

* more

* comments
2023-02-27 13:13:16 -08:00
Cory Rivera
73f00b63ce Open books in VS Code notebooks if the setting is enabled. (#22031) 2023-02-27 11:54:35 -08:00
Aasim Khan
dbd1c1b5b3 Fixing table being announced for button (#22024)
* Fixing table being announced for button

* Fixing issue in the component

* Reverting other changes
2023-02-27 11:24:58 -08:00
Aasim Khan
4fd6a57afc Adding aria label (#22030) 2023-02-27 10:43:15 -08:00
Alex Hsu
23560a8744 Juno: check in to lego/hb_04604851-bac4-4681-9f74-73de611d6e48_20230227163924260. (#22041) 2023-02-27 09:33:15 -08:00
Alex Hsu
1e8519d54a Juno: check in to lego/hb_04604851-bac4-4681-9f74-73de611d6e48_20230226165412143. (#22040)
Co-authored-by: Karl Burtram <karlb@microsoft.com>
2023-02-26 12:29:59 -08:00
Alex Hsu
62b90c41ff Juno: check in to lego/hb_04604851-bac4-4681-9f74-73de611d6e48_20230225164521545. (#22035) 2023-02-26 12:22:58 -08:00
AkshayMata
d39e503788 [SQL-Migration] Fix JSON-RPC Migration crash on ADS reload due to zombie process (#22036)
This PR fixes an issue where the JSON-RPC Migration Service crashes when ADS is reloaded.

This situation applies when user tried to reload ADS where SQL-migration extension was running:

when connecting to DB, SQL-migration extension loads and migration service launches
if a previous MigrationService zombie process is stil running (if extension was used before), then that zombie process will have a lock on the log file
new launches of MigrationService on reloaded ADS fails b/c it can't obtain log file handle due to lock in step 2
The fix stops the MigrationService on extension deactivate and will ensure that a zombie MigrationService process isn't hanging around on reloads.

No hotfix needed as 1.4.0 was baking in insiders and has not been released to stable yet. Additionally, this mainly affects developers as they are most likely to reload ADS this way. Caveat: users do need to reload after installing latest version, however they will not hit this code path (since the migration service process is only in new versions of the extension)
2023-02-25 19:28:36 -08:00
Alex Ma
8752ba434d [Loc] update to data-workspace xlf (#22034) 2023-02-24 21:09:12 -08:00
Kim Santiago
7a8888f073 Show error if trying to create or open project when no project extension is installed (#22021)
* show error if trying to create or open project when no project extensions are found

* only check if project providers are available on startup and when extensions change

* addressing comments

* Update extensions/data-workspace/src/services/workspaceService.ts

use some instead of find

Co-authored-by: Charles Gagnon <chgagnon@microsoft.com>

---------

Co-authored-by: Charles Gagnon <chgagnon@microsoft.com>
2023-02-24 13:36:39 -08:00
Alex Hsu
d5c5b3451a Juno: check in to lego/hb_04604851-bac4-4681-9f74-73de611d6e48_20230224164330029. (#22027) 2023-02-24 12:54:50 -08:00
Charles Gagnon
703f97a7bf Remove kburtram-query-plan (#22017)
* Remove kburtram-query-plan

* distro

* distro2
2023-02-24 09:12:04 -08:00
AkshayMata
a9166194cb Update migration service to 4.5.0.28 (#22020)
This PR updates the JSON-RPC Migration service to the latest version. Critically, it also changes the dotnet version to 7.0. The STS dotnet version was recently changed, which changed the names of the release packages and broke our existing links.
2023-02-24 08:57:06 -08:00
Alex Ma
8715f2bdb4 [Loc] small change to sql-database-projects xlf (#22026) 2023-02-24 04:11:10 -08:00
Sakshi Sharma
41e2767880 Add publish profile to sql proj and tree (#22008)
* Read publish profiles stored in sqlproj file and present it in the projects tree

* Save publish profile and add it to sqlproj file, and present it in the tree

* Fix context menu operations

* Add tests

* Address comments
2023-02-23 22:32:12 -08:00
Alex Ma
91cdd610fd [Loc] update to xlfs for 2-23-2023 (#22023) 2023-02-23 17:30:48 -08:00
Kim Santiago
d75cf2b657 Hookup sqlcmdvar delete (#22018)
* delete sqlcmd variable working

* undo add

* add test
2023-02-23 16:44:08 -08:00
Cory Rivera
f53119c2a6 Enable VS Code notebooks with a built-in SQL kernel. (#21995) 2023-02-23 16:22:46 -08:00
Charles Gagnon
290687a207 Remove unused things from ads telemetry service (#22016) 2023-02-23 15:34:47 -08:00
Kim Santiago
4ed1ef34b6 update version of Microsoft.Build.Sql used for building legacy sql projects (#22010) 2023-02-23 15:12:09 -08:00
Christopher Suh
b7e0bbb64a Update api to pass more detailed error messaging from azurecore (#22003)
* update api to pass more detailed error messaging from azurecore

* fix formatting

* fix buid error

* fix pr comments

* move to azdata.proposed.d.ts

* pr comments

* Update extensions/azurecore/src/account-provider/auths/azureAuth.ts

Co-authored-by: Charles Gagnon <chgagnon@microsoft.com>

* refactor

* pr comments

* Update src/sql/workbench/services/accountManagement/browser/accountManagementService.ts

Co-authored-by: Charles Gagnon <chgagnon@microsoft.com>

* pr comments

* Update src/sql/azdata.proposed.d.ts

Co-authored-by: Charles Gagnon <chgagnon@microsoft.com>

* Update extensions/azurecore/src/account-provider/auths/azureAuth.ts

Co-authored-by: Charles Gagnon <chgagnon@microsoft.com>

* fix formatting

* fix compile error

* fix compile error

* pr comments

---------

Co-authored-by: Charles Gagnon <chgagnon@microsoft.com>
2023-02-23 13:00:18 -08:00
Raymond Truong
85056fb1b7 [SQL Migration] Allow folders inside blob containers (#21952)
* WIP

* WIP

* WIP - add new property to blob

* Add error messages

* Fix undefined for offline scenario

* Add support for offline scenario

* Clean up

* vbump extension

* remove >1 level deep folders

* fix [object] object issue

* Remove unnecessary asyncs

* don't allow >1 level deep for offline scenario lastBackupFile
2023-02-23 10:40:56 -08:00
Alex Hsu
fd282cd20b Juno: check in to lego/hb_04604851-bac4-4681-9f74-73de611d6e48_20230223164743768. (#22012) 2023-02-23 09:40:38 -08:00
Benjin Dubishar
0354775107 Fleshing out the SqlProjects service bindings (#21984)
* starts of sqlprojectsservice

* copy to mssql

* adding all the boilerplate

* updating service call structures

* Fixing up test mocks

* Adding comments to all the bindings

* blank space

* swapping for Promise; adding vscode-mssql type bindings

* patching
2023-02-22 22:58:30 -08:00
Lewis Sanchez
872095ed84 Hide refresh button on disconnected connections (#22009) 2023-02-22 16:41:07 -08:00
Kim Santiago
169138e24b Remove data workspace * activationEvent (#22005)
* remove data workspace * activationEvent

* fix tests
2023-02-22 12:03:39 -08:00
Kim Santiago
10c3199a23 update sql projects azdata dependency (#22007) 2023-02-22 11:11:35 -08:00
Aasim Khan
c3e0478447 Adding aria role to hyperlink cell in slickgrid (#21998)
* Adding aria role to hyperlink

* Adding default
2023-02-22 10:42:11 -08:00
Lewis Sanchez
656a86a103 Fix empty connection name in delete connection prompt (#22001)
* Fix empty name in delete connection prompt

* Update src/sql/workbench/services/objectExplorer/browser/connectionTreeAction.ts

Co-authored-by: Charles Gagnon <chgagnon@microsoft.com>

---------

Co-authored-by: Charles Gagnon <chgagnon@microsoft.com>
2023-02-21 17:43:29 -08:00
Alex Ma
ee60319f70 [Loc] update to strings for 2-21-2023 for data workspace and sql-database-projects (#22002) 2023-02-21 16:50:28 -08:00
Kim Santiago
a7f68ebd33 Drag and drop support for sql projects tree (#21956)
* Drag and drop working

* update comment

* move to projectController

* remove registerTreeDataProvider

* add tests

* fix dragging to project root

* cleanup

* addressing comments
2023-02-21 15:45:25 -08:00
Lewis Sanchez
effdf4f538 Stops Azure connection with the "Do not save" server group option from being stored in the default server group list. (#21997)
* Fix Azure connections do not save to server group error

* Revert unnecessary change
2023-02-21 13:47:40 -08:00
Alex Ma
004d55d98d [Loc] update to MSSQL xlf (#21999) 2023-02-21 13:19:03 -08:00
Charles Gagnon
00493d6555 Add telemetry section to extension READMEs (#21994)
* Add telemetry section to extension READMEs

* Add separate links for VS Code
2023-02-21 12:34:17 -08:00
Charles Gagnon
29049bb15e Add Codeowners for import and sql-migration (#21996) 2023-02-21 12:31:55 -08:00
Kim Santiago
7761c3b171 Swap create new project api for sql projects (#21971) 2023-02-21 10:00:56 -08:00
Alex Hsu
66edf059be Juno: check in to lego/hb_04604851-bac4-4681-9f74-73de611d6e48_20230218164737005. (#21986) 2023-02-19 08:15:34 -08:00
Aasim Khan
22c3829225 Adding setting for OE expansion timeout (#21985)
* Adding setting for OE expansion timeout

* Cleaning up the names

* Adding minimum timeout value
2023-02-17 23:02:57 -08:00
Alan Ren
b5ce7af090 Add support for Login and User management (#21981)
* initial commit

* leave only march release objects

* clean up

* login dialog

* localize and use background operation

* code cleanup

* remove tab

* support server role in login

* remove canEditName

* add user support

* comments and bug fixes

* remove hasDBAccess for now

* refactoring

* fix error

* user dialog UI

* telemetry, error handling and refactoring

* Fix references to dialogInfo (#21914)

* update telemetry

* Bump STS and use actual object management service

* add preview and handle no-change scenario

* fix merge issue

---------

Co-authored-by: Karl Burtram <karlb@microsoft.com>
2023-02-17 18:02:31 -08:00
Christopher Suh
6231df85e0 Handle undefined error when opening connection dialog (#21980)
* handle undefined error when opening connection dialog

* combine into else if

* change log

* update log message
2023-02-17 15:22:51 -08:00
Lewis Sanchez
7c47aea06e Fix set authenticationType of undefined error (#21982) 2023-02-17 15:04:59 -08:00
Aasim Khan
e40c8dda25 Removing migration contracts from mssql (#21966)
* Removing migration contracts from sts

* Update sts

* Pushing latest sts
2023-02-17 13:50:53 -08:00
brian-harris
9b841f4a49 fix bug in dropdown auto-selection (#21977) 2023-02-17 12:06:16 -08:00
Alex Hsu
4852de7b8e Juno: check in to lego/hb_04604851-bac4-4681-9f74-73de611d6e48_20230217164703043. (#21976) 2023-02-17 11:56:24 -08:00
Cheena Malhotra
66053f5152 Fix missing null ref check causing extension issues (#21974) 2023-02-17 09:45:23 -08:00
Kim Santiago
c5fc37c373 Initial changes for adding SqlProjectsService (#21967)
* Add SqlProjectsService

* cleanup

* reorder imports

* undo changes in project.ts for now to fix tests
2023-02-16 17:15:24 -08:00
Sakshi Sharma
199f280586 Populate dbs properly when using publish profile, change connection icon and try enabling buttons (#21968) 2023-02-16 16:14:40 -08:00
Sakshi Sharma
7c6ae87fc8 Read server options from publish profile (#21960)
* Read encrypt and trust server certificate

* Set hostname in certificate setting

* Address comment- open connection dialog if the connection string in publish profile doesn't load a connection, instead of throwing an error.
2023-02-16 16:12:43 -08:00
Alex Hsu
f25c250547 Juno: check in to lego/hb_04604851-bac4-4681-9f74-73de611d6e48_20230216164409169. (#21963) 2023-02-16 08:55:38 -08:00
Alan Ren
32c7a4aeec add tab navigation option for slickgrid (#21947)
* profiler a11y bug fixes

* add new option

* replace old implementation

* update slickgrid
2023-02-15 21:37:01 -08:00
Alan Ren
8690c350d2 fix server group color a11y issue (#21958) 2023-02-15 21:21:35 -08:00
Aasim Khan
48d0aa72cc Replacing select with focus in OE (#21954) 2023-02-15 17:27:36 -08:00
Alex Ma
69616cd221 [Loc] update to mssql and sql xlf files (#21957) 2023-02-15 16:48:28 -08:00
Aasim Khan
d6c35836cc Adding group by schema to OE (#21941)
* Adding group by schema and updating schema icon

* Adding item context menu

* Fixing command logic

* Adding telemetry for group by and changing default config

* reverting no child nodes error message

* Code cleanup

* Cleaning up constants

* Removing unused imports

* Update extensions/mssql/src/main.ts

Co-authored-by: Charles Gagnon <chgagnon@microsoft.com>

* converting to sendActionEvent

* sendActionEvent

* Adding telemetryViews and telemetry actions

* Fixing localized string

* registering context

---------

Co-authored-by: Charles Gagnon <chgagnon@microsoft.com>
2023-02-15 15:18:10 -08:00
Cory Rivera
f7fa9bece3 Add a check for an undefined model when creating the connection dialog model. (#21953) 2023-02-15 14:23:15 -08:00
Alex Hsu
de5e81a157 Juno: check in to lego/hb_04604851-bac4-4681-9f74-73de611d6e48_20230215164641972. (#21943) 2023-02-15 12:54:51 -08:00
Lucy Zhang
498f278887 Add horizontal scrollbar to Kqlmagic table and remove plotly graph max width (#21934)
* add scroll and remove plotly max width

* scope down
2023-02-15 10:40:45 -08:00
Lewis Sanchez
d9b24522e5 Fix missing password in Connection pane for Server connections with remembered passwords (#21813)
* Fix missing password in Connection pane

* Get saved password for SQL login default auth type

* Clean up

* Fix build hygiene errors

* Captures input

* Add timeout waiting for all promises to resolve

* Add missing semicolon

* Code review feedback

* Minor clean up

* Code review feedback

* Improved error messaging

* Update src/sql/workbench/services/connection/browser/connectionDialogService.ts

Co-authored-by: Charles Gagnon <chgagnon@microsoft.com>

* Improves UX around loading passwords

* Remove unused import

* Uses await instead of promise chaining.

* Removes async

* Revert back to resolving password promise.

* Asserts controller map and model have values.

---------

Co-authored-by: Charles Gagnon <chgagnon@microsoft.com>
2023-02-14 20:49:55 -08:00
Alan Ren
a683b1b777 profiler a11y bug fixes (#21940) 2023-02-14 18:48:17 -08:00
Alan Ren
447a9d0f34 fix the find widget hide issue (#21937) 2023-02-14 18:19:40 -08:00
Kim Santiago
4f6fe5955d Remove parent from sql project tree items (#21912)
* update getFileProjectEntry and getRelativePath

* remove root and fix tests

* remove parent from sql project tree items
2023-02-14 14:53:39 -08:00
Kim Santiago
fe25674401 change sqlprojUri to projectFileUri (#21938) 2023-02-14 13:56:02 -08:00
Kim Santiago
71c12883fe Remove references to root in sql projects (#21911)
* update getFileProjectEntry and getRelativePath

* remove root and fix tests
2023-02-14 10:34:46 -08:00
Kim Santiago
d5384cad0e Fix database name in dacpac wizard not saying required (#21932) 2023-02-14 09:50:52 -08:00
AkshayMata
5e7446af6c Refactor functionality into LoginMigrationsModel (#21933)
This PR refactors to encapsulate all login migration functionality into LoginMigrationModel
2023-02-14 06:05:53 -08:00
Alan Ren
385e4a2245 move the focus to newly added filter field. (#21930) 2023-02-13 19:43:16 -08:00
Alan Ren
a754d235c0 completely hide the hidden widget (#21931) 2023-02-13 19:42:34 -08:00
Alex Ma
f678e27515 [Loc] update to XLFS for 2-13-2023 (#21929) 2023-02-13 16:13:24 -08:00
Sakshi Sharma
cb58286247 Add profile section in Publish project UI (#21906)
* Add profile section in Publish project UI

* Move publish profile row below Publish Target

* Add contract for savePublishProfie and SaveProfileAs button functionality

* Make the DacFx contract functional

* Send values from UI to DacFx service call

* Fix build error

* Address comment, remove print statements

* Address comments

* Set correct connection string
2023-02-13 14:06:42 -08:00
Alan Ren
93f5581bc7 add aria-label for step link in wizard (#21925)
* add aria label to wizard step link

* update aria label
2023-02-13 13:41:01 -08:00
Alex Hsu
97ff0694b2 Juno: check in to lego/hb_04604851-bac4-4681-9f74-73de611d6e48_20230213164318709. (#21921) 2023-02-13 08:56:23 -08:00
Alex Hsu
882a7342e0 Juno: check in to lego/hb_04604851-bac4-4681-9f74-73de611d6e48_20230212165154337. (#21917) 2023-02-12 10:26:47 -08:00
Aasim Khan
837236be0f Modifying the migration extension to use its own service. (#21781)
* Adding migration service to sql migrations

* enabling auto flush log

* Adding support for env variable

* Adding TDE Migration service

* code cleanup

* updating service downloader

* Removing custom output channel

* remove unnecessary await

* Updated service version to get latest code

* Consolidate TDE into migration service

* Sync to latest main

* Update sql-migration package version

* Fix merge conflict error

* Fixing all merge conflicts

* Fixing stuff

* removing extra whitespace

* Cleaning up

---------

Co-authored-by: Akshay Mata <akma@microsoft.com>
2023-02-12 09:59:09 -08:00
Alan Ren
12a3bf6b3b handle json (#21915) 2023-02-10 19:05:32 -08:00
Charles Gagnon
1d96476a81 Filter more command IDs (#21910)
* Filter more command IDs

* More
2023-02-10 14:41:17 -08:00
Kim Santiago
2b4c608b93 Update sql projects tree to use sqlproj uri instead of parent nodes (#21901)
* update sql projects tree to use sqlproj uri instead of parent nodes

* remove todo

* undo other change

* update a couple more
2023-02-10 11:22:59 -08:00
Cheena Malhotra
3fb8d57d25 Add support for Encrypt=Strict for TDS 8.0 connections with SQL Server 2022 (#21256) 2023-02-10 10:34:36 -08:00
Alex Hsu
c75628639c Juno: check in to lego/hb_04604851-bac4-4681-9f74-73de611d6e48_20230210164036933. (#21907) 2023-02-10 09:30:18 -08:00
Alan Ren
514d599e62 remove client side sorting for db list (#21899)
* remove client side sorting for db list

* update sts
2023-02-10 09:15:41 -08:00
Cory Rivera
319e0811f1 Specify an editor ID for notebook inputs. (#21900) 2023-02-09 14:08:19 -08:00
Kim Santiago
0e269e0438 Cleanup sql projects tree (#21883)
* remove MessageTreeItem and rename projectUri to relativeProjectUri

* declare variables inline in constructor
2023-02-09 11:42:00 -08:00
Karl Burtram
37ad1b0fdb Update changelog for 1.41.2 (#21897)
* Update changelog for 1.41.2

* spelling
2023-02-09 10:56:35 -08:00
Alex Hsu
5b5705c03d Juno: check in to lego/hb_04604851-bac4-4681-9f74-73de611d6e48_20230209164917683. (#21894) 2023-02-09 09:27:55 -08:00
Kim Santiago
f8d9106eef removing unused SqlDatabaseProjectTreeViewProvider functions (#21885) 2023-02-09 09:23:45 -08:00
Alan Ren
711bffb1f5 auto reveal only in dev mode (#21880) 2023-02-08 10:38:42 -08:00
Raymond Truong
480d8e2cd0 [SQL Migration] Properly respect user's encryptConnection and trustServerCertificate settings (#21824)
* WIP

* Always get latest current connection

* Update more references

* Clean up

* Clean up

* vbump

* Update comments

* Address PR feedback

* Separate into helper methods
2023-02-08 10:12:11 -08:00
Charles Gagnon
99a924dbcd Remove unused packages from MSSQL (#21871) 2023-02-07 19:22:44 -08:00
Alex Ma
dfe84da196 [Loc] update to xlfs for 2-7-2023 (#21873) 2023-02-07 16:51:54 -08:00
Kim Santiago
af8316291e Rename file support in sql projects (#21858)
* add quickpick for rename file/folder in sql project

* add comment

* make rename file actually do something

* add validation
2023-02-07 16:27:44 -08:00
Christopher Suh
7150257218 Fix Account Dialog with Multiple Providers (#21836)
* fix uncaught error in showSplitView

* fixed bugs around account dialog with multiple providers

* cleanup

* fix index out of bounds error

* Fire account list update after removing provider, other pr fixes
2023-02-07 15:00:47 -08:00
junierch
61ddf297f9 Adding SQL tools team recommendations (#21866) 2023-02-07 12:48:56 -05:00
Cheena Malhotra
66410edf02 Migrate cert validation error handling to mssql extension (#21829) 2023-02-07 09:21:35 -08:00
Kim Santiago
e1b35d266a Fix publish profile telemetry for ADS (#21860) 2023-02-06 17:12:30 -08:00
Alex Ma
3036b53647 [Loc] Sql-Database-Projects XLF update (#21861) 2023-02-06 16:38:47 -08:00
Kim Santiago
7efe4f9ce9 Remove data sources tree item from sql projects (#21842)
* remove data sources tree item from sql projects

* remove data sources node name
2023-02-06 14:48:26 -08:00
junierch
8de5efdf86 databases query updated (#21856) 2023-02-06 15:16:52 -05:00
Lucy Zhang
b3048213e8 Minor improvements in notebook edit mode handling (#21839)
* rename + remove duplicate calls

* only fire onCellEditModeChanged when changed
2023-02-06 10:42:19 -08:00
dependabot[bot]
2767ff819d Bump http-cache-semantics from 4.1.0 to 4.1.1 in /build/npm/gyp (#21847)
Bumps [http-cache-semantics](https://github.com/kornelski/http-cache-semantics) from 4.1.0 to 4.1.1.
- [Release notes](https://github.com/kornelski/http-cache-semantics/releases)
- [Commits](https://github.com/kornelski/http-cache-semantics/compare/v4.1.0...v4.1.1)

---
updated-dependencies:
- dependency-name: http-cache-semantics
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-02-06 09:19:40 -08:00
Alex Hsu
6de89d9978 Juno: check in to lego/hb_04604851-bac4-4681-9f74-73de611d6e48_20230206164004959. (#21855)
Co-authored-by: Karl Burtram <karlb@microsoft.com>
2023-02-06 09:18:44 -08:00
Alex Hsu
7de6b9a296 Juno: check in to lego/hb_04604851-bac4-4681-9f74-73de611d6e48_20230205165241590. (#21849) 2023-02-06 09:14:35 -08:00
Alex Hsu
46fbb1c07f Juno: check in to lego/hb_04604851-bac4-4681-9f74-73de611d6e48_20230204164312212. (#21846) 2023-02-06 09:14:00 -08:00
Alan Ren
ac0dc4ee76 only toggle when enabled (#21844) 2023-02-03 20:40:22 -08:00
Alex Ma
c13bd5c03f [Loc] removed clouds from Azurecore (#21841) 2023-02-03 16:53:17 -08:00
dependabot[bot]
5d496ec83b Bump http-cache-semantics from 4.1.0 to 4.1.1 in /build (#21828)
Bumps [http-cache-semantics](https://github.com/kornelski/http-cache-semantics) from 4.1.0 to 4.1.1.
- [Release notes](https://github.com/kornelski/http-cache-semantics/releases)
- [Commits](https://github.com/kornelski/http-cache-semantics/compare/v4.1.0...v4.1.1)

---
updated-dependencies:
- dependency-name: http-cache-semantics
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-02-03 10:52:16 -08:00
dependabot[bot]
a0b02fe16c Bump http-cache-semantics from 4.1.0 to 4.1.1 (#21827)
Bumps [http-cache-semantics](https://github.com/kornelski/http-cache-semantics) from 4.1.0 to 4.1.1.
- [Release notes](https://github.com/kornelski/http-cache-semantics/releases)
- [Commits](https://github.com/kornelski/http-cache-semantics/compare/v4.1.0...v4.1.1)

---
updated-dependencies:
- dependency-name: http-cache-semantics
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-02-03 10:51:38 -08:00
Alex Hsu
45a346cfc1 Juno: check in to lego/hb_04604851-bac4-4681-9f74-73de611d6e48_20230203163954985. (#21834) 2023-02-03 09:34:42 -08:00
AkshayMata
9f5f49e956 Fix connecting to MI login bug (#21821)
This PR fixes a regression for migration login for MI instances that was introduced in https://github.com/microsoft/azuredatastudio/pull/21776/files#diff-93c1a62583fa32d99f775b71ad27922cf31f660d10717ecc6966784306de1b6f.

After that change, support for MI would fail as MI server types were going into the Sql VM path in sqlutils because the underlying logic for isSqlServerVM() was returning wrong results.

The new approach uses the targetType set in StateMachine to extract the correct serverName for connection string based on the targetType.

Testing:
- Tested SQL VM login migration end to end
- Tested SQL MI login migration end to end


This change also bumps the sql-migration version to 1.3.0
2023-02-03 06:43:39 -08:00
Christopher Suh
8f638be687 remove germany and us national clouds (#21825) 2023-02-02 16:11:04 -08:00
Aasim Khan
95d4f130c6 Replacing select with focus to prevent second create session (#21811) 2023-02-02 15:07:05 -08:00
Alex Ma
f082ac2176 [Loc] update to the data-workspace xlf (#21823) 2023-02-02 14:49:23 -08:00
Sakshi Sharma
972312b3f5 Add validation for new file names for sql projects (#21601)
* Add validation for new file names for sql projects

* Addres comments and add validation for new project dialog

* Address comments

* Address comments on test

* Fix tests

* Remove extra error messages and rename file

* Address comments

* Fix tests

* Add test file back
2023-02-02 07:25:26 -08:00
Alex Ma
1071c6dfff [Loc] changes made to xlfs for 2-1-2023 (#21810) 2023-02-01 17:05:14 -08:00
Kim Santiago
cce794dd14 UI changes for add/edit/delete SQLCMD variables in sql projects (#21799)
* add edit command

* add and delete

* cleanup

* more cleanup
2023-02-01 15:06:07 -08:00
Alex Ma
a911044745 Removed deepcopy and remove credentials functions from utils (#21808) 2023-02-01 14:20:25 -08:00
Christopher Suh
51da512edb Fix Cloud Endpoints (#21805)
* replace hardcoded endpoints

* cleanup
2023-02-01 12:32:47 -08:00
Raymond Truong
95ce199d56 [SQL Migration][Hotfix] Remove parameter from IR validation (#21800)
* Remove encryptConnection from validateIR

* Use correct version

* vbump to 1.2.6 for insiders release
2023-02-01 11:33:07 -08:00
siyang yao
749f13d9bf [SQL-Migration] collation errorcode (#21797) 2023-02-01 11:23:21 -08:00
Cheena Malhotra
51751557b6 Revert changes in mainThreadConnectionManagement (#21802) 2023-02-01 00:52:38 -08:00
Kim Santiago
7a0790f365 remove external streaming job from sql project context menu (#21787) 2023-01-31 16:36:14 -08:00
Alex Ma
298402647d Added error handling service for providers (#21627)
* added prototype errorHandlerService

* added initial contracts

* Added WIP client sent request function

* added WIP signature for handleOtherError to resourceProviderService

* made some small fixes

* removed unnecessary resourceProviderId

* added updates to contracts and resourceProvider

* moved error codes to azdata proposed

* added connection type instead of profile

* added WIP handleOtherError code

* added fix for send

* added WIP change password function in resource provider

* added work in progress error handling thread

* added errorHandler interface

* added result error check

* renamed errorHandling namespace to diagnostics

* WIP rename of errorhandler

* light cleanup

* Bump json5 from 2.1.3 to 2.2.3 in /extensions/machine-learning (#21514)

Bumps [json5](https://github.com/json5/json5) from 2.1.3 to 2.2.3.
- [Release notes](https://github.com/json5/json5/releases)
- [Changelog](https://github.com/json5/json5/blob/main/CHANGELOG.md)
- [Commits](https://github.com/json5/json5/compare/v2.1.3...v2.2.3)

---
updated-dependencies:
- dependency-name: json5
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Stops second invocation of createNewSession while expanding OE tree items on disconnected servers (#21437)

* Debounces second invocation while expanding OE tree items

* Minor clean up

* Adjusts debounce time

* Adding temp trace comments

* Adds missing semicolon

* Removes debouncer to stop 2nd newSession calls

* Removes temp trace comments

* Updates comment

Co-authored-by: Alan Ren <alanren@microsoft.com>

* Bump json5 from 2.1.3 to 2.2.3 in /extensions/admin-tool-ext-win (#21546)

Bumps [json5](https://github.com/json5/json5) from 2.1.3 to 2.2.3.
- [Release notes](https://github.com/json5/json5/releases)
- [Changelog](https://github.com/json5/json5/blob/main/CHANGELOG.md)
- [Commits](https://github.com/json5/json5/compare/v2.1.3...v2.2.3)

---
updated-dependencies:
- dependency-name: json5
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Fix resource endpoints to end with slash (#21540)

* Bump json5 from 2.1.3 to 2.2.3 in /extensions/azcli (#21543)

Bumps [json5](https://github.com/json5/json5) from 2.1.3 to 2.2.3.
- [Release notes](https://github.com/json5/json5/releases)
- [Changelog](https://github.com/json5/json5/blob/main/CHANGELOG.md)
- [Commits](https://github.com/json5/json5/compare/v2.1.3...v2.2.3)

---
updated-dependencies:
- dependency-name: json5
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Bump json5 from 2.1.3 to 2.2.3 in /extensions/arc (#21544)

Bumps [json5](https://github.com/json5/json5) from 2.1.3 to 2.2.3.
- [Release notes](https://github.com/json5/json5/releases)
- [Changelog](https://github.com/json5/json5/blob/main/CHANGELOG.md)
- [Commits](https://github.com/json5/json5/compare/v2.1.3...v2.2.3)

---
updated-dependencies:
- dependency-name: json5
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* renamed diagnostics service slightly

* registered service

* added work in progress diagnostics implementation

* small changes

* added new diagnostics exe

* Changes for Diagnostics Service (#21583)

Co-authored-by: Cheena Malhotra <cmalhotra@microsoft.com>

* WIP provider changes

* added changes for errorDiagnosticsService

* removed stuff from mssql.

* made fix to connectionManagementService

* added error catch

* added small changes

* more small changes made

* added small changes to handleOtherError

* moved changePassword to CMS

* added testErrorDiagnosticsService

* Added provider-based handling for change password/generic error handling. (#21662)

* WIP rework for error connection change

* added connectionProfileDuringError

* added working password reset

* added comments

* consolidated connection profile conversion

* added additionalObjects parameter.

* removed unnecessary error profile grab

* added comments

* added changes to parameters and comments

* added changes and params

* added handleConnectionErrorParam

* added more changes

* added async

* added params and more

* added many fixes

* added updated documentation

* added WIP password change dialog with await

* added error handling

* added comment

* added options as parameters

* cleaned up parameters

* added async

* added check fixes

* Added username to title

* added server name to dialog

* Added dialog changes

* Revert "Added dialog changes"

This reverts commit c2bdcd16f4a0dffdc643ef9cae1c1a20642ac512.

* Revert "added server name to dialog"

This reverts commit dbd22e80461b5a068643f0c2d6728adce4010978.

* Revert "Added username to title"

This reverts commit 6d936b4d5f97f9345f8ec2fdbbcf6b52df18820a.

* Revert "added check fixes"

This reverts commit f58081a5af3276766e2042b4d671455b18add9a7.

* Revert "added async"

This reverts commit dd1198e26ec7542ec51add0628f588361d674299.

* Revert "cleaned up parameters"

This reverts commit 51135c9f9db452104697483779d8df15b6430717.

* Revert "added options as parameters"

This reverts commit b167804a2410558bbe60042e017ae2c77af7697f.

* Revert "added comment"

This reverts commit 0ad37326a3e025e88f715e3f2547be6825597a8d.

* Revert "added error handling"

This reverts commit 69340980d2c84056a2bcf126ea77f4b5ed4cddf3.

* Revert "added WIP password change dialog with await"

This reverts commit 9e43113e07b10421b39575f6c7dd14287662b90d.

* added a fix to check

* added fixes

* added back in change password changes

* added in comment

* added suggested changes

* removed param colons

* Update extensions/mssql/src/errorDiagnostics/errorDiagnosticsProvider.ts

Co-authored-by: Charles Gagnon <chgagnon@microsoft.com>

* Update src/sql/azdata.proposed.d.ts

Co-authored-by: Charles Gagnon <chgagnon@microsoft.com>

* fixed conversion and provider dialog

* altered comments

* Update src/sql/platform/connection/common/utils.ts

Co-authored-by: Charles Gagnon <chgagnon@microsoft.com>

* renamed Id

* Update src/sql/platform/connection/common/utils.ts

Co-authored-by: Charles Gagnon <chgagnon@microsoft.com>

* Improvements for Change password dialog + logs added (#21794)

* Improvements for Change password dialog + logs added

* Include server

* fixed tab space

* added comment

---------

Co-authored-by: Alex Ma <alma1@microsoft.com>

* Update src/sql/azdata.proposed.d.ts

Co-authored-by: Charles Gagnon <chgagnon@microsoft.com>

* added fix to id to extHostErrorDiagnostics

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Lewis Sanchez <87730006+lewis-sanchez@users.noreply.github.com>
Co-authored-by: Alan Ren <alanren@microsoft.com>
Co-authored-by: Cheena Malhotra <13396919+cheenamalhotra@users.noreply.github.com>
Co-authored-by: Cheena Malhotra <cmalhotra@microsoft.com>
Co-authored-by: Charles Gagnon <chgagnon@microsoft.com>
2023-01-31 14:31:12 -08:00
AkshayMata
e1bbcb2ff1 Bump sql migration version to 1.2.4 (#21792)
Co-authored-by: Akshay Mata <akma@microsoft.com>
2023-01-31 10:20:30 -08:00
AkshayMata
fcece32cdd [SQL-Migration] Enable login migrations to SQL VM (#21776)
This PR adds support for migrating logins to SQL VM. Adding support for 2 scenarios supported here: VMs with private IP and public IP.
2023-01-31 09:47:16 -08:00
Alex Hsu
66bdc54c89 Juno: check in to lego/hb_04604851-bac4-4681-9f74-73de611d6e48_20230131164415383. (#21789) 2023-01-31 08:54:22 -08:00
Maddy
a38e8a74c3 fix file relative path issue on mac (#21438)
* use pathname vs nodeValue

* add test

* add comment

* only when editing in rich text

* refactor

* fix build errors

* fix hygiene errors

* remove fs check

* compare decodedUri to get correct relative paths

* Add Azure Resource 'Sql' to MSSQL extension. (#21600)

* [Loc] added sql.xlf schema (#21687)

* vbump profiler extension (#21685)

* Fix connect icon for Arc extension (#21659)

* Juno: check in to lego/hb_04604851-bac4-4681-9f74-73de611d6e48_20230121171613142. (#21690)

* Juno: check in to lego/hb_04604851-bac4-4681-9f74-73de611d6e48_20230122164538349. (#21693)

Co-authored-by: Alex Ma <alma1@microsoft.com>

* Juno: check in to lego/hb_04604851-bac4-4681-9f74-73de611d6e48_20230123164122334. (#21697)

Co-authored-by: Alex Ma <alma1@microsoft.com>

* use normalize to get the path correctly

* add comment

* refactor

* more tests

* typo fix

---------

Co-authored-by: Cheena Malhotra <13396919+cheenamalhotra@users.noreply.github.com>
Co-authored-by: Alex Ma <alma1@microsoft.com>
Co-authored-by: Alan Ren <alanren@microsoft.com>
Co-authored-by: Charles Gagnon <chgagnon@microsoft.com>
Co-authored-by: Alex Hsu <csigs@users.noreply.github.com>
2023-01-30 13:56:55 -08:00
Charles Gagnon
ad69164f09 Extension telemetry feature cleanup (#21779)
* Extension telemetry feature cleanup

* one more
2023-01-30 13:14:38 -08:00
Charles Gagnon
c33d2cc40a Bump ads-extension-telemetry to 1.3.4 (#21778) 2023-01-30 13:13:57 -08:00
Karl Burtram
0cba2f980d Update changelog for 1.41.1 (#21777)
* Update changelog for 1.41.1

* Fix typo

* Spelling error

* Fix issue areas
2023-01-30 11:24:19 -08:00
Alex Hsu
72651819d6 Juno: check in to lego/hb_04604851-bac4-4681-9f74-73de611d6e48_20230128164834584. (#21770) 2023-01-28 15:58:28 -08:00
Cheena Malhotra
f43afff8d1 Show tenant dropdown when selecting 'AzureMFA' for first time (#21763) 2023-01-27 16:08:11 -08:00
Charles Gagnon
e1e2227f2f Fix mispelled file name (#21762) 2023-01-27 15:42:16 -08:00
Charles Gagnon
d8c54ccd56 Add managed instance icon (#21742)
* Add managed instance icon

* Use const

* fix
2023-01-27 14:33:40 -08:00
Cheena Malhotra
1e0e792cef Update STS (#21761) 2023-01-27 14:24:40 -08:00
Kim Santiago
e7f9763237 fix undefined error in dacpac extension when sending telemetry (#21727)
* fix undefined error in dacpac extension when sending telemetry

* update interface
2023-01-27 13:22:16 -08:00
Charles Gagnon
08fb04f966 Update ads-service-downloader (#21754) 2023-01-27 12:12:04 -08:00
Cheena Malhotra
895b43f36a Fix account and tenant selection behavior (#21749) 2023-01-27 11:47:24 -08:00
Kim Santiago
b273cf5a65 fix update project from db dialog not choosing the db of the connection (#21746) 2023-01-27 10:17:31 -08:00
Alex Ma
75d455185a [Loc] changes to CMS and MSSQL xlfs (#21748) 2023-01-26 18:13:41 -08:00
Sakshi Sharma
655588891c Set current connection as the selected connection in schema compare dialog (#21682)
* Set current connection as the selected connection in schema compare dialog

* Address comment
2023-01-26 14:44:02 -08:00
Cheena Malhotra
f2f3d1c4ef Introduce 'Command Timeout' option for MSSQL connections (#21734) 2023-01-26 13:50:21 -08:00
Kim Santiago
cf5572a7f1 vbump dacpac, schema compare, and sql projects after Jan release (#21739) 2023-01-26 11:29:25 -08:00
Alan Ren
c11b50ff59 vbump profiler extension after release (#21740) 2023-01-26 11:25:51 -08:00
Alex Hsu
f22840c942 Juno: check in to lego/hb_04604851-bac4-4681-9f74-73de611d6e48_20230126164950302. (#21738) 2023-01-26 10:20:48 -08:00
Alex Ma
889ed3584e [Loc] updated xlfs for 1-25-2023 (#21733) 2023-01-25 18:11:19 -08:00
Cheena Malhotra
81b7cd2612 Introduce mssql connection property 'host name in certificate' (#21064) 2023-01-25 17:09:28 -08:00
Hai Cao
065dfef1e4 bump STS (#21730) 2023-01-25 14:56:28 -08:00
Candice Ye
5b3279065b Bumped versions up to 1.8.0 (#21725)
Co-authored-by: Candice Ye <canye@microsoft.com>
2023-01-25 13:38:34 -08:00
erpett
4a061da9da Post release Changelog/Readme updates (#21726) 2023-01-25 12:40:01 -08:00
Kim Santiago
17949b9d03 Initial support for SQLCMD variables in sql project tree (#21574)
* initial changes

* sqlcmd node showing in tree

* Add edit sqlcmdvar command

* remove commands on sqlcmd vars  for now

* cleanup

* fix tests

* add icons

* remove TestProject

* add checks for undefined

* add variable
2023-01-25 10:19:39 -08:00
Alex Hsu
a63f43088e Juno: check in to lego/hb_04604851-bac4-4681-9f74-73de611d6e48_20230125165553635. (#21723) 2023-01-25 09:11:23 -08:00
junierch
5157508dd5 Junierch/mi tde (#21573)
* WIP

* wip tde wizard

* wip for merge w master

* wip

* wip share

* tde wizard

* PR reviews updates

* PR review updates

* PR updates

* PR review updates

* PR reviews updates

* Bump STS to 4.4.0.22

* PR reviews updates

* fix localize build issue

* fix build issue with localize

* remove unused function

* Windows only flag. Bug Bash fixes

* Use azdata with latest STS changes

* revert azdata, other PR comments

* sts and extesion version upgraded. logins back
2023-01-25 09:58:07 -05:00
Alex Ma
0e0fade5d8 [Loc] update to arc and sql xlfs (#21719) 2023-01-24 19:57:16 -08:00
Cheena Malhotra
84fd46c901 Do not show warning messages for stale accounts (#21621) 2023-01-24 16:21:43 -08:00
Cheena Malhotra
ef240a9a63 [Azure Arc] Update MIAA model to include encryption properties (#21702) 2023-01-24 16:20:35 -08:00
AkshayMata
427a859c63 Bump sql-migration version to 1.2.2 (#21717)
This PR bumps sql-migration version to 1.2.2 in order to release to insider's gallery. This also disables the LoginMigration button as we do not want to release it to public yet.
2023-01-24 15:13:18 -08:00
siyang yao
6631f8e2d9 ADS: Make select all tables by default instead of having to click edit and do select all (#21698)
* table are selected as default

* refactor

* fix save and close bug
2023-01-24 11:53:12 -08:00
Kim Santiago
c970887d5e cleanup sql project TestProject created by test (#21705) 2023-01-24 11:20:16 -08:00
Aasim Khan
ccc8df31c7 Adding prompt for delete connection (#21624)
* Adding prompt for disconnect

* changing to Idialog service

* Code cleanup and fixing comments

* Adding comments and making a test async

* removing then and awaiting for function
2023-01-23 22:56:09 -08:00
Alex Ma
ec4bc7f7db [Loc] update to sql migration xlf for 1-23-23 (#21713) 2023-01-23 18:15:13 -08:00
AkshayMata
58136f7c35 Bump sql-migration version to 1.2.1 (#21711)
Co-authored-by: Akshay Mata <akma@microsoft.com>
2023-01-23 17:11:25 -08:00
AkshayMata
03f6a9b188 [SQL-Migration] Login Migration Improvements (#21694)
This PR adds various login migration improvements:

- Enabled windows login by prompting user for AAD domain name if a windows login is selected
image
- Adds new login details dialog which gives granular status on each step of the login migration for each login
image
- Checks if windows login migration is supported for selected target type, and only collections source windows logins accordingly
- Perf optimization by source and target login in background of step 1 in order to significantly speed up loading of page 2
2023-01-23 15:29:44 -08:00
Raymond Truong
9d4d5374d7 [SQL Migration] Disable IR scenario and check page blobs for SQL VM <= 2014 (#21373)
* Disable IR scenario and add info box for source < 2014

* Update text and link

* Clean up

* Fix issue where switching to another target platform wouldn't clear restriction

* Remove locale from documentation URL

* Refactor

* Clean up

* Autoselect blob scenario

* Refactor

* Add page blog check

* Clean up

* Update UI logic
2023-01-23 14:20:06 -08:00
Raymond Truong
ac4aa8db9a [SQL Migration] Add info boxes for VM existing database names (#21566) 2023-01-23 13:45:59 -08:00
Alex Ma
205e683a4d Added localized vscode extensions to localization source files (#21684)
* added localized vscode extensions

* bump to 1.42
2023-01-23 12:42:31 -08:00
Karl Burtram
ac4afbec6c Add allow list of valid notebook command uris (#163322) (#21701)
* Add allow list of valid notebook command uris (#163322)

This restricts notebooks to run three command uris. These 3 commands should all be safe to run, even with untrusted inputs

* Fix incorrectly resolved merge conflict

Co-authored-by: Matt Bierner <matb@microsoft.com>
2023-01-23 12:01:53 -08:00
Karl Burtram
cabe158f07 Normalize resources when checking valid roots (#163327) (#21700)
Fix MSCR 74267

Fix https://github.com/microsoft/vscode-internalbacklog/issues/3140

Remove extra indexOf check

This could cause failures for files such as `img..png`

Co-authored-by: Matt Bierner <matb@microsoft.com>
2023-01-23 12:01:36 -08:00
Karl Burtram
ce0710a4b4 Safer construction of notebook html (#170987) (#21699)
Co-authored-by: Martin Aeschlimann <martinae@microsoft.com>
2023-01-23 12:00:33 -08:00
Alex Hsu
9b25406dfb Juno: check in to lego/hb_04604851-bac4-4681-9f74-73de611d6e48_20230123164122334. (#21697)
Co-authored-by: Alex Ma <alma1@microsoft.com>
2023-01-23 10:05:31 -08:00
Alex Hsu
3e19c5769c Juno: check in to lego/hb_04604851-bac4-4681-9f74-73de611d6e48_20230122164538349. (#21693)
Co-authored-by: Alex Ma <alma1@microsoft.com>
2023-01-23 10:02:56 -08:00
Alex Hsu
9213325dc7 Juno: check in to lego/hb_04604851-bac4-4681-9f74-73de611d6e48_20230121171613142. (#21690) 2023-01-23 09:56:38 -08:00
Charles Gagnon
e2a7767b53 Fix connect icon for Arc extension (#21659) 2023-01-20 22:37:21 -08:00
Alan Ren
005b1ff35b vbump profiler extension (#21685) 2023-01-20 16:59:01 -08:00
Alex Ma
c36ae27e9b [Loc] added sql.xlf schema (#21687) 2023-01-20 16:35:50 -08:00
Cheena Malhotra
b3acef3124 Add Azure Resource 'Sql' to MSSQL extension. (#21600) 2023-01-20 13:08:38 -08:00
Aasim Khan
4971a94244 Fixing nvda (#21625) 2023-01-20 12:51:34 -08:00
Cory Rivera
ee1ec8e759 Build vertical actionbar before results table so that it shows above the table. (#21668) 2023-01-19 16:19:24 -08:00
Alex Ma
aeb833578d [Loc] update to sql and resource-deployment xlfs for 1-19-2023 (#21669) 2023-01-19 15:40:09 -08:00
Leila Lali
99f342e98c Updating ML version for next release (#21613) 2023-01-19 11:21:16 -08:00
Leila Lali
1fc12876cd Adding an owner for ML extension (#21614) 2023-01-19 11:08:40 -08:00
Alan Ren
6d2a5cbd60 remove preview text for sql 2022 (#21638) 2023-01-18 20:29:28 -08:00
Lewis Sanchez
f74d6f6d9b Copy Headers for Selected Columns (#21622)
* Adds copy header delimiter setting

* Copies all table headers or selected headers only

* Adds missing comments

* Update src/sql/workbench/contrib/query/browser/query.contribution.ts

Co-authored-by: Charles Gagnon <chgagnon@microsoft.com>

* Update src/sql/workbench/contrib/query/browser/query.contribution.ts

Co-authored-by: Charles Gagnon <chgagnon@microsoft.com>

* Creates sort map entries function

* Removes CSV formatting and setting.

* Add colons before error message

* Renames table column sorting method

* Removes extra unnecessary function call

Co-authored-by: Charles Gagnon <chgagnon@microsoft.com>
2023-01-18 13:20:27 -08:00
Charles Gagnon
395daddbcd Bump scaleoutdataservice (#21628) 2023-01-18 10:56:54 -08:00
Alex Ma
097b92b94b Added a refresh of localization filters based on latest version of ADS (#21620) 2023-01-18 09:40:02 -08:00
Aasim Khan
3b31d1018f Adding better handling for checkbox column based row selection (#21553)
* Adding better handling for checkbox column based row selection

* Replacing any with proper typings
2023-01-18 01:20:26 -08:00
Charles Gagnon
85eb7b8824 Add trace debug logging to OE service (#21617)
* Add trace debug logging to OE service

* cleanup
2023-01-17 17:00:21 -08:00
erpett
a03c7b7a61 updating version number in main to 1.42 since we have forked the release branch (#21609) 2023-01-17 12:41:08 -08:00
dependabot[bot]
9f0a88587b Bump lodash from 4.17.11 to 4.17.21 in /extensions/datavirtualization (#21606)
Bumps [lodash](https://github.com/lodash/lodash) from 4.17.11 to 4.17.21.
- [Release notes](https://github.com/lodash/lodash/releases)
- [Commits](https://github.com/lodash/lodash/compare/4.17.11...4.17.21)

---
updated-dependencies:
- dependency-name: lodash
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-01-17 11:42:55 -08:00
dependabot[bot]
036163ac79 Bump json5 from 2.2.0 to 2.2.3 in /extensions/datavirtualization (#21605)
Bumps [json5](https://github.com/json5/json5) from 2.2.0 to 2.2.3.
- [Release notes](https://github.com/json5/json5/releases)
- [Changelog](https://github.com/json5/json5/blob/main/CHANGELOG.md)
- [Commits](https://github.com/json5/json5/compare/v2.2.0...v2.2.3)

---
updated-dependencies:
- dependency-name: json5
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-01-17 11:42:44 -08:00
dependabot[bot]
c5ea8aefa3 Bump minimist from 1.2.5 to 1.2.7 in /extensions/datavirtualization (#21604)
Bumps [minimist](https://github.com/minimistjs/minimist) from 1.2.5 to 1.2.7.
- [Release notes](https://github.com/minimistjs/minimist/releases)
- [Changelog](https://github.com/minimistjs/minimist/blob/main/CHANGELOG.md)
- [Commits](https://github.com/minimistjs/minimist/compare/v1.2.5...v1.2.7)

---
updated-dependencies:
- dependency-name: minimist
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-01-17 11:42:37 -08:00
Charles Gagnon
60147c1a86 Fixes/cleanup for datavirtualization (#21608)
* Fixes/cleanup for datavirtualization

* Update owners
2023-01-17 11:42:26 -08:00
Alex Hsu
68cbff38f4 Juno: check in to lego/hb_04604851-bac4-4681-9f74-73de611d6e48_20230117164110186. (#21602) 2023-01-17 10:14:34 -08:00
Alex Hsu
63b0f1234d Juno: check in to lego/hb_04604851-bac4-4681-9f74-73de611d6e48_20230116164552190. (#21599) 2023-01-17 10:14:10 -08:00
Charles Gagnon
ec838947b0 Add datavirtualization extension (#21594)
* initial

* cleanup

* Add typings ref

* fix compile

* remove unused

* add missing

* another unused

* Use newer vscodetestcover

* newer dataprotocol

* format

* cleanup ignores

* fix out path

* fix entry point

* more cleanup

* Move into src folder

* Handle service client log messages

* remove unused
2023-01-17 09:57:21 -08:00
Alex Ma
9184c414de [Loc] update to mssql xlf with tracing string (#21593) 2023-01-13 16:28:39 -08:00
Charles Gagnon
d51273d9cf Add config for enabling STS communication logging (#21591)
* Add config for enabling STS communication logging

* Add warning to description
2023-01-13 14:49:49 -08:00
junierch
ce5cb32084 tde-mi contracts (#21592)
* tde-mi contracts

* PR reviews updates
2023-01-13 17:41:40 -05:00
Alex Ma
30a2770228 Update to langpack source files for January release (#21351)
* update to langpack xlfs

* update to langpack source files

* added updated source files and dates

* Update for 12-19-2022

* Update for 12-21-2022

* update for 1/3/2023

* update to azurecore 1-9-2023

* last update to langpack source file before release
2023-01-13 14:01:35 -08:00
Alex Hsu
429bb3a877 Juno: check in to lego/hb_04604851-bac4-4681-9f74-73de611d6e48_20230113164226746. (#21589) 2023-01-13 10:08:18 -08:00
Cheena Malhotra
3239bb429f Null Check for errorNumber (#21586) 2023-01-12 18:27:10 -08:00
Raymond Truong
49c46cee20 Update contracts (#21577) 2023-01-12 18:23:23 -08:00
Alex Ma
d87a33188c [Loc] additional strings added to sql-migration (#21585) 2023-01-12 16:51:08 -08:00
Christopher Suh
90ef8e4907 Remove duplicate account entries (#21575) 2023-01-12 12:35:16 -08:00
Raymond Truong
0a93f1f3ef [SQL Migration] Implement state validation for SQL VM targets (#21350)
* WIP

* Implement POC

* Add strings

* Disable IR scenario and add info box for source < 2014

* Refactor

* Case insensitive string compare

* Remove unused strings
2023-01-12 11:39:32 -08:00
Alex Ma
9e13948b2b [Loc] update to sql-migration xlf (#21582) 2023-01-12 11:23:11 -08:00
junierch
5b9306ce83 bump STS 4.4.0.22 (#21581) 2023-01-12 13:18:10 -05:00
siyang yao
37f81d9ec2 [SQLDB-Migration] Collation Validation (#21572)
Adding collation validation in target database selection page.

collecting source database info including state, size, collation etc in the step 1 (select databases to assess and migrate)
comparing source database collation and target database collation in target selection page.
image
2023-01-12 09:45:02 -08:00
Alex Ma
52f9a476a0 [Loc] update to SQL xlf for 1-11-2023 (#21576) 2023-01-11 17:22:17 -08:00
Lewis Sanchez
7683259097 Add option to show and hide the action bar in the query results view (#21560)
* Show and hide action bar in results view

* Updates show action bar setting description

* Removes excess padding

* Code review change
2023-01-11 16:16:08 -08:00
Cheena Malhotra
9708b470c7 Azure core | Include alternate library accounts if found (#21565) 2023-01-11 16:05:20 -08:00
Lewis Sanchez
16740ba61f Adds functionality to copy table column headers (#21564)
* Adds functionality to copy table column headers

* Minor clean up

* Code review changes

* Removes unneeded comma
2023-01-11 09:17:05 -08:00
Lewis Sanchez
a400ff2f43 Save sql plan no longer uses the exact same name as the default (#21563)
* Save sql plan no longer uses the same name

* Minor clean up
2023-01-10 16:59:37 -08:00
Hai Cao
5a433fbd39 bump STS (#21561) 2023-01-10 12:08:25 -08:00
Cheena Malhotra
fd2ced449b Skip fetching access token when opening context menu in OE (#21557) 2023-01-09 21:22:02 -08:00
dependabot[bot]
dbd936d0d4 Bump json5 from 2.1.3 to 2.2.3 in /extensions/arc (#21544)
Bumps [json5](https://github.com/json5/json5) from 2.1.3 to 2.2.3.
- [Release notes](https://github.com/json5/json5/releases)
- [Changelog](https://github.com/json5/json5/blob/main/CHANGELOG.md)
- [Commits](https://github.com/json5/json5/compare/v2.1.3...v2.2.3)

---
updated-dependencies:
- dependency-name: json5
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-01-09 10:07:10 -08:00
dependabot[bot]
306c328d02 Bump json5 from 2.1.3 to 2.2.3 in /extensions/azcli (#21543)
Bumps [json5](https://github.com/json5/json5) from 2.1.3 to 2.2.3.
- [Release notes](https://github.com/json5/json5/releases)
- [Changelog](https://github.com/json5/json5/blob/main/CHANGELOG.md)
- [Commits](https://github.com/json5/json5/compare/v2.1.3...v2.2.3)

---
updated-dependencies:
- dependency-name: json5
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-01-09 10:05:27 -08:00
Cheena Malhotra
b9e8a87472 Fix resource endpoints to end with slash (#21540) 2023-01-06 17:53:09 -08:00
dependabot[bot]
c35dd95525 Bump json5 from 2.1.3 to 2.2.3 in /extensions/admin-tool-ext-win (#21546)
Bumps [json5](https://github.com/json5/json5) from 2.1.3 to 2.2.3.
- [Release notes](https://github.com/json5/json5/releases)
- [Changelog](https://github.com/json5/json5/blob/main/CHANGELOG.md)
- [Commits](https://github.com/json5/json5/compare/v2.1.3...v2.2.3)

---
updated-dependencies:
- dependency-name: json5
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-01-06 17:23:39 -08:00
Lewis Sanchez
8c8a7859a0 Stops second invocation of createNewSession while expanding OE tree items on disconnected servers (#21437)
* Debounces second invocation while expanding OE tree items

* Minor clean up

* Adjusts debounce time

* Adding temp trace comments

* Adds missing semicolon

* Removes debouncer to stop 2nd newSession calls

* Removes temp trace comments

* Updates comment

Co-authored-by: Alan Ren <alanren@microsoft.com>
2023-01-06 16:10:19 -08:00
dependabot[bot]
ad006cdb63 Bump json5 from 2.1.3 to 2.2.3 in /extensions/machine-learning (#21514)
Bumps [json5](https://github.com/json5/json5) from 2.1.3 to 2.2.3.
- [Release notes](https://github.com/json5/json5/releases)
- [Changelog](https://github.com/json5/json5/blob/main/CHANGELOG.md)
- [Commits](https://github.com/json5/json5/compare/v2.1.3...v2.2.3)

---
updated-dependencies:
- dependency-name: json5
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-01-06 16:03:27 -08:00
dependabot[bot]
31df835ab5 Bump json5 from 2.1.3 to 2.2.3 in /extensions/notebook (#21516)
Bumps [json5](https://github.com/json5/json5) from 2.1.3 to 2.2.3.
- [Release notes](https://github.com/json5/json5/releases)
- [Changelog](https://github.com/json5/json5/blob/main/CHANGELOG.md)
- [Commits](https://github.com/json5/json5/compare/v2.1.3...v2.2.3)

---
updated-dependencies:
- dependency-name: json5
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-01-06 13:29:41 -08:00
dependabot[bot]
31f803e991 Bump json5 from 1.0.1 to 1.0.2 (#21548)
Bumps [json5](https://github.com/json5/json5) from 1.0.1 to 1.0.2.
- [Release notes](https://github.com/json5/json5/releases)
- [Changelog](https://github.com/json5/json5/blob/main/CHANGELOG.md)
- [Commits](https://github.com/json5/json5/compare/v1.0.1...v1.0.2)

---
updated-dependencies:
- dependency-name: json5
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-01-06 10:37:03 -08:00
dependabot[bot]
1c257404c8 Bump json5 from 2.1.3 to 2.2.3 in /extensions/dacpac (#21535)
Bumps [json5](https://github.com/json5/json5) from 2.1.3 to 2.2.3.
- [Release notes](https://github.com/json5/json5/releases)
- [Changelog](https://github.com/json5/json5/blob/main/CHANGELOG.md)
- [Commits](https://github.com/json5/json5/compare/v2.1.3...v2.2.3)

---
updated-dependencies:
- dependency-name: json5
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-01-06 10:36:48 -08:00
dependabot[bot]
64fbc17a52 Bump json5 from 2.1.3 to 2.2.3 in /extensions/data-workspace (#21531)
Bumps [json5](https://github.com/json5/json5) from 2.1.3 to 2.2.3.
- [Release notes](https://github.com/json5/json5/releases)
- [Changelog](https://github.com/json5/json5/blob/main/CHANGELOG.md)
- [Commits](https://github.com/json5/json5/compare/v2.1.3...v2.2.3)

---
updated-dependencies:
- dependency-name: json5
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-01-06 10:36:23 -08:00
dependabot[bot]
d6ea817416 Bump json5 from 2.1.3 to 2.2.3 in /extensions/schema-compare (#21519)
Bumps [json5](https://github.com/json5/json5) from 2.1.3 to 2.2.3.
- [Release notes](https://github.com/json5/json5/releases)
- [Changelog](https://github.com/json5/json5/blob/main/CHANGELOG.md)
- [Commits](https://github.com/json5/json5/compare/v2.1.3...v2.2.3)

---
updated-dependencies:
- dependency-name: json5
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-01-06 10:36:02 -08:00
dependabot[bot]
47c4353d9c Bump json5 from 2.2.1 to 2.2.3 in /build (#21547)
Bumps [json5](https://github.com/json5/json5) from 2.2.1 to 2.2.3.
- [Release notes](https://github.com/json5/json5/releases)
- [Changelog](https://github.com/json5/json5/blob/main/CHANGELOG.md)
- [Commits](https://github.com/json5/json5/compare/v2.2.1...v2.2.3)

---
updated-dependencies:
- dependency-name: json5
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-01-06 10:33:01 -08:00
dependabot[bot]
c2bd712479 Bump json5 from 2.1.3 to 2.2.3 in /extensions/agent (#21545)
Bumps [json5](https://github.com/json5/json5) from 2.1.3 to 2.2.3.
- [Release notes](https://github.com/json5/json5/releases)
- [Changelog](https://github.com/json5/json5/blob/main/CHANGELOG.md)
- [Commits](https://github.com/json5/json5/compare/v2.1.3...v2.2.3)

---
updated-dependencies:
- dependency-name: json5
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-01-06 10:30:58 -08:00
dependabot[bot]
0f3ff7f2d5 Bump json5 from 2.1.3 to 2.2.3 in /extensions/mssql (#21517)
Bumps [json5](https://github.com/json5/json5) from 2.1.3 to 2.2.3.
- [Release notes](https://github.com/json5/json5/releases)
- [Changelog](https://github.com/json5/json5/blob/main/CHANGELOG.md)
- [Commits](https://github.com/json5/json5/compare/v2.1.3...v2.2.3)

---
updated-dependencies:
- dependency-name: json5
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-01-06 10:30:00 -08:00
dependabot[bot]
48baf6ab99 Bump json5 from 2.1.3 to 2.2.3 in /extensions/azurecore (#21542)
Bumps [json5](https://github.com/json5/json5) from 2.1.3 to 2.2.3.
- [Release notes](https://github.com/json5/json5/releases)
- [Changelog](https://github.com/json5/json5/blob/main/CHANGELOG.md)
- [Commits](https://github.com/json5/json5/compare/v2.1.3...v2.2.3)

---
updated-dependencies:
- dependency-name: json5
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-01-06 10:29:31 -08:00
dependabot[bot]
47b2187c76 Bump json5 from 2.1.3 to 2.2.3 in /extensions/resource-deployment (#21512)
Bumps [json5](https://github.com/json5/json5) from 2.1.3 to 2.2.3.
- [Release notes](https://github.com/json5/json5/releases)
- [Changelog](https://github.com/json5/json5/blob/main/CHANGELOG.md)
- [Commits](https://github.com/json5/json5/compare/v2.1.3...v2.2.3)

---
updated-dependencies:
- dependency-name: json5
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-01-06 10:28:55 -08:00
dependabot[bot]
bfb6ee914d Bump json5 from 2.1.3 to 2.2.3 in /extensions/integration-tests (#21518)
Bumps [json5](https://github.com/json5/json5) from 2.1.3 to 2.2.3.
- [Release notes](https://github.com/json5/json5/releases)
- [Changelog](https://github.com/json5/json5/blob/main/CHANGELOG.md)
- [Commits](https://github.com/json5/json5/compare/v2.1.3...v2.2.3)

---
updated-dependencies:
- dependency-name: json5
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-01-06 10:28:06 -08:00
dependabot[bot]
ac5ce6f917 Bump json5 from 2.1.3 to 2.2.3 in /extensions/import (#21511)
Bumps [json5](https://github.com/json5/json5) from 2.1.3 to 2.2.3.
- [Release notes](https://github.com/json5/json5/releases)
- [Changelog](https://github.com/json5/json5/blob/main/CHANGELOG.md)
- [Commits](https://github.com/json5/json5/compare/v2.1.3...v2.2.3)

---
updated-dependencies:
- dependency-name: json5
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-01-06 10:26:39 -08:00
dependabot[bot]
b018b42846 Bump json5 from 2.1.3 to 2.2.3 in /extensions/cms (#21539)
Bumps [json5](https://github.com/json5/json5) from 2.1.3 to 2.2.3.
- [Release notes](https://github.com/json5/json5/releases)
- [Changelog](https://github.com/json5/json5/blob/main/CHANGELOG.md)
- [Commits](https://github.com/json5/json5/compare/v2.1.3...v2.2.3)

---
updated-dependencies:
- dependency-name: json5
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-01-06 10:26:05 -08:00
Alex Hsu
449d9aa9e1 Juno: check in to lego/hb_04604851-bac4-4681-9f74-73de611d6e48_20230106164035861. (#21537)
Co-authored-by: Alex Ma <alma1@microsoft.com>
2023-01-06 09:39:37 -08:00
Alex Hsu
3a7059325c Juno: check in to lego/hb_04604851-bac4-4681-9f74-73de611d6e48_20230105171657930. (#21528) 2023-01-06 09:37:45 -08:00
dependabot[bot]
3f030978d4 Bump json5 from 2.2.1 to 2.2.3 in /extensions/query-history (#21515)
Bumps [json5](https://github.com/json5/json5) from 2.2.1 to 2.2.3.
- [Release notes](https://github.com/json5/json5/releases)
- [Changelog](https://github.com/json5/json5/blob/main/CHANGELOG.md)
- [Commits](https://github.com/json5/json5/compare/v2.2.1...v2.2.3)

---
updated-dependencies:
- dependency-name: json5
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-01-06 09:34:33 -08:00
dependabot[bot]
d2094934a4 Bump json5 from 2.2.0 to 2.2.3 in /extensions/sql-bindings (#21513)
Bumps [json5](https://github.com/json5/json5) from 2.2.0 to 2.2.3.
- [Release notes](https://github.com/json5/json5/releases)
- [Changelog](https://github.com/json5/json5/blob/main/CHANGELOG.md)
- [Commits](https://github.com/json5/json5/compare/v2.2.0...v2.2.3)

---
updated-dependencies:
- dependency-name: json5
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-01-05 22:49:39 -08:00
Alan Ren
88ab7947a4 fix issue caused by execution plan provider (#21533) 2023-01-05 21:12:49 -08:00
Cheena Malhotra
ec7e754009 Handle default tenant to be set when only 1 tenant exists (#21532) 2023-01-05 16:40:16 -08:00
dependabot[bot]
e904439060 Bump json5 from 2.2.0 to 2.2.3 in /extensions/sql-database-projects (#21510)
Bumps [json5](https://github.com/json5/json5) from 2.2.0 to 2.2.3.
- [Release notes](https://github.com/json5/json5/releases)
- [Changelog](https://github.com/json5/json5/blob/main/CHANGELOG.md)
- [Commits](https://github.com/json5/json5/compare/v2.2.0...v2.2.3)

---
updated-dependencies:
- dependency-name: json5
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-01-05 13:09:27 -08:00
Alan Ren
54d25210c4 new slickgrid version (#21524) 2023-01-05 07:14:35 -08:00
Cheena Malhotra
36484d38e6 Support locking cache file when writing and handles syntax error when reading (#21469) 2023-01-04 11:50:17 -08:00
Kim Santiago
5fbbc3a76b Change how data-workspace activates project extensions (#21470)
* change how data workspace activates project extensions

* cleanup

* undo whitespace change

* Update extensions/data-workspace/src/services/workspaceService.ts

Co-authored-by: Charles Gagnon <chgagnon@microsoft.com>

* activate extensions on data workspace new and open commands

* Update extensions/data-workspace/src/services/workspaceService.ts

Co-authored-by: Charles Gagnon <chgagnon@microsoft.com>

Co-authored-by: Charles Gagnon <chgagnon@microsoft.com>
2023-01-04 11:47:51 -08:00
Alan Ren
a1803a823b handle the line breaks in link cells (#21504)
* handle the line breaks in link cells

* line break character
2023-01-04 10:23:01 -08:00
Cheena Malhotra
e7fcda7351 Filter accounts based on Auth library in accounts management service (#21501) 2023-01-03 20:16:08 -08:00
Charles Gagnon
29c88923f5 Fix Firewall Rule dialog dropdowns (#21499)
* Fix Firewall Rule dialog dropdowns

* Fix tenant dropdown
2023-01-03 16:24:59 -08:00
Josh Parnham
7d11b88b43 Change execution plan default save location when not in a workspace (#21461) 2023-01-03 14:51:30 -08:00
Alex Ma
af99e62385 [Loc] update to azurecore xlf for 1-3-2023 (#21496) 2023-01-03 11:10:26 -08:00
Sakshi Sharma
d86044c4e3 Add project dropdown to Update project from database dialog (#21446)
* Add dropdown populated with projects in current workspace in Update Project from database dialog for target project location

* Select first from the list if no project is preselected

* Address comments
2023-01-03 09:52:14 -08:00
Alex Hsu
687bd1854c Juno: check in to lego/hb_04604851-bac4-4681-9f74-73de611d6e48_20230102164143072. (#21492) 2023-01-03 09:08:40 -08:00
Karl Burtram
0930782236 Update changelog for Dec Hotfix 2 (#21484) 2022-12-27 09:59:45 -08:00
Charles Gagnon
228b4cb250 Update SQL grammar (#21481) 2022-12-23 17:51:44 -08:00
Cheena Malhotra
0ba0205ee8 Update jsonwebtoken@9.0.0 (#21474) 2022-12-22 21:32:01 -08:00
Cheena Malhotra
8032d50768 Introduce Azure Synapse Analytics and Dedicated SQL Pools azure nodes (#21471) 2022-12-22 17:41:11 -08:00
Vladimir Chernov
7b4f31d618 update STS for sql assessment version 1.1.17 (#1797) (#21473) 2022-12-22 17:40:27 -08:00
Lewis Sanchez
4a1e5001f0 Fixes object explorer's manage keybinding shortcut (#21459)
* Fixes object explorer's manage keybinding shortcut

* Update src/sql/workbench/contrib/dashboard/browser/dashboardActions.ts

Co-authored-by: Charles Gagnon <chgagnon@microsoft.com>

* Update src/sql/workbench/contrib/dashboard/browser/dashboardActions.ts

Co-authored-by: Charles Gagnon <chgagnon@microsoft.com>

* Update src/sql/workbench/contrib/dashboard/browser/dashboardActions.ts

Co-authored-by: Charles Gagnon <chgagnon@microsoft.com>

* Fixes OEManageConnectionAction ctor missing argument

* Updates no connection profile comment

Co-authored-by: Charles Gagnon <chgagnon@microsoft.com>
2022-12-22 10:49:18 -08:00
Charles Gagnon
eb880834fb Update ads-extension-telemetry (#21468)
* Update ads-extension-telemetry

* undo
2022-12-22 09:26:54 -08:00
Hai Cao
29c8d4bd3d port fix for vscode issue 160827 (#21457) 2022-12-21 10:37:55 -08:00
Alex Hsu
6998c8787f Juno: check in to lego/hb_04604851-bac4-4681-9f74-73de611d6e48_20221220164135572. (#21455) 2022-12-20 09:34:28 -08:00
Cheena Malhotra
87f1d14357 Reset expiresOn property for non-Azure connections (#21452) 2022-12-19 13:04:39 -08:00
Alex Hsu
fb121f2564 Juno: check in to lego/hb_04604851-bac4-4681-9f74-73de611d6e48_20221218164726369. (#21447) 2022-12-18 13:31:54 -08:00
Alex Ma
7a6da2dba7 [Loc] updates to sql-migration and sql (#21445) 2022-12-17 18:12:23 -08:00
AkshayMata
e223b4e870 Add new wizard for login migrations experience (#21317) 2022-12-17 12:11:25 -05:00
Cheena Malhotra
ff4dc9fe86 Update STS for firewall rule name (#21433) 2022-12-16 18:30:03 -08:00
Cheena Malhotra
ca22686061 Add support for firewall rule name (#21430) 2022-12-16 18:29:44 -08:00
Alex Ma
e2b1e6cbf3 [Loc] update to sql-database-projects and sql-migration xlfs (#21440) 2022-12-16 18:11:30 -08:00
brian-harris
2e240729af Add IR Migration configuration Validation to SQL Migration extension (#21386)
* re-factor and consolidate wizard pages

* validation WIP 11/10

* validate ir dialog

* navigation fixes

* bump version to 1.2.0

* add resource strings and fix navigatin issue

* map validation state to resource string clean up

* address review comments

* fix typos, address review comments

* address review feedback, readability

* fix res string, validation check, col width

* bug fixes, nav, sqldb migration

* fix nav/refresh/visibility issues

* fix nav issues, cancel pending validation items

* update error text / position

* fix localization bug
2022-12-16 14:52:24 -08:00
Kim Santiago
754d70d654 Add validation for checking for dacpac being on the same drive (#21434)
* add extra validation for add dacpac reference quickpick

* Add placeholder with message
2022-12-16 14:18:26 -08:00
Alex Ma
710fb0df62 [Loc] remove cacheErrorRemove (#21436) 2022-12-16 14:12:43 -08:00
Alan Ren
f91e40f2b9 new STS version (#21432) 2022-12-16 09:20:52 -08:00
Cheena Malhotra
112de46723 Fix ADAL to MSAL transition of connections and account list (#21425) 2022-12-15 16:38:45 -08:00
Alan Ren
a5e2e77042 auto resize column update (#21426) 2022-12-15 15:16:12 -08:00
Alan Ren
3aab4fd115 fix regex perf issue (#21421) 2022-12-15 10:43:17 -08:00
Kim Santiago
a4db7309af Fix schema compare not always showing diff color highlighting (#21413)
* Fix schema compare not always showing diff color highlighting

* move helper functions into diffEditorWidget.ts
2022-12-14 17:24:10 -08:00
Cheena Malhotra
234c3debaa Fix issues when setting azureTenantId (#21412) 2022-12-14 12:03:11 -08:00
Alex Ma
0638bbb152 Bump MSSQL for password change feature (#21417)
* added bumps

* added correct STS

* added updated yarn

* bump STS version
2022-12-14 10:52:41 -08:00
Sakshi Sharma
d0861f01ed Update string to enum for folder structure (#21406)
* Update string to enum

* Remove newly added enum value
2022-12-14 08:43:17 -08:00
Alex Hsu
bc8d4d2f48 Juno: check in to lego/hb_04604851-bac4-4681-9f74-73de611d6e48_20221213164123560. (#21410) 2022-12-13 09:12:10 -08:00
Aasim Khan
ed43817da7 Revert "Auto closing issues that needs logs after 7 days of inactivity. (#21390)" (#21403)
This reverts commit 30f4a3554a.
2022-12-12 13:45:46 -08:00
Hai Cao
6254e2af81 bump STS (#21402) 2022-12-12 13:16:07 -08:00
Aasim Khan
30f4a3554a Auto closing issues that needs logs after 7 days of inactivity. (#21390)
* Adding old issue

* Adding needs more info

* Making a different step for every issue label
2022-12-12 12:31:47 -08:00
Cheena Malhotra
abc7ada902 Fallback to 'common' tenant if 'tid' not found (#21388) 2022-12-12 12:31:14 -08:00
Sakshi Sharma
2626f24d5a Remove fs.promises.rmdir (#21356)
* Remove fs.promises.rmdir

* Add force flag
2022-12-12 11:04:31 -08:00
Cory Rivera
c1e97cd9ff Check current notebook cell when refreshing intellisense cache (#21394) 2022-12-12 10:50:54 -08:00
Kim Santiago
146d64435a fix dacpac wizard not using correct connection (#21387) 2022-12-12 10:14:08 -08:00
Alan Ren
6cfa0910b6 fix h-scrollbar cutoff issue (#21396) 2022-12-12 09:39:33 -08:00
Alex Hsu
5a6db7def1 Juno: check in to lego/hb_04604851-bac4-4681-9f74-73de611d6e48_20221211164417851. (#21400) 2022-12-11 21:46:00 -08:00
Alex Hsu
a4ee4440cc Juno: check in to lego/hb_04604851-bac4-4681-9f74-73de611d6e48_20221210164542912. (#21399) 2022-12-10 12:30:42 -08:00
Alex Ma
85f29cb988 [Loc] added refactored import.xlf (#21397) 2022-12-09 16:59:30 -08:00
Aasim Khan
7bc8aa8d1f updating data client protocol in import extension (#21391) 2022-12-09 16:10:29 -08:00
Alex Ma
abc98224fa [Loc] Added status query summary text (#21395) 2022-12-09 15:49:37 -08:00
Alan Ren
8d3b7ee205 enhance the selection summary (#21392)
* enhance the selection summary

* update comment
2022-12-09 14:07:47 -08:00
Alan Ren
17b41ae3d7 fix link cell style issue (#21389) 2022-12-08 21:53:52 -08:00
Aasim Khan
d0b2dc702f Updating out of scope comment (#21384) 2022-12-08 16:38:40 -08:00
Alex Ma
60add80fb0 [Loc] sql xlf update, add not supported kernal message (#21385) 2022-12-08 14:49:02 -08:00
Cory Rivera
272e748424 Show a message if kernel is not supported when first opening a notebook. (#21376) 2022-12-08 10:27:57 -08:00
Alex Hsu
286d195b22 Juno: check in to lego/hb_04604851-bac4-4681-9f74-73de611d6e48_20221208163933102. (#21382) 2022-12-08 09:55:18 -08:00
Alex Ma
fb6e221fff [Loc] added small change to password change dialog localization (#21377) 2022-12-07 15:03:45 -08:00
Alex Ma
cffba368a9 Added reset password dialog upon SQL Server expired password error (#21295)
* Added initial password connection dialog box

* made small changes

* more preliminary work

* more WIP changes

* more cleanup done

* added dialog instantiation

* added placeholder dialog window

* added changePasswordController

* made some changes to changePasswordController

* some changes made

* added more changes

* more changes made to dialogue

* added password confirm box

* added WIP change password function

* small changes made to API

* small changes for test

* added  uri

* added valid password

* added TODO comments

* added small change to connectionManagementService

* added connectionManagementService password change

* added comment on what to do next

* made some simplification of change password

* added response callback

* added fixes to protocol

* added throw error for passwordChangeResult

* WIP added call to self after password change

* WIP changes to implementing new password change dialog

* added changes to passwordChangeDialog

* added launchChangePasswordDialog

* remove erroneous css

* added working dialog

* removed old password change dialog

* fixed space

* added checkbox option to passwordChangeDialog

* added test signatures

* added error handling

* added some changes

* added changes to HTML for passwordChangeDialog

* added CSS to passwordChangeDialog

* added display none for matching passwords

* added documentation changes

* small cleanup

* added working error catch and retry

* added await

* added recovery instructions

* Added ok button hide for button click.

* added loading spinner

* fixed for semicolon

* added updated message

* Added message change

* added minor fixes

* added small fixes

* made more changes

* renamed messages to errorDetails

* added styling to passwordChangeDialog

* simplified error message

* changed comment

* modified azdata to be consistent

* small changes

* change to azdata for consistency

* added clarification for provider

* removed additional instructions

* Added new dialog title

* addressed feedback

* added comments

* added changes
2022-12-07 14:27:01 -08:00
Alex Ma
db329049ff [Loc] updates to xlfs after removal of BDC (#21375) 2022-12-07 14:21:40 -08:00
Cory Rivera
e2327c393a Remove all Big Data Cluster features (#21369) 2022-12-07 12:28:17 -08:00
Alan Ren
bb1f5bfffe select cell after keyboard navigation (#21366)
* sync selected cell and active cell

* more packages
2022-12-06 08:53:42 -08:00
Karl Burtram
05eb8dd448 Add PowerBI PPE URI to domain list (#21357) 2022-12-05 15:03:01 -08:00
Alan Ren
5410e06cd7 remove extension (#21364) 2022-12-05 10:07:40 -08:00
Alan Ren
3b59fb825f add mysql to recommended extension list (#21362)
* add mysql to recommended list

* fix casing
2022-12-05 09:58:06 -08:00
Cheena Malhotra
e89341f6bd Set both label and values to custom options select Boxes (#21354) 2022-12-02 13:48:23 -08:00
Christopher Suh
b5d2debebb make MSAL default auth library (#21355) 2022-12-02 11:47:06 -08:00
Aasim Khan
1117a72ade Updating decode URI lib (#21349) 2022-12-01 22:13:45 -08:00
Cheena Malhotra
511523d002 Introduce inbuilt MsalCachePlugin to replace msal-node-extensions (#21335) 2022-11-30 21:23:32 -08:00
Cheena Malhotra
02e9f8d3ef Rename to security token to match STS (#21338) 2022-11-30 15:02:08 -08:00
Aasim Khan
945a134018 Vbumping electorn (#21336) 2022-11-30 12:19:12 -08:00
Aasim Khan
c0a194df4a Adding wizard and dialog footer loading spinner (#21230)
* Adding wizard and dialog loading

* Moving apis to proposed

* fixing namespace

* Only firing event when the value changes

* Only firing when value is changed

* Adding loading complete message to dialog and wizard

* Registering listeners and making a new base interface for loading components

* Fixing api comment

* Renaming prop to loadingCompleted

* old loading icon
2022-11-30 12:18:34 -08:00
Charles Gagnon
62d5c1f2d6 Fix action dropdowns focusing hidden button & fix ext action button (#21326) 2022-11-29 22:41:48 -08:00
Cheena Malhotra
23dfd690a6 Refresh token with SqlToolService session update (#21308) 2022-11-29 15:26:15 -08:00
Cheena Malhotra
0479aab107 Update STS to v4.4.0.8 (#21319) 2022-11-29 15:25:32 -08:00
Aasim Khan
813fa6b2ef Updating qs lib across ads (#21323) 2022-11-29 11:40:22 -08:00
Cory Rivera
4dfedabbc6 Dispose underlying text input in notebook input to clear editor service references correctly. (#21318) 2022-11-29 10:06:52 -08:00
Cheena Malhotra
be036ee215 Skip signing node_modules (#21311) 2022-11-28 16:20:58 -08:00
Maddy
815310f52a check for file protocol of vscode-file (#21302)
* check for file protocol vscode-file:

* use vscode constants
2022-11-28 15:19:02 -08:00
Alex Hsu
0e36a35caa Juno: check in to lego/hb_04604851-bac4-4681-9f74-73de611d6e48_20221127163748785. (#21312) 2022-11-28 10:04:23 -08:00
Alex Hsu
2c86daa040 Juno: check in to lego/hb_04604851-bac4-4681-9f74-73de611d6e48_20221125170229478. (#21310) 2022-11-28 10:03:46 -08:00
Alex Hsu
3912844aaa Juno: check in to lego/hb_04604851-bac4-4681-9f74-73de611d6e48_20221124163813636. (#21307) 2022-11-28 10:03:29 -08:00
Alex Ma
5275cc5ca0 [Loc] update to azurecore xlf (#21303) 2022-11-24 00:08:40 -08:00
Cheena Malhotra
405b3bbfdb Fix default auth and 'AzureTenantId' to persist and not reset on selection event (#21289) 2022-11-23 17:39:03 -08:00
Christopher Suh
86c3f315f2 Add MSAL Authentication Library support (#21024) 2022-11-23 14:06:44 -08:00
Charles Gagnon
fba47815e2 Cleanup changelog (#21300)
* Cleanup changelog

* fix

* Correct header

* fix indent

* fix other indent
2022-11-23 11:26:43 -08:00
Alex Hsu
a0dcb0c4af Juno: check in to lego/hb_04604851-bac4-4681-9f74-73de611d6e48_20221123173210096. (#21298) 2022-11-23 09:51:40 -08:00
Charles Gagnon
8d13d4054a Update changelog for 1.40.1 release (#21297) 2022-11-23 09:29:17 -08:00
Cheena Malhotra
62b123624d Fix icon foreground (#21287) 2022-11-22 18:03:51 -08:00
Charles Gagnon
c9febe330c Bump STS to 4.4.0.7 (#21293) 2022-11-22 11:39:25 -08:00
Cheena Malhotra
3b6ce47acc Fix access token refresh design (ADS only) (#21206) 2022-11-21 19:35:00 -08:00
Alex Ma
8db40ab55f [Loc] update to sql-database-projects xlf (#21288) 2022-11-21 16:41:39 -08:00
Kim Santiago
3932332694 update sql projects strings to install .net 6 SDK instead of .net core 3.1 (#21235)
* update sql projects strings to install .net 6 SDK instead of .net core 3.1

* update to us aka.ms link
2022-11-21 11:53:12 -08:00
Kim Santiago
46aec180e2 hide generate sql project from OpenApi under preview configuration in vscode (#21263) 2022-11-21 11:06:24 -08:00
Sakshi Sharma
e79ec552e6 Sql projects: Tests for Create project from database for vscode extension (#21257)
* Test changes

* Tests for CreateProjectFromDatabaseQuickpick

* Address comments

* Update pwd to placeholder
2022-11-21 11:04:46 -08:00
Kim Santiago
ff56398fa9 add missing .dll in list of dlls used for project build (#21277) 2022-11-21 10:14:25 -08:00
Alex Hsu
1efc86768a Juno: check in to lego/hb_04604851-bac4-4681-9f74-73de611d6e48_20221121163735365. (#21285) 2022-11-21 09:26:20 -08:00
Alex Hsu
47e2504484 Juno: check in to lego/hb_04604851-bac4-4681-9f74-73de611d6e48_20221120164123198. (#21283) 2022-11-21 09:26:02 -08:00
Alex Hsu
22d46668f4 Juno: check in to lego/hb_04604851-bac4-4681-9f74-73de611d6e48_20221119163941295. (#21278) 2022-11-21 09:25:46 -08:00
Cheena Malhotra
dec3c020c5 Fix Browse azure tab not populating right tenant (#21276) 2022-11-19 00:49:56 -08:00
Christopher Suh
0bc5f68d29 Fix prompt for auth/device auth method (#21272) 2022-11-18 15:17:46 -08:00
Cory Rivera
728a90cd53 Move New Notebook command to core (#21247) 2022-11-18 14:54:58 -08:00
Alan Ren
78b17bba82 vbump extensions after publish (#21275) 2022-11-18 14:17:24 -08:00
Alex Ma
18f090b8c2 [Loc] update to sql-database-projects (#21270) 2022-11-18 10:28:18 -08:00
Alex Hsu
8df2517a24 Juno: check in to lego/hb_04604851-bac4-4681-9f74-73de611d6e48_20221118164216506. (#21268) 2022-11-18 09:37:28 -08:00
Karl Burtram
236ba22053 Remove swiftshader dir from signing list (#21258) 2022-11-18 07:37:59 -08:00
Raymond Truong
0d62fa0224 Remove extra params (#21262) 2022-11-17 16:31:05 -08:00
Kim Santiago
ac494955ac Hide publish sql project to new azure server behind preview setting (#21248)
* hide publish to new Azure server under preview setting

* try adding additional properties instead of replacing everything in configuration

* cleanup and change to adding configuration properties instead of replacing the whole thing

* add more info in comment

* remove extra line
2022-11-17 16:05:46 -08:00
Raymond Truong
a238d15da2 [SQL Migration] Merge Nov extension release (1.1.3) changes to main (#21184)
* Vbump and update dependent ADS version (#21179)

* [SQL Migration] Add new Azure Core API changes back in to support USGov + other non-public clouds (#20476)

* WIP - show error message for failed SKU recommendation

* WIP - run query to get correct instance name

* WIP - integrate elastic model recommendation

* Remove private endpoint restriction text

* Add feature switch for elastic recommendation

* Clean up

* Clean up

* Misc UI fixes

* Update package.json with updated azdata dependency

* Remove unused lines

* Fix broken next button

* Vbump extension to 1.0.6

* Revert "[SQL Migration] Revert dependency on new Azure Core API changes (#20469)"

This reverts commit b7a633be25.

* [SQL Migration] Add additional condition for cutover  (#21178)

* Add new cutover condition

* Implement helper hasRestoreBlockingReason()
2022-11-17 14:13:08 -08:00
Kim Santiago
17d3489778 Update Microsoft.Build.Sql version to 0.1.7-preview (#21242)
* update the default Microsoft.Build.Sql version used by sql projects

* update Microsoft.Build.Sql SDK version

* update baselines and template to also use 0.1.7-preview
2022-11-17 14:09:03 -08:00
Alex Ma
6e54d3fecf [Loc] changes for 11/16/2022 (#21251) 2022-11-16 23:27:58 -08:00
Karl Burtram
ff32470ab0 Bump to Electron 19.1.6 (#21249) 2022-11-16 19:23:44 -08:00
dependabot[bot]
404d053050 Bump loader-utils from 1.4.1 to 1.4.2 (#21238)
Bumps [loader-utils](https://github.com/webpack/loader-utils) from 1.4.1 to 1.4.2.
- [Release notes](https://github.com/webpack/loader-utils/releases)
- [Changelog](https://github.com/webpack/loader-utils/blob/v1.4.2/CHANGELOG.md)
- [Commits](https://github.com/webpack/loader-utils/compare/v1.4.1...v1.4.2)

---
updated-dependencies:
- dependency-name: loader-utils
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-11-16 13:52:15 -08:00
Karl Burtram
6b9d5db145 Update Electron to 19.1.3 (#21244)
* chore: bump electron@18.0.0-beta.4

* Merge commit

* chore: update electron@19.0.17 (#161027)

* chore: update electron@19.0.17

* chore: update API typings

* fix: compilation errors

* build: add libcups dependency

* chore: update electron@19.1.3 (#164864)

* Update yarn

Co-authored-by: deepak1556 <hop2deep@gmail.com>
2022-11-16 13:52:02 -08:00
Kim Santiago
f977fe6cf6 vbump dacpac, schema compare, and sql projects after Nov release (#21241) 2022-11-16 13:32:05 -08:00
Alan Ren
bbcfd00967 post release extension vbump (#21243)
* Update package.json

* Update package.json
2022-11-16 11:43:53 -08:00
Kim Santiago
b4aed82d44 update working for dotnet install location setting (#21232) 2022-11-16 11:05:30 -08:00
Charles Gagnon
12bca68a0d Fix lint error in typings (#21240) 2022-11-16 10:05:36 -08:00
Karl Burtram
388a81e65b Typo in readme (#21239) 2022-11-16 09:20:27 -08:00
dependabot[bot]
f56aa9977c Bump minimatch from 3.0.4 to 3.1.2 in /build/npm/gyp (#21219)
Bumps [minimatch](https://github.com/isaacs/minimatch) from 3.0.4 to 3.1.2.
- [Release notes](https://github.com/isaacs/minimatch/releases)
- [Commits](https://github.com/isaacs/minimatch/compare/v3.0.4...v3.1.2)

---
updated-dependencies:
- dependency-name: minimatch
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-11-16 09:08:00 -08:00
dependabot[bot]
c79694fb3a Bump minimatch from 3.0.4 to 3.1.2 in /test/integration/browser (#21218)
Bumps [minimatch](https://github.com/isaacs/minimatch) from 3.0.4 to 3.1.2.
- [Release notes](https://github.com/isaacs/minimatch/releases)
- [Commits](https://github.com/isaacs/minimatch/compare/v3.0.4...v3.1.2)

---
updated-dependencies:
- dependency-name: minimatch
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-11-16 09:07:00 -08:00
erpett
803e5caa78 Updates for 1.40 readme and changelog (#21233)
* Updates for 1.40 readme and changelog

* update download table

Co-authored-by: Alan Ren <alanren@microsoft.com>
2022-11-16 08:59:59 -08:00
dependabot[bot]
8db6c0393a Bump minimatch from 3.0.4 to 3.1.2 in /test/automation (#21217)
Bumps [minimatch](https://github.com/isaacs/minimatch) from 3.0.4 to 3.1.2.
- [Release notes](https://github.com/isaacs/minimatch/releases)
- [Commits](https://github.com/isaacs/minimatch/compare/v3.0.4...v3.1.2)

---
updated-dependencies:
- dependency-name: minimatch
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-11-16 08:54:53 -08:00
Cory Rivera
a37d6230f9 Remove API compatibility layer for VS Code notebook extensions (#21225) 2022-11-15 10:38:41 -08:00
Alex Ma
1105e4d15c updates langpack source files to match 1.67 release (#21228)
* updates langpack source files to match 1.67 release

* added small version bump
2022-11-15 10:19:38 -08:00
Christopher Suh
c1e90092a8 add instructions to close Developer Tools (#21227) 2022-11-14 16:25:02 -08:00
Alex Hsu
89586aad0b Juno: check in to lego/hb_04604851-bac4-4681-9f74-73de611d6e48_20221113165604395. (#21221) 2022-11-14 09:09:45 -08:00
Alan Ren
fa8d3bf0cf run tests for windows on arm build (#21214) 2022-11-11 23:49:38 -08:00
Alex Hsu
66dc7deca3 Juno: check in to lego/hb_04604851-bac4-4681-9f74-73de611d6e48_20221111164026766. (#21213) 2022-11-11 09:12:40 -08:00
Alan Ren
0a48fcbfaa add native arm64 builds for Windows (#21196) 2022-11-10 23:13:18 -08:00
Alex Ma
d5246092a5 [Loc] small update to sql-database-projects.xlf (#21203) 2022-11-10 16:49:24 -08:00
Aasim Khan
c8a80a5270 Adding SQL Carbon edit comment (#21202) 2022-11-10 15:46:05 -08:00
Lucy Zhang
7ca4e2bcae Fix headers being exported twice from notebooks (#21195)
* fix headers being exported twice

* simplify

* fix test
2022-11-10 13:31:36 -08:00
Kim Santiago
2a933d43c4 add preview for publish to Azure development container (#21199) 2022-11-10 13:25:54 -08:00
Cory Rivera
667f125cbd Bring back old editor resolving logic to fix saving in notebooks. (#21186) 2022-11-10 12:53:53 -08:00
Kim Santiago
e928ed660f projectController.ts code cleanup (#21112)
* adding regions and doc comments in projectController.ts

* cleanup

* add param info to doc comment
2022-11-10 11:59:04 -08:00
Hai Cao
9f8a50d311 bump STS (#21197) 2022-11-10 11:31:12 -08:00
Cheena Malhotra
be95e95989 Select available tenant Id instead of first one as default (#21190) 2022-11-10 11:24:27 -08:00
Cheena Malhotra
c5dbbecc34 Fix GitHub workflow (#21191) 2022-11-10 10:49:59 -08:00
Alex Hsu
a3bacceb87 Juno: check in to lego/hb_04604851-bac4-4681-9f74-73de611d6e48_20221110163839470. (#21194) 2022-11-10 09:15:24 -08:00
Kim Santiago
00f17bc050 put Generate project from OpenApi/Swagger spec behind preview flag (#21108) 2022-11-09 16:37:41 -08:00
Cheena Malhotra
3922117771 Fix custom option support in CMS + update providername in provided profile (#21183) 2022-11-09 15:50:25 -08:00
Aasim Khan
298cc4676b Updating id generation logic to avoid substring overlaps (#21181) 2022-11-09 15:40:20 -08:00
Alan Ren
d65ba42334 vbump cms (#21176) 2022-11-09 10:45:22 -08:00
Alex Ma
480c3d8779 [Loc] small change to sql.xlf (#21175) 2022-11-09 10:22:31 -08:00
Alex Hsu
3224b23f0f Juno: check in to lego/hb_04604851-bac4-4681-9f74-73de611d6e48_20221109163936392. (#21173) 2022-11-09 08:58:47 -08:00
Karl Burtram
25d4d42d3e Fix casing on execution plan command titles (#21170) 2022-11-08 19:22:13 -08:00
dependabot[bot]
dc0d8f2357 Bump loader-utils from 1.4.0 to 1.4.1 (#21141)
Bumps [loader-utils](https://github.com/webpack/loader-utils) from 1.4.0 to 1.4.1.
- [Release notes](https://github.com/webpack/loader-utils/releases)
- [Changelog](https://github.com/webpack/loader-utils/blob/v1.4.1/CHANGELOG.md)
- [Commits](https://github.com/webpack/loader-utils/compare/v1.4.0...v1.4.1)

---
updated-dependencies:
- dependency-name: loader-utils
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-11-08 12:47:20 -08:00
Kim Santiago
64f5d9dde3 remove edge template from sql projects new project dialog (#21144) 2022-11-08 11:13:21 -08:00
Karl Burtram
a374046638 Port VS Code issue 149177 (#21153) 2022-11-08 10:31:04 -08:00
Alex Hsu
1e8c289869 Juno: check in to lego/hb_04604851-bac4-4681-9f74-73de611d6e48_20221108163801434. (#21154) 2022-11-08 09:06:36 -08:00
Alex Ma
2f3cc4f9b6 [Loc] small addition to sql.xlf (#21150) 2022-11-07 17:00:43 -08:00
Karl Burtram
80c3d3570e Remove LiveShare extension (#21143)
* Remove LiveShare extension

* Update build JS file
2022-11-07 16:27:03 -08:00
Alex Ma
aebceb8c16 Langpack source files update for November release (main branch PR) (#21147)
* updated localized XLFS

* update to langpack source files
2022-11-07 16:23:29 -08:00
erpett
87574053e0 vbump post release branch split (#21139) 2022-11-07 14:26:23 -08:00
Alex Hsu
0881f2b3fc Juno: check in to lego/hb_04604851-bac4-4681-9f74-73de611d6e48_20221107163900168. (#21128) 2022-11-07 13:35:19 -08:00
Alex Hsu
c2c1365aff Juno: check in to lego/hb_04604851-bac4-4681-9f74-73de611d6e48_20221106163734472. (#21123) 2022-11-07 08:26:04 -08:00
Alex Hsu
8a01c6073e Juno: check in to lego/hb_04604851-bac4-4681-9f74-73de611d6e48_20221105154251329. (#21118) 2022-11-07 08:25:39 -08:00
Charles Gagnon
8be87a905a Revert gulp-rename (#21117)
* Revert gulp-rename

* revert gulp task change

* revert localization task
2022-11-05 09:40:24 -07:00
Lewis Sanchez
a864993e60 Extension unit tests should continue on error (#21099)
* Extension unit tests continue on error

* Fix script syntax issue.

* Block syntax issue

* Remove condition expression

* Brings back condition for sql product build linux yml

* Comment out condition in ci.yml

* Adds continue on error clause to ci.yml extension unit tests

* Adds condition to extension unit tests step in ci.yml

* Adds run extension unit test case for fail on error

* Adds fail on error case to Run Extension Unit Tests script

* Explicitly states continue on error false.

* Format adjustment to yml file

* Changes default state to fail on error

* Update .github/workflows/ci.yml

Co-authored-by: Charles Gagnon <chgagnon@microsoft.com>

* Update build/azure-pipelines/linux/sql-product-build-linux.yml

Co-authored-by: Charles Gagnon <chgagnon@microsoft.com>

* Update build/azure-pipelines/linux/sql-product-build-linux.yml

Co-authored-by: Charles Gagnon <chgagnon@microsoft.com>

* Brings back original comment.

Co-authored-by: Charles Gagnon <chgagnon@microsoft.com>
2022-11-04 21:11:14 -07:00
Cory Rivera
facd317b4d Create untitled notebook names in core code rather than in the notebook extension (#21111) 2022-11-04 19:31:55 -07:00
Barbara Valdez
a618ef983a Display tables in html (#20640) 2022-11-04 19:00:19 -07:00
Cory Rivera
5487d26c37 Fix typo in quickInput folder name (#21116) 2022-11-04 18:46:46 -07:00
Alex Ma
103591fcaa [Loc] xlf update 11-4-2022 (#21115) 2022-11-04 17:13:00 -07:00
Cheena Malhotra
a1f5b403db Send telemetry action event when user selects 'Enable Trust Server Certificate' (#21113) 2022-11-04 17:05:32 -07:00
Aasim Khan
00b797b4f3 Adding keyboard shortcuts for column resizing in slickgrid (#21100)
* Adding column resize keyboard shortcuts in slickgrid

* Switching to standard keyboard evt

* Adding comment for the functionality

* Cleaning up code and adding more comments

* Using quick input to get column resize width

* Adding check for negative sizes

* Fixing some stuff
2022-11-04 16:15:04 -07:00
Alan Ren
e98f2e2745 update data protocol client to latest (#21109)
* update data protocol client to latest

* yarn.lock
2022-11-04 13:34:32 -07:00
Candice Ye
6ab25a6a56 Bump to 1.7.0 for nov release (#21107)
Co-authored-by: Candice Ye <canye@microsoft.com>
2022-11-04 12:58:34 -07:00
Barbara Valdez
efe56eba8c Notebook scrolling to search result instead of selected cell (#20580)
* do not scroll to current result if there's other cell active

Co-authored-by: Charles Gagnon <chgagnon@microsoft.com>
2022-11-04 11:05:26 -07:00
Lewis Sanchez
f8b7c32030 Centers selected node found by the expensive operation widget (#21103) 2022-11-04 10:34:25 -07:00
Alex Hsu
1159301483 Juno: check in to lego/hb_04604851-bac4-4681-9f74-73de611d6e48_20221104153859163. (#21105) 2022-11-04 09:27:55 -07:00
Hai Cao
222afe12c1 Encryption welcome dialog followup (#21101) 2022-11-03 20:16:16 -07:00
Alex Ma
25b0e07366 [Loc] update to azurecore and sql xlfs (#21102) 2022-11-03 17:04:34 -07:00
Karl Burtram
f1cb925543 Fix open file on drop-n-drop (#21006) 2022-11-03 13:40:42 -07:00
Alan Ren
5f16251ca7 fix resource deployment notebooks (#21096) 2022-11-03 13:12:07 -07:00
Kim Santiago
d268b9948b Add a few tests for projectController (#21083) 2022-11-03 13:02:53 -07:00
Alan Ren
f23b578c8f vbump sts (#21094) 2022-11-03 11:37:58 -07:00
Cheena Malhotra
85fad2360c Fix tenant Id design for Azure accounts (#21086) 2022-11-03 11:04:37 -07:00
Cory Rivera
90d0310523 Use Existing Install option by default when setting up python on Mac and Linux. (#21093) 2022-11-03 11:01:18 -07:00
Charles Gagnon
ec03b3f4aa vBump extensions with updates to 1DS key (#21092)
* vBump extensions with updates to 1DS key

* Add import

* sql-assessment
2022-11-03 10:05:35 -07:00
Charles Gagnon
fb05c4304e Switch to 1DS endpoint (#20769)
* Update to 1DS client

* remove product config

* Update ai keys

* use our own event prefix

* re-enable telemetry

* Update distro and remove default enableTelemetry

* distro

* Remove asimovKey references

* add comment

* distro

* distro

* distro

* add files that break precommit hook

* cleanup/fixes

* distro

* distro + event prefix update

* distro

* more
2022-11-03 08:45:06 -07:00
Lewis Sanchez
ca78491238 Bumps azdataGraph version to 0.0.56 (#21089)
* Bumps azdataGraph version to 0.0.56

* Removed warning popup since widget only contains avail metrics
2022-11-03 08:16:20 -07:00
Alex Ma
580f53d851 [Loc] XLF update for 11-2-2022 (#21090) 2022-11-02 21:30:24 -07:00
Christopher Suh
e87995527b Removed localization from error messages (#21085)
* removed localization from error messages

* use logger

* localize message displayed to user
2022-11-02 18:17:59 -07:00
Alan Ren
dc5f7854a2 remove preview flag (#21087) 2022-11-02 16:51:44 -07:00
Aasim Khan
355c750fce Removed plan tree as default for screen reader mode (#21082) 2022-11-02 15:30:56 -07:00
Aasim Khan
4823a76833 Adding screen reader optimized mode to slickgrid (#21069) 2022-11-02 15:11:16 -07:00
Candice Ye
f6dbe7539c Change primaryEndpoints to primary (#21079)
* Status update for miaa structure

* Added examples in comments

* Changed primaryEndpoint to primary

Co-authored-by: Candice Ye <canye@microsoft.com>
2022-11-02 14:06:56 -07:00
Alex Ma
64f40a56d8 Add more memory to watch extensions, (#21080) 2022-11-02 13:56:37 -07:00
James Wong
93184f11af Add hostname column in all the view (#21044)
* add hostname in profiler

* add hostname in all profiler view
2022-11-02 12:56:52 -07:00
Lucy Zhang
fe5cfe40d8 remove extra scrollbars (#21071) 2022-11-02 10:06:27 -07:00
Cheena Malhotra
012ab51208 Fix instability when canceling editing connection (#21068) 2022-11-02 10:05:13 -07:00
Cheena Malhotra
b35942ad80 Fix account names to display UTF8 characters (#21070) 2022-11-02 10:04:50 -07:00
Alex Ma
9693c2f466 Added recovery after invalid cell edit for adding a new cell. (#20333)
* Added recovery after invalid cell edit for adding a new cell.

* added updates to lastClickedCell
2022-11-02 09:42:32 -07:00
Alex Ma
8a51bc91b4 Add loading spinner for connection tree element refresh (#20621)
* added loading status to tree elements during refresh

* added message

* added lambda function

* added async

* moved addtraits to below null check

* Added debug lines for now

* added wip stack

* moved loading icon logic to inside tree item code

* added dispose logic

* Added comment explaining actions

* removed reference to NodeJs Timeout

* added showLoading status to Tree creation utils

* fixed spaces

* removed unnecessary space

* removed unnecessary timer for more responsive results

* removed call in connectionTreeActions test

* added fix to test

* stick to refresh only

* added 100 ms timeout

* added request comment
2022-11-02 09:42:06 -07:00
Alex Ma
bb701c4fcf added fix to localization task (#21063) 2022-11-02 09:41:30 -07:00
Charles Gagnon
649b23e6c8 Add mark.js and jquery typings (#21066) 2022-11-02 09:18:03 -07:00
Alan Ren
9d921e4efc vbump extensions (#21065)
* vbump after the new service downloader change

* webpack import extension

* undo webpack
2022-11-01 21:55:50 -07:00
Candice Ye
3ecea1af34 Status dictionary update for MIAA (#21050)
* Status update for miaa structure

* Added examples in comments

Co-authored-by: Candice Ye <canye@microsoft.com>
2022-11-01 14:58:27 -07:00
Lewis Sanchez
3295add69a Updates @xmldom/xmldom package version from 0.8.3 to 0.8.4 (#21061) 2022-11-01 13:54:48 -07:00
brian-harris
742c18b97b validation integration WIP 10/24 (#21059) 2022-11-01 12:19:15 -07:00
Cheena Malhotra
ccb0c86b22 Update STS to v4.3.0.45 (#21057) 2022-11-01 12:03:18 -07:00
Charles Gagnon
05841fc0d6 Cleanup encryption dialog (#21058)
* Cleanup encryption dialog

* reorder
2022-11-01 11:43:04 -07:00
Cheena Malhotra
a967e90d4c Add dashboard navigation to database when connected to a database (#21056) 2022-11-01 10:57:11 -07:00
Cheena Malhotra
d9fb09912f Fix compilation error with Notification Error Dialog (#21054)
Make openerService optional
2022-11-01 10:30:09 -07:00
Cheena Malhotra
f5a3a9ad8c Update error dialog to include instructions text for SSL cert validation failure (#21036) 2022-11-01 09:59:50 -07:00
Cheena Malhotra
1de199dbd6 Fix zoom reset behavior when adding new connection (#21040) 2022-11-01 09:53:58 -07:00
Hai Cao
7ee9a22f03 add Encryption related welcome msg (#21048) 2022-11-01 09:42:16 -07:00
Cheena Malhotra
bb24eb29c5 Fix issue with SQL Database Projects unable to connect due to default encryption (#21010) 2022-11-01 09:26:37 -07:00
Barbara Valdez
2d5c168182 Update @vscode/ripgrep path (#21052) 2022-11-01 08:29:25 -07:00
junierch
a9cc71b877 Add Hyperscale as service tier for SqlDB (#20574)
Feature approved.
2022-11-01 11:10:57 -04:00
Kim Santiago
bd7d44ad31 Add image tag dropdown for publish to docker in ADS (#21029)
* add image tag dropdown to publish dialog

* cleanup

* add filtering and move default tag to the first in the dropdown

* fix test
2022-10-31 18:02:03 -07:00
Cheena Malhotra
0ac83852c7 Update to latest STS release (#21047) 2022-10-31 15:07:28 -07:00
Karl Burtram
e0e333c35f Fix lost results on query editor save (#21043)
* Fix lost results on query editor save

* Fix typos
2022-10-31 14:51:12 -07:00
Charles Gagnon
4ade808695 Re-enable extension media building (#21041)
* Re-enable extension media building

* Fix build
2022-10-31 10:25:56 -07:00
Barbara Valdez
275a772496 Reimplement drag and drop with the new interface (#21037)
* re enable drag and drop in book tree view
2022-10-31 10:12:23 -07:00
Cheena Malhotra
68b91089db Fix population of username/password on loading saved profile (#21039) 2022-10-28 22:41:59 -07:00
Cheena Malhotra
f3fcaa21da Show Trust server certificate on dialog and fix bool select-box defaults (#21020) 2022-10-28 19:43:43 -07:00
Aasim Khan
998b528680 Fixing schema compare checkbox column functions (#21025)
* Fixing select checkbox event and data state changes

* Only subscribing to event when check all is present

* converting object to map

* logic cleanup
2022-10-28 18:15:48 -07:00
Cheena Malhotra
0bfb220538 Fix bug where username/password values not clearing. (#21033) 2022-10-28 17:14:40 -07:00
Raymond Truong
0dc8e18230 [SQL Migration] Consume more detailed migration states (#20490)
* WIP

* Add new states

* Missed a few spots

* Update logic

* Update DatabaseMigrationProperties

* Test: add mocks

* Update a few more references

* Fix warnings

* Remove mocks

* Update cutover logic

* Address PR feedback
2022-10-28 17:14:12 -07:00
Cory Rivera
f4711d3c9c Remove unused ClientSession members. (#21031) 2022-10-28 15:37:59 -07:00
Cory Rivera
82adcc0f20 Fix issues with loading aliased kernels in notebooks (#21018) 2022-10-28 13:22:52 -07:00
Alex Hsu
5fdb20f79c Juno: check in to lego/hb_04604851-bac4-4681-9f74-73de611d6e48_20221027153832889. (#21014)
Co-authored-by: Karl Burtram <karlb@microsoft.com>
2022-10-28 13:17:22 -07:00
Alex Hsu
a6589d6393 Juno: check in to lego/hb_04604851-bac4-4681-9f74-73de611d6e48_20221028153820878. (#21028) 2022-10-28 13:13:14 -07:00
Hai Cao
e28c3894f6 Fix settings referring to VS Code (#21019)
* update VS Code to ADS in settings

* update github extension setting from VS Code to ADS

* update description of github extension
2022-10-28 13:01:58 -07:00
Raymond Truong
a734c9d244 [SQL Migration] Misc UI improvements (#20723)
* Add TrustServerCertificate to request body

* Preselect all dbs for migration

* Make disabled checkbox not auto selected

* Clarify assessment results in card

* Fix incorrect number of dbs ready for migration without issues to MI

* Fix SQL DB assessment results incorrectly greying out dbs with MI blocking issues

* Revert "Clarify assessment results in card"

This reverts commit e8b83f3c19a20ba29133aaa68c4644b04d4154fe.

* Revert "Fix incorrect number of dbs ready for migration without issues to MI"

This reverts commit d4e10875d132dd218d95be91ae7d46672e247706.

* Revert "Fix SQL DB assessment results incorrectly greying out dbs with MI blocking issues"

This reverts commit e2a7dcd7352d1c215052a2f6f3f6130fc710eff8.

* Add new fields

* Fix null reference exception in SKU rec with save and close

* Remove unused files

* Warnings for in progress migrations in list view

* Fix unscrollable assessment results

* Fix updating SKU parameters before recommendations are ready

* Remove checksum info box

* Address PR feedback
2022-10-28 10:59:53 -07:00
Aasim Khan
968f4c7aa4 Fixing result grid plans not opening execution plan editor. (#21022) 2022-10-28 10:28:54 -07:00
Karl Burtram
ab946e1b3d Update to latest Electron 17 (#21015) 2022-10-28 10:27:21 -07:00
Charles Gagnon
9ea5a66c52 Fix embedded images not rendering (#21021) 2022-10-27 22:59:03 -07:00
Cory Rivera
5f6eed12c2 Re-enable .NET Interactive in Ipynb notebooks (#21002) 2022-10-27 13:49:37 -07:00
junierch
facdb2b0ae Junierch/db list migration (#20751)
* remove Last Backup colum on assessment db list.

* column cleanup

* using sqlutils

* typo fixed

* Typo fixed

* use providerid from connection
2022-10-27 15:37:20 -04:00
Sakshi Sharma
cc8afa97d0 Update test names from "Electron" to "Core " (#20917)
* Update test naming convention from Electron to Core to avoid confusions

* Added comments

* Fix comment placement

* Remove CARBON EDIT from sql-* files
2022-10-27 11:08:26 -07:00
Aasim Khan
512eba5675 Remove preview checks from ep (#21008) 2022-10-27 10:05:16 -07:00
Hai Cao
540ebd6f7f remove "New File..." from File menu (#20999)
* remove New File... from File menu

* doc
2022-10-27 09:45:37 -07:00
Charles Gagnon
8534b12ee5 Fix extension gallery engine version check (#21000)
* Fix extension gallery engine version check

* disable extension scanner tests

* edit tag
2022-10-26 22:46:03 -07:00
Charles Gagnon
39e9018b7c Add/update providerConnectionInfo.getOptionsKey tests (#21001) 2022-10-26 22:45:40 -07:00
Aasim Khan
1743c7ea13 Fixes: (#21004)
1. Navigation info announcement when user enter graph
2. Allowing users to expand/collapse button
3. Tooltips shown only when enter is pressed
2022-10-26 22:16:36 -07:00
Alex Hsu
fae8ffbe25 Juno: check in to lego/hb_04604851-bac4-4681-9f74-73de611d6e48_20221017153540816. (#20860)
Co-authored-by: Karl Burtram <karlb@microsoft.com>
2022-10-26 19:34:14 -07:00
Alex Hsu
2c388b2e0b Juno: check in to lego/hb_04604851-bac4-4681-9f74-73de611d6e48_20221016153845711. (#20859) 2022-10-26 19:30:12 -07:00
Alex Hsu
15a9567326 Juno: check in to lego/hb_04604851-bac4-4681-9f74-73de611d6e48_20221015154310234. (#20858) 2022-10-26 19:29:31 -07:00
Alan Ren
e691263956 fix the contrast rate issue of couple view icons in activity bar (#21003)
* fix connections and notebooks view icon issue

* update name

* remove css reference
2022-10-26 19:27:42 -07:00
Cheena Malhotra
4b4c5d8ffe Change back to existing identity design (#20991) 2022-10-26 16:44:29 -07:00
Hai Cao
88cc7b333e Remove unstable test step from win32 product build (#20996) 2022-10-26 15:20:13 -07:00
Hai Cao
ef29f3d693 Restore the SQL Server 2019 notebook download (#20979)
* Restore the SQL Server 2019 notebook download

* try updating task

* add SQL CARBON EDIT

Co-authored-by: Karl Burtram <karlb@microsoft.com>
2022-10-26 12:12:23 -07:00
Kim Santiago
15b7c814f6 Remove preview from 2022 in sql projects (#20940)
* remove preview from 2022 in sql projects

* update new project baselines

* update system dacpac tests

* fix other 150 system dacpac test checks
2022-10-26 09:11:28 -07:00
Cheena Malhotra
b13e0cf615 Fix get Modal value validation (#20976) 2022-10-26 08:10:53 -07:00
Charles Gagnon
d5cf088ba7 Remove preview flag from query history (#20975) 2022-10-25 15:53:14 -07:00
Charles Gagnon
1ffb71f73a Update SQL grammar (#20970) 2022-10-25 12:55:32 -07:00
Alan Ren
c811303570 bring back welcome page (#20969) 2022-10-25 12:35:32 -07:00
Cheena Malhotra
987aed3b92 Add custom option support on Connection dialog + move Encrypt to connection dialog (#20959) 2022-10-25 12:19:40 -07:00
Cheena Malhotra
44d03085ad Bump STS to bring MDS 5 support along with other changes (#20966) 2022-10-25 11:05:17 -07:00
Aasim Khan
4d5e9adbc1 Adding option to sort columns using F3 key in SlickGrid. (#20897) 2022-10-25 08:22:31 -07:00
Christopher Suh
ab958a2724 quick draft PR for not throwing when looking for a chunked password (#150402) (#20956)
* quick draft PR for not throwing when looking for a chunked password

* update comment with more info

Co-authored-by: Ian Huff <ianhuff@Ians-MacBook-Pro.local>

Co-authored-by: Ian Huff <ianhu@microsoft.com>
Co-authored-by: Ian Huff <ianhuff@Ians-MacBook-Pro.local>
2022-10-24 17:48:06 -07:00
Charles Gagnon
31bfc2fc94 Add accessibility information to query history items (#20958)
* Add accessibility information to query history items

* bump version
2022-10-24 17:29:59 -07:00
Charles Gagnon
5032685162 Notebook cleanup (#20954) 2022-10-24 15:32:42 -07:00
Charles Gagnon
a64a33e091 ModeService to LanguageService var names (#20949) 2022-10-24 13:57:03 -07:00
Karl Burtram
de9dd34275 Fix Notebook language ids (#20938) 2022-10-24 13:56:10 -07:00
Kim Santiago
5d896cd8cd update schema compare azdata dependency to 1.40.0 (#20944) 2022-10-24 13:31:29 -07:00
Alan Ren
42d2c6d656 Fix disabled state for debug toolbar icons (#149172) (#20942)
* Use opacity for disable debug toolbar icons

* Update action bar disabled foreground styles

Co-authored-by: David Dossett <ddossett@microsoft.com>
2022-10-24 12:19:19 -07:00
Alan Ren
c48dccc1a2 fix designer grid sizing issue (#20939) 2022-10-24 10:43:50 -07:00
Karl Burtram
7f0dd5ac1d Load angular prior to loader.js (#20934)
* Load angular prior to loader.js

* Bump distro
2022-10-24 09:00:55 -07:00
Cheena Malhotra
de3683dd01 Fix status badge (#20930) 2022-10-22 16:16:34 -07:00
Karl Burtram
f4837c416f Fix module load issue in azurecore (#20929) 2022-10-22 11:41:17 -07:00
Karl Burtram
d95dcb1905 Disable failing integration tests (#20928)
* Disable failing integration tests

* Disable flakey test case for investigation
2022-10-22 10:04:57 -07:00
Karl Burtram
39f8bc46ef Reenable integration tests (#20926) 2022-10-22 01:26:43 -07:00
Karl Burtram
350e94abfe Revert "Update packages to fix CG alerts (#20922)" (#20927)
This reverts commit 97c070be13.
2022-10-22 01:26:33 -07:00
Karl Burtram
5a7ae8a3d0 Reenable disabled tests post VSCode refresh (#20899)
* Reenable disabled tests

* Extension unit test updates

* Turn off data workspace tests on Linux

* Keep integration and smoke tests disabled
2022-10-21 21:40:52 -07:00
Alan Ren
3e1f2b0d9d set svgmin option (#20923)
* disable removeViewBox option

* add comment
2022-10-21 21:20:51 -07:00
Sakshi Sharma
97c070be13 Update packages to fix CG alerts (#20922)
* Update packages to fix CG alerts

* Reverting version bump for vscode-universal-bundler because of build break
2022-10-21 18:03:49 -07:00
Aasim Khan
84305c32c0 Adding accessible tooltips and tooltip based alerts (#20912) 2022-10-21 14:28:27 -07:00
Karl Burtram
daf81cc9e7 Fix extension load issues on insider build (#20920) 2022-10-21 14:07:22 -07:00
Karl Burtram
c42620d7d6 Revert mixin script to fix insiders build (#20918)
* Revert mixin script

* Create a sql specific mixin file
2022-10-21 14:07:10 -07:00
Sakshi Sharma
2a2ac74032 Cleanup generated test files and folders for Sql DB projects (#20862)
* Cleanup generated test files and folders

* Add await to fix tests
2022-10-21 13:00:03 -07:00
Kim Santiago
8acda681b4 move publish to docker quickpick code to its own file (#20871) 2022-10-21 11:09:51 -07:00
Cheena Malhotra
0abb8da026 Fix Edit Connection behavior that affects multiple areas working with edited connection (#20907) 2022-10-21 11:03:10 -07:00
Sakshi Sharma
5398339af9 Update playwright version from 1.21.0 to 1.26.0 (#20900)
* Bump jpeg-js version from 0.4.3 to 0.4.4

* Update playwright version in package.json

* Update version to 1.26.0 to match vscode
2022-10-21 10:04:08 -07:00
James Wong
533e1ec1b9 add hostname in profiler (#20909) 2022-10-20 19:33:39 -07:00
Alan Ren
5c8644b94b fix the server action icon's size issue (#20906)
* fix the server action icon's size issue

* move the css styles to sql folder
2022-10-20 19:31:47 -07:00
Barbara Valdez
1ac141b381 remove smooth behavior from scroll for code cells (#20905) 2022-10-20 17:14:52 -07:00
Aasim Khan
5942980300 Adding missing stream icons for execution plan (#20896) 2022-10-20 15:24:30 -07:00
Aasim Khan
e6b36cec0f Changing tree grid toggle icon color when the cell is selected (#20868)
* Changing toggle color when selected

* Using styles to support chevron coloring

* Adding escape to fix hygiene issues

* Fixing hygiene error
2022-10-20 13:53:28 -07:00
Karl Burtram
d5bb8276ce Revert source map publishing for build break (#20887) 2022-10-20 00:12:51 -07:00
Karl Burtram
21462e382d Fix publish types CI task (#20888) 2022-10-19 23:02:48 -07:00
Karl Burtram
318bfe62ee Fix CI build breaks (#20884)
* Fix CI build breaks

* Update filters
2022-10-19 21:47:49 -07:00
Aasim Khan
d5c63f4bfb Fixing aria bug (#20872) 2022-10-19 19:39:46 -07:00
Karl Burtram
8a3d08f0de Merge vscode 1.67 (#20883)
* Fix initial build breaks from 1.67 merge (#2514)

* Update yarn lock files

* Update build scripts

* Fix tsconfig

* Build breaks

* WIP

* Update yarn lock files

* Misc breaks

* Updates to package.json

* Breaks

* Update yarn

* Fix breaks

* Breaks

* Build breaks

* Breaks

* Breaks

* Breaks

* Breaks

* Breaks

* Missing file

* Breaks

* Breaks

* Breaks

* Breaks

* Breaks

* Fix several runtime breaks (#2515)

* Missing files

* Runtime breaks

* Fix proxy ordering issue

* Remove commented code

* Fix breaks with opening query editor

* Fix post merge break

* Updates related to setup build and other breaks (#2516)

* Fix bundle build issues

* Update distro

* Fix distro merge and update build JS files

* Disable pipeline steps

* Remove stats call

* Update license name

* Make new RPM dependencies a warning

* Fix extension manager version checks

* Update JS file

* Fix a few runtime breaks

* Fixes

* Fix runtime issues

* Fix build breaks

* Update notebook tests (part 1)

* Fix broken tests

* Linting errors

* Fix hygiene

* Disable lint rules

* Bump distro

* Turn off smoke tests

* Disable integration tests

* Remove failing "activate" test

* Remove failed test assertion

* Disable other broken test

* Disable query history tests

* Disable extension unit tests

* Disable failing tasks
2022-10-19 19:13:18 -07:00
Cory Rivera
33c6daaea1 Correctly route notebook serialization requests to SQL Tools Service. (#20874) 2022-10-19 15:37:41 -07:00
brian-harris
14cbe09a20 hotfix sql-migration extension for release to PROD, remove usage of unreleased ads enum (#20879)
* remove enum and vbump hotfix

* add update comments
2022-10-19 14:31:59 -07:00
Alan Ren
adc908c04b additional variable for macOS arm64 jobs (#20875)
* additional flag for macos arm64

* simplify

* more
2022-10-19 09:26:41 -07:00
Kim Santiago
0f46b3ef9b update vscode-mssql.d.ts to match the one in vscode-mssql (#20861)
* update vscode-mssql.d.ts to match the one in vscode-mssql

* format file
2022-10-17 13:54:49 -07:00
Kim Santiago
5106a08ea3 Add include permissions option for create project from db in vscode (#20845)
* add quickpick for include permissions option

* update vscode-mssql.d.ts

* add const

* undo whitespace change
2022-10-17 11:18:42 -07:00
Cheena Malhotra
4c565b31bc Update crates for windows builds (#20853) 2022-10-16 22:40:59 -07:00
Alan Ren
484fbe836d fix select top 1000 issue for Synapse (#20857) 2022-10-15 10:40:29 -07:00
Alan Ren
5d731fe0ad table cell selection improvement (#20854)
* Support SHIFT key for table cell selection

* fix for mac

* PR comment
2022-10-14 19:44:14 -07:00
Alex Ma
a773be1bba [Loc] update to xlfs (#20856) 2022-10-14 17:00:23 -07:00
Lewis Sanchez
f51e5c370b Registers all disposable items for query execution plans (#20851) 2022-10-14 14:50:25 -07:00
Alex Hsu
55c453700d Juno: check in to lego/hb_04604851-bac4-4681-9f74-73de611d6e48_20221014154854270. (#20850) 2022-10-14 09:56:17 -07:00
Charles Gagnon
f75472f410 Add comment (#20849)
(cherry picked from commit 63e06f6b0973e87f10d2ea9af0228d92c0d0ab12)
2022-10-13 21:42:50 -07:00
Charles Gagnon
f001adc6d6 Disable Kusto & Azure Monitor during smoke tests (#20847) 2022-10-13 21:11:12 -07:00
Raymond Truong
9712d54096 [SQL Migration] Update server name query (#20848)
* Update server name query

* Escape quotes
2022-10-13 20:18:33 -07:00
brian-harris
fb04db8c24 target database mapping and selection bug (#20840)
* target database mapping and selection bug

* bump version to 1.1.0 for sql db release
2022-10-13 18:36:56 -07:00
brian-harris
d5742bbd54 fix bugs in navigation validation (#20844)
* fix bugs in navigation validation

* fix sql db tutorial link, convert doc links
2022-10-13 18:36:25 -07:00
Cheena Malhotra
80bdc3d6be Remove deprecated "Asynchronous Processing" connection property (#20830) 2022-10-13 17:00:51 -07:00
Alan Ren
23dfe62742 show error when scripting fails (#20843) 2022-10-13 16:55:40 -07:00
Benjamin Russell
38eb0c8429 Export to Markdown (#20661)
* Give saveAsExcel its own config options

* Wired up correctly

* Merge conflicts

* PR comments 1

Co-authored-by: Ben Russell <russellben@microsoft.com>
2022-10-13 16:08:21 -07:00
Lucy Zhang
bee1c6be44 mark failing tests as unstable (#20841) 2022-10-13 15:32:41 -07:00
Charles Gagnon
7665d12ecc Bump query history version (#20842) 2022-10-13 14:14:41 -07:00
Cory Rivera
806580fe44 Use SQL kernel as default when opening a notebook with an unknown provider (#20828) 2022-10-13 12:38:43 -07:00
Kim Santiago
00800db506 Add include permissions option to create project from db dialog (#20823)
* add import permissions option to create project from db dialog

* change 'import' to 'include'

* update azdata dependency version

* update STS to 4.3.0.37

* fix test
2022-10-13 11:01:37 -07:00
Alex Hsu
ed2a503c1b Juno: check in to lego/hb_04604851-bac4-4681-9f74-73de611d6e48_20221013153919124. (#20836) 2022-10-13 09:56:36 -07:00
dependabot[bot]
8072251fbc Bump @xmldom/xmldom in /extensions/sql-database-projects (#20816)
Bumps [@xmldom/xmldom](https://github.com/xmldom/xmldom) from 0.8.2 to 0.8.3.
- [Release notes](https://github.com/xmldom/xmldom/releases)
- [Changelog](https://github.com/xmldom/xmldom/blob/master/CHANGELOG.md)
- [Commits](https://github.com/xmldom/xmldom/compare/0.8.2...0.8.3)

---
updated-dependencies:
- dependency-name: "@xmldom/xmldom"
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-10-13 09:05:07 -07:00
Alan Ren
684556b1ff fix job name (#20832) 2022-10-12 20:18:56 -07:00
Alan Ren
ecd2134f63 more control over the release step condition (#20820)
* more control over the release step condition

* update comment

* update comments

* new implementation

* update comments
2022-10-12 20:13:02 -07:00
Alan Ren
359e9657c5 avoid unnecessary connections in azure view (#20817)
* avoid unnecessary connections in azure view

* pr comments
2022-10-12 20:00:09 -07:00
Lewis Sanchez
51d5f07c77 Updates azdataGraph version from 0.0.45 to 0.0.46 (#20827) 2022-10-12 17:38:58 -07:00
Alex Ma
8ae1e1630a [Loc] added changes for executionPlan strings (#20829) 2022-10-12 17:00:21 -07:00
Alan Ren
d4552cf176 make the json regex better (#20826)
* make the json regex better

* comment
2022-10-12 16:26:32 -07:00
Lewis Sanchez
61fb5db66c Adds titles to execution plan widget combo boxes (#20815)
* Adds titles to execution plan widget combo boxes

* Renames const and title
2022-10-12 16:03:02 -07:00
Lewis Sanchez
e24068baaa Fixes resize bug affecting the find node widget (#20824) 2022-10-12 14:52:08 -07:00
Cory Rivera
acc9780f04 Update kernels dropdown after installing a notebook extension (#20759) 2022-10-12 14:44:31 -07:00
brian-harris
03fcaf837c fix caching issue with connection profile (#20739) 2022-10-12 09:45:31 -07:00
Lewis Sanchez
636efa841d Fixes same title for reverse alphabetical properties button (#20813) 2022-10-11 20:40:46 -07:00
Kim Santiago
1f1ea1ab59 fix sql projects vscode extension not activating because of not finding azdata (#20814) 2022-10-11 16:22:38 -07:00
Charles Gagnon
3005d5435f Add preview features enabled flag to issue reporter info (#20808)
* Add preview features enabled flag to issue reporter info

* fix tests

* fix key
2022-10-11 15:46:32 -07:00
Charles Gagnon
22a2bce55e Query history telemetry fixes (#20812) 2022-10-11 15:46:05 -07:00
Alan Ren
e05afc3cf9 consistent output file naming (#20811) 2022-10-11 14:12:37 -07:00
Jamie Magee
1a347f0eeb Add $schema to cgmanifest.json (#20493) 2022-10-11 13:26:44 -07:00
Cheena Malhotra
8bc5730fe3 Resolve conflict in Loc file auto-commit (#20809) 2022-10-11 12:42:10 -07:00
Alan Ren
ee2905d372 Add Apple Silicon build and Universal build for macOS (#20776)
* use stages

* fix indention

* add jobs section

* fix error

* indention

* arm64 for macos

* other stages not run

* fix container

* fix

* fix stage

* skip tests

* variable

* dependency

* fix name error

* sts

* const

* fall back to x64

* pass in variable

* universal flavor

* fix universal

* fix path

* remove

* special processing

* return on error

* copy instead of move

* restore sts

* release

* fix error

* Fix readme

* remove commented code

* add comments

* add issue

* update comment

* pr comments

* delete universal yml

* update the generated js file
2022-10-10 19:02:56 -07:00
Alex Ma
bd8e9ec0f0 [Loc] small update to loc (#20798) 2022-10-10 16:37:35 -07:00
Lewis Sanchez
5ec1d3a8e6 Adds add execution plan button and context menu to the bottom half of the plan comparison screen (#20770)
* Adds context menu option placeholder plan container

* Adds context menu and button to add execution plan to placeholder

* Minor clean up

* Replaces taskbar with button to add execution plans

* Removes unneeded CSS styling.

* Adjusts button type to secondary
2022-10-10 14:53:27 -07:00
Charles Gagnon
d76ccab65c Handle unsupported providers when launching from command line (#20793) 2022-10-10 13:04:53 -07:00
Charles Gagnon
93008b51c4 Directly install missing provider extensions (#20771)
* Directly install missing provider extensions

* Update interface
2022-10-10 13:04:07 -07:00
Barbara Valdez
5d63f0d229 remove smooth behavior (#20794) 2022-10-10 11:48:09 -07:00
Alex Hsu
910e37dfce Juno: check in to lego/hb_04604851-bac4-4681-9f74-73de611d6e48_20221010154033643. (#20791)
Co-authored-by: Alex Ma <alma1@microsoft.com>
2022-10-10 09:26:58 -07:00
Alex Hsu
13d9f5b82a Juno: check in to lego/hb_04604851-bac4-4681-9f74-73de611d6e48_20221009154223734. (#20774) 2022-10-10 09:17:47 -07:00
Alex Ma
711203ac40 [Loc] update to sql XLF for 10/7/2022 (#20772) 2022-10-07 16:31:25 -07:00
Alex Hsu
676f5f390c Juno: check in to lego/hb_04604851-bac4-4681-9f74-73de611d6e48_20221007153957789. (#20766) 2022-10-07 13:48:53 -07:00
Aasim Khan
9f5ee32825 Adding new filter icon (#20762) 2022-10-06 21:34:21 -07:00
Lewis Sanchez
00ff3ac50f Add functionality to expand and collapse all property rows. (#20746)
* Adds ability to expand and collapse all property rows

* Removes duplicate collapse/expand all logic

* Code review changes

* Removes unnecessary enum

* Updates comment

* Code review changes

* Code review changes

* Minor clean up

* Renames expand/collapse method

* Corrects collapse all action IDs and labels
2022-10-06 20:47:20 -07:00
Alex Ma
5b07fbef2a [Loc] SQL xlf update (#20761) 2022-10-06 16:10:58 -07:00
Aasim Khan
3a8cdd8440 Updating integration test script and adding additional logging. (#20710)
* killing all sub proc

* Updating file to match vscode

* Adding addtional logging

* Removing inaccurate echo
2022-10-06 16:05:56 -07:00
Raymond Truong
d746aa0fba Fix incorrect instance level warnings showing for SQL DB/MI (#20758) 2022-10-06 14:13:36 -07:00
Lewis Sanchez
f046129515 Adds not equal operator and expands unequal collapsed header rows (#20737)
* Adds not equal operator and expands unequal collapsed prop rows

* Minor clean up.
2022-10-06 13:45:04 -07:00
Alex Hsu
454fb1d6a5 Juno: check in to lego/hb_04604851-bac4-4681-9f74-73de611d6e48_20221006154842359. (#20752) 2022-10-06 10:37:10 -07:00
brian-harris
7c6effb9cc Revert "remove Last Backup colum on assessment db list. (#20728)" (#20745)
This reverts commit ee386e7382.
2022-10-06 12:59:47 -04:00
Charles Gagnon
cf03516d2d Bump engine version for query-history (#20755) 2022-10-06 09:38:21 -07:00
Lewis Sanchez
65a3bd7491 Shows not equal operator when comparing non-null props to null props (#20740) 2022-10-05 18:49:06 -07:00
Lewis Sanchez
6ea75bb538 Removes summary section from plan comparison properties view (#20735) 2022-10-05 18:48:53 -07:00
junierch
ee386e7382 remove Last Backup colum on assessment db list. (#20728)
* remove Last Backup colum on assessment db list.

* column cleanup
2022-10-05 18:37:36 -07:00
Alex Ma
f59ed49b2a [Loc] sql and sql-migration xlf updates (#20744) 2022-10-05 17:18:41 -07:00
Raymond Truong
5da4f449d4 [SQL Migration] Fix assessment UI issues (#20733)
* Clarify assessment results in card

* Fix incorrect number of dbs ready for migration without issues to MI

* Fix SQL DB assessment results incorrectly greying out dbs with MI blocking issues

* Update error banner for blocked databases

* Reword error message
2022-10-05 16:57:49 -07:00
Kim Santiago
1e89df8955 add 160 system dacpacs and update Azure master dacpac (#20732) 2022-10-05 14:57:03 -07:00
Charles Gagnon
7b05194e77 Add app quality to extension API (#20731)
* Add app quality to extension API

* Comment

* Special case rc1 to stable
2022-10-05 14:42:23 -07:00
Benjamin Russell
29daa72ef1 Give saveAsExcel its own config options (#20647)
Co-authored-by: Ben Russell <russellben@microsoft.com>
2022-10-05 09:40:00 -07:00
Charles Gagnon
60c1c8a89f Update ads-extension-telemetry to 1.3.1 (#20724)
* Update ads-extension-telemetry to 1.3.0

* fix
2022-10-04 23:06:53 -07:00
Alex Ma
08341c70fd [Loc] removed missing string in sql.xlf (#20725) 2022-10-04 16:54:10 -07:00
Charles Gagnon
7ebcb21879 Add query history telemetry (#20722)
* Add query history telemetry

* Update property name

* Only send on success

* Update name
2022-10-04 15:43:38 -07:00
Alex Ma
f511536a0f [Loc] first xlf update of the day for 10-4 (#20721) 2022-10-04 11:07:36 -07:00
Alan Ren
2df3f1a161 Remove preview flag for table designer (#20720)
* remove the preview flag for table designer feature

* sqlproj
2022-10-04 10:58:44 -07:00
Alex Hsu
102888b964 Juno: check in to lego/hb_04604851-bac4-4681-9f74-73de611d6e48_20221004153807318. (#20719) 2022-10-04 09:40:09 -07:00
Alex Hsu
6ef99bea69 Juno: check in to lego/hb_04604851-bac4-4681-9f74-73de611d6e48_20221002155335272. (#20706)
Co-authored-by: Alex Ma <alma1@microsoft.com>
2022-10-04 09:39:39 -07:00
Alex Hsu
9fc285dd09 Juno: check in to lego/hb_04604851-bac4-4681-9f74-73de611d6e48_20221001154740767. (#20704) 2022-10-04 09:31:23 -07:00
Lewis Sanchez
5e48cb99e1 Fixes bug around sorting equal and unequal properties (#20702)
* Fixes bug around sorting equal and unequal properties

* Uses deepClone to deepCopy objects

* Code review changes

Co-authored-by: Charles Gagnon <chgagnon@microsoft.com>
2022-10-03 23:10:45 -07:00
Alan Ren
16721cac00 fix web build (#20718)
* add logging

* new version with more logging

* fix downloader

* update more extensions

Co-authored-by: Charles Gagnon <chgagnon@microsoft.com>
2022-10-03 19:34:04 -07:00
brian-harris
66bb40c627 remove preview from sql db target references (#20690)
* remove preview from sql db target references

* update "Azure recommendations" label

* handle missing target tables
2022-10-03 18:39:43 -07:00
Charles Gagnon
3df9985aff Add loading text to query history view (#20717)
* Add max entries to query history

* Update query history README

* Add loading text to query history view

* add comment
2022-10-03 18:21:40 -07:00
Charles Gagnon
266326252a Update Query History README (#20716)
* Add max entries to query history

* Update query history README
2022-10-03 16:19:02 -07:00
Charles Gagnon
dd0e8fed2e Fix query history context item (#20714) 2022-10-03 16:07:44 -07:00
Charles Gagnon
6322a37152 Add max entries to query history (#20715) 2022-10-03 15:42:44 -07:00
Charles Gagnon
4bd2befefe Use ADS name for telemetry log (#20713) 2022-10-03 14:07:46 -07:00
Lewis Sanchez
f521d7cc63 Query Execution Plan Expensive Operator Highlighting (#20579)
* Boilerplate for new context menu options

* Enables checkmarks for expensive operator context menu actions

* Updates azdataGraph version to 0.0.44

* Adds clearing logic to actions and retrieves additional info from nodes

* Removes unnecessary actions that aren't supported by other providers

* Finishes setting up the rest of the context menu actions

* Corrects context menu action label

* Defines new widget type for finding expensive operations

* Adds TODO for class icon name

* Creates action to open the expensive operation widget

* Adds escape and enter key shortcuts to findExpensiveOperation widget

* Styles find expensive operation widget

* Corrects class name for finding expensive operator action

* Corrects import statement.

* Code clean up

* Bumps azdataGraph version to 0.0.45

* Adds an info box for when a metric doesn't find any nodes

* Adds label to find expensive operator widget

* Invokes dispose when widget controller removes widget

* Implements disposable in all execution plan widgets.

* Adds off action to clear highlighting

* Adds a default setting and default prompt for highlighting metric

* Fixes not all code paths return error

* Removes shortcut key from text for widget actions

* Adds enum description

* Removes added dictionary type, and renames class name

* Removes unnecessary null checks

* Removes cost metric dictionary and adds corresponding properties

* Code review changes

* Removes incorrectly implemented key down event for widget.

* Renames widget and action class names for highlighting expensive ops

* File rename

* Cleans up labels to better reflect highlight action

* Removes hardcoded button width style and sets it to auto

* More clean up

* Clean up import statement

* Code review changes

* Drop down list only shows available metrics

* Updates highlight expensive operation icon

* Update STS version
2022-10-03 12:32:39 -07:00
Christopher Suh
d0cab10cc9 revert redirect uri bc it is not used by us (#20705) 2022-10-03 02:03:21 -04:00
Alan Ren
1df976d79d upgrade service downloader (#20703)
* use new service downloader

* update other extensions

* fix errors
2022-10-02 20:30:53 -07:00
Charles Gagnon
85dc506a3c Add AuthenticationType enum to typings (#20699)
* Add AuthenticationType enum to typings

* fix

* const

* Add comments

* fix comment

* remove unused
2022-09-30 16:49:36 -07:00
Charles Gagnon
d6d75d8817 Add query history persistence (#20700)
* initial

* Fix and revert secret storage changes

* persist to file

* Add debounce and write on dispose

* Fix run

* No ext dependencies and show warning message

* Remove test stuff

* comments

* Fix tests and console logs
2022-09-30 16:48:55 -07:00
Cheena Malhotra
3aa416df6d Fix default SQL Login prompts in SQL Servers under Azure Tree (#20689) 2022-09-30 12:31:34 -07:00
Alex Hsu
60d49511bc Juno: check in to lego/hb_04604851-bac4-4681-9f74-73de611d6e48_20220930154803138. (#20698) 2022-09-30 11:07:28 -07:00
Aasim Khan
2a9c0a6935 Fixing filter stylings (#20685) 2022-09-30 10:00:13 -07:00
Christopher Suh
2a3e41e821 Update redirect-uri to localhost (#20692)
* wip

* change clientId

* change redirect-uri to localhost

* change clientId to staging env

* wip, using ppe endpoint

* management-preview

* change back management endpoint

* localhost/redirect

* wip

* route redirect

* change back to prod endpoints/clientId

* add error handling
2022-09-30 11:59:53 -04:00
Alan Ren
98320584a2 fix typos (#20695) 2022-09-29 20:58:11 -07:00
Alex Ma
337cadaf95 [Loc] added sql xlf update (#20694) 2022-09-29 16:31:03 -07:00
Lewis Sanchez
7c83739c25 Reorganized Execution Plan Comparison Properties View (#20673)
* Adds summary view to comparison properties view

* Equal rows are collapsed at the bottom of the properties view window

* Variable rename

* Variable rename

* Adds row header for equal properties.

* Adds middle column with diff icon to comparison properties table

* Resolves hygiene issue

* Code review changes

* Fixes undefined error bug

* Adds styles to less than and greater than codicon's

* Changes equivalent properties collapsed header

* Removes unnecessary check

* Integrates alphabetical and importance sorting to equivalency sorting
2022-09-29 13:53:10 -07:00
Hai Cao
69517b5ae0 bump STS to bring in table designer fixes (#20686) 2022-09-29 11:13:06 -07:00
Alex Hsu
c77caa343e Juno: check in to lego/hb_04604851-bac4-4681-9f74-73de611d6e48_20220929154610286. (#20691) 2022-09-29 10:24:01 -07:00
Christopher Suh
791443ddb7 Improve the tenant logging (#20688)
* added tenant response logging

* add headers to logging

* throw error after tenant response failure
2022-09-28 22:27:02 -07:00
Alex Hsu
36dabcbd96 Juno: check in to lego/hb_04604851-bac4-4681-9f74-73de611d6e48_20220928153802150. (#20683) 2022-09-28 15:48:50 -07:00
Maddy
2214711445 add unstable tag (#20684) 2022-09-28 14:17:46 -07:00
Charles Gagnon
603ae9b94c Fix queryDocument.connect (#20682)
* Fix queryEditor.connect

* Remove decorator

* undo

* fix test

* Use connectionProfile for comparison

* remove unused

* Remove helper method
2022-09-28 11:28:58 -07:00
Aasim Khan
02697105f5 Fixing row selection and styling in select column (#20670) 2022-09-27 15:55:55 -07:00
Alex Ma
8ea0e34751 [Loc] sql-migration update (#20681) 2022-09-27 15:36:17 -07:00
Charles Gagnon
187c4ab3c9 Bump sqlops-dataprotocolclient to 1.30 (#20680)
* Bump sqlops-dataprotocolclient to 1.30

* Undo import/liveshare
2022-09-27 15:13:04 -07:00
brian-harris
72dfd3821f add sql db related content to dashboard and readme (#20674)
* add sql db scenario to dashboard with links

* adding more SQL DB updates
2022-09-27 10:27:27 -07:00
Alan Ren
54c2fe6899 remove duplicate code (#20664)
* remove dupe code

* fix step name

* fix errors

* comment out arc

* fix timeout issue

* fix typo

* update name
2022-09-26 17:48:59 -07:00
Alex Ma
9fcdbce819 [Loc] update to sql-migration xlfs (#20672) 2022-09-26 14:46:16 -07:00
brian-harris
d2fbda362c Dev/brih/feature/public preview sql db (#20644)
* sql db preview updates

* update readme release notes
2022-09-26 12:50:04 -07:00
Alex Hsu
11fbf5f147 Juno: check in to lego/hb_04604851-bac4-4681-9f74-73de611d6e48_20220926153737001. (#20667)
Co-authored-by: Alex Ma <alma1@microsoft.com>
2022-09-26 10:05:24 -07:00
Alex Hsu
4d178ea916 Juno: check in to lego/hb_04604851-bac4-4681-9f74-73de611d6e48_20220925153838700. (#20666) 2022-09-26 09:53:12 -07:00
Charles Gagnon
7367ffe7af Update SsmsMin to latest from SSMS 19 (#20663) 2022-09-23 17:39:03 -07:00
Alex Ma
0a8a93321b [Loc] update to execution plan (#20662) 2022-09-23 16:17:55 -07:00
Aasim Khan
fd8993134f Execution Plan Filtering and UI improvements (#20631)
* Fixing execution plan stuff

* Adding filter to top operations

* Flipped custom zoom icon

* changing keys

* Moving constants to a file

* Search properties

* Making logic concise
2022-09-23 12:57:30 -07:00
Charles Gagnon
c7eefb28cb Fix null ref error in terminal service (#20656) 2022-09-23 12:22:13 -07:00
Alex Hsu
d047a8f84c Juno: check in to lego/hb_04604851-bac4-4681-9f74-73de611d6e48_20220923153849880. (#20655) 2022-09-23 09:30:56 -07:00
Alan Ren
508df59dfd test invert option (#20649) 2022-09-22 18:19:00 -07:00
Aasim Khan
37636012da Fixing Slick Grid accessibility bugs. (#20514)
* some alignment fixes

* Redesigning slickgrid checkbox plugin

* Reverting original plugin to main state

* Fixing css

* Reverting file

* Removing extra whitespace

* Adding title

* Removing older plugin

* vbumping slick grid

* Pushing other vbumps

* Adding more targeted css selectors
2022-09-22 14:25:19 -07:00
Alex Ma
f0b04faba4 [Loc] sql xlf update 9-21-2022 (#20641) 2022-09-21 15:41:27 -07:00
Alan Ren
0e21258fe8 introduce unstable smoke test suite (#20639)
* allow mark tests as unstable

* fix

* fix invert

* stable and whole test suite

* docs and mark test cases as unstable

* a couple more unstable test cases
2022-09-21 13:09:06 -07:00
Lewis Sanchez
12c5aa0f80 Fixes incorrect operation label when plans are oriented vertically and node selection changes. (#20630)
* Fixes incorrect label when plans are vertical

* Code review changes.

* Adds helper methods to get localized strings

* Helper functions moved to module level

* Renames fields from top and bottom to primary and secondary
2022-09-21 10:40:09 -07:00
Alex Hsu
5a795e6993 Juno: check in to lego/hb_04604851-bac4-4681-9f74-73de611d6e48_20220921153837925. (#20635) 2022-09-21 09:55:43 -07:00
Alan Ren
0bae5f82d5 reorder pk columns (#20624) 2022-09-20 10:02:43 -07:00
易良
4b05b90b27 fix: typos (#20625) 2022-09-20 09:33:53 -07:00
Alex Ma
6d6280244d added collapse all (#20623) 2022-09-19 17:03:29 -07:00
Charles Gagnon
509e4b0509 Move legacy tree from vs to sql (#20622)
* Move legacy tree from vs to sql

* fix tests

* exemption

* Fix lint
2022-09-19 15:19:40 -07:00
Charles Gagnon
dd253b4e98 Finish strict null azurecore (#20619)
* Finish strict null azurecore

* one last
2022-09-19 14:29:42 -07:00
Sakshi Sharma
c6f3996ec7 Set target platform for db projects from server metadata: mssql vscode extension (#20607)
* Set target platform for mssql vscode extension- create project from db feature

* Addressed comments

* Address comment to add EngineEdition information in vscode-mssql.d.ts
2022-09-19 10:50:55 -07:00
Alex Hsu
76115dba1d Juno: check in to lego/hb_04604851-bac4-4681-9f74-73de611d6e48_20220917155636544. (#20618) 2022-09-19 09:33:51 -07:00
Hai Cao
bdec59fbfb bump STS to support table rename in designer (#20616) 2022-09-16 16:13:29 -07:00
Charles Gagnon
5f8cefc45c Promote some Azure account API typings (#20615) 2022-09-16 11:44:33 -07:00
Charles Gagnon
c2c16c99e8 More Azure strict nulls (#20614) 2022-09-16 11:43:24 -07:00
Charles Gagnon
2a3d0bcde5 AzureResource utils strict nulls (#20609)
* AzureResource utils strict nulls

* quotes
2022-09-16 08:52:45 -07:00
Alex Ma
87a1f40fa3 [Loc] mssql update 9-15-2022 (#20612) 2022-09-15 17:33:45 -07:00
Alan Ren
cddfc7fd92 table designer perf improvement - add user setting for preload db model (#20608)
* add user setting for preload db model

* vbump sts

* more description
2022-09-15 14:25:36 -07:00
Alex Ma
08a9527314 Replace FQDN for Sql Synapse Servers (#20581)
* WIP work on rest call

* moved check to resourceTreeDataProviderBase

* some cleanup

* added working check

* placeholder, using filter function in resourceTreeDataProviderBase

* added connectivityEndpoints

* added kind filter

* fixed minor bits

* added wip changes

* added working queries

* added synapse to getSqlServers

* added override

* massive overhaul

* added property check

* made changes

* added clarifying comments

* added comment fixes

* remove async
2022-09-15 14:24:11 -07:00
Alex Hsu
acb22987fa Juno: check in to lego/hb_04604851-bac4-4681-9f74-73de611d6e48_20220915154141156. (#20610) 2022-09-15 09:41:42 -07:00
Kim Santiago
edc11d519d add logging for data workspace extension (#20601)
* add logging for data workspace extension

* Addressing comments

* adding back getProjectsInWorkspace() in constructor

* Add more logging in activate()
2022-09-14 11:06:41 -07:00
Alex Hsu
a53fdb8bca Juno: check in to lego/hb_04604851-bac4-4681-9f74-73de611d6e48_20220914154740040. (#20605) 2022-09-14 10:16:02 -07:00
Charles Gagnon
356f793078 Simplify IAzureResourceTreeDataProvider (#20591) 2022-09-14 10:07:30 -07:00
Barbara Valdez
6c7d4a2f6b disable v2 tests temporarily (#20603) 2022-09-13 20:45:12 -07:00
Alex Ma
620a84f92b [Loc] Removed strings for arc (#20602) 2022-09-13 16:41:46 -07:00
Alan Ren
b25b591994 dashboard refresh fix (#20596) 2022-09-12 20:34:02 -07:00
Aasim Khan
3f6f6ed07b Changing property header row styling for execution plan properties (#20594) 2022-09-12 17:20:16 -07:00
Candice Ye
46cf166c8c Small bug fix + version bump to 1.6.0 (#20595)
* Removed Node Configuration text

* Bump to 1.6.0

Co-authored-by: Candice Ye <canye@microsoft.com>
2022-09-12 17:17:49 -07:00
Alex Ma
21b6e7d73a [Loc] update to xlfs for 9-12-2022 (#20597) 2022-09-12 16:50:23 -07:00
Charles Gagnon
63aeb606bf azureAuth.ts strict nulls (#20583)
* azureAuth.ts strict nulls

* fix test compile
2022-09-12 14:44:31 -07:00
Vasu Bhog
a4f023f5b9 Update README.md (#20592)
* Update README.md

added event mocking tip
2022-09-12 14:06:59 -07:00
Barbara Valdez
7e4e8e728f Skip failing book tests (#20590) 2022-09-12 12:01:16 -07:00
Alan Ren
6015c8e2f4 handle unsupported connections in OE/Recent connections view (#20588)
* handle unknown provider in OE

* more update

* add comment

* test
2022-09-12 11:48:08 -07:00
Alex Hsu
b5408495b9 Juno: check in to lego/hb_04604851-bac4-4681-9f74-73de611d6e48_20220912153837684. (#20587)
Co-authored-by: Alex Ma <alma1@microsoft.com>
2022-09-12 09:38:35 -07:00
Alex Hsu
c9ef54fac4 Juno: check in to lego/hb_04604851-bac4-4681-9f74-73de611d6e48_20220911154112401. (#20586) 2022-09-12 09:29:06 -07:00
Alex Hsu
3909cc9ab7 Juno: check in to lego/hb_04604851-bac4-4681-9f74-73de611d6e48_20220910155317318. (#20585) 2022-09-12 09:28:44 -07:00
Alex Ma
3d91cddfb1 [Loc] changes made to xlfs (#20582) 2022-09-09 16:56:36 -07:00
Alex Hsu
a1ff8eceb1 Juno: check in to lego/hb_04604851-bac4-4681-9f74-73de611d6e48_20220909153729714. (#20575) 2022-09-09 15:43:44 -07:00
Alan Ren
be8bf7fcdc handle unsupported connection provider (#20577)
* handle unknown connection provider

* fix error
2022-09-09 14:14:33 -07:00
Candice Ye
b9cb3de85b Bug bash fixes to Azure Arc PostgreSQL (#20568)
* Added username field to PG and removed defaultvalue for port

* Disabled system username for miaa. Added username to pg create notebook.

* Block system for pg username

* Remove sql username from pg create

* Add service type

* bump version for preview

* Add dev use label

* Changed postgres icon

* Fixed PG create page not displaying. Wrong type

* Fixed service type

* changed naming for admin usernames sql and pg

* sql and pg dev use fix

* Move port under service type and make storage class not required

* Fixed regex to include things like sa1 system1

* Made storage class params optional

* Added placeholder text and changed PG admin username label

* Remove backups

* Removed postgres hardcoded username in connectionstring

* Remove more postgres username hardcoded

Co-authored-by: Candice Ye <canye@microsoft.com>
2022-09-09 11:49:27 -07:00
Sakshi Sharma
a6920ca601 Set target platform for database project from the server metadata (#20558)
* Set target platform for database project from the server metadata

* Addressed comments
2022-09-09 09:12:12 -07:00
Alan Ren
1f6482490c handle default auth type (#20572)
* handle default auth type

* comments
2022-09-09 08:59:53 -07:00
Jordan Hays
982c242301 Remove irrelevant context menu options from ledger objects in OE (#20571)
* fixing icons for new ledger object SubTypes

* removing irrelevant context menu options from ledger objects in OE

* aligning LedgerDropped subtype context key specifically with the Table NodeType context key
2022-09-09 08:50:57 -07:00
Charles Gagnon
06c8e3d7a8 Fix relative links in azdata.*.d.ts (#20569) 2022-09-08 16:19:39 -07:00
Charles Gagnon
63ef3b9c51 Add doc comments for TreeItem API (#20567) 2022-09-08 11:50:05 -07:00
Hai Cao
40b2c1e74e [Table Designer] Support hash index and column store index (#20562) 2022-09-08 11:39:36 -07:00
Raymond Truong
f38077069c [SQL Migration] Update README and fix package version (#20556)
* Update readme and package version

* Fix typos
2022-09-08 10:23:13 -07:00
Charles Gagnon
415c769d60 Don't use localized folder for azure tokens (#20559) 2022-09-08 09:54:52 -07:00
Charles Gagnon
649c98c016 ServerInfoContextKey instead of MssqlNodeContextKey for OE items (#20563)
* ServerInfoContextKey instead of MssqlNodeContextKey for OE items

* add comment
2022-09-08 09:32:20 -07:00
Alex Hsu
08d639438f Juno: check in to lego/hb_04604851-bac4-4681-9f74-73de611d6e48_20220908153814093. (#20565) 2022-09-08 09:28:55 -07:00
Alex Ma
f2ae61d2b2 [Loc] updates to xlfs for 9-7-2022 (#20561) 2022-09-07 16:52:16 -07:00
Charles Gagnon
aa0f1e88e8 Show warning about upcoming BDC deprecation (#20549) 2022-09-07 14:53:07 -07:00
Charles Gagnon
56fcb43c35 Fix more azurecore strict nulls (#20547) 2022-09-07 13:05:16 -07:00
Alan Ren
a7c552aefc expose the maxCharsToStore setting (#20554)
* add a setting for query execution

* comments

* fix typo
2022-09-07 13:00:32 -07:00
rishky-msft
5c620264c4 Adding azure resource provider for mysql flexible server (#20529) 2022-09-07 22:24:18 +05:30
Alex Ma
cbd3cccf68 [Loc] update to sql-database-projects xlf (#20550) 2022-09-06 14:48:59 -07:00
Charles Gagnon
8319f89b84 AzureAccountProvider & AzureAccountProviderService strict nulls (#20543) 2022-09-06 10:48:32 -07:00
Charles Gagnon
7ec3506f5f Strict null check SimpleTokenCache (#20542) 2022-09-06 10:48:17 -07:00
Alex Hsu
d0917ef023 Juno: check in to lego/hb_04604851-bac4-4681-9f74-73de611d6e48_20220905153821003. (#20541) 2022-09-06 09:46:33 -07:00
Alex Hsu
bf50fab179 Juno: check in to lego/hb_04604851-bac4-4681-9f74-73de611d6e48_20220903154829706. (#20540) 2022-09-06 09:46:22 -07:00
Alan Ren
6d4fc1d98c user confirmation (#20538) 2022-09-02 17:36:30 -07:00
Alex Hsu
fa858da1a6 Juno: check in to lego/hb_04604851-bac4-4681-9f74-73de611d6e48_20220902153839952. (#20536) 2022-09-02 10:39:44 -07:00
Alex Ma
e5a03679b9 [Loc] update to Azurecore xlf (#20535) 2022-09-01 17:08:23 -07:00
Kim Santiago
7c34c4bdc0 add config option for Microsoft.Build.Sql version used to build legacy sql projects (#20532)
* add config option for Microsoft.Build.Sql version used to build legacy sql projects

* addressing comments
2022-09-01 17:05:26 -07:00
Alex Hsu
508d76b646 Juno: check in to lego/hb_04604851-bac4-4681-9f74-73de611d6e48_20220901153516789. (#20531) 2022-09-01 10:51:55 -07:00
Sakshi Sharma
4150113eff Fix Scmp dialog not presenting Folder Structure option for Projects as target (#20528) 2022-09-01 10:33:26 -07:00
Sakshi Sharma
5e8ebe2340 Update default .NET installation for Linux (#20521)
* Update default .NET installation for Linux

* Fix error

* Address comments
2022-09-01 10:29:14 -07:00
Cheena Malhotra
a8a235bded Fix to not prompt user when token acquisition fails for stale user accounts. (#20516) 2022-08-31 17:26:40 -07:00
Alex Ma
186b89f371 [Loc] sql updates 8-31-2022 (#20527) 2022-08-31 16:07:26 -07:00
Kim Santiago
fda2c37531 the fix open in designer menu item is not available after script is updated with newly added create table statements (#20522)
* make open in designer available after a script is updated with a new create table statement

* uppercase
2022-08-31 15:39:53 -07:00
Charles Gagnon
c738f9dfe9 Further update to ConnectionInfoSummary typings (#20525)
* Update connection info typings

* more updates
2022-08-31 14:19:18 -07:00
Kim Santiago
8926c4f605 Remove sql project build dependency on STS (#20447)
* download Microsoft.Build.Sql sdk and extract

* cleanup extracted folder and nuget

* add constants

* cleanup

* remove package-lock.json

* making outputChannel required and some cleanup

* only download if the files aren't already there

* Add todo

* add try catches

* addressing comments
2022-08-31 14:04:06 -07:00
Cheena Malhotra
eedf6e01c3 Update account dropdown content to include tenant Id (#20515) 2022-08-31 13:15:36 -07:00
Kim Santiago
83043dadcc move checking if a file contains a create table statement to utils (#20512) 2022-08-31 10:21:30 -07:00
Aasim Khan
010fe91921 Adding image support to list view (#20449) 2022-08-31 09:02:40 -07:00
Alex Ma
3fc3c106bb [Loc] update to sql-migration (#20513) 2022-08-30 17:12:00 -07:00
Alex Ma
39a020b8c4 Proposed update to connectioninfo documentation (#20511) 2022-08-30 16:52:58 -07:00
Charles Gagnon
96b38a3caf Don't run publish typings for hotfixes (#20510) 2022-08-30 16:30:07 -07:00
Raymond Truong
60900ff809 Fix broken 'Create new' DMS dialog (#20507)
* Fix broken 'Create new' DMS dialog

* Update string
2022-08-30 15:03:58 -07:00
Karl Burtram
5fb989f28e Update fwlinks in 1.39.1 (#20509) 2022-08-30 14:14:14 -07:00
Karl Burtram
3154113f34 Update changelog for 1.39.1 release (#20506) 2022-08-30 14:01:10 -07:00
Benjin Dubishar
1474990ef6 vbump (#20480) 2022-08-30 13:29:23 -07:00
Alex Hsu
79b0b3c6c0 Juno: check in to lego/hb_04604851-bac4-4681-9f74-73de611d6e48_20220830154019353. (#20501) 2022-08-30 12:54:44 -07:00
Karl Burtram
5266041243 Bumps STS to pick async revert (#20489) 2022-08-29 11:47:04 -07:00
Alex Hsu
9128f865ee Juno: check in to lego/hb_04604851-bac4-4681-9f74-73de611d6e48_20220829153730357. (#20487) 2022-08-29 10:08:11 -07:00
Alex Hsu
3a05ebc4e1 Juno: check in to lego/hb_04604851-bac4-4681-9f74-73de611d6e48_20220827153851014. (#20485) 2022-08-29 10:07:59 -07:00
Charles Gagnon
a78a158acd Add saved files to recently opened (#20470) 2022-08-29 09:04:59 -07:00
Candice Ye
96b7335cdd Fixed PG update (#20484)
Co-authored-by: Candice Ye <canye@microsoft.com>
2022-08-28 17:00:32 -07:00
Alex Ma
aba0d249a1 [Loc] updates to arc and sql-migration (#20481) 2022-08-26 15:46:06 -07:00
Raymond Truong
bfcbd60d24 [SQL Migration] SKU recommendation improvements + SQL DB integration bug fixes (#20174)
* WIP - show error message for failed SKU recommendation

* WIP - run query to get correct instance name

* WIP - integrate elastic model recommendation

* Remove private endpoint restriction text

* Add feature switch for elastic recommendation

* Clean up

* Clean up

* Misc UI fixes

* Update package.json with updated azdata dependency

* Remove unused lines

* Fix broken next button

* Vbump extension to 1.0.6

* Update SQL DB card to show number of recommendations for correct model
2022-08-26 14:06:33 -07:00
Candice Ye
bd0c4cdb51 Changing Postgres Hyperscale to Postgres Azure Arc in ADS (#20445)
* Hard code enginer ver to 14 and remove extension from wizard field and notebook

* Removed hyperscale text from everywhere but links

* Made PostgreSQL into PostgreSQL server and other text changes. Removed worker nodes

* Removed coordinator node text

* Removed worker nodes from compute + storage. Changed az arc-server to server-arc. postgresParameters.ts may need

* Removed tabs for extensions, coord nodes, worker nodes, resource health, diagnose and solve

* Removed node configuation and pg version from overview and properties. Edited arialabels

* Change server group nodes to server

* Removed type from overview table and aded Preview tags

* Removed info bubble and added padding to top of title

* Removed checkbox from PG create wizard. Added link and text

* Remove engine version

* Changed naming conventions

* Removed coord and server group from variables

* Removed properties

* Removed Server table, admin username, reset password

* Removed function from notebook

* Change wording

* bump version

Co-authored-by: Candice Ye <canye@microsoft.com>
2022-08-26 13:24:48 -07:00
Alex Hsu
04ca5fbe42 Juno: check in to lego/hb_04604851-bac4-4681-9f74-73de611d6e48_20220826153720064. (#20479) 2022-08-26 09:40:25 -07:00
Alex Hsu
84d1afea4e Juno: check in to lego/hb_04604851-bac4-4681-9f74-73de611d6e48_20220825232731513. (#20477) 2022-08-25 17:19:40 -07:00
Kim Santiago
06a3bf6718 Handle output path and configuration in .sqlproj (#20426)
* Revert "Revert "Fix sql projects not using OutputPath in sqlproj for publishing (#19987)" (#20127)"

This reverts commit dc7522c661.

* read configuration from sqlproj

* Add more tests

* use last OutputPath in sqlproj
2022-08-25 10:25:12 -07:00
Alan Ren
f86d02e753 handle edit and save race condition (#20462)
* handle edit and save race condition

* handle more race condition scenarios

* fix error
2022-08-25 08:10:23 -07:00
Raymond Truong
b7a633be25 [SQL Migration] Revert dependency on new Azure Core API changes (#20469)
* Remove references to getProviderMetadataForAccount

* Fix broken next button

* Clean up

* Adding to other PR instead - Revert "Clean up"

This reverts commit 410e136c0d1dcc24b38697791801fe3b90b1ecd4.

* Adding to other PR instead - Revert "Fix broken next button"

This reverts commit 748f75daf1594694e618f946c8026cb3256c58a9.
2022-08-24 22:59:29 -07:00
Alex Ma
f62b2d68a4 [Loc] update to schema-compare (#20471) 2022-08-24 16:27:29 -07:00
Kim Santiago
2e2fa7bf10 vbump schema compare and sql database projects (#20464) 2022-08-24 15:02:16 -07:00
Charles Gagnon
6e7e2f4c1e Bump query-history to 0.5.0 (#20465) 2022-08-24 14:46:05 -07:00
Charles Gagnon
4a512a35c4 Add azurecore code owners (#20457) 2022-08-24 13:10:54 -07:00
Charles Gagnon
cf335ccc30 Bump file-type (#20456) 2022-08-24 12:19:38 -07:00
Aasim Khan
7857e5946f New azdata graph layout (#20451)
* Updated contracts

* Adding latest azdataGraph update

* Updating graph lib
2022-08-24 12:09:17 -07:00
Cory Rivera
1a094ba6a9 Clear invalid taskbar actions when changing notebook providers. (#20446) 2022-08-24 12:01:41 -07:00
erpett
5f04de6f1c Post release changelog update (#20458) 2022-08-24 11:32:27 -07:00
Charles Gagnon
a7e5acf539 Initial work on enabling strict nulls in azurecore (#20411) 2022-08-24 10:59:25 -07:00
Charles Gagnon
65aa98597d Fix 'failed to load source map' warnings in console (#20455)
* disable

* Skip embedded sourcemaps

* comment
2022-08-24 10:55:10 -07:00
Alex Hsu
80ec475f93 Juno: check in to lego/hb_04604851-bac4-4681-9f74-73de611d6e48_20220824154604024. (#20452) 2022-08-24 09:52:45 -07:00
Sakshi Sharma
dc8d703c25 Open Scmp file in Schema Compare extension (#20435)
* Open Scmp file in Schema Compare extension

* Address comments and fix failing test

* Addressed comment
2022-08-24 09:50:22 -07:00
dependabot[bot]
87e406caca Bump @actions/core from 1.2.6 to 1.9.1 in /build/actions (#20407)
Bumps [@actions/core](https://github.com/actions/toolkit/tree/HEAD/packages/core) from 1.2.6 to 1.9.1.
- [Release notes](https://github.com/actions/toolkit/releases)
- [Changelog](https://github.com/actions/toolkit/blob/main/packages/core/RELEASES.md)
- [Commits](https://github.com/actions/toolkit/commits/HEAD/packages/core)

---
updated-dependencies:
- dependency-name: "@actions/core"
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-08-23 13:35:24 -07:00
Cory Rivera
52290a796d Fix conda virtual environment paths in notebooks (#20438) 2022-08-23 13:34:06 -07:00
Alex Ma
fa6ffb6ce6 [Loc] sql-migration massive update (#20437) 2022-08-22 16:37:49 -07:00
Charles Gagnon
26f7aa5f5d Fix query history text race condition (#20428)
* Fix query history text race condition

* fix tests
2022-08-22 12:52:56 -07:00
Alex Hsu
e6bfdee521 Juno: check in to lego/hb_04604851-bac4-4681-9f74-73de611d6e48_20220821153909700. (#20433) 2022-08-22 09:21:07 -07:00
Alex Hsu
50c74d0542 Juno: check in to lego/hb_04604851-bac4-4681-9f74-73de611d6e48_20220820154110817. (#20431) 2022-08-22 09:20:37 -07:00
brian-harris
7a736b76fa Add SQL DB offline migration wizard experience (#20403)
* sql db wizard with target selection

* add database table selection

* add sqldb to service and IR page

* Code complete

* navigation bug fixes

* fix target db selection

* improve sqldb error and status reporting

* fix error count bug

* remove table status inference

* address review feedback

* update resource strings and content

* fix migraton status string, use localized value

* fix ux navigation issues

* fix back/fwd w/o changes from changing data
2022-08-19 18:12:34 -07:00
Alex Ma
c0b09dcedd [Loc] remove serverGroup.colorValue (#20429) 2022-08-19 16:12:56 -07:00
Alan Ren
45b0075353 use aria-label for radio group (#20425) 2022-08-19 15:42:21 -07:00
Aasim Khan
ec215604a8 Adding arialabel to radio groups (#20423) 2022-08-19 15:10:23 -07:00
Kim Santiago
cb29eccef3 add current open folder to new project quickpick (#20414)
* add open folder to new project quickpick

* swap so default save location is first
2022-08-19 14:46:24 -07:00
Kim Santiago
c7ce98c4de use default folder or open folder as initial location in new project dialog (#20416)
* use default folder or open folder in new project dialog

* simplify
2022-08-19 12:07:14 -07:00
Charles Gagnon
cb34b13862 Update query history icon (#20419) 2022-08-19 11:31:55 -07:00
Hai Cao
c9c91528c3 bump Ubuntu to 20.04 (#20415) 2022-08-19 10:38:59 -07:00
Alex Ma
9c7fba3ae3 [Loc] update to sql xlf (#20413) 2022-08-18 16:26:20 -07:00
Alex Hsu
712194bcc4 Juno: check in to lego/hb_04604851-bac4-4681-9f74-73de611d6e48_20220818153817313. (#20404) 2022-08-18 15:49:22 -07:00
Hai Cao
a79e9a5c8f Fix table designer reloading when only descriptions are being updated (#20405) 2022-08-18 13:02:58 -07:00
Alan Ren
874c80a5b4 use markdown for description pane (#20401) 2022-08-18 10:46:07 -07:00
Alan Ren
b4a5afe199 allow user to select text from the description box (#20396) 2022-08-17 20:05:06 -07:00
Lewis Sanchez
7de5ee0427 Adds functionality to open execution plans from DB tables and DMVs. (#20377)
* Adds functionality to open execution plans from DB tables and DMVs.

* Code review changes

* Renames method to getProviderFromUri
2022-08-17 19:24:23 -07:00
Vasu Bhog
2a94ce3afb Ensure SQL Nuget package reference is always updating to latest (#20390)
* seperate nuget package references to always update to latest

* nit

* nit comments
2022-08-17 18:07:23 -07:00
Barbara Valdez
46a7fbd313 Fix unpin notebook (#20393)
* convert uri to vscode uri
2022-08-17 15:29:25 -07:00
Kim Santiago
691a53ac34 update STS to get fix for broken sql project build (#20384)
* update STS to get fix for broken sql project build

* Update config.json

Co-authored-by: Alan Ren <alanren@microsoft.com>
2022-08-17 12:02:34 -07:00
Alex Hsu
5b36120d1b Juno: check in to lego/hb_04604851-bac4-4681-9f74-73de611d6e48_20220817153846602. (#20382) 2022-08-17 11:37:39 -07:00
Karl Burtram
8b54494d64 Replace Job Step retry placeholders with values (#20376) 2022-08-17 10:59:27 -07:00
Sai Avishkar Sreerama
4a2c6e9fb4 Adding loading component to the options window before the options display (#20379) 2022-08-16 22:21:30 -05:00
Alex Ma
94e1637a44 [Loc] update to sql-bindings and migration (#20362) 2022-08-15 17:07:33 -07:00
erpett
2bb389cf53 version bump post release branch split (#20356) 2022-08-15 15:34:54 -07:00
Raymond Truong
e64171503a [SQL Migration] Add buttons to allow saving assessment/recommendation reports (#20212)
* Implement save assessment report

* Implement save recommendation report
2022-08-15 15:29:40 -07:00
Raymond Truong
10f5b8b76e [Azure Core, SQL Migration] Fix wrong endpoints being used for non-public clouds (#20304)
* Add correct host to ARM REST API calls

* Clean up

* Missed a spot

* One more comment

* Expose new function getProviderMetadataForAccount in azurecore API
2022-08-15 14:37:41 -07:00
Vasu Bhog
e57acae79a Add output channel for SQL Bindings extension (#20336)
* add output channel for SQL Bindings extension

* add output channel to open once added
2022-08-15 12:12:26 -07:00
6573 changed files with 548362 additions and 384832 deletions

View File

@@ -1,14 +1,18 @@
# Code - OSS Development Container
[![Open in Remote - Containers](https://img.shields.io/static/v1?label=Remote%20-%20Containers&message=Open&color=blue&logo=visualstudiocode)](https://vscode.dev/redirect?url=vscode://ms-vscode-remote.remote-containers/cloneInVolume?url=https://github.com/microsoft/vscode)
This repository includes configuration for a development container for working with Code - OSS in a local container or using [GitHub Codespaces](https://github.com/features/codespaces).
> **Tip:** The default VNC password is `vscode`. The VNC server runs on port `5901` and a web client is available on port `6080`.
## Quick start - local
If you already have VS Code and Docker installed, you can click the badge above or [here](https://vscode.dev/redirect?url=vscode://ms-vscode-remote.remote-containers/cloneInVolume?url=https://github.com/microsoft/vscode) to get started. Clicking these links will cause VS Code to automatically install the Remote - Containers extension if needed, clone the source code into a container volume, and spin up a dev container for use.
1. Install Docker Desktop or Docker for Linux on your local machine. (See [docs](https://aka.ms/vscode-remote/containers/getting-started) for additional details.)
2. **Important**: Docker needs at least **4 Cores and 6 GB of RAM (8 GB recommended)** to run a full build. If you are on macOS, or are using the old Hyper-V engine for Windows, update these values for Docker Desktop by right-clicking on the Docker status bar item and going to **Preferences/Settings > Resources > Advanced**.
2. **Important**: Docker needs at least **4 Cores and 8 GB of RAM** to run a full build. If you are on macOS, or are using the old Hyper-V engine for Windows, update these values for Docker Desktop by right-clicking on the Docker status bar item and going to **Preferences/Settings > Resources > Advanced**.
> **Note:** The [Resource Monitor](https://marketplace.visualstudio.com/items?itemName=mutantdino.resourcemonitor) extension is included in the container so you can keep an eye on CPU/Memory in the status bar.
@@ -58,12 +62,12 @@ You may see improved VNC responsiveness when accessing a codespace from VS Code
2. After the VS Code is up and running, press <kbd>Ctrl/Cmd</kbd> + <kbd>Shift</kbd> + <kbd>P</kbd> or <kbd>F1</kbd>, choose **Codespaces: Create New Codespace**, and use the following settings:
- `microsoft/vscode` for the repository.
- Select any branch (e.g. **main**) - you select a different one later.
- Select any branch (e.g. **main**) - you can select a different one later.
- Choose **Standard** (4-core, 8GB) as the size.
4. After you have connected to the codespace, you can use a [VNC Viewer](https://www.realvnc.com/en/connect/download/viewer/) to connect to `localhost:5901` and enter `vscode` as the password.
> **Tip:** You may also need change your VNC client's **Picture Quaility** setting to **High** to get a full color desktop.
> **Tip:** You may also need change your VNC client's **Picture Quality** setting to **High** to get a full color desktop.
5. Anything you start in VS Code, or the integrated terminal, will appear here.

View File

@@ -1 +0,0 @@
*.manifest

View File

@@ -4,12 +4,12 @@
# are run. Its just a find command that filters out a few things we don't need to watch.
set -e
SCRIPT_PATH="$(cd $(dirname "${BASH_SOURCE[0]}") && pwd)"
SOURCE_FOLDER="${1:-"."}"
CACHE_FOLDER="${2:-"$HOME/.devcontainer-cache"}"
cd "${SOURCE_FOLDER}"
echo "[$(date)] Generating ""before"" manifest..."
find -L . -not -path "*/.git/*" -and -not -path "${SCRIPT_PATH}/*.manifest" -type f > "${SCRIPT_PATH}/before.manifest"
mkdir -p "${CACHE_FOLDER}"
find -L . -not -path "*/.git/*" -and -not -path "${CACHE_FOLDER}/*.manifest" -type f > "${CACHE_FOLDER}/before.manifest"
echo "[$(date)] Done!"

View File

@@ -19,10 +19,10 @@ TAG="branch-${BRANCH//\//-}"
echo "[$(date)] ${BRANCH} => ${TAG}"
cd "${SCRIPT_PATH}/../.."
echo "[$(date)] Starting image build..."
docker build -t ${CONTAINER_IMAGE_REPOSITORY}:"${TAG}" -f "${SCRIPT_PATH}/cache.Dockerfile" .
echo "[$(date)] Image build complete."
echo "[$(date)] Starting image build and push..."
export DOCKER_BUILDKIT=1
docker buildx create --use --name vscode-dev-containers
docker run --privileged --rm tonistiigi/binfmt --install all
docker buildx build --push --platform linux/amd64,linux/arm64 -t ${CONTAINER_IMAGE_REPOSITORY}:"${TAG}" -f "${SCRIPT_PATH}/cache.Dockerfile" .
echo "[$(date)] Pushing image..."
docker push ${CONTAINER_IMAGE_REPOSITORY}:"${TAG}"
echo "[$(date)] Done!"

View File

@@ -5,16 +5,19 @@
set -e
SCRIPT_PATH="$(cd $(dirname "${BASH_SOURCE[0]}") && pwd)"
SOURCE_FOLDER="${1:-"."}"
CACHE_FOLDER="${2:-"/usr/local/etc/devcontainer-cache"}"
CACHE_FOLDER="${2:-"$HOME/.devcontainer-cache"}"
if [ ! -d "${CACHE_FOLDER}" ]; then
echo "No cache folder found. Be sure to run before-cache.sh to set one up."
exit 1
fi
echo "[$(date)] Starting cache operation..."
cd "${SOURCE_FOLDER}"
echo "[$(date)] Determining diffs..."
find -L . -not -path "*/.git/*" -and -not -path "${SCRIPT_PATH}/*.manifest" -type f > "${SCRIPT_PATH}/after.manifest"
grep -Fxvf "${SCRIPT_PATH}/before.manifest" "${SCRIPT_PATH}/after.manifest" > "${SCRIPT_PATH}/cache.manifest"
find -L . -not -path "*/.git/*" -and -not -path "${CACHE_FOLDER}/*.manifest" -type f > "${CACHE_FOLDER}/after.manifest"
grep -Fxvf "${CACHE_FOLDER}/before.manifest" "${CACHE_FOLDER}/after.manifest" > "${CACHE_FOLDER}/cache.manifest"
echo "[$(date)] Archiving diffs..."
mkdir -p "${CACHE_FOLDER}"
tar -cf "${CACHE_FOLDER}/cache.tar" --totals --files-from "${SCRIPT_PATH}/cache.manifest"
tar -cf "${CACHE_FOLDER}/cache.tar" --totals --files-from "${CACHE_FOLDER}/cache.manifest"
echo "[$(date)] Done! $(du -h "${CACHE_FOLDER}/cache.tar")"

View File

@@ -4,19 +4,21 @@
# This first stage generates cache.tar
FROM mcr.microsoft.com/vscode/devcontainers/repos/microsoft/vscode:dev as cache
ARG USERNAME=node
ARG CACHE_FOLDER="/home/${USERNAME}/.devcontainer-cache"
COPY --chown=${USERNAME}:${USERNAME} . /repo-source-tmp/
RUN mkdir /usr/local/etc/devcontainer-cache \
&& chown ${USERNAME} /usr/local/etc/devcontainer-cache /repo-source-tmp \
RUN mkdir -p ${CACHE_FOLDER} && chown ${USERNAME} ${CACHE_FOLDER} /repo-source-tmp \
&& su ${USERNAME} -c "\
cd /repo-source-tmp \
&& .devcontainer/cache/before-cache.sh \
&& .devcontainer/prepare.sh \
&& .devcontainer/cache/cache-diff.sh"
&& .devcontainer/cache/before-cache.sh . ${CACHE_FOLDER} \
&& .devcontainer/prepare.sh . ${CACHE_FOLDER} \
&& .devcontainer/cache/cache-diff.sh . ${CACHE_FOLDER}"
# This second stage starts fresh and just copies in cache.tar from the previous stage. The related
# devcontainer.json file is then setup to have postCreateCommand fire restore-diff.sh to expand it.
FROM mcr.microsoft.com/vscode/devcontainers/repos/microsoft/vscode:dev as dev-container
ARG USERNAME=node
ARG CACHE_FOLDER="/usr/local/etc/devcontainer-cache"
RUN mkdir -p "${CACHE_FOLDER}" && chown "${USERNAME}:${USERNAME}" "${CACHE_FOLDER}"
ARG CACHE_FOLDER="/home/${USERNAME}/.devcontainer-cache"
RUN mkdir -p "${CACHE_FOLDER}" \
&& chown "${USERNAME}:${USERNAME}" "${CACHE_FOLDER}" \
&& su ${USERNAME} -c "git config --global codespaces-theme.hide-status 1"
COPY --from=cache ${CACHE_FOLDER}/cache.tar ${CACHE_FOLDER}/

View File

@@ -5,9 +5,8 @@
# is already up where you would typically run a command like "yarn install".
set -e
SOURCE_FOLDER="$(cd "${1:-"."}" && pwd)"
CACHE_FOLDER="${2:-"/usr/local/etc/devcontainer-cache"}"
CACHE_FOLDER="${2:-"$HOME/.devcontainer-cache"}"
if [ ! -d "${CACHE_FOLDER}" ]; then
echo "No cache folder found."
@@ -16,7 +15,15 @@ fi
echo "[$(date)] Expanding $(du -h "${CACHE_FOLDER}/cache.tar") file to ${SOURCE_FOLDER}..."
cd "${SOURCE_FOLDER}"
tar -xf "${CACHE_FOLDER}/cache.tar"
rm -f "${CACHE_FOLDER}/cache.tar"
# Ensure user/group is correct if the UID/GID was changed for some reason
echo "+1000 +$(id -u)" > "${CACHE_FOLDER}/cache-owner-map"
echo "+1000 +$(id -g)" > "${CACHE_FOLDER}/cache-group-map"
# Untar to workspace folder, preserving permissions and order, but mapping GID/UID if required
tar --owner-map="${CACHE_FOLDER}/cache-owner-map" --group-map="${CACHE_FOLDER}/cache-group-map" -xpsf "${CACHE_FOLDER}/cache.tar"
rm -rf "${CACHE_FOLDER}"
echo "[$(date)] Done!"
# Change ownership of chrome-sandbox
sudo chown root .build/electron/chrome-sandbox
sudo chmod 4755 .build/electron/chrome-sandbox

View File

@@ -4,7 +4,7 @@
// Image contents: https://github.com/microsoft/vscode-dev-containers/blob/master/repository-containers/images/github.com/microsoft/vscode/.devcontainer/base.Dockerfile
"image": "mcr.microsoft.com/vscode/devcontainers/repos/microsoft/vscode:branch-main",
"overrideCommand": false,
"runArgs": [ "--init", "--security-opt", "seccomp=unconfined"],
"runArgs": [ "--init", "--security-opt", "seccomp=unconfined", "--shm-size=1g"],
"settings": {
"resmon.show.battery": false,
@@ -30,11 +30,11 @@
],
// Optionally loads a cached yarn install for the repo
"postCreateCommand": ".devcontainer/cache/restore-diff.sh && sudo chown node:node /workspaces",
"postCreateCommand": ".devcontainer/cache/restore-diff.sh",
"remoteUser": "node",
"hostRequirements": {
"memory": "6gb"
"memory": "8gb"
}
}

View File

@@ -1,3 +1,18 @@
**/build/*/**/*.js
**/dist/**/*.js
**/extensions/**/*.d.ts
**/extensions/**/build/**
**/extensions/**/colorize-fixtures/**
**/extensions/azurecore/extension.webpack.config.js
**/extensions/css-language-features/server/test/pathCompletionFixtures/**
**/extensions/html-language-features/server/lib/jquery.d.ts
**/extensions/html-language-features/server/src/test/pathCompletionFixtures/**
**/extensions/markdown-language-features/media/**
**/extensions/markdown-language-features/notebook-out/**
**/extensions/markdown-math/notebook-out/**
**/extensions/notebook-renderers/renderer-out/index.js
**/extensions/simple-browser/media/index.js
**/extensions/typescript-language-features/test-workspace/**
**/vs/nls.build.js
**/vs/nls.js
**/vs/css.build.js
@@ -8,18 +23,36 @@
**/semver/**
**/test/**/*.js
**/node_modules/**
/extensions/**/out/**
/extensions/**/build/**
/extensions/big-data-cluster/src/bigDataCluster/controller/apiGenerated.ts
/extensions/big-data-cluster/src/bigDataCluster/controller/clusterApiGenerated2.ts
**/extensions/**/out/**
**/extensions/**/build/**
**/extensions/**/colorize-fixtures/**
**/extensions/html-language-features/server/lib/jquery.d.ts
/extensions/markdown-language-features/media/**
/extensions/markdown-language-features/notebook-out/**
/extensions/typescript-basics/test/colorize-fixtures/**
/extensions/**/dist/**
**/extensions/markdown-math/notebook-out/**
**/extensions/typescript-basics/test/colorize-fixtures/**
**/extensions/**/dist/**
/extensions/types
/extensions/typescript-language-features/test-workspace/**
/test/automation/out
# These files are not linted by `yarn eslint`, so we exclude them from being linted in the editor.
# This ensures that if we add new rules and they pass CI, there are also no errors in the editor.
/resources/web/code-web.js
**/extensions/vscode-api-tests/testWorkspace/**
**/extensions/vscode-api-tests/testWorkspace2/**
**/fixtures/**
**/node_modules/**
**/out-*/**/*.js
**/out-editor-*/**
**/out/**/*.js
**/src/**/dompurify.js
**/src/**/marked.js
**/src/**/semver.js
**/src/typings/**/*.d.ts
**/src/vs/*/**/*.d.ts
**/src/vs/base/test/common/filters.perf.data.js
**/src/vs/css.build.js
**/src/vs/css.js
**/src/vs/loader.js
**/src/vs/nls.build.js
**/src/vs/nls.js
**/test/unit/assert.js
**/typings/**

View File

@@ -11,21 +11,23 @@
"header"
],
"rules": {
"no-undef": "off",
"no-unused-vars": "off",
"constructor-super": "warn",
"curly": "warn",
"curly": "off",
"eqeqeq": "warn",
"no-buffer-constructor": "warn",
"no-caller": "warn",
"no-debugger": "warn",
"no-duplicate-case": "warn",
"no-duplicate-imports": "warn",
"no-duplicate-imports": "off",
"no-eval": "warn",
"no-async-promise-executor": "off",
"no-extra-semi": "warn",
"no-new-wrappers": "warn",
"no-redeclare": "off",
"no-sparse-arrays": "warn",
"no-throw-literal": "warn",
"no-throw-literal": "off",
"no-unsafe-finally": "warn",
"no-unused-labels": "warn",
"no-restricted-globals": [
@@ -40,10 +42,10 @@
"orientation",
"context"
], // non-complete list of globals that are easy to access unintentionally
"no-var": "warn",
"no-var": "off",
"jsdoc/no-types": "warn",
"semi": "off",
"@typescript-eslint/semi": "warn",
"@typescript-eslint/semi": "off",
"@typescript-eslint/naming-convention": [
"warn",
{
@@ -54,15 +56,15 @@
}
],
"code-no-unused-expressions": [
"warn",
"off",
{
"allowTernary": true
}
],
"code-translation-remind": "warn",
"code-translation-remind": "off",
"code-no-nls-in-standalone-editor": "warn",
"code-no-standalone-editor": "warn",
"code-no-unexternalized-strings": "warn",
"code-no-unexternalized-strings": "off",
"code-layering": [
"warn",
{
@@ -90,7 +92,7 @@
}
],
"code-import-patterns": [
"warn",
"off",
// !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
// !!! Do not relax these rules !!!
// !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
@@ -217,7 +219,9 @@
"azurecore",
"**/{vs,sql}/base/common/**",
"**/{vs,sql}/base/parts/*/common/**",
"**/{vs,sql}/platform/*/common/**"
"**/{vs,sql}/platform/*/common/**",
"@microsoft/1ds-post-js",
"@microsoft/1ds-core-js"
]
},
{
@@ -255,7 +259,9 @@
"**/{vs,sql}/base/{common,node}/**",
"**/{vs,sql}/base/parts/*/{common,node}/**",
"**/{vs,sql}/platform/*/{common,node}/**",
"@vscode/*", "@parcel/*", "*" // node modules
"@vscode/*", "@parcel/*", "*", // node modules
"@microsoft/1ds-post-js",
"@microsoft/1ds-core-js"
]
},
{
@@ -304,7 +310,9 @@
"**/{vs,sql}/base/test/{common,browser}/**",
"**/{vs,sql}/base/parts/*/common/**", // {{SQL CARBON EDIT}}
"**/{vs,sql}/platform/*/{common,browser}/**",
"**/{vs,sql}/platform/*/test/{common,browser}/**"
"**/{vs,sql}/platform/*/test/{common,browser}/**",
"@microsoft/1ds-post-js",
"@microsoft/1ds-core-js"
]
},
{

View File

@@ -18,4 +18,8 @@ ae1452eea678f5266ef513f22dacebb90955d6c9
# mjbvz: organize imports
494cbbd02d67e87727ec885f98d19551aa33aad1
a3cb14be7f2cceadb17adf843675b1a59537dbbd
ee1655a82ebdfd38bf8792088a6602c69f7bbd94
ee1655a82ebdfd38bf8792088a6602c69f7bbd94
# jrieken: new eslint-rule
4a130c40ed876644ed8af2943809d08221375408

6
.github/CODEOWNERS vendored
View File

@@ -5,14 +5,18 @@
/extensions/admin-tool-ext-win @Charles-Gagnon
/extensions/arc/ @Charles-Gagnon @swells @candiceye
/extensions/azcli/ @Charles-Gagnon @swells @candiceye
/extensions/big-data-cluster/ @Charles-Gagnon
/extensions/azurecore/ @cssuh @cheenamalhotra
/extensions/dacpac/ @kisantia
/extensions/datavirtualization @Charles-Gagnon
/extensions/import @aasimkhan30
/extensions/machine-learning @llali
/extensions/notebook @azure-data-studio-notebook-devs
/extensions/query-history/ @Charles-Gagnon
/extensions/resource-deployment/ @Charles-Gagnon
/extensions/schema-compare/ @kisantia
/extensions/sql-bindings/ @vasubhog @Charles-Gagnon @lucyzhang929 @chlafreniere @MaddyDev
/extensions/sql-database-projects/ @Benjin @kisantia
/extensions/sql-migration @AkshayMata @raymondtruong @brian-harris @junierch @siyangMicrosoft
/extensions/mssql/config.json @Charles-Gagnon @alanrenmsft @kburtram
/src/sql/*.d.ts @alanrenmsft @Charles-Gagnon

View File

@@ -18,6 +18,7 @@ Next there are two types of logs to collect:
- Save this text into a file named console.log and attach it to this issue.
- Developer Tools can be closed via Help -> Toggle Developer Tools
**Application Logs**
@@ -46,8 +47,5 @@ Needs Logs - Azure:
# actions for Out of Scope label
Out of Scope:
comment: "Thank you for opening this suggestion! This enhancement is not planned in our
medium-term roadmap. The issue is being closed to reduce active issues to focus on
enhancements that are being considered for an upcoming release. We will review closed issues
with the 'Out of Scope' label when doing long-term planning."
comment: "Thank you for your feedback! This feature is currently out of scope and we do not plan to work on it in a currently planned release. We will close this issue to keep our backlog focused on requests that we are planning to work on. Please note that users can continue to vote and comment on closed issues, which we encourage as it helps us understand user interest and can provide more details about why a feature is requested."
close: true

View File

@@ -5,5 +5,3 @@
* Ensure that the code is up-to-date with the `main` branch.
* Include a description of the proposed changes and how to test them.
-->
This PR fixes #

View File

@@ -1,11 +1,2 @@
{
"notebook": [
"claudiaregio",
"rchiodo",
"greazer",
"donjayamanne",
"jilljac",
"IanMatthewHuff",
"dynamicwebpaige"
]
}

22
.github/workflows/bad-tag.yml vendored Normal file
View File

@@ -0,0 +1,22 @@
name: Bad Tag
on:
create
jobs:
main:
runs-on: ubuntu-latest
if: github.event.ref == '1.999.0'
steps:
- name: Checkout Actions
uses: actions/checkout@v2
with:
repository: "microsoft/vscode-github-triage-actions"
ref: stable
path: ./actions
- name: Install Actions
run: npm install --production --prefix ./actions
- name: Run Bad Tag
uses: ./actions/tag-alert
with:
token: ${{secrets.VSCODE_ISSUE_TRIAGE_BOT_PAT}}
tag-name: '1.999.0'

177
.github/workflows/basic.yml vendored Normal file
View File

@@ -0,0 +1,177 @@
name: Basic checks
on:
push:
branches:
- main
pull_request:
branches:
- main
jobs:
main:
if: github.ref != 'refs/heads/main'
name: Compilation, Unit and Integration Tests
runs-on: ubuntu-latest
timeout-minutes: 40
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
steps:
- uses: actions/checkout@v3
# TODO: rename azure-pipelines/linux/xvfb.init to github-actions
- name: Setup Build Environment
run: |
sudo cp build/azure-pipelines/linux/xvfb.init /etc/init.d/xvfb
sudo chmod +x /etc/init.d/xvfb
sudo update-rc.d xvfb defaults
sudo service xvfb start
- uses: actions/setup-node@v3
with:
node-version: 16
- name: Compute node modules cache key
id: nodeModulesCacheKey
run: echo "::set-output name=value::$(node build/azure-pipelines/common/computeNodeModulesCacheKey.js)"
- name: Cache node modules
id: cacheNodeModules
uses: actions/cache@v3
with:
path: "**/node_modules"
key: ${{ runner.os }}-cacheNodeModules23-${{ steps.nodeModulesCacheKey.outputs.value }}
restore-keys: ${{ runner.os }}-cacheNodeModules23-
- name: Get yarn cache directory path
id: yarnCacheDirPath
if: ${{ steps.cacheNodeModules.outputs.cache-hit != 'true' }}
run: echo "::set-output name=dir::$(yarn cache dir)"
- name: Cache yarn directory
if: ${{ steps.cacheNodeModules.outputs.cache-hit != 'true' }}
uses: actions/cache@v3
with:
path: ${{ steps.yarnCacheDirPath.outputs.dir }}
key: ${{ runner.os }}-yarnCacheDir-${{ steps.nodeModulesCacheKey.outputs.value }}
restore-keys: ${{ runner.os }}-yarnCacheDir-
- name: Execute yarn
if: ${{ steps.cacheNodeModules.outputs.cache-hit != 'true' }}
env:
PLAYWRIGHT_SKIP_BROWSER_DOWNLOAD: 1
ELECTRON_SKIP_BINARY_DOWNLOAD: 1
run: yarn --frozen-lockfile --network-timeout 180000
- name: Compile and Download
run: yarn npm-run-all --max_old_space_size=4095 -lp compile "electron x64"
- name: Run Unit Tests
id: electron-unit-tests
run: DISPLAY=:10 ./scripts/test.sh
- name: Run Integration Tests (Electron)
id: electron-integration-tests
run: DISPLAY=:10 ./scripts/test-integration.sh
# {{SQL CARBON TODO}} Bring back "Hygiene and Layering" and "Warm up node modules cache"
# hygiene:
# if: github.ref != 'refs/heads/main'
# name: Hygiene and Layering
# runs-on: ubuntu-latest
# timeout-minutes: 40
# env:
# GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
# steps:
# - uses: actions/checkout@v3
# - uses: actions/setup-node@v3
# with:
# node-version: 16
# - name: Compute node modules cache key
# id: nodeModulesCacheKey
# run: echo "::set-output name=value::$(node build/azure-pipelines/common/computeNodeModulesCacheKey.js)"
# - name: Cache node modules
# id: cacheNodeModules
# uses: actions/cache@v3
# with:
# path: "**/node_modules"
# key: ${{ runner.os }}-cacheNodeModules23-${{ steps.nodeModulesCacheKey.outputs.value }}
# restore-keys: ${{ runner.os }}-cacheNodeModules23-
# - name: Get yarn cache directory path
# id: yarnCacheDirPath
# if: ${{ steps.cacheNodeModules.outputs.cache-hit != 'true' }}
# run: echo "::set-output name=dir::$(yarn cache dir)"
# - name: Cache yarn directory
# if: ${{ steps.cacheNodeModules.outputs.cache-hit != 'true' }}
# uses: actions/cache@v3
# with:
# path: ${{ steps.yarnCacheDirPath.outputs.dir }}
# key: ${{ runner.os }}-yarnCacheDir-${{ steps.nodeModulesCacheKey.outputs.value }}
# restore-keys: ${{ runner.os }}-yarnCacheDir-
# - name: Execute yarn
# if: ${{ steps.cacheNodeModules.outputs.cache-hit != 'true' }}
# env:
# PLAYWRIGHT_SKIP_BROWSER_DOWNLOAD: 1
# ELECTRON_SKIP_BINARY_DOWNLOAD: 1
# run: yarn --frozen-lockfile --network-timeout 180000
# - name: Run Hygiene Checks
# run: yarn gulp hygiene
# - name: Run Valid Layers Checks
# run: yarn valid-layers-check
# - name: Compile /build/
# run: yarn --cwd build compile
# - name: Check clean git state
# run: ./.github/workflows/check-clean-git-state.sh
# - name: Run eslint
# run: yarn eslint
# - name: Run vscode-dts Compile Checks
# run: yarn vscode-dts-compile-check
# - name: Run Trusted Types Checks
# run: yarn tsec-compile-check
# warm-cache:
# name: Warm up node modules cache
# if: github.ref == 'refs/heads/main'
# runs-on: ubuntu-latest
# timeout-minutes: 40
# env:
# GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
# steps:
# - uses: actions/checkout@v3
# - uses: actions/setup-node@v3
# with:
# node-version: 16
# - name: Compute node modules cache key
# id: nodeModulesCacheKey
# run: echo "::set-output name=value::$(node build/azure-pipelines/common/computeNodeModulesCacheKey.js)"
# - name: Cache node modules
# id: cacheNodeModules
# uses: actions/cache@v3
# with:
# path: "**/node_modules"
# key: ${{ runner.os }}-cacheNodeModules23-${{ steps.nodeModulesCacheKey.outputs.value }}
# restore-keys: ${{ runner.os }}-cacheNodeModules23-
# - name: Get yarn cache directory path
# id: yarnCacheDirPath
# if: ${{ steps.cacheNodeModules.outputs.cache-hit != 'true' }}
# run: echo "::set-output name=dir::$(yarn cache dir)"
# - name: Cache yarn directory
# if: ${{ steps.cacheNodeModules.outputs.cache-hit != 'true' }}
# uses: actions/cache@v3
# with:
# path: ${{ steps.yarnCacheDirPath.outputs.dir }}
# key: ${{ runner.os }}-yarnCacheDir-${{ steps.nodeModulesCacheKey.outputs.value }}
# restore-keys: ${{ runner.os }}-yarnCacheDir-
# - name: Execute yarn
# if: ${{ steps.cacheNodeModules.outputs.cache-hit != 'true' }}
# env:
# PLAYWRIGHT_SKIP_BROWSER_DOWNLOAD: 1
# ELECTRON_SKIP_BINARY_DOWNLOAD: 1
# run: yarn --frozen-lockfile --network-timeout 180000

View File

@@ -1,27 +1,29 @@
name: CI
on:
push:
branches:
- main
- release/*
pull_request:
branches:
- main
- release/*
on: workflow_dispatch
# on:
# push:
# branches:
# - main
# - release/*
# pull_request:
# branches:
# - main
# - release/*
jobs:
windows:
name: Windows
runs-on: windows-2019
timeout-minutes: 30
runs-on: windows-2022
timeout-minutes: 60
env:
CHILD_CONCURRENCY: "1"
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v3
- uses: actions/setup-node@v2
- uses: actions/setup-node@v3
with:
node-version: 16
@@ -71,13 +73,14 @@ jobs:
- name: Compile and Download
run: yarn npm-run-all --max_old_space_size=4095 -lp compile "electron x64" # {{SQL CARBON EDIT}} Remove unused options playwright-install download-builtin-extensions
- name: Run Unit Tests (Electron)
- name: Run Core Unit Tests # {{SQL CARBON EDIT}} Rename to core for clarity
run: .\scripts\test.bat
# - name: Run Unit Tests (Browser) {{SQL CARBON EDIT}} disable for now
# run: yarn test-browser --browser chromium
# - name: Run Integration Tests (Electron) {{SQL CARBON EDIT}} disable for now
# {{SQL CARBON EDIT}} Rename to core for clarity
# - name: Run Core Integration Tests {{SQL CARBON EDIT}} disable for now
# run: .\scripts\test-integration.bat
linux:
@@ -137,11 +140,11 @@ jobs:
env:
SQL_NO_INLINE_SOURCEMAP: 1
- name: Run Unit Tests (Electron)
- name: Run Core Unit Tests # {{SQL CARBON EDIT}} Rename to core for clarity
id: electron-unit-tests
run: DISPLAY=:10 ./scripts/test.sh --runGlob "**/sql/**/*.test.js" --coverage
- name: Run Extension Unit Tests (Electron)
- name: Run Extension Unit Tests # {{SQL CARBON EDIT}} Rename to extension for clarity
id: electron-extension-unit-tests
run: DISPLAY=:10 ./scripts/test-extensions-unit.sh
@@ -158,7 +161,8 @@ jobs:
# id: browser-unit-tests
# run: DISPLAY=:10 yarn test-browser --browser chromium
# - name: Run Integration Tests (Electron) {{SQL CARBON EDIT}} Skip for now
# {{SQL CARBON EDIT}} Rename to core for clarity
# - name: Run Core Integration Tests {{SQL CARBON EDIT}} Skip for now
# id: electron-integration-tests
# run: DISPLAY=:10 ./scripts/test-integration.sh
@@ -215,25 +219,26 @@ jobs:
security default-keychain -s $RUNNER_TEMP/buildagent.keychain
security unlock-keychain -p pwd $RUNNER_TEMP/buildagent.keychain
- name: Run Unit Tests (Electron)
- name: Run Core Unit Tests # {{SQL CARBON EDIT}} Rename to core for clarity
run: DISPLAY=:10 ./scripts/test.sh
# - name: Run Unit Tests (Browser) {{SQL CARBON EDIT}} Skip for now
# run: DISPLAY=:10 yarn test-browser --browser chromium
# - name: Run Integration Tests (Electron) {{SQL CARBON EDIT}} Skip for now
# {{SQL CARBON EDIT}} Rename to core for clarity
# - name: Run Core Integration Tests {{SQL CARBON EDIT}} Skip for now
# run: DISPLAY=:10 ./scripts/test-integration.sh
hygiene:
name: Hygiene and Layering
runs-on: ubuntu-latest
timeout-minutes: 30
timeout-minutes: 40
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v3
- uses: actions/setup-node@v2
- uses: actions/setup-node@v3
with:
node-version: 16
@@ -245,8 +250,8 @@ jobs:
uses: actions/cache@v2
with:
path: "**/node_modules"
key: ${{ runner.os }}-cacheNodeModules14-${{ steps.nodeModulesCacheKey.outputs.value }}
restore-keys: ${{ runner.os }}-cacheNodeModules14-
key: ${{ runner.os }}-cacheNodeModules23-${{ steps.nodeModulesCacheKey.outputs.value }}
restore-keys: ${{ runner.os }}-cacheNodeModules23-
- name: Get yarn cache directory path
id: yarnCacheDirPath
if: ${{ steps.cacheNodeModules.outputs.cache-hit != 'true' }}
@@ -270,59 +275,27 @@ jobs:
ELECTRON_SKIP_BINARY_DOWNLOAD: 1
run: yarn --frozen-lockfile --network-timeout 180000
- name: Download Playwright
run: yarn playwright-install
- name: Run Hygiene Checks
run: yarn gulp hygiene
- name: Run Valid Layers Checks
run: yarn valid-layers-check
# - name: Run Monaco Editor Checks {{SQL CARBON EDIT}} Remove Monaco checks
# run: yarn monaco-compile-check
- name: Compile /build/
run: yarn --cwd build compile
- name: Check clean git state
run: ./.github/workflows/check-clean-git-state.sh
- name: Run eslint
run: yarn eslint
# {{SQL CARBON EDIT}} Don't need this
# - name: Run Monaco Editor Checks
# run: yarn monaco-compile-check
# {{SQL CARBON EDIT}} Don't need this
# - name: Run vscode-dts Compile Checks
# run: yarn vscode-dts-compile-check
- name: Run Trusted Types Checks
run: yarn tsec-compile-check
# - name: Editor Distro & ESM Bundle {{SQL CARBON EDIT}} Remove Monaco checks
# run: yarn gulp editor-esm-bundle
# - name: Typings validation prep {{SQL CARBON EDIT}} Remove Monaco checks
# run: |
# mkdir typings-test
# - name: Typings validation {{SQL CARBON EDIT}} Remove Monaco checks
# working-directory: ./typings-test
# run: |
# yarn init -yp
# ../node_modules/.bin/tsc --init
# echo "import '../out-monaco-editor-core';" > a.ts
# ../node_modules/.bin/tsc --noEmit
# - name: Webpack Editor {{SQL CARBON EDIT}} Remove Monaco checks
# working-directory: ./test/monaco
# run: yarn run bundle
# - name: Compile Editor Tests {{SQL CARBON EDIT}} Remove Monaco checks
# working-directory: ./test/monaco
# run: yarn run compile
# - name: Download Playwright {{SQL CARBON EDIT}} Remove Monaco checks
# run: yarn playwright-install
# - name: Run Editor Tests {{SQL CARBON EDIT}} Remove Monaco checks
# timeout-minutes: 5
# working-directory: ./test/monaco
# run: yarn test

1
.nvmrc Normal file
View File

@@ -0,0 +1 @@
16.14

View File

@@ -1,142 +0,0 @@
{
"type": "object",
"properties": {
"registrations": {
"type": "array",
"items": {
"type": "object",
"properties": {
"component": {
"oneOf": [
{
"type": "object",
"required": [
"type",
"git"
],
"properties": {
"type": {
"type": "string",
"enum": [
"git"
]
},
"git": {
"type": "object",
"required": [
"name",
"repositoryUrl",
"commitHash"
],
"properties": {
"name": {
"type": "string"
},
"repositoryUrl": {
"type": "string"
},
"commitHash": {
"type": "string"
}
}
}
}
},
{
"type": "object",
"required": [
"type",
"npm"
],
"properties": {
"type": {
"type": "string",
"enum": [
"npm"
]
},
"npm": {
"type": "object",
"required": [
"name",
"version"
],
"properties": {
"name": {
"type": "string"
},
"version": {
"type": "string"
}
}
}
}
},
{
"type": "object",
"required": [
"type",
"other"
],
"properties": {
"type": {
"type": "string",
"enum": [
"other"
]
},
"other": {
"type": "object",
"required": [
"name",
"downloadUrl",
"version"
],
"properties": {
"name": {
"type": "string"
},
"downloadUrl": {
"type": "string"
},
"version": {
"type": "string"
}
}
}
}
}
]
},
"repositoryUrl": {
"type": "string",
"description": "The git url of the component"
},
"version": {
"type": "string",
"description": "The version of the component"
},
"license": {
"type": "string",
"description": "The name of the license"
},
"developmentDependency": {
"type": "boolean",
"description": "This component is inlined in the vscode repo and **is not shipped**."
},
"isOnlyProductionDependency": {
"type": "boolean",
"description": "This component is shipped and **is not inlined in the vscode repo**."
},
"licenseDetail": {
"type": "array",
"items": {
"type": "string"
},
"description": "The license text"
}
}
}
}
}
}

View File

@@ -4,6 +4,6 @@
"recommendations": [
"dbaeumer.vscode-eslint",
"EditorConfig.EditorConfig",
"redhat.vscode-yaml"
"ms-vscode.vscode-selfhost-test-provider"
]
}

171
.vscode/launch.json vendored
View File

@@ -1,6 +1,107 @@
{
"version": "0.1.0",
"configurations": [
{
"type": "node",
"request": "launch",
"name": "Gulp Build",
"program": "${workspaceFolder}/node_modules/gulp/bin/gulp.js",
"stopOnEntry": true,
"args": [
"hygiene"
]
},
{
"type": "extensionHost",
"request": "launch",
"name": "VS Code Git Tests",
"runtimeExecutable": "${execPath}",
"args": [
"/tmp/my4g9l",
"--extensionDevelopmentPath=${workspaceFolder}/extensions/git",
"--extensionTestsPath=${workspaceFolder}/extensions/git/out/test"
],
"outFiles": [
"${workspaceFolder}/extensions/git/out/**/*.js"
],
"presentation": {
"group": "5_tests",
"order": 6
}
},
{
"type": "extensionHost",
"request": "launch",
"name": "VS Code Github Tests",
"runtimeExecutable": "${execPath}",
"args": [
"${workspaceFolder}/extensions/github/testWorkspace",
"--extensionDevelopmentPath=${workspaceFolder}/extensions/github",
"--extensionTestsPath=${workspaceFolder}/extensions/github/out/test"
],
"outFiles": [
"${workspaceFolder}/extensions/github/out/**/*.js"
],
"presentation": {
"group": "5_tests",
"order": 6
}
},
{
"type": "extensionHost",
"request": "launch",
"name": "VS Code API Tests (single folder)",
"runtimeExecutable": "${execPath}",
"args": [
// "${workspaceFolder}", // Uncomment for running out of sources.
"${workspaceFolder}/extensions/vscode-api-tests/testWorkspace",
"--extensionDevelopmentPath=${workspaceFolder}/extensions/vscode-api-tests",
"--extensionTestsPath=${workspaceFolder}/extensions/vscode-api-tests/out/singlefolder-tests",
"--disable-extensions"
],
"outFiles": [
"${workspaceFolder}/out/**/*.js"
],
"presentation": {
"group": "5_tests",
"order": 3
}
},
{
"type": "extensionHost",
"request": "launch",
"name": "VS Code API Tests (workspace)",
"runtimeExecutable": "${execPath}",
"args": [
"${workspaceFolder}/extensions/vscode-api-tests/testworkspace.code-workspace",
"--extensionDevelopmentPath=${workspaceFolder}/extensions/vscode-api-tests",
"--extensionTestsPath=${workspaceFolder}/extensions/vscode-api-tests/out/workspace-tests"
],
"outFiles": [
"${workspaceFolder}/out/**/*.js"
],
"presentation": {
"group": "5_tests",
"order": 4
}
},
{
"type": "extensionHost",
"request": "launch",
"name": "VS Code Tokenizer Tests",
"runtimeExecutable": "${execPath}",
"args": [
"${workspaceFolder}/extensions/vscode-colorize-tests/test",
"--extensionDevelopmentPath=${workspaceFolder}/extensions/vscode-colorize-tests",
"--extensionTestsPath=${workspaceFolder}/extensions/vscode-colorize-tests/out"
],
"outFiles": [
"${workspaceFolder}/out/**/*.js"
],
"presentation": {
"group": "5_tests"
}
},
{
"type": "node",
"request": "launch",
@@ -9,8 +110,18 @@
"windows": {
"runtimeExecutable": "${workspaceFolder}/scripts/sql.bat",
},
"osx": {
"runtimeExecutable": "${workspaceFolder}/scripts/sql.sh"
},
"linux": {
"runtimeExecutable": "${workspaceFolder}/scripts/sql.sh"
},
"runtimeArgs": [
"--no-cached-data"
"--inspect=5875",
"--no-cached-data",
"--crash-reporter-directory=${workspaceFolder}/.profile-oss/crashes",
// for general runtime freezes: https://github.com/microsoft/vscode/issues/127861#issuecomment-904144910
"--disable-features=CalculateNativeWinOcclusion",
],
"outFiles": [
"${workspaceFolder}/out/**/*.js"
@@ -43,6 +154,9 @@
"runtimeArgs": [
"--inspect=5875",
"--no-cached-data",
"--crash-reporter-directory=${workspaceFolder}/.profile-oss/crashes",
// for general runtime freezes: https://github.com/microsoft/vscode/issues/127861#issuecomment-904144910
"--disable-features=CalculateNativeWinOcclusion",
],
"webRoot": "${workspaceFolder}",
"cascadeTerminateToConfigurations": [
@@ -98,6 +212,18 @@
"group": "2_attach"
}
},
{
"type": "node",
"request": "attach",
"name": "Attach to CLI Process",
"port": 5874,
"outFiles": [
"${workspaceFolder}/out/**/*.js"
],
"presentation": {
"group": "2_attach"
}
},
{
"type": "pwa-chrome",
"request": "attach",
@@ -118,6 +244,49 @@
"order": 2
}
},
{
"type": "node",
"request": "attach",
"name": "Attach to Search Process",
"port": 5876,
"outFiles": [
"${workspaceFolder}/out/**/*.js"
],
"presentation": {
"group": "2_attach"
}
},
{
"type": "node",
"request": "attach",
"name": "Attach to Pty Host Process",
"port": 5877,
"outFiles": [
"${workspaceFolder}/out/**/*.js"
],
"presentation": {
"group": "2_attach"
}
},
{
/* Added for "VS Code Selfhost Test Provider" extension support */
"type": "pwa-chrome",
"request": "attach",
"name": "Attach to VS Code",
"browserAttachLocation": "workspace",
"port": 9222,
"outFiles": [
"${workspaceFolder}/out/**/*.js"
],
"presentation": {
"group": "2_attach",
"hidden": true
},
"resolveSourceMapLocations": [
"${workspaceFolder}/out/**/*.js"
],
"perScriptSourcemaps": "yes"
},
{
"type": "node",
"request": "launch",

View File

@@ -7,7 +7,7 @@
{
"kind": 2,
"language": "github-issues",
"value": "$repo=repo:microsoft/vscode\n$milestone=milestone:\"October 2021\""
"value": "$repo=repo:microsoft/vscode\n$milestone=milestone:\"July 2022\""
},
{
"kind": 1,

View File

@@ -7,7 +7,7 @@
{
"kind": 2,
"language": "github-issues",
"value": "$REPOS=repo:microsoft/vscode repo:microsoft/vscode-internalbacklog repo:microsoft/vscode-dev repo:microsoft/vscode-js-debug repo:microsoft/vscode-remote-release repo:microsoft/vscode-pull-request-github repo:microsoft/vscode-settings-sync-server repo:microsoft/vscode-emmet-helper repo:microsoft/vscode-remotehub repo:microsoft/vscode-remote-repositories-github repo:microsoft/vscode-livepreview repo:microsoft/vscode-python repo:microsoft/vscode-jupyter repo:microsoft/vscode-jupyter-internal repo:microsoft/vscode-unpkg\n\n$MILESTONE=milestone:\"October 2021\""
"value": "$REPOS=repo:microsoft/vscode repo:microsoft/vscode-internalbacklog repo:microsoft/vscode-dev repo:microsoft/vscode-js-debug repo:microsoft/vscode-remote-release repo:microsoft/vscode-pull-request-github repo:microsoft/vscode-settings-sync-server repo:microsoft/vscode-emmet-helper repo:microsoft/vscode-remotehub repo:microsoft/vscode-remote-repositories-github repo:microsoft/vscode-livepreview repo:microsoft/vscode-python repo:microsoft/vscode-jupyter repo:microsoft/vscode-jupyter-internal repo:microsoft/vscode-unpkg\n\n$MILESTONE=milestone:\"July 2022\""
},
{
"kind": 1,
@@ -64,6 +64,16 @@
"language": "github-issues",
"value": "$REPOS $MILESTONE is:issue is:closed label:feature-request -label:verification-needed -label:on-testplan -label:verified -label:*duplicate"
},
{
"kind": 1,
"language": "markdown",
"value": "## Open Test Plan Items without milestone"
},
{
"kind": 2,
"language": "github-issues",
"value": "$REPOS $MILESTONE is:issue is:open label:testplan-item no:milestone"
},
{
"kind": 1,
"language": "markdown",

View File

@@ -7,7 +7,12 @@
{
"kind": 2,
"language": "github-issues",
"value": "$inbox -label:\"needs more info\" sort:created-asc"
"value": "$inbox -label:\"info-needed\" sort:created-desc"
},
{
"kind": 2,
"language": "github-issues",
"value": "repo:microsoft/vscode label:triage-needed is:open"
},
{
"kind": 1,

View File

@@ -7,7 +7,7 @@
{
"kind": 2,
"language": "github-issues",
"value": "$REPOS=repo:microsoft/vscode repo:microsoft/vscode-internalbacklog repo:microsoft/vscode-dev repo:microsoft/vscode-js-debug repo:microsoft/vscode-remote-release repo:microsoft/vscode-pull-request-github repo:microsoft/vscode-settings-sync-server repo:microsoft/vscode-remotehub repo:microsoft/vscode-remote-repositories-github repo:microsoft/vscode-emmet-helper repo:microsoft/vscode-livepreview repo:microsoft/vscode-python repo:microsoft/vscode-jupyter repo:microsoft/vscode-jupyter-internal\n\n$MILESTONE=milestone:\"October 2021\"\n\n$MINE=assignee:@me"
"value": "$REPOS=repo:microsoft/vscode repo:microsoft/vscode-internalbacklog repo:microsoft/vscode-dev repo:microsoft/vscode-js-debug repo:microsoft/vscode-remote-release repo:microsoft/vscode-pull-request-github repo:microsoft/vscode-settings-sync-server repo:microsoft/vscode-remotehub repo:microsoft/vscode-remote-repositories-github repo:microsoft/vscode-emmet-helper repo:microsoft/vscode-livepreview repo:microsoft/vscode-python repo:microsoft/vscode-jupyter repo:microsoft/vscode-jupyter-internal\n\n$MILESTONE=milestone:\"July 2022\"\n\n$MINE=assignee:@me"
},
{
"kind": 1,
@@ -147,7 +147,7 @@
{
"kind": 2,
"language": "github-issues",
"value": "$REPOS $MILESTONE -$MINE is:issue is:closed author:@me sort:updated-asc label:bug -label:verified -label:z-author-verified -label:on-testplan -label:*duplicate -label:duplicate -label:invalid -label:*as-designed -label:error-telemetry -label:verification-steps-needed -label:needs-triage -label:verification-found"
"value": "$REPOS $MILESTONE -$MINE is:issue is:closed author:@me sort:updated-asc label:bug -label:unreleased -label:verified -label:z-author-verified -label:on-testplan -label:*duplicate -label:duplicate -label:invalid -label:*as-designed -label:error-telemetry -label:verification-steps-needed -label:triage-needed -label:verification-found"
},
{
"kind": 1,
@@ -157,7 +157,7 @@
{
"kind": 2,
"language": "github-issues",
"value": "$REPOS $MILESTONE -$MINE is:issue is:closed sort:updated-asc label:bug -label:verified -label:z-author-verified -label:on-testplan -label:*duplicate -label:duplicate -label:invalid -label:*as-designed -label:error-telemetry -label:verification-steps-needed -label:verification-found -author:aeschli -author:alexdima -author:alexr00 -author:AmandaSilver -author:bamurtaugh -author:bpasero -author:btholt -author:chrisdias -author:chrmarti -author:Chuxel -author:claudiaregio -author:connor4312 -author:dbaeumer -author:deepak1556 -author:devinvalenciano -author:digitarald -author:DonJayamanne -author:dynamicwebpaige -author:eamodio -author:egamma -author:fiveisprime -author:greazer -author:gregvanl -author:hediet -author:IanMatthewHuff -author:isidorn -author:ItalyPaleAle -author:JacksonKearl -author:joaomoreno -author:joyceerhl -author:jrieken -author:karrtikr-author:kieferrm -author:lramos15 -author:lszomoru -author:meganrogge -author:misolori -author:mjbvz -author:ornellaalt -author:orta -author:rchiodo -author:rebornix -author:RMacfarlane -author:roblourens -author:rzhao271 -author:sana-ajani -author:sandy081 -author:sbatten -author:stevencl -author:TylerLeonhardt -author:Tyriar -author:weinand "
"value": "$REPOS $MILESTONE -$MINE is:issue is:closed sort:updated-asc label:bug -label:unreleased -label:verified -label:z-author-verified -label:on-testplan -label:*duplicate -label:duplicate -label:invalid -label:*as-designed -label:error-telemetry -label:verification-steps-needed -label:verification-found -author:aeschli -author:alexdima -author:alexr00 -author:AmandaSilver -author:bamurtaugh -author:bpasero -author:chrisdias -author:chrmarti -author:Chuxel -author:claudiaregio -author:connor4312 -author:dbaeumer -author:deepak1556 -author:devinvalenciano -author:digitarald -author:DonJayamanne -author:dynamicwebpaige -author:eamodio -author:egamma -author:fiveisprime -author:greazer -author:gregvanl -author:hediet -author:IanMatthewHuff -author:isidorn -author:ItalyPaleAle -author:JacksonKearl -author:joaomoreno -author:joyceerhl -author:jrieken -author:karrtikr-author:kieferrm -author:lramos15 -author:lszomoru -author:meganrogge -author:misolori -author:mjbvz -author:ornellaalt -author:orta -author:rchiodo -author:rebornix -author:roblourens -author:rzhao271 -author:sana-ajani -author:sandy081 -author:sbatten -author:stevencl -author:tanhakabir -author:TylerLeonhardt -author:Tyriar -author:weinand -author:kimadeline -author:amunger"
},
{
"kind": 1,
@@ -167,7 +167,7 @@
{
"kind": 2,
"language": "github-issues",
"value": "$REPOS $MILESTONE -$MINE is:issue is:closed -author:@me sort:updated-asc label:bug -label:verified -label:z-author-verified -label:on-testplan -label:*duplicate -label:duplicate -label:invalid -label:*as-designed -label:error-telemetry -label:verification-steps-needed -label:verification-found"
"value": "$REPOS $MILESTONE -$MINE is:issue is:closed -author:@me sort:updated-asc label:bug -label:unreleased -label:verified -label:z-author-verified -label:on-testplan -label:*duplicate -label:duplicate -label:invalid -label:*as-designed -label:error-telemetry -label:verification-steps-needed -label:verification-found"
},
{
"kind": 1,

File diff suppressed because one or more lines are too long

View File

@@ -12,7 +12,7 @@
{
"kind": 2,
"language": "github-issues",
"value": "$repos=repo:microsoft/vscode repo:microsoft/vscode-internalbacklog repo:microsoft/vscode-dev repo:microsoft/vscode-remote-release repo:microsoft/vscode-js-debug repo:microsoft/vscode-pull-request-github repo:microsoft/vscode-github-issue-notebooks repo:microsoft/vscode-emmet-helper repo:microsoft/vscode-jupyter repo:microsoft/vscode-python\n$milestone=milestone:\"August 2021\""
"value": "$repos=repo:microsoft/vscode repo:microsoft/vscode-internalbacklog repo:microsoft/vscode-dev repo:microsoft/vscode-remote-release repo:microsoft/vscode-js-debug repo:microsoft/vscode-pull-request-github repo:microsoft/vscode-github-issue-notebooks repo:microsoft/vscode-emmet-helper repo:microsoft/vscode-jupyter repo:microsoft/vscode-python\n$milestone=milestone:\"May 2022\""
},
{
"kind": 1,

View File

@@ -0,0 +1,42 @@
[
{
"kind": 1,
"language": "markdown",
"value": "# vscode.dev repo"
},
{
"kind": 2,
"language": "github-issues",
"value": "repo:microsoft/vscode-dev milestone:\"May 2022\" is:open"
},
{
"kind": 2,
"language": "github-issues",
"value": "repo:microsoft/vscode-dev milestone:\"Backlog\" is:open"
},
{
"kind": 1,
"language": "markdown",
"value": "# VS Code repo"
},
{
"kind": 2,
"language": "github-issues",
"value": "repo:microsoft/vscode label:vscode.dev is:open"
},
{
"kind": 1,
"language": "markdown",
"value": "# GitHub Repositories repos"
},
{
"kind": 2,
"language": "github-issues",
"value": "repo:microsoft/vscode-remote-repositories-github milestone:\"May 2022\" is:open"
},
{
"kind": 2,
"language": "github-issues",
"value": "repo:microsoft/vscode-remotehub milestone:\"May 2022\" is:open"
}
]

View File

@@ -1,101 +0,0 @@
# Query: .innerHTML =
# Flags: CaseSensitive WordMatch
# Including: src/vs/**/*.{t,j}s
# Excluding: *.test.ts, **/test/**
# ContextLines: 3
12 results - 9 files
src/vs/base/browser/dom.ts:
1359 );
1360
1361 const html = _ttpSafeInnerHtml?.createHTML(value, options) ?? insane(value, options);
1362: node.innerHTML = html as unknown as string;
1363 }
src/vs/base/browser/markdownRenderer.ts:
272 };
273
274 if (_ttpInsane) {
275: element.innerHTML = _ttpInsane.createHTML(renderedMarkdown, insaneOptions) as unknown as string;
276 } else {
277: element.innerHTML = insane(renderedMarkdown, insaneOptions);
278 }
279
280 // signal that async code blocks can be now be inserted
src/vs/editor/browser/core/markdownRenderer.ts:
88
89 const element = document.createElement('span');
90
91: element.innerHTML = MarkdownRenderer._ttpTokenizer
92 ? MarkdownRenderer._ttpTokenizer.createHTML(value, tokenization) as unknown as string
93 : tokenizeToString(value, tokenization);
94
src/vs/editor/browser/view/domLineBreaksComputer.ts:
107 allCharOffsets[i] = tmp[0];
108 allVisibleColumns[i] = tmp[1];
109 }
110: containerDomNode.innerHTML = sb.build();
111
112 containerDomNode.style.position = 'absolute';
113 containerDomNode.style.top = '10000';
src/vs/editor/browser/view/viewLayer.ts:
512 }
513 const lastChild = <HTMLElement>this.domNode.lastChild;
514 if (domNodeIsEmpty || !lastChild) {
515: this.domNode.innerHTML = newLinesHTML;
516 } else {
517 lastChild.insertAdjacentHTML('afterend', newLinesHTML);
518 }
533 if (ViewLayerRenderer._ttPolicy) {
534 invalidLinesHTML = ViewLayerRenderer._ttPolicy.createHTML(invalidLinesHTML) as unknown as string;
535 }
536: hugeDomNode.innerHTML = invalidLinesHTML;
537
538 for (let i = 0; i < ctx.linesLength; i++) {
539 const line = ctx.lines[i];
src/vs/editor/browser/widget/diffEditorWidget.ts:
2157
2158 let domNode = document.createElement('div');
2159 domNode.className = `view-lines line-delete ${MOUSE_CURSOR_TEXT_CSS_CLASS_NAME}`;
2160: domNode.innerHTML = sb.build();
2161 Configuration.applyFontInfoSlow(domNode, fontInfo);
2162
2163 let marginDomNode = document.createElement('div');
2164 marginDomNode.className = 'inline-deleted-margin-view-zone';
2165: marginDomNode.innerHTML = marginHTML.join('');
2166 Configuration.applyFontInfoSlow(marginDomNode, fontInfo);
2167
2168 return {
src/vs/editor/standalone/browser/colorizer.ts:
40 let text = domNode.firstChild ? domNode.firstChild.nodeValue : '';
41 domNode.className += ' ' + theme;
42 let render = (str: string) => {
43: domNode.innerHTML = str;
44 };
45 return this.colorize(modeService, text || '', mimeType, options).then(render, (err) => console.error(err));
46 }
src/vs/workbench/contrib/notebook/browser/view/renderers/cellRenderer.ts:
580 const element = DOM.$('div', { style });
581
582 const linesHtml = this.getRichTextLinesAsHtml(model, modelRange, colorMap);
583: element.innerHTML = linesHtml as unknown as string;
584 return element;
585 }
586
src/vs/workbench/contrib/notebook/browser/view/renderers/webviewPreloads.ts:
375 addMouseoverListeners(outputNode, outputId);
376 const content = data.content;
377 if (content.type === RenderOutputType.Html) {
378: outputNode.innerHTML = content.htmlContent;
379 cellOutputContainer.appendChild(outputNode);
380 domEval(outputNode);
381 } else if (preloadErrs.some(e => !!e)) {

35
.vscode/settings.json vendored
View File

@@ -26,7 +26,7 @@
"test/automation/out/**": true,
"test/integration/browser/out/**": true,
"src/vs/base/test/node/uri.test.data.txt": true,
"src/vs/workbench/test/browser/api/extHostDocumentData.test.perf-data.ts": true
"src/vs/workbench/api/test/browser/extHostDocumentData.test.perf-data.ts": true
},
"lcov.path": [
"./.build/coverage/lcov.info",
@@ -57,7 +57,7 @@
"fileMatch": [
"cgmanifest.json"
],
"url": "./.vscode/cgmanifest.schema.json"
"url": "https://json.schemastore.org/component-detection-manifest.json"
},
{
"fileMatch": [
@@ -67,19 +67,46 @@
}
],
"git.ignoreLimitWarning": true,
"git.branchProtection": [
"main",
"release/*"
],
"git.branchProtectionPrompt": "alwaysCommitToNewBranch",
"git.branchRandomName.enable": true,
"git.mergeEditor": true,
"remote.extensionKind": {
"msjsdiag.debugger-for-chrome": "workspace"
},
"gulp.autoDetect": "off",
"files.insertFinalNewline": true,
"[plaintext]": {
"files.insertFinalNewline": false,
"files.insertFinalNewline": false
},
"[typescript]": {
"editor.defaultFormatter": "vscode.typescript-language-features"
"editor.defaultFormatter": "vscode.typescript-language-features",
"editor.formatOnSave": true
},
"[javascript]": {
"editor.defaultFormatter": "vscode.typescript-language-features",
"editor.formatOnSave": true
},
"typescript.tsc.autoDetect": "off",
"testing.autoRun.mode": "rerun",
"conventionalCommits.scopes": [
"tree",
"scm",
"grid",
"splitview",
"table",
"list",
"git",
"sash"
],
"editor.quickSuggestions": {
"other": "inline",
"comments": "inline",
"strings": "inline"
},
"yaml.schemas": {
"https://raw.githubusercontent.com/microsoft/azure-pipelines-vscode/master/service-schema.json": "build/azure-pipelines/**/*.yml"
},

28
.vscode/tasks.json vendored
View File

@@ -8,7 +8,8 @@
"isBackground": true,
"presentation": {
"reveal": "never",
"group": "buildWatchers"
"group": "buildWatchers",
"close": false
},
"problemMatcher": {
"owner": "typescript",
@@ -23,8 +24,8 @@
"message": 3
},
"background": {
"beginsPattern": "Starting compilation",
"endsPattern": "Finished compilation"
"beginsPattern": "Starting compilation...",
"endsPattern": "Finished compilation with"
}
}
},
@@ -35,7 +36,8 @@
"isBackground": true,
"presentation": {
"reveal": "never",
"group": "buildWatchers"
"group": "buildWatchers",
"close": false
},
"problemMatcher": {
"owner": "typescript",
@@ -100,6 +102,16 @@
"group": "build",
"problemMatcher": []
},
{
"label": "Restart VS Code - Build",
"dependsOn": [
"Kill VS Code - Build",
"VS Code - Build"
],
"group": "build",
"dependsOrder": "sequence",
"problemMatcher": []
},
{
"type": "npm",
"script": "watch-webd",
@@ -171,8 +183,12 @@
},
{
"type": "shell",
"command": "yarn web --no-launch",
"label": "Run web",
"command": "./scripts/code-server.sh",
"windows": {
"command": ".\\scripts\\code-server.bat"
},
"args": ["--no-launch", "--connection-token", "dev-token", "--port", "8080"],
"label": "Run code server",
"isBackground": true,
"problemMatcher": {
"pattern": {

View File

@@ -1,4 +1,4 @@
disturl "https://electronjs.org/headers"
target "13.6.6"
target "19.1.8"
runtime "electron"
build_from_source "true"

View File

@@ -1,9 +1,253 @@
# Change Log
## Version 1.43.0
* Release number: 1.43.0
* Release date: April 12, 2023
### What's new in 1.43.0
| New Item | Details |
| --- | --- |
| Connection | Added notation for required properties (e.g. Attestation protocol and Attestation URL) when Secure Enclaves are enabled |
| SQL Database Projects extension | General Availability |
| SQL Database Projects extension | Move and rename files within Database Projects view |
| SQL Database Projects extension | SQLCMD variables available for editing in Database Projects view |
| Object Explorer | Double-clicking on a user or table in Object Explorer will open the designer for the object |
| Query Editor | Added a Parse button to the Query Editor toolbar for parsing queries before execution |
| Query Results | Added support to select a row in query results via double click |
### Bug fixes in 1.43.0
| New Item | Details |
| --- | --- |
| Connection | Added support for linked accounts with same username but different domains |
| Connection | Fixed issue with incorrect cache write path |
| Connection | Added ability to include optional name and grouping when creating a new connection using a connection string |
| Connection | Updating username in MSSQL connections to use Preferred username for the display name |
| Connection | Fixed issue with encoding for OSX keychain on macOS |
| Connection | Added support for Azure MFA and Sql Authentication Provider on Linux |
| Dataverse | Addressed error generated when expanding the database node for a Dataverse database in Object Explorer |
| IntelliCode extension | Fixed error that occurred when launching Azure Data Studio with Visual Studio Code IntelliCode extension installed |
| PostgreSQL extension | Implemented support for exporting query results on Apple M1 from a notebook |
| SQL Database Projects extension | Added Accessibility Fixes related to screen reader, label names, and improved focus when navigating |
For a full list of bug fixes addressed for the April 2023 release, visit the [April 2023 Release on GitHub](https://github.com/microsoft/azuredatastudio/milestone/99?closed=1).
## Version 1.42.0
* Release number: 1.42.0
* Release date: March 22, 2023
### What's new in 1.42.0
| New Item | Details |
| --- | --- |
| ARM64 Support for macOS | Implemented native arm64 SqlToolsService support for arm64 Windows and macOS. |
| Connection | Changed the icon under Linked Accounts when adding a new Azure account. |
| Connection | Introduced support for the Command Timeout connection property. |
| Connection | Added support for all three connection encryption options: Strict, Mandatory, and Optional. |
| Connection | Introduced HostNameInCertificate connection property under Security on the Advanced tab, for server with a certificate configured. |
| Connection | Added new advanced option in the Connection dialog to support Secure Enclaves. |
| Connection | Introduced a new setting, Mssql Enable Sql Authentication Provider to allow connections to be maintained without the concern of losing access token lifetime or getting dropped by server. Access tokens will be refreshed internally by the SqlClient driver whenever they are found to be expired. This option is disabled by default. |
| Connection | Added support for connections to Microsoft Dataverse using the TDS endpoint. |
| Connection | Introduced additional error reporting for Azure connections. |
| Connection | Introduced support for change password. |
| Connection | Added support for encryption options for Arc SQL Managed Instance when server certificates are not installed. |
| Deployment | Moved the New Deployment option from the Connections breadcrumb to the File Menu. |
| Object Explorer | Introduced ability to group objects in Object Explorer by database schema. This applies to all MSSQL connections when enabled or disabled. |
| Object Explorer | Introduced a new option to allow a custom timeout to be configured for Object Explorer. Within Settings, enable Mssql > Object Explorer: Expand Timeout. |
| Query Results | Added option to disable special handling for JSON strings. |
### Bug fixes in 1.42.0
| New Item | Details |
| --- | --- |
| Accessibility | Updated server group color display to improve visibility and contrast. |
| Backup | Addressed inability to select "Backup Set" checkbox. |
| Connection | Removed refresh action for connections which are disconnected. |
| Connection | Fixed issue with MSAL not properly set for connections. |
| Connection | Added ability to delete a server group if no connections exist for it. |
| Connection | Added connection display name to the Delete Connection dialog. |
| Connection | Azure connections with "Do not save" for the server group are no longer added to the default server group list. |
| Connection | Improved error handling in the connection dialog. |
| Connection | Fixed issue where saved passwords were not retained for Azure SQL connections. |
| Connection | Improved method to retrieve database access when connecting to Azure SQL. |
| Connection | Improved connection experience for cloud users. |
| Connection | Improved account and tenant selection when connecting to Azure SQL in the connection dialog. |
| Deployment | Improved narration for deployment wizard. |
| Installation | Updated default install location for the Windows on ARM installer. |
| MySQL Extension | Addressed issue where dialog boxes in the MySQL connection pane were not editable. |
| Notebooks | Fixed issue with updating the relative path in a Notebook cell. |
| Notebooks | Fixed issue that caused internal notebook links to break when editing characters in the page. |
| Notebooks | Addressed error thrown when opening a Notebook via a link. |
| Object Explorer | Fixed issue with Object Explorer node not expanding. |
| Query Editor | Fixed database dropdown list for contained users to display correctly. |
| Query Editor | Addressed issue where database dropdown list was not ordered the same as in Object Explorer. |
| Query Editor | Added the ability to properly escape special characters when they exist in object names. |
| Query Editor | Fixed issue which caused query timer to continue to run even though execution was complete. |
| Query Plan Viewer | Addressed an issue where a query plan would not render when opened via a URL. |
| Query Results | Improved precision formatting for datetimeoffset data type. |
For a full list of bug fixes addressed for the March 2023 release, visit the [bugs and issues list on GitHub](https://github.com/microsoft/azuredatastudio/milestone/95?closed=1).
#### Known issues
For a list of the current known issues, visit the [issues list on GitHub](https://github.com/microsoft/azuredatastudio/issues?q=is%3Aissue).
## Version 1.41.2
* Release date: February 10, 2023
* Release status: General Availability
### Bug fixes in 1.41.2
| New Item | Details |
| --- | --- |
| Connection | Fixed a regression blocking connections to sovereign Azure clouds |
| Query Editor | Fixed a regression causing the Output window to display on each query execution |
## Version 1.41.1
* Release date: January 30, 2023
* Release status: General Availability
### Bug fixes in 1.41.1
| New Item | Details |
| --- | --- |
| Connection | Fixed a bug causing incorrect Azure account tenant selection when connecting to server through Azure view |
| Object Explorer | Fixed a regression causing Object Explorer to not show database objects for Azure SQL DB Basic SLO |
## Version 1.41.0
* Release date: January 25, 2023
* Release status: General Availability
### What's new in 1.41.0
| New Item | Details |
| --- | --- |
| Azure Subscriptions | Introduced Azure Synapse Analytics and Dedicated SQL Pools nodes. |
| Azure SQL Migration Extension | Premium series memory optimized SQL MI SKUs included in recommendations. |
| Connection | Migrated Azure authentication library from ADAL to MSAL. MSAL is the library used by default starting with release 1.41.  However, if you encounter issues, you can change back to ADAL within **Settings > Azure: Authentication Library**. |
| Connection | Added ability to provide a description when creating a firewall rule from Azure Data Studio. |
| Connection | Include ability to change password for new or expired login. |
| Connection | Add support for SQL Server Alias use when connecting to a server. |
| MongoDB Atlas Extension | Provides the ability to connect to and query data on MongoDB Atlas (Preview). |
| Notebooks | Provide option for users to convert markdown to a table or not when HMTL table tag is present. |
| Object Explorer | Databases are no longer brought online in serverless Azure SQL when Databases node is expanded. |
| Object Explorer | Added support for Ledger views. |
| Object Explorer | Fixed issue with key binding for objectExplorer.manage not working. |
| Query Editor | Fixes and updates to SQL grammar (colorization and auto-complete). |
| Query Plan Viewer | Changed default folder to be users home directory when saving a query plan. |
| Query Results | Added ability to only copy Column Headers, and only for cells that are highlighted. |
| Query Results | Added option to show or hide the action bar in the results window. |
| Query Results | Increased height of horizontal scrollbar in results window. |
| Query Results | Added new aggregate details in the results toolbar when selecting multiple cells. |
| SQL Projects Extension | Provide the ability select an existing project via a new dropdown. |
### Bug fixes in 1.41.0
| New Item | Details |
| --- | --- |
| Accessibility | Accessibility improvements were made in the Query Plan Viewer, Query History Extension and Migration Extension. |
| Big Data Cluster | Fix missing connect icon in BDC view header bar. |
| Big Data Cluster | Fixed issue preventing HDFS nodes for BDC servers in Object Explorer from expanding. |
| Connection | Added ability to delete a connection that has expired AAD credentials. |
| Connection | Improved experience when Azure Active Directory token expiration occurs. |
| Connection | Improved connection experience when using multiple Azure tenants. |
| Connection | Addressed problem with adding a firewall exception for a non-default Azure subscription. |
| Migration Extension | Added support for non-public clouds for migration scenarios. |
| MySQL Extension | Updated resource endpoints to support AAD logins in the MySQL extension. |
| Notebooks | Improve Intellisense refresh in Notebook cells. |
| Notebooks | Address issue with "New Notebook Job" resulting in an empty form. |
| Object Explorer | Fixed issue with database list not loading. |
| Query Execution | Fixed error generated when executing a query with LEFT JOIN and NULL values. |
| Query Plan Viewer | When saving query plans (.sqlplan file), the filename will numerically increment to prevent duplicate filenames. |
| Query Results | Fixed issue where users were unable to open JSON data as a new file. |
| Query Results | Provide proper cell selection and navigation in the query results grid. |
| Query Results | Improved the handling of line breaks when copying cell contents. |
| Query Results | Addressed issue where a column would re-size incorrectly when auto-sizing in the results output. |
| Query Results | Improved JSON cell handling from query results. |
| Query Results | Fixed behavior where focus was incorrectly set on a cell using keyboard navigation. |
| Resource Deployment | Remove 'Preview' flag for SQL Server 2022 deployment types. |
| Schema Compare Extension | Fixed problem where differences in schema compare were not being highlighted. |
| Schema Compare Extension | Permissions are now included in schema compare when the "Include Permissions" option is selected. |
| SQL Projects Extension | Changes to db_datawriter or db_datareader roles are now supported. |
| SQL Projects Extension | Updated Database Projects Net Core SDK Location dialog to be more descriptive. |
| Table Designer | Updated Table Designer to disable transaction support for Azure Synapse databases. |
| Table Designer | Addressed problem of the table name not refreshing after being updated prior to publishing. |
| Table Designer | Fixed issue where table designer could not be opened for existing Ledger tables. |
## Version 1.40.2
* Release date: December 27, 2022
* Release status: General Availability
### Bug fixes in 1.40.2
* Fix potential elevation of privilege issue using Bash shell on Windows. VS Code issue [#160827](https://github.com/microsoft/vscode/issues/160827)
## Version 1.40.1
* Release date: November 22, 2022
* Release status: General Availability
### Bug fixes in 1.40.1
* Fixed bug that caused folders in the servers tree to display incorrect contents [#21245](https://github.com/microsoft/azuredatastudio/issues/21245)
## Version 1.40.0
* Release date: November 16, 2022
* Release status: General Availability
### What's new in 1.40.0
| New Item | Details |
|----------|---------|
| Connections | Connections for SQL now default to Encrypt = 'True'. |
| ARM64 Support for macOS | ARM64 build for macOS is now available. |
| Table Designer | Announcing the General Availability of the Table Designer. |
| Table Designer | Period columns now added by default when System-Versioning table option is selected. |
| Table Designer | Added support for hash indexes for In-Memory tables, and added support for columnstore indexes. |
| Table Designer | New checkbox added, "Preview Database Updates", when making database changes to ensure that users are aware of potential risks prior to updating the database.|
| Table Designer | "Move Up" and "Move Down" buttons added to support column reordering for Primary Keys. |
| Query Plan Viewer | Announcing the General Availability of the Query Plan Viewer in Azure Data Studio. |
| Query Plan Viewer | Added support for identification of most expensive operator(s) in a plan. |
| Query Plan Viewer | Updates were made to the properties window to allow for full display of text upon hovering over a cell. Full text can also be copied. |
| Query Plan Viewer | Implemented filter functionality in the Properties pane for an execution plan. |
| Query Plan Viewer | Added support for collapsing and expanding all subcategories within the Plan Comparison Properties window. |
| Query History Extension | Announcing the General Availability of the SQL History Extension. |
| Query History Extension | Now includes ability to persist history across multiple user sessions. |
| Query History Extension | Added the ability to limit the number of entries stored in the history. |
| Schema Compare | Users can now open .scmp files directly from the context menu for existing files in the file explorer. |
| Query Editor | Now allows full display for text strings larger than 65,535 characters. |
| Query Editor | Added support for the SHIFT key when making multiple cell selections. |
| MySQL Extension | Support for MySQL extension is now available in preview. |
| Azure SQL Migration Extension | Azure SQL Database Offline Migrations is now available in preview. Customers can use this new capability to save and share reports as needed. |
| Azure SQL Migration Extension | Addition of elastic Azure recommendations model. |
| Database Migration Assessment for Oracle | Assessment tooling for Oracle database migrations to Azure Database for PostgreSQL and Azure SQL available in preview. |
| VS Code merge | VS Code merges to version 1.67. Read [their release notes](https://code.visualstudio.com/updates/v1_67) to learn more. |
| SQL Database Projects | Adds SQL projects support for syntax introduced in SQL Server 2022.|
### Bug fixes in 1.40.0
| New Item | Details |
|----------|---------|
| Connections | Fixed bug that occurred when trying to connect to the Dedicated Admin Connection (DAC) on SQL Server. |
| Connections | Fixed issue with wrong tenant showing up while trying to connect to a database with Azure Active Directory login. |
| Connections | Fixed zoom reset behavior when adding a new connection. |
| Connections | Fixed loading bug what occurred when attempting to sign in to Azure via proxy. |
| Connections | Fixed issue encountered while attempting to connect to a "sleeping" Azure SQL Database. |
| Object Explorer | Fixed the SELECT script generation issue for Synapse Databases. |
| Schema Compare | Fixed error that caused duplication of comment headers when applying schema changes on stored procedure objects. |
| Schema Compare | Fixed issue that prevented schema compare issues when creating a new empty schema with a "DOMAIN\User" pattern. |
| Query Editor | Fixed bug that caused results to be lost upon saving query files. |
| Table Designer | Fixed a bug that caused creation of a new table when renaming an existing table. |
| Query Plan Viewer | Fixed missing index recommendation T-SQL syntax. |
| SQL Projects | Fixed bug in SQL Projects that led to extension not using output path when publishing a project. |
| SQL Projects | Fixed bug that caused .NET install to not be found when using the SQL Projects extension on Linux platforms. |
## Version 1.39.1
* Release date: August 30, 2022
* Release status: General Availability
### Bug fixes in 1.39.1
* Fixed bug that caused Database Trees in server connections to not expand in the Object Explorer.
## Version 1.39.0
* Release date: August 24, 2022
* Release status: General Availability
## What's new in 1.39.0
### What's new in 1.39.0
* New Features:
* Deployment Wizard - Azure Data Studio now supports SQL Server 2022 (Preview) in the Deployment Wizard for both local and container installation.
* Object Explorer - Added Ledger icons and scripting support to Object Explorer for Ledger objects.
@@ -30,28 +274,10 @@
* Notebooks - Fixed a bug that prevented markdown cell toolbar shortcuts from working after creating a new split view cell.
* Notebooks - Fixed a bug that caused text cells to be erroneously created in split view mode when the notebook default text edit mode was set to "Markdown".
| Platform |
| --------------------------------------- |
| [Windows User Installer][win-user] |
| [Windows System Installer][win-system] |
| [Windows ZIP][win-zip] |
| [macOS ZIP][osx-zip] |
| [Linux TAR.GZ][linux-zip] |
| [Linux RPM][linux-rpm] |
| [Linux DEB][linux-deb] |
[win-user]: https://go.microsoft.com/fwlink/?linkid=2198663
[win-system]: https://go.microsoft.com/fwlink/?linkid=2198878
[win-zip]: https://go.microsoft.com/fwlink/?linkid=2198664
[osx-zip]: https://go.microsoft.com/fwlink/?linkid=2198762
[linux-zip]: https://go.microsoft.com/fwlink/?linkid=2198879
[linux-rpm]: https://go.microsoft.com/fwlink/?linkid=2198880
[linux-deb]: https://go.microsoft.com/fwlink/?linkid=2198763
## Version 1.38.0
* Release date: July 27, 2022
* Release status: General Availability
## What's new in 1.38.0
### What's new in 1.38.0
* New Features:
* VS Code merges to 1.62 - This release includes updates to VS Code from the three previous VS Code releases. Read [their release notes](https://code.visualstudio.com/updates/v1_62) to learn more.
* Table Designer - New column added to Table Designer for easier access to additional actions specific to individual rows.
@@ -79,7 +305,7 @@
## Version 1.37.0
* Release date: June 15, 2022
* Release status: General Availability
## What's new in this version
### What's new in this version
* New Features:
* Backup & Restore - Backup & Restore to URL is now available in preview for Azure SQL Managed Instances.
* Table Designer - Added API to support computed column capabilities on Table Designer.
@@ -98,11 +324,11 @@
* Schema Compare - Fixed issue with indexes not being added correctly when updating project from database.
* Notebooks - Fixed inconsistencies with notebook cell behavior and toolbars.
* Notebooks - Fixed issues with keyboard navigation.
## Version 1.36.2
* Release date: May 20, 2022
* Release status: General Availability
## What's new in this version
### What's new in this version
- Fix connectivity issue with PBI data source
- Fix query plan zoom and icon issues
- Issues fixed in this release https://github.com/microsoft/azuredatastudio/milestone/89?closed=1
@@ -110,14 +336,14 @@
## Version 1.36.1
* Release date: April 22, 2022
* Release status: General Availability
## What's new in this version
### What's new in this version
* April Hotfix addressing these issues https://github.com/microsoft/azuredatastudio/milestone/88?closed=1.
* Hotfix RCA - https://github.com/microsoft/azuredatastudio/wiki/ADS-April-2022-Hotfix-RCA
## Version 1.36.0
* Release date: April 20, 2022
* Release status: General Availability
## What's new in this version
### What's new in this version
- General Availability of the Azure SQL Migration Extension for ADS
- Support for .NET Interactive Notebooks Extension
- New Table Designer Features including support for System Versioned, Graph and Memory Optomized Tables
@@ -127,14 +353,14 @@
## Version 1.35.1
* Release date: March 17, 2022
* Release status: General Availability
## Hotfix release
### Hotfix release
- Fix for [Excel number format #18615](https://github.com/microsoft/azuredatastudio/issues/18615)
- Fix for [Geometry Data Type Returned as Unknown Charset in Results Grid #18630](https://github.com/microsoft/azuredatastudio/issues/18630)
## Version 1.35.0
## Version 1.35.0
* Release date: February 24, 2022
* Release status: General Availability
## What's new in this version
### What's new in this version
* New Features:
* Table Designer - Added functionality for creation and management of tables for SQL Servers. Built using DacFx framework
* Query Plan Viewer - Added functionality for users to view a graphic view of estimated and actual query plans without need for an extension
@@ -147,7 +373,7 @@
## Version 1.34.0
* Release date: December 15, 2021
* Release status: General Availability
## What's new in this version
### What's new in this version
* New Features:
* Added “Currently restoring backup file” in the migration progress details page of Azure SQL Migration extension when backup files location is Azure Storage blob container
* Enhancements to diagnostics in Azure SQL Migration extension
@@ -171,14 +397,14 @@
* Release date: Nov 4, 2021
* Release status: General Availability
## Hotfix release
### Hotfix release
- Fix for [#16535 Unable to See Saved Connections in Restricted Mode](https://github.com/microsoft/azuredatastudio/issues/17535)
- Fix for [#17579 Can't type in Notebook code cell after editing text cell](https://github.com/microsoft/azuredatastudio/issues/17579)
## Version 1.33.0
* Release date: October 27, 2021
* Release status: General Availability
## What's new in this version
### What's new in this version
* New Notebook Features:
* Notebook Views
* Split cell support
@@ -217,7 +443,7 @@
## Version 1.31.1
* Release date: July 29, 2021
* Release status: General Availability
## Hotfix Release
### Hotfix Release
- Fix for [#16436 Database Connection Toolbar Missing](https://github.com/microsoft/azuredatastudio/issues/16436)
## Version 1.31.0
@@ -508,7 +734,7 @@
* GA status for Big Data Cluster/SQL 2019 features [#8269](https://github.com/microsoft/azuredatastudio/issues/8269)
* Resolved [bugs and issues](https://github.com/microsoft/azuredatastudio/milestone/44?closed=1).
## Contributions and "thank you"
### Contributions and "thank you"
We would like to thank all our users who raised issues, and in particular the following users who helped contribute fixes:
## Version 1.13.1
@@ -522,7 +748,7 @@ We would like to thank all our users who raised issues, and in particular the fo
* General Availability release for Schema Compare and DACPAC extensions
* Resolved [bugs and issues](https://github.com/microsoft/azuredatastudio/milestone/43?closed=1).
## Contributions and "thank you"
### Contributions and "thank you"
We would like to thank all our users who raised issues, and in particular the following users who helped contribute fixes:
* aspnerd for `Use selected DB for import wizard schema list` [#7878](https://github.com/microsoft/azuredatastudio/pull/7878)
@@ -540,7 +766,7 @@ We would like to thank all our users who raised issues, and in particular the fo
* Release date: October 2, 2019
* Release status: General Availability
## What's new in this version
### What's new in this version
* Announcing the Query History panel
* Improved Query Results Grid copy selection support
* TempDB page added to Server Reports extension
@@ -551,14 +777,14 @@ We would like to thank all our users who raised issues, and in particular the fo
* Release date: September 10, 2019
* Release status: General Availability
## What's new in this version
### What's new in this version
* Resolved [bugs and issues](https://github.com/microsoft/azuredatastudio/milestone/41?closed=1).
## Version 1.10.0
* Release date: August 14, 2019
* Release status: General Availability
## What's new in this version
### What's new in this version
* [SandDance](https://github.com/microsoft/SandDance) integration — A new way to interact with data. Download the extension [here](https://docs.microsoft.com/sql/azure-data-studio/sanddance-extension)
* Notebook improvements
* Better loading performance
@@ -574,7 +800,7 @@ We would like to thank all our users who raised issues, and in particular the fo
* Release date: July 11, 2019
* Release status: General Availability
## What's new in this version
### What's new in this version
* Release of [SentryOne Plan Explorer Extension](https://www.sentryone.com/products/sentryone-plan-explorer-extension-azure-data-studio)
* **Schema Compare**
* Schema Compare File Support (.SCMP)
@@ -600,7 +826,7 @@ We would like to thank all our users who raised issues, and in particular the fo
* Release date: June 6, 2019
* Release status: General Availability
## What's new in this version
### What's new in this version
* Initial release of the Database Admin Tool Extensions for Windows *Preview* extension
* Initial release of the Central Management Servers extension
* **Schema Compare**
@@ -621,24 +847,24 @@ We would like to thank all our users who raised issues, and in particular the fo
* Release date: May 8, 2019
* Release status: General Availability
## What's new in this version
### What's new in this version
* Announcing Schema Compare *Preview* extension
* Tasks Panel UX improvement
* Announcing new Welcome page
* Resolved [bugs and issues](https://github.com/microsoft/azuredatastudio/milestone/31?closed=1).
## Contributions and "thank you"
### Contributions and "thank you"
We would like to thank all our users who raised issues.
## Version 1.6.0
* Release date: April 18, 2019
* Release status: General Availability
## What's new in this version
### What's new in this version
* Align with latest VS Code editor platform (currently 1.33.1)
* Resolved [bugs and issues](https://github.com/Microsoft/azuredatastudio/milestone/26?closed=1).
## Contributions and "thank you"
### Contributions and "thank you"
We would like to thank all our users who raised issues, and in particular the following users who helped contribute fixes:
* yamatoya for `fix the format (#4899)`
@@ -647,13 +873,13 @@ We would like to thank all our users who raised issues, and in particular the fo
* Release date: March 18, 2019
* Release status: General Availability
## What's new in this version
### What's new in this version
* Announcing T-SQL Notebooks
* Announcing PostgreSQL extension
* Announcing SQL Server Dacpac extension
* Resolved [bugs and issues](https://github.com/Microsoft/azuredatastudio/milestone/25?closed=1).
## Contributions and "thank you"
### Contributions and "thank you"
We would like to thank all our users who raised issues, and in particular the following users who helped contribute fixes:
* GeoffYoung for `Fix sqlDropColumn description #4422`
@@ -662,7 +888,7 @@ We would like to thank all our users who raised issues, and in particular the fo
* Release date: February 13, 2019
* Release status: General Availability
## What's new in this version
### What's new in this version
* Added **Admin pack for SQL Server** extension pack to make it easier to install SQL Server admin-related extensions. This includes:
* [SQL Server Agent](https://docs.microsoft.com/en-us/sql/azure-data-studio/sql-server-agent-extension?view=sql-server-2017)
* [SQL Server Profiler](https://docs.microsoft.com/en-us/sql/azure-data-studio/sql-server-profiler-extension?view=sql-server-2017)
@@ -676,7 +902,7 @@ We would like to thank all our users who raised issues, and in particular the fo
* Results streaming enabled by default for long running queries
* Resolved [bugs and issues](https://github.com/Microsoft/azuredatastudio/milestone/23?closed=1).
## Contributions and "thank you"
### Contributions and "thank you"
We would like to thank all our users who raised issues, and in particular the following users who helped contribute fixes:
* AlexFsmn for `Added context menu for DBs in explorer view to backup & restore db. #2277`
@@ -687,7 +913,7 @@ We would like to thank all our users who raised issues, and in particular the fo
* Release date: January 9, 2019
* Release status: General Availability
## What's new in this version
### What's new in this version
* #13 Feature Request: Azure Active Directory Authentication
* #1040 Stream initial query results as they become available
* #3298 Сan't add an azure account.
@@ -697,7 +923,7 @@ We would like to thank all our users who raised issues, and in particular the fo
* Updates to [SQL Server 2019 extension](https://docs.microsoft.com/sql/azure-data-studio/sql-server-2019-extension?view=sql-server-ver15)
* **sp_executesql to SQL** and **New Database** extensions
## Contributions and "thank you"
### Contributions and "thank you"
We would like to thank all our users who raised issues, and in particular the following users who helped contribute fixes:
* Tarig0 for `Add Routine_Type to CreateStoredProc fixes #3257 (#3286)`
@@ -709,7 +935,7 @@ We would like to thank all our users who raised issues, and in particular the fo
* Release date: November 6, 2018
* Release status: General Availability
## What's new in this version
### What's new in this version
* Update to the SQL Server 2019 Preview extension
* Introducing Paste the Plan extension
* Introducing High Color queries extension, including SSMS editor theme
@@ -718,7 +944,7 @@ We would like to thank all our users who raised issues, and in particular the fo
* Upgrade SQL Tools Service to .Net Core 2.2 Preview 3 (for eventual AAD support)
* Fix customer reported GitHub issues
## Contributions and "thank you"
### Contributions and "thank you"
We would like to thank all our users who raised issues, and in particular the following users who helped contribute fixes:
* rdaniels6813 for `Add query plan theme support #3031`
@@ -732,12 +958,12 @@ We would like to thank all our users who raised issues, and in particular the fo
* Release date: October 18, 2018
* Release status: General Availability
## What's new in this version
### What's new in this version
* Introducing the Azure Resource Explorer to browse Azure SQL Databases
* Improve Object Explorer and Query Editor connectivity robustness
* SQL Server 2019 and SQL Agent extension improvements
## Contributions and "thank you"
### Contributions and "thank you"
We would like to thank all our users who raised issues, and in particular the following users who helped contribute fixes:
* philoushka for `center the icon #2760`
@@ -749,7 +975,7 @@ We would like to thank all our users who raised issues, and in particular the fo
* Release date: September 24, 2018
* Release status: General Availability
## What's new in this version
### What's new in this version
* Announcing the SQL Server 2019 Preview extension.
* Support for SQL Server 2019 preview features including Big Data Cluster support.
* Azure Data Studio Notebooks
@@ -760,7 +986,7 @@ We would like to thank all our users who raised issues, and in particular the fo
* Accessibility improvements for screen reader, keyboard navigation and high-contrast.
* Added Connection name option to provide an alternative display name in the Servers viewlet.
## Contributions and "thank you"
### Contributions and "thank you"
We would like to thank all our users who raised issues, and in particular the following users who helped contribute fixes:
* AlexFsmn `Feature: Ability to add connection name #2332`
@@ -770,7 +996,7 @@ We would like to thank all our users who raised issues, and in particular the fo
* Release date: August 30, 2018
* Release status: Public Preview
## What's new in this version
### What's new in this version
* Announcing the SQL Server Import Extension
* SQL Server Profiler Session management
* SQL Server Agent improvements
@@ -778,7 +1004,7 @@ We would like to thank all our users who raised issues, and in particular the fo
* Quality of Life improvements: Connection strings
* Fix many customer reported GitHub issues
## Contributions and "thank you"
### Contributions and "thank you"
We would like to thank all our users who raised issues, and in particular the following users who helped contribute fixes:
* SebastianPfliegel `Added more saveAsCsv options #2099`
@@ -796,7 +1022,7 @@ We would like to thank all our users who raised issues, and in particular the fo
* Release date: July 19, 2018
* Release status: Public Preview
## What's new in this version
### What's new in this version
* SQL Server Agent for Azure Data Studio extension improvements
* Added view of Alerts, Operators, and Proxies and icons on left pane
* Added dialogs for New Job, New Job Step, New Alert, and New Operator
@@ -817,7 +1043,7 @@ We would like to thank all our users who raised issues, and in particular the fo
* Release date: June 20, 2018
* Release status: Public Preview
## What's new in this version
### What's new in this version
* **SQL Server Profiler for Azure Data Studio *Preview*** extension initial release
* The new **SQL Data Warehouse** extension includes rich customizable dashboard widgets surfacing insights to your data warehouse. This unlocks key scenarios around managing and tuning your data warehouse to ensure it is optimized for consistent performance.
* **Edit Data "Filtering and Sorting"** support
@@ -830,7 +1056,7 @@ We would like to thank all our users who raised issues, and in particular the fo
* Release date: May 7, 2018
* Release status: Public Preview
## What's new in this version
### What's new in this version
The May release is focused on stabilization and bug fixes leading up to the Build conference. This build contains the following highlights.
* Announcing **Redgate SQL Search** extension available in Extension Manager
@@ -845,7 +1071,7 @@ The May release is focused on stabilization and bug fixes leading up to the Buil
* Release date: April 25, 2018
* Release status: Public Preview
## What's new in this version
### What's new in this version
The April Public Preview release contains some of the following highlights.
* Improvements to SQL Agent *Preview* extension
@@ -860,7 +1086,7 @@ The April Public Preview release contains some of the following highlights.
* Release date: March 28, 2017
* Release status: Public Preview
## What's new in this version
### What's new in this version
The March Public Preview release enables some key aspects of the Azure Data Studio
extensibility story. Here are some highlights in this release.
@@ -875,14 +1101,14 @@ extensibility story. Here are some highlights in this release.
* Release date: February 16, 2017
* Release status: Public Preview Hotfix 1
## What's new in this version
### What's new in this version
* Bug fix for `#717 Selecting partial query and hitting Cmd or Ctrl+C opens terminal with Error message`
## Version 0.26.6
* Release date: February 15, 2017
* Release status: Public Preview
## What's new in this version
### What's new in this version
The February release fixes several important customer reported issues, as well as various feature improvements. We've also introduced auto-update support in February which will simplify keeping updated with the lastest changes.
Here's some of the highlights in the February release.
@@ -902,7 +1128,7 @@ Here's some of the highlights in the February release.
* VS Code Editor 1.19 integration
* Update JustinPealing/html-query-plan component to pick-up several Query Plan viewer improvements
## Contributions and "thank you"
### Contributions and "thank you"
We would like to thank all our users who raised issues, and in particular the following users who helped contribute fixes:
* SebastianPfliegel for `Add cursor snippet (#475)`
@@ -913,7 +1139,7 @@ We would like to thank all our users who raised issues, and in particular the fo
* Release date: January 17, 2017
* Release status: Public Preview
## What's new in this version
### What's new in this version
The January release focuses on addressing a few of the top upvoted feature suggestions, as well as fixing high-priority bugs. This release period coincides with holiday vacations, so the churn in this release is
relatively scoped.
@@ -928,7 +1154,7 @@ Here's some of the highlights in the January release.
* Fix missing Azure Account branding icon
* Change "Server name" to "Server" in Connection Dialog
## Contributions and "thank you"
### Contributions and "thank you"
We would like to thank all our users who raised issues, and in particular the following users who helped contribute fixes:
* alextercete for `Fix "No extension gallery service configured" error (#427)`
@@ -938,7 +1164,7 @@ We would like to thank all our users who raised issues, and in particular the fo
* Release date: December 19, 2017
* Release status: Public Preview
## What's new in this version
### What's new in this version
* Azure Integration with Create Firewall Rule
* Windows Setup, Linux DEB and Linux RPM installation packages
* Manage Dashboard visual layout editor
@@ -962,7 +1188,7 @@ We would like to thank all our users who raised issues, and in particular the fo
* Allow expanding databases not in certain non-Online states
* Connection Dialog selects most common default authentication method based on platform
## Contributions and "thank you"
### Contributions and "thank you"
We would like to thank all our users who raised issues, and in particular the following users who helped contribute fixes:
* mwiedemeyer for `Fix #58: Default sort order for DB size widget (#111)`
* AlexTroshkin for `Show disconnect in context menu only when connectionProfile connected (#150)`

3
PRIVACY.md Normal file
View File

@@ -0,0 +1,3 @@
# Data Collection
The software may collect information about you and your use of the software and send it to Microsoft. Microsoft may use this information to provide services and improve our products and services. You may turn off the telemetry as described in the repository. There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing appropriate notices to users of your applications together with a copy of Microsoft's privacy statement. Our privacy statement is located at <https://go.microsoft.com/fwlink/?LinkID=824704>. You can learn more about data collection and use in the help documentation and our privacy statement. Your use of the software operates as your consent to these practices.

View File

@@ -1,36 +1,66 @@
# Azure Data Studio
[![Join the chat at https://gitter.im/Microsoft/sqlopsstudio](https://badges.gitter.im/Microsoft/sqlopsstudio.svg)](https://gitter.im/Microsoft/sqlopsstudio?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
[![Build Status](https://dev.azure.com/azuredatastudio/azuredatastudio/_apis/build/status/Azure%20Data%20Studio%20CI?branchName=main)](https://dev.azure.com/azuredatastudio/azuredatastudio/_build/latest?definitionId=4&branchName=main)
[![Build Status](https://dev.azure.com/ms/azuredatastudio/_apis/build/status/AzureDataStudio-Localization-CI?branchName=main)](https://dev.azure.com/ms/azuredatastudio/_build/latest?definitionId=453&branchName=main)
[![Twitter Follow](https://img.shields.io/twitter/follow/azuredatastudio?style=social)](https://twitter.com/azuredatastudio)
Azure Data Studio is a data management tool that enables you to work with SQL Server, Azure SQL DB and SQL DW from Windows, macOS and Linux.
Azure Data Studio is a data management and development tool with connectivity to popular cloud and on-premises databases. Azure Data Studio supports Windows, macOS, and Linux, with immediate capability to connect to Azure SQL and SQL Server. Browse the [extension library](wiki/List-of-Extensions) for additional database support options including MySQL, PostreSQL, and MongoDB.
## **Download the latest Azure Data Studio release**
| Platform |
| --------------------------------------- |
| [Windows User Installer][win-user] |
| [Windows System Installer][win-system] |
| [Windows ZIP][win-zip] |
| [macOS ZIP][osx-zip] |
| [Linux TAR.GZ][linux-zip] |
| [Linux RPM][linux-rpm] |
| [Linux DEB][linux-deb] |
|Platform |Type |Download |
| --------|-----------------|----------------------- |
|Windows |User Installer |[64 bit][win-user]&emsp;[ARM][win-user-arm64] |
| |System Installer |[64 bit][win-system]&emsp;[ARM][win-system-arm64] |
| |.zip |[64 bit][win-zip]&emsp;[ARM][win-zip-arm64] |
|Linux |.tar.gz |[64 bit][linux-zip] |
| |.deb |[64 bit][linux-deb] |
| |.rpm |[64 bit][linux-rpm] |
|Mac |.zip |[Universal][osx-universal]&emsp;[Intel Chip][osx-zip]&emsp;[Apple Silicon][osx-arm64] |
[win-user]: https://azuredatastudio-update.azurewebsites.net/latest/win32-x64-user/stable
[win-system]: https://azuredatastudio-update.azurewebsites.net/latest/win32-x64/stable
[win-zip]: https://azuredatastudio-update.azurewebsites.net/latest/win32-x64-archive/stable
[win-user-arm64]: https://azuredatastudio-update.azurewebsites.net/latest/win32-arm64-user/stable
[win-system-arm64]: https://azuredatastudio-update.azurewebsites.net/latest/win32-arm64/stable
[win-zip-arm64]: https://azuredatastudio-update.azurewebsites.net/latest/win32-arm64-archive/stable
[linux-zip]: https://azuredatastudio-update.azurewebsites.net/latest/linux-x64/stable
[linux-deb]: https://azuredatastudio-update.azurewebsites.net/latest/linux-deb-x64/stable
[linux-rpm]: https://azuredatastudio-update.azurewebsites.net/latest/linux-rpm-x64/stable
[osx-universal]: https://azuredatastudio-update.azurewebsites.net/latest/darwin-universal/stable
[osx-zip]: https://azuredatastudio-update.azurewebsites.net/latest/darwin/stable
[osx-arm64]: https://azuredatastudio-update.azurewebsites.net/latest/darwin-arm64/stable
Go to our [download page](https://aka.ms/getazuredatastudio) for more specific instructions.
## Try out the latest insiders build from `main`:
- [Windows User Installer - **Insiders build**](https://azuredatastudio-update.azurewebsites.net/latest/win32-x64-user/insider)
- [Windows System Installer - **Insiders build**](https://azuredatastudio-update.azurewebsites.net/latest/win32-x64/insider)
- [Windows ZIP - **Insiders build**](https://azuredatastudio-update.azurewebsites.net/latest/win32-x64-archive/insider)
- [macOS ZIP - **Insiders build**](https://azuredatastudio-update.azurewebsites.net/latest/darwin/insider)
- [Linux TAR.GZ - **Insiders build**](https://azuredatastudio-update.azurewebsites.net/latest/linux-x64/insider)
## Try out the latest insiders build from `main` branch:
See the [change log](https://github.com/Microsoft/azuredatastudio/blob/main/CHANGELOG.md) for additional details of what's in this release.
Go to our [download page](https://aka.ms/getazuredatastudio) for more specific instructions.
|Platform |Type |Download - Insiders Build |
| --------|-----------------|----------------------- |
|Windows |User Installer |[64 bit][in-win-user]&emsp;[ARM][in-win-user-arm64] |
| |System Installer |[64 bit][in-win-system]&emsp;[ARM][in-win-system-arm64] |
| |.zip |[64 bit][in-win-zip]&emsp;[ARM][in-win-zip-arm64] |
|Linux |.tar.gz |[64 bit][in-linux-zip] |
| |.deb |[64 bit][in-linux-deb] |
| |.rpm |[64 bit][in-linux-rpm] |
|Mac |.zip |[Universal][in-osx-universal]&emsp;[Intel Chip][in-osx-zip]&emsp;[Apple Silicon][in-osx-arm64] |
[in-win-user]: https://azuredatastudio-update.azurewebsites.net/latest/win32-x64-user/insider
[in-win-system]: https://azuredatastudio-update.azurewebsites.net/latest/win32-x64/insider
[in-win-zip]: https://azuredatastudio-update.azurewebsites.net/latest/win32-x64-archive/insider
[in-win-user-arm64]: https://azuredatastudio-update.azurewebsites.net/latest/win32-arm64-user/insider
[in-win-system-arm64]: https://azuredatastudio-update.azurewebsites.net/latest/win32-arm64/insider
[in-win-zip-arm64]: https://azuredatastudio-update.azurewebsites.net/latest/win32-arm64-archive/insider
[in-linux-zip]:https://azuredatastudio-update.azurewebsites.net/latest/linux-x64/insider
[in-linux-deb]:https://azuredatastudio-update.azurewebsites.net/latest/linux-deb-x64/insider
[in-linux-rpm]:https://azuredatastudio-update.azurewebsites.net/latest/linux-rpm-x64/insider
[in-osx-universal]: https://azuredatastudio-update.azurewebsites.net/latest/darwin-universal/insider
[in-osx-zip]: https://azuredatastudio-update.azurewebsites.net/latest/darwin/insider
[in-osx-arm64]: https://azuredatastudio-update.azurewebsites.net/latest/darwin-arm64/insider
Please visit our [download page](https://aka.ms/getazuredatastudio) for more specific installation instructions.
Check out the [change log](https://github.com/Microsoft/azuredatastudio/blob/main/CHANGELOG.md) or [release notes](https://learn.microsoft.com/sql/azure-data-studio/release-notes-azure-data-studio) for additional details of what's in the each release.
The [Azure Data Studio documentation](https://learn.microsoft.com/sql/azure-data-studio) includes complete details on getting started, connection quickstarts, and feature tutorials.
## **Feature Highlights**
@@ -64,8 +94,12 @@ This project has adopted the [Microsoft Open Source Code of Conduct](https://ope
## Localization
Azure Data Studio is localized into 10 languages: French, Italian, German, Spanish, Simplified Chinese, Traditional Chinese, Japanese, Korean, Russian, and Portuguese (Brazil). The language packs are available in the Extension Manager marketplace. Simply, search for the specific language using the extension marketplace and install. Once you install the selected language, Azure Data Studio will prompt you to restart with the new language.
## Telemetry
Azure Data Studio collects telemetry data, which is used to help understand how to improve the product. For example, this usage data helps to debug issues, such as slow start-up times, and to prioritize new features. While we appreciate the insights this data provides, we also know that not everyone wants to send usage data and you can disable telemetry as described in the [disable telemetry reporting](https://aka.ms/ads-disable-telemetry) documentation.
## Privacy Statement
The [Microsoft Enterprise and Developer Privacy Statement](https://privacy.microsoft.com/privacystatement) describes the privacy statement of this software.
The [Microsoft Privacy Statement](https://go.microsoft.com/fwlink/?LinkID=824704) describes the privacy statement of this software.
## Contributions and "Thank You"
We would like to thank all our users who raised issues, and in particular the following users who helped contribute fixes:
@@ -130,11 +164,3 @@ And of course, we'd like to thank the authors of all upstream dependencies. Ple
Copyright (c) Microsoft Corporation. All rights reserved.
Licensed under the [Source EULA](LICENSE.txt).
[win-user]: https://go.microsoft.com/fwlink/?linkid=2198663
[win-system]: https://go.microsoft.com/fwlink/?linkid=2198878
[win-zip]: https://go.microsoft.com/fwlink/?linkid=2198664
[osx-zip]: https://go.microsoft.com/fwlink/?linkid=2198762
[linux-zip]: https://go.microsoft.com/fwlink/?linkid=2198879
[linux-rpm]: https://go.microsoft.com/fwlink/?linkid=2198880
[linux-deb]: https://go.microsoft.com/fwlink/?linkid=2198763

File diff suppressed because it is too large Load Diff

View File

@@ -1 +1 @@
2021-11-19T02:27:18.022Z
2022-07-19T07:55:26.168Z

1
build/.gitignore vendored Normal file
View File

@@ -0,0 +1 @@
.yarnrc

View File

@@ -139,6 +139,14 @@ vscode-encrypt/binding.gyp
vscode-encrypt/README.md
!vscode-encrypt/build/Release/vscode-encrypt-native.node
vscode-policy-watcher/build/**
vscode-policy-watcher/.husky/**
vscode-policy-watcher/src/**
vscode-policy-watcher/binding.gyp
vscode-policy-watcher/README.md
vscode-policy-watcher/index.d.ts
!vscode-policy-watcher/build/Release/vscode-policy-watcher.node
vscode-windows-ca-certs/**/*
!vscode-windows-ca-certs/package.json
!vscode-windows-ca-certs/**/*.node

View File

@@ -4,6 +4,7 @@
* Licensed under the Source EULA. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/
Object.defineProperty(exports, "__esModule", { value: true });
exports.OctoKitIssue = exports.OctoKit = void 0;
const core_1 = require("@actions/core");
const github_1 = require("@actions/github");
const child_process_1 = require("child_process");
@@ -20,7 +21,6 @@ class OctoKit {
}
async *query(query) {
const q = query.q + ` repo:${this.params.owner}/${this.params.repo}`;
console.log(`Querying for ${q}:`);
const options = this.octokit.search.issuesAndPullRequests.endpoint.merge({
...query,
q,
@@ -41,19 +41,17 @@ class OctoKit {
};
for await (const pageResponse of this.octokit.paginate.iterator(options)) {
await timeout();
await utils_1.logRateLimit(this.token);
await (0, utils_1.logRateLimit)(this.token);
const page = pageResponse.data;
console.log(`Page ${++pageNum}: ${page.map(({ number }) => number).join(' ')}`);
yield page.map((issue) => new OctoKitIssue(this.token, this.params, this.octokitIssueToIssue(issue)));
}
}
async createIssue(owner, repo, title, body) {
core_1.debug(`Creating issue \`${title}\` on ${owner}/${repo}`);
(0, core_1.debug)(`Creating issue \`${title}\` on ${owner}/${repo}`);
if (!this.options.readonly)
await this.octokit.issues.create({ owner, repo, title, body });
}
octokitIssueToIssue(issue) {
var _a, _b, _c, _d, _e, _f;
return {
author: { name: issue.user.login, isGitHubApp: issue.user.type === 'Bot' },
body: issue.body,
@@ -64,8 +62,8 @@ class OctoKit {
locked: issue.locked,
numComments: issue.comments,
reactions: issue.reactions,
assignee: (_b = (_a = issue.assignee) === null || _a === void 0 ? void 0 : _a.login) !== null && _b !== void 0 ? _b : (_d = (_c = issue.assignees) === null || _c === void 0 ? void 0 : _c[0]) === null || _d === void 0 ? void 0 : _d.login,
milestoneId: (_f = (_e = issue.milestone) === null || _e === void 0 ? void 0 : _e.number) !== null && _f !== void 0 ? _f : null,
assignee: issue.assignee?.login ?? issue.assignees?.[0]?.login,
milestoneId: issue.milestone?.number ?? null,
createdAt: +new Date(issue.created_at),
updatedAt: +new Date(issue.updated_at),
closedAt: issue.closed_at ? +new Date(issue.closed_at) : undefined,
@@ -73,10 +71,10 @@ class OctoKit {
}
async hasWriteAccess(user) {
if (user.name in this.writeAccessCache) {
core_1.debug('Got permissions from cache for ' + user);
(0, core_1.debug)('Got permissions from cache for ' + user);
return this.writeAccessCache[user.name];
}
core_1.debug('Fetching permissions for ' + user);
(0, core_1.debug)('Fetching permissions for ' + user);
const permissions = (await this.octokit.repos.getCollaboratorPermissionLevel({
...this.params,
username: user.name,
@@ -96,14 +94,14 @@ class OctoKit {
}
}
async createLabel(name, color, description) {
core_1.debug('Creating label ' + name);
(0, core_1.debug)('Creating label ' + name);
if (!this.options.readonly)
await this.octokit.issues.createLabel({ ...this.params, color, description, name });
else
this.mockLabels.add(name);
}
async deleteLabel(name) {
core_1.debug('Deleting label ' + name);
(0, core_1.debug)('Deleting label ' + name);
try {
if (!this.options.readonly)
await this.octokit.issues.deleteLabel({ ...this.params, name });
@@ -116,7 +114,7 @@ class OctoKit {
}
}
async readConfig(path) {
core_1.debug('Reading config at ' + path);
(0, core_1.debug)('Reading config at ' + path);
const repoPath = `.github/${path}.json`;
const data = (await this.octokit.repos.getContents({ ...this.params, path: repoPath })).data;
if ('type' in data && data.type === 'file') {
@@ -128,10 +126,10 @@ class OctoKit {
throw Error('Found directory at config path when expecting file' + JSON.stringify(data));
}
async releaseContainsCommit(release, commit) {
if (utils_1.getInput('commitReleasedDebuggingOverride')) {
if ((0, utils_1.getInput)('commitReleasedDebuggingOverride')) {
return true;
}
return new Promise((resolve, reject) => child_process_1.exec(`git -C ./repo merge-base --is-ancestor ${commit} ${release}`, (err) => !err || err.code === 1 ? resolve(!err) : reject(err)));
return new Promise((resolve, reject) => (0, child_process_1.exec)(`git -C ./repo merge-base --is-ancestor ${commit} ${release}`, (err) => !err || err.code === 1 ? resolve(!err) : reject(err)));
}
}
exports.OctoKit = OctoKit;
@@ -142,7 +140,7 @@ class OctoKitIssue extends OctoKit {
this.issueData = issueData;
}
async addAssignee(assignee) {
core_1.debug('Adding assignee ' + assignee + ' to ' + this.issueData.number);
(0, core_1.debug)('Adding assignee ' + assignee + ' to ' + this.issueData.number);
if (!this.options.readonly) {
await this.octokit.issues.addAssignees({
...this.params,
@@ -152,7 +150,7 @@ class OctoKitIssue extends OctoKit {
}
}
async closeIssue() {
core_1.debug('Closing issue ' + this.issueData.number);
(0, core_1.debug)('Closing issue ' + this.issueData.number);
if (!this.options.readonly)
await this.octokit.issues.update({
...this.params,
@@ -161,16 +159,15 @@ class OctoKitIssue extends OctoKit {
});
}
async lockIssue() {
core_1.debug('Locking issue ' + this.issueData.number);
(0, core_1.debug)('Locking issue ' + this.issueData.number);
if (!this.options.readonly)
await this.octokit.issues.lock({ ...this.params, issue_number: this.issueData.number });
}
async getIssue() {
if (isIssue(this.issueData)) {
core_1.debug('Got issue data from query result ' + this.issueData.number);
(0, core_1.debug)('Got issue data from query result ' + this.issueData.number);
return this.issueData;
}
console.log('Fetching issue ' + this.issueData.number);
const issue = (await this.octokit.issues.get({
...this.params,
issue_number: this.issueData.number,
@@ -179,7 +176,7 @@ class OctoKitIssue extends OctoKit {
return (this.issueData = this.octokitIssueToIssue(issue));
}
async postComment(body) {
core_1.debug(`Posting comment ${body} on ${this.issueData.number}`);
(0, core_1.debug)(`Posting comment ${body} on ${this.issueData.number}`);
if (!this.options.readonly)
await this.octokit.issues.createComment({
...this.params,
@@ -188,7 +185,7 @@ class OctoKitIssue extends OctoKit {
});
}
async deleteComment(id) {
core_1.debug(`Deleting comment ${id} on ${this.issueData.number}`);
(0, core_1.debug)(`Deleting comment ${id} on ${this.issueData.number}`);
if (!this.options.readonly)
await this.octokit.issues.deleteComment({
owner: this.params.owner,
@@ -197,7 +194,7 @@ class OctoKitIssue extends OctoKit {
});
}
async setMilestone(milestoneId) {
core_1.debug(`Setting milestone for ${this.issueData.number} to ${milestoneId}`);
(0, core_1.debug)(`Setting milestone for ${this.issueData.number} to ${milestoneId}`);
if (!this.options.readonly)
await this.octokit.issues.update({
...this.params,
@@ -206,7 +203,7 @@ class OctoKitIssue extends OctoKit {
});
}
async *getComments(last) {
core_1.debug('Fetching comments for ' + this.issueData.number);
(0, core_1.debug)('Fetching comments for ' + this.issueData.number);
const response = this.octokit.paginate.iterator(this.octokit.issues.listComments.endpoint.merge({
...this.params,
issue_number: this.issueData.number,
@@ -223,7 +220,7 @@ class OctoKitIssue extends OctoKit {
}
}
async addLabel(name) {
core_1.debug(`Adding label ${name} to ${this.issueData.number}`);
(0, core_1.debug)(`Adding label ${name} to ${this.issueData.number}`);
if (!(await this.repoHasLabel(name))) {
throw Error(`Action could not execute becuase label ${name} is not defined.`);
}
@@ -235,7 +232,7 @@ class OctoKitIssue extends OctoKit {
});
}
async removeLabel(name) {
core_1.debug(`Removing label ${name} from ${this.issueData.number}`);
(0, core_1.debug)(`Removing label ${name} from ${this.issueData.number}`);
try {
if (!this.options.readonly)
await this.octokit.issues.removeLabel({
@@ -246,14 +243,12 @@ class OctoKitIssue extends OctoKit {
}
catch (err) {
if (err.status === 404) {
console.log(`Label ${name} not found on issue`);
return;
}
throw err;
}
}
async getClosingInfo() {
var _a;
if ((await this.getIssue()).open) {
return;
}
@@ -267,13 +262,12 @@ class OctoKitIssue extends OctoKit {
for (const timelineEvent of timelineEvents) {
if (timelineEvent.event === 'closed') {
closingCommit = {
hash: (_a = timelineEvent.commit_id) !== null && _a !== void 0 ? _a : undefined,
hash: timelineEvent.commit_id ?? undefined,
timestamp: +new Date(timelineEvent.created_at),
};
}
}
}
console.log(`Got ${closingCommit} as closing commit of ${this.issueData.number}`);
return closingCommit;
}
}

View File

@@ -25,7 +25,6 @@ export class OctoKit implements GitHub {
async *query(query: Query): AsyncIterableIterator<GitHubIssue[]> {
const q = query.q + ` repo:${this.params.owner}/${this.params.repo}`
console.log(`Querying for ${q}:`)
const options = this.octokit.search.issuesAndPullRequests.endpoint.merge({
...query,
@@ -50,7 +49,6 @@ export class OctoKit implements GitHub {
await timeout()
await logRateLimit(this.token)
const page: Array<Octokit.SearchIssuesAndPullRequestsResponseItemsItem> = pageResponse.data
console.log(`Page ${++pageNum}: ${page.map(({ number }) => number).join(' ')}`)
yield page.map(
(issue) => new OctoKitIssue(this.token, this.params, this.octokitIssueToIssue(issue)),
)
@@ -199,7 +197,6 @@ export class OctoKitIssue extends OctoKit implements GitHubIssue {
return this.issueData
}
console.log('Fetching issue ' + this.issueData.number)
const issue = (
await this.octokit.issues.get({
...this.params,
@@ -286,7 +283,6 @@ export class OctoKitIssue extends OctoKit implements GitHubIssue {
})
} catch (err) {
if (err.status === 404) {
console.log(`Label ${name} not found on issue`)
return
}
throw err
@@ -314,7 +310,6 @@ export class OctoKitIssue extends OctoKit implements GitHubIssue {
}
}
}
console.log(`Got ${closingCommit} as closing commit of ${this.issueData.number}`)
return closingCommit
}
}

View File

@@ -4,17 +4,18 @@
* Licensed under the Source EULA. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/
Object.defineProperty(exports, "__esModule", { value: true });
exports.TestbedIssue = exports.Testbed = void 0;
class Testbed {
constructor(config) {
var _a, _b, _c, _d, _e;
this.config = {
globalLabels: (_a = config === null || config === void 0 ? void 0 : config.globalLabels) !== null && _a !== void 0 ? _a : [],
configs: (_b = config === null || config === void 0 ? void 0 : config.configs) !== null && _b !== void 0 ? _b : {},
writers: (_c = config === null || config === void 0 ? void 0 : config.writers) !== null && _c !== void 0 ? _c : [],
releasedCommits: (_d = config === null || config === void 0 ? void 0 : config.releasedCommits) !== null && _d !== void 0 ? _d : [],
queryRunner: (_e = config === null || config === void 0 ? void 0 : config.queryRunner) !== null && _e !== void 0 ? _e : async function* () {
yield [];
},
globalLabels: config?.globalLabels ?? [],
configs: config?.configs ?? {},
writers: config?.writers ?? [],
releasedCommits: config?.releasedCommits ?? [],
queryRunner: config?.queryRunner ??
async function* () {
yield [];
},
};
}
async *query(query) {
@@ -47,16 +48,15 @@ class Testbed {
exports.Testbed = Testbed;
class TestbedIssue extends Testbed {
constructor(globalConfig, issueConfig) {
var _a, _b, _c;
super(globalConfig);
issueConfig = issueConfig !== null && issueConfig !== void 0 ? issueConfig : {};
issueConfig.comments = (_a = issueConfig === null || issueConfig === void 0 ? void 0 : issueConfig.comments) !== null && _a !== void 0 ? _a : [];
issueConfig.labels = (_b = issueConfig === null || issueConfig === void 0 ? void 0 : issueConfig.labels) !== null && _b !== void 0 ? _b : [];
issueConfig = issueConfig ?? {};
issueConfig.comments = issueConfig?.comments ?? [];
issueConfig.labels = issueConfig?.labels ?? [];
issueConfig.issue = {
author: { name: 'JacksonKearl' },
body: 'issue body',
locked: false,
numComments: ((_c = issueConfig === null || issueConfig === void 0 ? void 0 : issueConfig.comments) === null || _c === void 0 ? void 0 : _c.length) || 0,
numComments: issueConfig?.comments?.length || 0,
number: 1,
open: true,
title: 'issue title',
@@ -90,7 +90,7 @@ class TestbedIssue extends Testbed {
}
async postComment(body, author) {
this.issueConfig.comments.push({
author: { name: author !== null && author !== void 0 ? author : 'bot' },
author: { name: author ?? 'bot' },
body,
id: Math.random(),
timestamp: +new Date(),

View File

@@ -8,15 +8,15 @@ const core = require("@actions/core");
const github_1 = require("@actions/github");
const octokit_1 = require("../api/octokit");
const utils_1 = require("../utils/utils");
const token = utils_1.getRequiredInput('token');
const label = utils_1.getRequiredInput('label');
const token = (0, utils_1.getRequiredInput)('token');
const label = (0, utils_1.getRequiredInput)('label');
async function main() {
const pr = new octokit_1.OctoKitIssue(token, github_1.context.repo, { number: github_1.context.issue.number });
pr.addLabel(label);
}
main()
.then(() => utils_1.logRateLimit(token))
.then(() => (0, utils_1.logRateLimit)(token))
.catch(async (error) => {
core.setFailed(error.message);
await utils_1.logErrorToIssue(error.message, true, token);
await (0, utils_1.logErrorToIssue)(error.message, true, token);
});

View File

@@ -1,24 +1,25 @@
{
"name": "github-actions",
"version": "1.0.0",
"description": "GitHub Actions",
"scripts": {
"test": "mocha -r ts-node/register **/*.test.ts",
"build": "tsc -p ./tsconfig.json",
"lint": "eslint -c .eslintrc --fix --ext .ts .",
"watch-typecheck": "tsc --watch"
},
"repository": {
"type": "git",
"url": "git+https://github.com/microsoft/azuredatastudio.git"
},
"keywords": [],
"author": "",
"dependencies": {
"@actions/core": "^1.2.6",
"@actions/github": "^2.1.1",
"axios": "^0.21.4",
"name": "github-actions",
"version": "1.0.0",
"description": "GitHub Actions",
"scripts": {
"test": "mocha -r ts-node/register **/*.test.ts",
"build": "tsc -p ./tsconfig.json",
"compile": "tsc -p ./tsconfig.json",
"lint": "eslint -c .eslintrc --fix --ext .ts .",
"watch-typecheck": "tsc --watch"
},
"repository": {
"type": "git",
"url": "git+https://github.com/microsoft/azuredatastudio.git"
},
"keywords": [],
"author": "",
"dependencies": {
"@actions/core": "^1.2.6",
"@actions/github": "^2.1.1",
"axios": "^0.21.4",
"ts-node": "^8.6.2",
"typescript": "^3.8.3"
}
}
}

View File

@@ -4,13 +4,16 @@
* Licensed under the Source EULA. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/
Object.defineProperty(exports, "__esModule", { value: true });
exports.logErrorToIssue = exports.logRateLimit = exports.daysAgoToHumanReadbleDate = exports.daysAgoToTimestamp = exports.loadLatestRelease = exports.normalizeIssue = exports.getRequiredInput = exports.getInput = void 0;
const core = require("@actions/core");
const github_1 = require("@actions/github");
const axios_1 = require("axios");
const octokit_1 = require("../api/octokit");
exports.getInput = (name) => core.getInput(name) || undefined;
exports.getRequiredInput = (name) => core.getInput(name, { required: true });
exports.normalizeIssue = (issue) => {
const getInput = (name) => core.getInput(name) || undefined;
exports.getInput = getInput;
const getRequiredInput = (name) => core.getInput(name, { required: true });
exports.getRequiredInput = getRequiredInput;
const normalizeIssue = (issue) => {
const { body, title } = issue;
const isBug = body.includes('bug_report_template') || /Issue Type:.*Bug.*/.test(body);
const isFeatureRequest = body.includes('feature_request_template') || /Issue Type:.*Feature Request.*/.test(body);
@@ -33,23 +36,25 @@ exports.normalizeIssue = (issue) => {
issueType: isBug ? 'bug' : isFeatureRequest ? 'feature_request' : 'unknown',
};
};
exports.loadLatestRelease = async (quality) => (await axios_1.default.get(`https://vscode-update.azurewebsites.net/api/update/darwin/${quality}/latest`)).data;
exports.daysAgoToTimestamp = (days) => +new Date(Date.now() - days * 24 * 60 * 60 * 1000);
exports.daysAgoToHumanReadbleDate = (days) => new Date(Date.now() - days * 24 * 60 * 60 * 1000).toISOString().replace(/\.\d{3}\w$/, '');
exports.logRateLimit = async (token) => {
exports.normalizeIssue = normalizeIssue;
const loadLatestRelease = async (quality) => (await axios_1.default.get(`https://vscode-update.azurewebsites.net/api/update/darwin/${quality}/latest`)).data;
exports.loadLatestRelease = loadLatestRelease;
const daysAgoToTimestamp = (days) => +new Date(Date.now() - days * 24 * 60 * 60 * 1000);
exports.daysAgoToTimestamp = daysAgoToTimestamp;
const daysAgoToHumanReadbleDate = (days) => new Date(Date.now() - days * 24 * 60 * 60 * 1000).toISOString().replace(/\.\d{3}\w$/, '');
exports.daysAgoToHumanReadbleDate = daysAgoToHumanReadbleDate;
const logRateLimit = async (token) => {
const usageData = (await new github_1.GitHub(token).rateLimit.get()).data.resources;
['core', 'graphql', 'search'].forEach(async (category) => {
const usage = 1 - usageData[category].remaining / usageData[category].limit;
const message = `Usage at ${usage} for ${category}`;
if (usage > 0) {
console.log(message);
}
if (usage > 0.5) {
await exports.logErrorToIssue(message, false, token);
await (0, exports.logErrorToIssue)(message, false, token);
}
});
};
exports.logErrorToIssue = async (message, ping, token) => {
exports.logRateLimit = logRateLimit;
const logErrorToIssue = async (message, ping, token) => {
// Attempt to wait out abuse detection timeout if present
await new Promise((resolve) => setTimeout(resolve, 10000));
const dest = github_1.context.repo.repo === 'vscode-internalbacklog'
@@ -70,3 +75,4 @@ ${JSON.stringify(github_1.context, null, 2).replace(/<!--/gu, '<@--').replace(/-
-->
`);
};
exports.logErrorToIssue = logErrorToIssue;

View File

@@ -58,13 +58,10 @@ export const daysAgoToHumanReadbleDate = (days: number) =>
new Date(Date.now() - days * 24 * 60 * 60 * 1000).toISOString().replace(/\.\d{3}\w$/, '')
export const logRateLimit = async (token: string) => {
const usageData = (await new GitHub(token).rateLimit.get()).data.resources
;(['core', 'graphql', 'search'] as const).forEach(async (category) => {
const usageData = (await new GitHub(token).rateLimit.get()).data.resources;
(['core', 'graphql', 'search'] as const).forEach(async (category) => {
const usage = 1 - usageData[category].remaining / usageData[category].limit
const message = `Usage at ${usage} for ${category}`
if (usage > 0) {
console.log(message)
}
if (usage > 0.5) {
await logErrorToIssue(message, false, token)
}

View File

@@ -3,9 +3,12 @@
"@actions/core@^1.2.6":
version "1.2.6"
resolved "https://registry.yarnpkg.com/@actions/core/-/core-1.2.6.tgz#a78d49f41a4def18e88ce47c2cac615d5694bf09"
integrity sha512-ZQYitnqiyBc3D+k7LsgSBmMDVkOVidaagDG7j3fOym77jNunWRuYx7VSHa9GNfFZh+zh61xsCjRj4JxMZlDqTA==
version "1.9.1"
resolved "https://registry.yarnpkg.com/@actions/core/-/core-1.9.1.tgz#97c0201b1f9856df4f7c3a375cdcdb0c2a2f750b"
integrity sha512-5ad+U2YGrmmiw6du20AQW5XuWo7UKN2052FjSV7MX+Wfjf8sCqcsZe62NfgHys4QI4/Y+vQvLKYL8jWtA1ZBTA==
dependencies:
"@actions/http-client" "^2.0.1"
uuid "^8.3.2"
"@actions/github@^2.1.1":
version "2.1.1"
@@ -23,6 +26,13 @@
dependencies:
tunnel "0.0.6"
"@actions/http-client@^2.0.1":
version "2.0.1"
resolved "https://registry.yarnpkg.com/@actions/http-client/-/http-client-2.0.1.tgz#873f4ca98fe32f6839462a6f046332677322f99c"
integrity sha512-PIXiMVtz6VvyaRsGY268qvj57hXQEpsYogYOu2nrQhlf+XCGmZstmuZBbAybUl1nQGnvS1k1eEsQ69ZoD7xlSw==
dependencies:
tunnel "^0.0.6"
"@octokit/auth-token@^2.4.0":
version "2.4.0"
resolved "https://registry.yarnpkg.com/@octokit/auth-token/-/auth-token-2.4.0.tgz#b64178975218b99e4dfe948253f0673cbbb59d9f"
@@ -275,6 +285,8 @@ node-fetch@^2.3.0:
version "2.6.7"
resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.7.tgz#24de9fba827e3b4ae44dc8b20256a379160052ad"
integrity sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==
dependencies:
whatwg-url "^5.0.0"
npm-run-path@^2.0.0:
version "2.0.2"
@@ -361,6 +373,11 @@ strip-eof@^1.0.0:
resolved "https://registry.yarnpkg.com/strip-eof/-/strip-eof-1.0.0.tgz#bb43ff5598a6eb05d89b59fcd129c983313606bf"
integrity sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=
tr46@~0.0.3:
version "0.0.3"
resolved "https://registry.yarnpkg.com/tr46/-/tr46-0.0.3.tgz#8184fd347dac9cdc185992f3a6622e14b9d9ab6a"
integrity sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==
ts-node@^8.6.2:
version "8.9.0"
resolved "https://registry.yarnpkg.com/ts-node/-/ts-node-8.9.0.tgz#d7bf7272dcbecd3a2aa18bd0b96c7d2f270c15d4"
@@ -372,15 +389,15 @@ ts-node@^8.6.2:
source-map-support "^0.5.17"
yn "3.1.1"
tunnel@0.0.6:
tunnel@0.0.6, tunnel@^0.0.6:
version "0.0.6"
resolved "https://registry.yarnpkg.com/tunnel/-/tunnel-0.0.6.tgz#72f1314b34a5b192db012324df2cc587ca47f92c"
integrity sha512-1h/Lnq9yajKY2PEbBadPXj3VxsDDu844OnaAo52UVmIzIvwwtBPIuNvkjuzBlTWpfJyUbG3ez0KSBibQkj4ojg==
typescript@^3.8.3:
version "3.8.3"
resolved "https://registry.yarnpkg.com/typescript/-/typescript-3.8.3.tgz#409eb8544ea0335711205869ec458ab109ee1061"
integrity sha512-MYlEfn5VrLNsgudQTVJeNaQFUAI7DkhnOjdpAp4T+ku1TfQClewlbSuTVHiA+8skNBgaf02TL/kLOvig4y3G8w==
version "3.9.10"
resolved "https://registry.yarnpkg.com/typescript/-/typescript-3.9.10.tgz#70f3910ac7a51ed6bef79da7800690b19bf778b8"
integrity sha512-w6fIxVE/H1PkLKcCPsFqKE7Kv7QUwhU8qQY2MueZXWx5cPZdwFupLgKK3vntcK98BtNHZtAF4LA/yl2a7k8R6Q==
universal-user-agent@^4.0.0:
version "4.0.1"
@@ -396,6 +413,24 @@ universal-user-agent@^5.0.0:
dependencies:
os-name "^3.1.0"
uuid@^8.3.2:
version "8.3.2"
resolved "https://registry.yarnpkg.com/uuid/-/uuid-8.3.2.tgz#80d5b5ced271bb9af6c445f21a1a04c606cefbe2"
integrity sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==
webidl-conversions@^3.0.0:
version "3.0.1"
resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-3.0.1.tgz#24534275e2a7bc6be7bc86611cc16ae0a5654871"
integrity sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==
whatwg-url@^5.0.0:
version "5.0.0"
resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-5.0.0.tgz#966454e8765462e37644d3626f6742ce8b70965d"
integrity sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==
dependencies:
tr46 "~0.0.3"
webidl-conversions "^3.0.0"
which@^1.2.9:
version "1.3.1"
resolved "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a"

View File

@@ -10,7 +10,7 @@
],
"instanceUrl": "https://msazure.visualstudio.com/defaultcollection",
"projectName": "One",
"areaPath": "One\\VSCode\\Client",
"areaPath": "One\\VSCode\\Visual Studio Code Client",
"iterationPath": "One",
"notifyAlways": true,
"tools": [

View File

@@ -1,8 +1,8 @@
"use strict";
/*---------------------------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Licensed under the Source EULA. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/
'use strict';
Object.defineProperty(exports, "__esModule", { value: true });
const fs = require("fs");
const path = require("path");
@@ -14,7 +14,7 @@ shasum.update(fs.readFileSync(path.join(ROOT, 'build/.cachesalt')));
shasum.update(fs.readFileSync(path.join(ROOT, '.yarnrc')));
shasum.update(fs.readFileSync(path.join(ROOT, 'remote/.yarnrc')));
// Add `package.json` and `yarn.lock` files
for (let dir of dirs) {
for (const dir of dirs) {
const packageJsonPath = path.join(ROOT, dir, 'package.json');
const packageJson = JSON.parse(fs.readFileSync(packageJsonPath).toString());
const relevantPackageJsonSections = {

View File

@@ -3,8 +3,6 @@
* Licensed under the Source EULA. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/
'use strict';
import * as fs from 'fs';
import * as path from 'path';
import * as crypto from 'crypto';
@@ -19,7 +17,7 @@ shasum.update(fs.readFileSync(path.join(ROOT, '.yarnrc')));
shasum.update(fs.readFileSync(path.join(ROOT, 'remote/.yarnrc')));
// Add `package.json` and `yarn.lock` files
for (let dir of dirs) {
for (const dir of dirs) {
const packageJsonPath = path.join(ROOT, dir, 'package.json');
const packageJson = JSON.parse(fs.readFileSync(packageJsonPath).toString());
const relevantPackageJsonSections = {

View File

@@ -12,6 +12,7 @@ const files = [
'.build/langpacks/**/*.vsix',
'.build/extensions/**/*.vsix',
'.build/win32-x64/**/*.{exe,zip}',
'.build/win32-arm64/**/*.{exe,zip}',
'.build/linux/sha256hashes.txt',
'.build/linux/deb/amd64/deb/*.deb',
'.build/linux/rpm/x86_64/*.rpm',

View File

@@ -13,7 +13,8 @@ import * as fs from 'fs';
const files = [
'.build/langpacks/**/*.vsix', // langpacks
'.build/extensions/**/*.vsix', // external extensions
'.build/win32-x64/**/*.{exe,zip}', // windows binaries
'.build/win32-x64/**/*.{exe,zip}', // windows x64 binaries
'.build/win32-arm64/**/*.{exe,zip}', // windows arm64 binaries
'.build/linux/sha256hashes.txt', // linux hashes
'.build/linux/deb/amd64/deb/*.deb', // linux debs
'.build/linux/rpm/x86_64/*.rpm', // linux rpms

View File

@@ -1,15 +1,15 @@
"use strict";
/*---------------------------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Licensed under the Source EULA. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/
'use strict';
Object.defineProperty(exports, "__esModule", { value: true });
const fs = require("fs");
const url = require("url");
const crypto = require("crypto");
const azure = require("azure-storage");
const storage_blob_1 = require("@azure/storage-blob");
const mime = require("mime");
const cosmos_1 = require("@azure/cosmos");
const identity_1 = require("@azure/identity");
const retry_1 = require("./retry");
if (process.argv.length !== 8) {
console.error('Usage: node createAsset.js PRODUCT OS ARCH TYPE NAME FILE');
@@ -20,7 +20,7 @@ function getPlatform(product, os, arch, type) {
switch (os) {
case 'win32':
switch (product) {
case 'client':
case 'client': {
const asset = arch === 'ia32' ? 'win32' : `win32-${arch}`;
switch (type) {
case 'archive':
@@ -32,6 +32,7 @@ function getPlatform(product, os, arch, type) {
default:
throw new Error(`Unrecognized: ${product} ${os} ${arch} ${type}`);
}
}
case 'server':
if (arch === 'arm64') {
throw new Error(`Unrecognized: ${product} ${os} ${arch} ${type}`);
@@ -84,12 +85,15 @@ function getPlatform(product, os, arch, type) {
}
return `darwin-${arch}`;
case 'server':
return 'server-darwin';
case 'web':
if (arch !== 'x64') {
throw new Error(`What should the platform be?: ${product} ${os} ${arch} ${type}`);
if (arch === 'x64') {
return 'server-darwin';
}
return 'server-darwin-web';
return `server-darwin-${arch}`;
case 'web':
if (arch === 'x64') {
return 'server-darwin-web';
}
return `server-darwin-${arch}-web`;
default:
throw new Error(`Unrecognized: ${product} ${os} ${arch} ${type}`);
}
@@ -118,20 +122,6 @@ function hashStream(hashName, stream) {
.on('close', () => c(shasum.digest('hex')));
});
}
async function doesAssetExist(blobService, quality, blobName) {
const existsResult = await new Promise((c, e) => blobService.doesBlobExist(quality, blobName, (err, r) => err ? e(err) : c(r)));
return existsResult.exists;
}
async function uploadBlob(blobService, quality, blobName, filePath, fileName) {
const blobOptions = {
contentSettings: {
contentType: mime.lookup(filePath),
contentDisposition: `attachment; filename="${fileName}"`,
cacheControl: 'max-age=31536000, public'
}
};
await new Promise((c, e) => blobService.createBlockBlobFromLocalFile(quality, blobName, filePath, blobOptions, err => err ? e(err) : c()));
}
function getEnv(name) {
const result = process.env[name];
if (typeof result === 'undefined') {
@@ -145,7 +135,7 @@ async function main() {
const platform = getPlatform(product, os, arch, unprocessedType);
const type = getRealType(unprocessedType);
const quality = getEnv('VSCODE_QUALITY');
const commit = getEnv('BUILD_SOURCEVERSION');
const commit = process.env['VSCODE_DISTRO_COMMIT'] || getEnv('BUILD_SOURCEVERSION');
console.log('Creating asset...');
const stat = await new Promise((c, e) => fs.stat(filePath, (err, stat) => err ? e(err) : c(stat)));
const size = stat.size;
@@ -155,28 +145,48 @@ async function main() {
console.log('SHA1:', sha1hash);
console.log('SHA256:', sha256hash);
const blobName = commit + '/' + fileName;
const storageAccount = process.env['AZURE_STORAGE_ACCOUNT_2'];
const blobService = azure.createBlobService(storageAccount, process.env['AZURE_STORAGE_ACCESS_KEY_2'])
.withFilter(new azure.ExponentialRetryPolicyFilter(20));
const blobExists = await doesAssetExist(blobService, quality, blobName);
const storagePipelineOptions = { retryOptions: { retryPolicyType: storage_blob_1.StorageRetryPolicyType.EXPONENTIAL, maxTries: 6, tryTimeoutInMs: 10 * 60 * 1000 } };
const credential = new identity_1.ClientSecretCredential(process.env['AZURE_TENANT_ID'], process.env['AZURE_CLIENT_ID'], process.env['AZURE_CLIENT_SECRET']);
const blobServiceClient = new storage_blob_1.BlobServiceClient(`https://vscode.blob.core.windows.net`, credential, storagePipelineOptions);
const containerClient = blobServiceClient.getContainerClient(quality);
const blobClient = containerClient.getBlockBlobClient(blobName);
const blobExists = await blobClient.exists();
if (blobExists) {
console.log(`Blob ${quality}, ${blobName} already exists, not publishing again.`);
return;
}
const mooncakeBlobService = azure.createBlobService(storageAccount, process.env['MOONCAKE_STORAGE_ACCESS_KEY'], `${storageAccount}.blob.core.chinacloudapi.cn`)
.withFilter(new azure.ExponentialRetryPolicyFilter(20));
// mooncake is fussy and far away, this is needed!
blobService.defaultClientRequestTimeoutInMs = 10 * 60 * 1000;
mooncakeBlobService.defaultClientRequestTimeoutInMs = 10 * 60 * 1000;
console.log('Uploading blobs to Azure storage and Mooncake Azure storage...');
await (0, retry_1.retry)(() => Promise.all([
uploadBlob(blobService, quality, blobName, filePath, fileName),
uploadBlob(mooncakeBlobService, quality, blobName, filePath, fileName)
]));
console.log('Blobs successfully uploaded.');
// TODO: Understand if blobName and blobPath are the same and replace blobPath with blobName if so.
const blobOptions = {
blobHTTPHeaders: {
blobContentType: mime.lookup(filePath),
blobContentDisposition: `attachment; filename="${fileName}"`,
blobCacheControl: 'max-age=31536000, public'
}
};
const uploadPromises = [
(0, retry_1.retry)(async () => {
await blobClient.uploadFile(filePath, blobOptions);
console.log('Blob successfully uploaded to Azure storage.');
})
];
const shouldUploadToMooncake = /true/i.test(process.env['VSCODE_PUBLISH_TO_MOONCAKE'] ?? 'true');
if (shouldUploadToMooncake) {
const mooncakeCredential = new identity_1.ClientSecretCredential(process.env['AZURE_MOONCAKE_TENANT_ID'], process.env['AZURE_MOONCAKE_CLIENT_ID'], process.env['AZURE_MOONCAKE_CLIENT_SECRET']);
const mooncakeBlobServiceClient = new storage_blob_1.BlobServiceClient(`https://vscode.blob.core.chinacloudapi.cn`, mooncakeCredential, storagePipelineOptions);
const mooncakeContainerClient = mooncakeBlobServiceClient.getContainerClient(quality);
const mooncakeBlobClient = mooncakeContainerClient.getBlockBlobClient(blobName);
uploadPromises.push((0, retry_1.retry)(async () => {
await mooncakeBlobClient.uploadFile(filePath, blobOptions);
console.log('Blob successfully uploaded to Mooncake Azure storage.');
}));
console.log('Uploading blobs to Azure storage and Mooncake Azure storage...');
}
else {
console.log('Uploading blobs to Azure storage...');
}
await Promise.all(uploadPromises);
console.log('All blobs successfully uploaded.');
const assetUrl = `${process.env['AZURE_CDN_URL']}/${quality}/${blobName}`;
const blobPath = url.parse(assetUrl).path;
const blobPath = new URL(assetUrl).pathname;
const mooncakeUrl = `${process.env['MOONCAKE_CDN_URL']}${blobPath}`;
const asset = {
platform,
@@ -192,7 +202,7 @@ async function main() {
asset.supportsFastUpdate = true;
}
console.log('Asset:', JSON.stringify(asset, null, ' '));
const client = new cosmos_1.CosmosClient({ endpoint: process.env['AZURE_DOCUMENTDB_ENDPOINT'], key: process.env['AZURE_DOCUMENTDB_MASTERKEY'] });
const client = new cosmos_1.CosmosClient({ endpoint: process.env['AZURE_DOCUMENTDB_ENDPOINT'], aadCredentials: credential });
const scripts = client.database('builds').container(quality).scripts;
await (0, retry_1.retry)(() => scripts.storedProcedure('createAsset').execute('', [commit, asset, true]));
console.log(` Done ✔️`);

View File

@@ -3,15 +3,13 @@
* Licensed under the Source EULA. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/
'use strict';
import * as fs from 'fs';
import * as url from 'url';
import { Readable } from 'stream';
import * as crypto from 'crypto';
import * as azure from 'azure-storage';
import { BlobServiceClient, BlockBlobParallelUploadOptions, StoragePipelineOptions, StorageRetryPolicyType } from '@azure/storage-blob';
import * as mime from 'mime';
import { CosmosClient } from '@azure/cosmos';
import { ClientSecretCredential } from '@azure/identity';
import { retry } from './retry';
interface Asset {
@@ -35,7 +33,7 @@ function getPlatform(product: string, os: string, arch: string, type: string): s
switch (os) {
case 'win32':
switch (product) {
case 'client':
case 'client': {
const asset = arch === 'ia32' ? 'win32' : `win32-${arch}`;
switch (type) {
case 'archive':
@@ -47,6 +45,7 @@ function getPlatform(product: string, os: string, arch: string, type: string): s
default:
throw new Error(`Unrecognized: ${product} ${os} ${arch} ${type}`);
}
}
case 'server':
if (arch === 'arm64') {
throw new Error(`Unrecognized: ${product} ${os} ${arch} ${type}`);
@@ -99,12 +98,15 @@ function getPlatform(product: string, os: string, arch: string, type: string): s
}
return `darwin-${arch}`;
case 'server':
return 'server-darwin';
case 'web':
if (arch !== 'x64') {
throw new Error(`What should the platform be?: ${product} ${os} ${arch} ${type}`);
if (arch === 'x64') {
return 'server-darwin';
}
return 'server-darwin-web';
return `server-darwin-${arch}`;
case 'web':
if (arch === 'x64') {
return 'server-darwin-web';
}
return `server-darwin-${arch}-web`;
default:
throw new Error(`Unrecognized: ${product} ${os} ${arch} ${type}`);
}
@@ -137,23 +139,6 @@ function hashStream(hashName: string, stream: Readable): Promise<string> {
});
}
async function doesAssetExist(blobService: azure.BlobService, quality: string, blobName: string): Promise<boolean | undefined> {
const existsResult = await new Promise<azure.BlobService.BlobResult>((c, e) => blobService.doesBlobExist(quality, blobName, (err, r) => err ? e(err) : c(r)));
return existsResult.exists;
}
async function uploadBlob(blobService: azure.BlobService, quality: string, blobName: string, filePath: string, fileName: string): Promise<void> {
const blobOptions: azure.BlobService.CreateBlockBlobRequestOptions = {
contentSettings: {
contentType: mime.lookup(filePath),
contentDisposition: `attachment; filename="${fileName}"`,
cacheControl: 'max-age=31536000, public'
}
};
await new Promise<void>((c, e) => blobService.createBlockBlobFromLocalFile(quality, blobName, filePath, blobOptions, err => err ? e(err) : c()));
}
function getEnv(name: string): string {
const result = process.env[name];
@@ -170,7 +155,7 @@ async function main(): Promise<void> {
const platform = getPlatform(product, os, arch, unprocessedType);
const type = getRealType(unprocessedType);
const quality = getEnv('VSCODE_QUALITY');
const commit = getEnv('BUILD_SOURCEVERSION');
const commit = process.env['VSCODE_DISTRO_COMMIT'] || getEnv('BUILD_SOURCEVERSION');
console.log('Creating asset...');
@@ -186,37 +171,58 @@ async function main(): Promise<void> {
console.log('SHA256:', sha256hash);
const blobName = commit + '/' + fileName;
const storageAccount = process.env['AZURE_STORAGE_ACCOUNT_2']!;
const blobService = azure.createBlobService(storageAccount, process.env['AZURE_STORAGE_ACCESS_KEY_2']!)
.withFilter(new azure.ExponentialRetryPolicyFilter(20));
const storagePipelineOptions: StoragePipelineOptions = { retryOptions: { retryPolicyType: StorageRetryPolicyType.EXPONENTIAL, maxTries: 6, tryTimeoutInMs: 10 * 60 * 1000 } };
const blobExists = await doesAssetExist(blobService, quality, blobName);
const credential = new ClientSecretCredential(process.env['AZURE_TENANT_ID']!, process.env['AZURE_CLIENT_ID']!, process.env['AZURE_CLIENT_SECRET']!);
const blobServiceClient = new BlobServiceClient(`https://vscode.blob.core.windows.net`, credential, storagePipelineOptions);
const containerClient = blobServiceClient.getContainerClient(quality);
const blobClient = containerClient.getBlockBlobClient(blobName);
const blobExists = await blobClient.exists();
if (blobExists) {
console.log(`Blob ${quality}, ${blobName} already exists, not publishing again.`);
return;
}
const mooncakeBlobService = azure.createBlobService(storageAccount, process.env['MOONCAKE_STORAGE_ACCESS_KEY']!, `${storageAccount}.blob.core.chinacloudapi.cn`)
.withFilter(new azure.ExponentialRetryPolicyFilter(20));
const blobOptions: BlockBlobParallelUploadOptions = {
blobHTTPHeaders: {
blobContentType: mime.lookup(filePath),
blobContentDisposition: `attachment; filename="${fileName}"`,
blobCacheControl: 'max-age=31536000, public'
}
};
// mooncake is fussy and far away, this is needed!
blobService.defaultClientRequestTimeoutInMs = 10 * 60 * 1000;
mooncakeBlobService.defaultClientRequestTimeoutInMs = 10 * 60 * 1000;
const uploadPromises: Promise<void>[] = [
retry(async () => {
await blobClient.uploadFile(filePath, blobOptions);
console.log('Blob successfully uploaded to Azure storage.');
})
];
console.log('Uploading blobs to Azure storage and Mooncake Azure storage...');
const shouldUploadToMooncake = /true/i.test(process.env['VSCODE_PUBLISH_TO_MOONCAKE'] ?? 'true');
await retry(() => Promise.all([
uploadBlob(blobService, quality, blobName, filePath, fileName),
uploadBlob(mooncakeBlobService, quality, blobName, filePath, fileName)
]));
if (shouldUploadToMooncake) {
const mooncakeCredential = new ClientSecretCredential(process.env['AZURE_MOONCAKE_TENANT_ID']!, process.env['AZURE_MOONCAKE_CLIENT_ID']!, process.env['AZURE_MOONCAKE_CLIENT_SECRET']!);
const mooncakeBlobServiceClient = new BlobServiceClient(`https://vscode.blob.core.chinacloudapi.cn`, mooncakeCredential, storagePipelineOptions);
const mooncakeContainerClient = mooncakeBlobServiceClient.getContainerClient(quality);
const mooncakeBlobClient = mooncakeContainerClient.getBlockBlobClient(blobName);
console.log('Blobs successfully uploaded.');
uploadPromises.push(retry(async () => {
await mooncakeBlobClient.uploadFile(filePath, blobOptions);
console.log('Blob successfully uploaded to Mooncake Azure storage.');
}));
console.log('Uploading blobs to Azure storage and Mooncake Azure storage...');
} else {
console.log('Uploading blobs to Azure storage...');
}
await Promise.all(uploadPromises);
console.log('All blobs successfully uploaded.');
// TODO: Understand if blobName and blobPath are the same and replace blobPath with blobName if so.
const assetUrl = `${process.env['AZURE_CDN_URL']}/${quality}/${blobName}`;
const blobPath = url.parse(assetUrl).path;
const blobPath = new URL(assetUrl).pathname;
const mooncakeUrl = `${process.env['MOONCAKE_CDN_URL']}${blobPath}`;
const asset: Asset = {
@@ -236,7 +242,7 @@ async function main(): Promise<void> {
console.log('Asset:', JSON.stringify(asset, null, ' '));
const client = new CosmosClient({ endpoint: process.env['AZURE_DOCUMENTDB_ENDPOINT']!, key: process.env['AZURE_DOCUMENTDB_MASTERKEY'] });
const client = new CosmosClient({ endpoint: process.env['AZURE_DOCUMENTDB_ENDPOINT']!, aadCredentials: credential });
const scripts = client.database('builds').container(quality).scripts;
await retry(() => scripts.storedProcedure('createAsset').execute('', [commit, asset, true]));

View File

@@ -1,9 +1,10 @@
"use strict";
/*---------------------------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Licensed under the Source EULA. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/
'use strict';
Object.defineProperty(exports, "__esModule", { value: true });
const identity_1 = require("@azure/identity");
const cosmos_1 = require("@azure/cosmos");
const retry_1 = require("./retry");
if (process.argv.length !== 3) {
@@ -20,9 +21,9 @@ function getEnv(name) {
async function main() {
const [, , _version] = process.argv;
const quality = getEnv('VSCODE_QUALITY');
const commit = getEnv('BUILD_SOURCEVERSION');
const commit = process.env['VSCODE_DISTRO_COMMIT']?.trim() || getEnv('BUILD_SOURCEVERSION');
const queuedBy = getEnv('BUILD_QUEUEDBY');
const sourceBranch = getEnv('BUILD_SOURCEBRANCH');
const sourceBranch = process.env['VSCODE_DISTRO_REF']?.trim() || getEnv('BUILD_SOURCEBRANCH');
const version = _version + (quality === 'stable' ? '' : `-${quality}`);
console.log('Creating build...');
console.log('Quality:', quality);
@@ -33,14 +34,16 @@ async function main() {
timestamp: (new Date()).getTime(),
version,
isReleased: false,
private: Boolean(process.env['VSCODE_DISTRO_REF']?.trim()),
sourceBranch,
queuedBy,
assets: [],
updates: {}
};
const client = new cosmos_1.CosmosClient({ endpoint: process.env['AZURE_DOCUMENTDB_ENDPOINT'], key: process.env['AZURE_DOCUMENTDB_MASTERKEY'] });
const aadCredentials = new identity_1.ClientSecretCredential(process.env['AZURE_TENANT_ID'], process.env['AZURE_CLIENT_ID'], process.env['AZURE_CLIENT_SECRET']);
const client = new cosmos_1.CosmosClient({ endpoint: process.env['AZURE_DOCUMENTDB_ENDPOINT'], aadCredentials });
const scripts = client.database('builds').container(quality).scripts;
await (0, retry_1.retry)(() => scripts.storedProcedure('createBuild').execute('', [Object.assign(Object.assign({}, build), { _partitionKey: '' })]));
await (0, retry_1.retry)(() => scripts.storedProcedure('createBuild').execute('', [{ ...build, _partitionKey: '' }]));
}
main().then(() => {
console.log('Build successfully created');

View File

@@ -3,8 +3,7 @@
* Licensed under the Source EULA. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/
'use strict';
import { ClientSecretCredential } from '@azure/identity';
import { CosmosClient } from '@azure/cosmos';
import { retry } from './retry';
@@ -26,9 +25,9 @@ function getEnv(name: string): string {
async function main(): Promise<void> {
const [, , _version] = process.argv;
const quality = getEnv('VSCODE_QUALITY');
const commit = getEnv('BUILD_SOURCEVERSION');
const commit = process.env['VSCODE_DISTRO_COMMIT']?.trim() || getEnv('BUILD_SOURCEVERSION');
const queuedBy = getEnv('BUILD_QUEUEDBY');
const sourceBranch = getEnv('BUILD_SOURCEBRANCH');
const sourceBranch = process.env['VSCODE_DISTRO_REF']?.trim() || getEnv('BUILD_SOURCEBRANCH');
const version = _version + (quality === 'stable' ? '' : `-${quality}`);
console.log('Creating build...');
@@ -41,13 +40,15 @@ async function main(): Promise<void> {
timestamp: (new Date()).getTime(),
version,
isReleased: false,
private: Boolean(process.env['VSCODE_DISTRO_REF']?.trim()),
sourceBranch,
queuedBy,
assets: [],
updates: {}
};
const client = new CosmosClient({ endpoint: process.env['AZURE_DOCUMENTDB_ENDPOINT']!, key: process.env['AZURE_DOCUMENTDB_MASTERKEY'] });
const aadCredentials = new ClientSecretCredential(process.env['AZURE_TENANT_ID']!, process.env['AZURE_CLIENT_ID']!, process.env['AZURE_CLIENT_SECRET']!);
const client = new CosmosClient({ endpoint: process.env['AZURE_DOCUMENTDB_ENDPOINT']!, aadCredentials });
const scripts = client.database('builds').container(quality).scripts;
await retry(() => scripts.storedProcedure('createBuild').execute('', [{ ...build, _partitionKey: '' }]));
}

View File

@@ -5,7 +5,7 @@
*--------------------------------------------------------------------------------------------*/
Object.defineProperty(exports, "__esModule", { value: true });
const retry_1 = require("./retry");
const { installDefaultBrowsersForNpmInstall } = require('playwright/lib/utils/registry');
const { installDefaultBrowsersForNpmInstall } = require('playwright-core/lib/server');
async function install() {
await (0, retry_1.retry)(() => installDefaultBrowsersForNpmInstall());
}

View File

@@ -4,7 +4,7 @@
*--------------------------------------------------------------------------------------------*/
import { retry } from './retry';
const { installDefaultBrowsersForNpmInstall } = require('playwright/lib/utils/registry');
const { installDefaultBrowsersForNpmInstall } = require('playwright-core/lib/server');
async function install() {
await retry(() => installDefaultBrowsersForNpmInstall());

View File

@@ -1,8 +1,8 @@
"use strict";
/*---------------------------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Licensed under the Source EULA. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/
'use strict';
Object.defineProperty(exports, "__esModule", { value: true });
const fs = require("fs");
const path = require("path");

View File

@@ -3,8 +3,6 @@
* Licensed under the Source EULA. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/
'use strict';
import * as fs from 'fs';
import * as path from 'path';

View File

@@ -6,10 +6,10 @@
Object.defineProperty(exports, "__esModule", { value: true });
const fs = require("fs");
const crypto = require("crypto");
const azure = require("azure-storage");
const mime = require("mime");
const minimist = require("minimist");
const documentdb_1 = require("documentdb");
const storage_blob_1 = require("@azure/storage-blob");
// {{SQL CARBON EDIT}}
if (process.argv.length < 9) {
console.error('Usage: node publish.js <product_quality> <platform> <file_type> <file_name> <version> <is_update> <file> [commit_id]');
@@ -104,21 +104,23 @@ function createOrUpdate(commit, quality, platform, type, release, asset, isUpdat
});
}));
}
async function assertContainer(blobService, quality) {
await new Promise((c, e) => blobService.createContainerIfNotExists(quality, { publicAccessLevel: 'blob' }, err => err ? e(err) : c()));
async function assertContainer(containerClient) {
let containerResponse = await containerClient.createIfNotExists({ access: 'blob' });
return containerResponse && !!containerResponse.errorCode;
}
async function doesAssetExist(blobService, quality, blobName) {
const existsResult = await new Promise((c, e) => blobService.doesBlobExist(quality, blobName, (err, r) => err ? e(err) : c(r)));
return existsResult.exists;
}
async function uploadBlob(blobService, quality, blobName, file) {
const blobOptions = {
contentSettings: {
contentType: mime.lookup(file),
cacheControl: 'max-age=31536000, public'
async function uploadBlob(blobClient, file) {
const result = await blobClient.uploadFile(file, {
blobHTTPHeaders: {
blobContentType: mime.lookup(file),
blobCacheControl: 'max-age=31536000, public'
}
};
await new Promise((c, e) => blobService.createBlockBlobFromLocalFile(quality, blobName, file, blobOptions, err => err ? e(err) : c()));
});
if (result && !result.errorCode) {
console.log(`Blobs uploaded successfully, response status: ${result?._response?.status}`);
}
else {
console.error(`Blobs failed to upload, response status: ${result?._response?.status}, errorcode: ${result?.errorCode}`);
}
}
async function publish(commit, quality, platform, type, name, version, _isUpdate, file, opts) {
const isUpdate = _isUpdate === 'true';
@@ -142,54 +144,62 @@ async function publish(commit, quality, platform, type, name, version, _isUpdate
console.log('SHA256:', sha256hash);
const blobName = commit + '/' + name;
const storageAccount = process.env['AZURE_STORAGE_ACCOUNT_2'];
const blobService = azure.createBlobService(storageAccount, process.env['AZURE_STORAGE_ACCESS_KEY_2'])
.withFilter(new azure.ExponentialRetryPolicyFilter(20));
await assertContainer(blobService, quality);
const blobExists = await doesAssetExist(blobService, quality, blobName);
if (blobExists) {
console.log(`Blob ${quality}, ${blobName} already exists, not publishing again.`);
return;
}
console.log('Uploading blobs to Azure storage...');
await uploadBlob(blobService, quality, blobName, file);
console.log('Blobs successfully uploaded.');
const config = await getConfig(quality);
console.log('Quality config:', config);
const asset = {
platform: platform,
type: type,
url: `${process.env['AZURE_CDN_URL']}/${quality}/${blobName}`,
hash: sha1hash,
sha256hash,
size
};
// Remove this if we ever need to rollback fast updates for windows
if (/win32/.test(platform)) {
asset.supportsFastUpdate = true;
}
console.log('Asset:', JSON.stringify(asset, null, ' '));
// {{SQL CARBON EDIT}}
// Insiders: nightly build from main
const isReleased = (((quality === 'insider' && /^main$|^refs\/heads\/main$/.test(sourceBranch)) ||
(quality === 'rc1' && /^release\/|^refs\/heads\/release\//.test(sourceBranch))) &&
/Project Collection Service Accounts|Microsoft.VisualStudio.Services.TFS/.test(queuedBy));
const release = {
id: commit,
timestamp: (new Date()).getTime(),
version,
isReleased: isReleased,
sourceBranch,
queuedBy,
assets: [],
updates: {}
};
if (!opts['upload-only']) {
release.assets.push(asset);
if (isUpdate) {
release.updates[platform] = type;
const storageKey = process.env['AZURE_STORAGE_ACCESS_KEY_2'];
const connectionString = `DefaultEndpointsProtocol=https;AccountName=${storageAccount};AccountKey=${storageKey};EndpointSuffix=core.windows.net`;
let blobServiceClient = storage_blob_1.BlobServiceClient.fromConnectionString(connectionString, {
retryOptions: {
maxTries: 20,
retryPolicyType: storage_blob_1.StorageRetryPolicyType.EXPONENTIAL
}
});
let containerClient = blobServiceClient.getContainerClient(quality);
if (await assertContainer(containerClient)) {
const blobClient = containerClient.getBlockBlobClient(blobName);
const blobExists = await blobClient.exists();
if (blobExists) {
console.log(`Blob ${quality}, ${blobName} already exists, not publishing again.`);
return;
}
console.log('Uploading blobs to Azure storage...');
await uploadBlob(blobClient, file);
const config = await getConfig(quality);
console.log('Quality config:', config);
const asset = {
platform: platform,
type: type,
url: `${process.env['AZURE_CDN_URL']}/${quality}/${blobName}`,
hash: sha1hash,
sha256hash,
size
};
// Remove this if we ever need to rollback fast updates for windows
if (/win32/.test(platform)) {
asset.supportsFastUpdate = true;
}
console.log('Asset:', JSON.stringify(asset, null, ' '));
// {{SQL CARBON EDIT}}
// Insiders: nightly build from main
const isReleased = (((quality === 'insider' && /^main$|^refs\/heads\/main$/.test(sourceBranch)) ||
(quality === 'rc1' && /^release\/|^refs\/heads\/release\//.test(sourceBranch))) &&
/Project Collection Service Accounts|Microsoft.VisualStudio.Services.TFS/.test(queuedBy));
const release = {
id: commit,
timestamp: (new Date()).getTime(),
version,
isReleased: isReleased,
sourceBranch,
queuedBy,
assets: [],
updates: {}
};
if (!opts['upload-only']) {
release.assets.push(asset);
if (isUpdate) {
release.updates[platform] = type;
}
}
await createOrUpdate(commit, quality, platform, type, release, asset, isUpdate);
}
await createOrUpdate(commit, quality, platform, type, release, asset, isUpdate);
}
const RETRY_TIMES = 10;
async function retry(fn) {

View File

@@ -8,10 +8,10 @@
import * as fs from 'fs';
import { Readable } from 'stream';
import * as crypto from 'crypto';
import * as azure from 'azure-storage';
import * as mime from 'mime';
import * as minimist from 'minimist';
import { DocumentClient, NewDocument } from 'documentdb';
import { BlobServiceClient, BlockBlobClient, ContainerClient, StorageRetryPolicyType } from '@azure/storage-blob';
// {{SQL CARBON EDIT}}
if (process.argv.length < 9) {
@@ -127,24 +127,23 @@ function createOrUpdate(commit: string, quality: string, platform: string, type:
}));
}
async function assertContainer(blobService: azure.BlobService, quality: string): Promise<void> {
await new Promise<void>((c, e) => blobService.createContainerIfNotExists(quality, { publicAccessLevel: 'blob' }, err => err ? e(err) : c()));
async function assertContainer(containerClient: ContainerClient): Promise<boolean> {
let containerResponse = await containerClient.createIfNotExists({ access: 'blob' });
return containerResponse && !!containerResponse.errorCode;
}
async function doesAssetExist(blobService: azure.BlobService, quality: string, blobName: string): Promise<boolean | undefined> {
const existsResult = await new Promise<azure.BlobService.BlobResult>((c, e) => blobService.doesBlobExist(quality, blobName, (err, r) => err ? e(err) : c(r)));
return existsResult.exists;
}
async function uploadBlob(blobService: azure.BlobService, quality: string, blobName: string, file: string): Promise<void> {
const blobOptions: azure.BlobService.CreateBlockBlobRequestOptions = {
contentSettings: {
contentType: mime.lookup(file),
cacheControl: 'max-age=31536000, public'
async function uploadBlob(blobClient: BlockBlobClient, file: string): Promise<void> {
const result = await blobClient.uploadFile(file, {
blobHTTPHeaders: {
blobContentType: mime.lookup(file),
blobCacheControl: 'max-age=31536000, public'
}
};
await new Promise<void>((c, e) => blobService.createBlockBlobFromLocalFile(quality, blobName, file, blobOptions, err => err ? e(err) : c()));
});
if (result && !result.errorCode) {
console.log(`Blobs uploaded successfully, response status: ${result?._response?.status}`);
} else {
console.error(`Blobs failed to upload, response status: ${result?._response?.status}, errorcode: ${result?.errorCode}`)
}
}
interface PublishOptions {
@@ -180,74 +179,78 @@ async function publish(commit: string, quality: string, platform: string, type:
const blobName = commit + '/' + name;
const storageAccount = process.env['AZURE_STORAGE_ACCOUNT_2']!;
const storageKey = process.env['AZURE_STORAGE_ACCESS_KEY_2']!;
const connectionString = `DefaultEndpointsProtocol=https;AccountName=${storageAccount};AccountKey=${storageKey};EndpointSuffix=core.windows.net`;
const blobService = azure.createBlobService(storageAccount, process.env['AZURE_STORAGE_ACCESS_KEY_2']!)
.withFilter(new azure.ExponentialRetryPolicyFilter(20));
await assertContainer(blobService, quality);
const blobExists = await doesAssetExist(blobService, quality, blobName);
if (blobExists) {
console.log(`Blob ${quality}, ${blobName} already exists, not publishing again.`);
return;
}
console.log('Uploading blobs to Azure storage...');
await uploadBlob(blobService, quality, blobName, file);
console.log('Blobs successfully uploaded.');
const config = await getConfig(quality);
console.log('Quality config:', config);
const asset: Asset = {
platform: platform,
type: type,
url: `${process.env['AZURE_CDN_URL']}/${quality}/${blobName}`,
hash: sha1hash,
sha256hash,
size
};
// Remove this if we ever need to rollback fast updates for windows
if (/win32/.test(platform)) {
asset.supportsFastUpdate = true;
}
console.log('Asset:', JSON.stringify(asset, null, ' '));
// {{SQL CARBON EDIT}}
// Insiders: nightly build from main
const isReleased = (
(
(quality === 'insider' && /^main$|^refs\/heads\/main$/.test(sourceBranch)) ||
(quality === 'rc1' && /^release\/|^refs\/heads\/release\//.test(sourceBranch))
) &&
/Project Collection Service Accounts|Microsoft.VisualStudio.Services.TFS/.test(queuedBy)
);
const release = {
id: commit,
timestamp: (new Date()).getTime(),
version,
isReleased: isReleased,
sourceBranch,
queuedBy,
assets: [] as Array<Asset>,
updates: {} as any
};
if (!opts['upload-only']) {
release.assets.push(asset);
if (isUpdate) {
release.updates[platform] = type;
let blobServiceClient = BlobServiceClient.fromConnectionString(connectionString, {
retryOptions: {
maxTries: 20,
retryPolicyType: StorageRetryPolicyType.EXPONENTIAL
}
}
});
await createOrUpdate(commit, quality, platform, type, release, asset, isUpdate);
let containerClient = blobServiceClient.getContainerClient(quality);
if (await assertContainer(containerClient)) {
const blobClient = containerClient.getBlockBlobClient(blobName);
const blobExists = await blobClient.exists();
if (blobExists) {
console.log(`Blob ${quality}, ${blobName} already exists, not publishing again.`);
return;
}
console.log('Uploading blobs to Azure storage...');
await uploadBlob(blobClient, file);
const config = await getConfig(quality);
console.log('Quality config:', config);
const asset: Asset = {
platform: platform,
type: type,
url: `${process.env['AZURE_CDN_URL']}/${quality}/${blobName}`,
hash: sha1hash,
sha256hash,
size
};
// Remove this if we ever need to rollback fast updates for windows
if (/win32/.test(platform)) {
asset.supportsFastUpdate = true;
}
console.log('Asset:', JSON.stringify(asset, null, ' '));
// {{SQL CARBON EDIT}}
// Insiders: nightly build from main
const isReleased = (
(
(quality === 'insider' && /^main$|^refs\/heads\/main$/.test(sourceBranch)) ||
(quality === 'rc1' && /^release\/|^refs\/heads\/release\//.test(sourceBranch))
) &&
/Project Collection Service Accounts|Microsoft.VisualStudio.Services.TFS/.test(queuedBy)
);
const release = {
id: commit,
timestamp: (new Date()).getTime(),
version,
isReleased: isReleased,
sourceBranch,
queuedBy,
assets: [] as Array<Asset>,
updates: {} as any
};
if (!opts['upload-only']) {
release.assets.push(asset);
if (isUpdate) {
release.updates[platform] = type;
}
}
await createOrUpdate(commit, quality, platform, type, release, asset, isUpdate);
}
}
const RETRY_TIMES = 10;

View File

@@ -1,9 +1,10 @@
"use strict";
/*---------------------------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Licensed under the Source EULA. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/
'use strict';
Object.defineProperty(exports, "__esModule", { value: true });
const identity_1 = require("@azure/identity");
const cosmos_1 = require("@azure/cosmos");
const retry_1 = require("./retry");
function getEnv(name) {
@@ -28,9 +29,10 @@ async function getConfig(client, quality) {
return res.resources[0];
}
async function main() {
const commit = getEnv('BUILD_SOURCEVERSION');
const commit = process.env['VSCODE_DISTRO_COMMIT'] || getEnv('BUILD_SOURCEVERSION');
const quality = getEnv('VSCODE_QUALITY');
const client = new cosmos_1.CosmosClient({ endpoint: process.env['AZURE_DOCUMENTDB_ENDPOINT'], key: process.env['AZURE_DOCUMENTDB_MASTERKEY'] });
const aadCredentials = new identity_1.ClientSecretCredential(process.env['AZURE_TENANT_ID'], process.env['AZURE_CLIENT_ID'], process.env['AZURE_CLIENT_SECRET']);
const client = new cosmos_1.CosmosClient({ endpoint: process.env['AZURE_DOCUMENTDB_ENDPOINT'], aadCredentials });
const config = await getConfig(client, quality);
console.log('Quality config:', config);
if (config.frozen) {

View File

@@ -3,8 +3,7 @@
* Licensed under the Source EULA. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/
'use strict';
import { ClientSecretCredential } from '@azure/identity';
import { CosmosClient } from '@azure/cosmos';
import { retry } from './retry';
@@ -43,10 +42,11 @@ async function getConfig(client: CosmosClient, quality: string): Promise<Config>
}
async function main(): Promise<void> {
const commit = getEnv('BUILD_SOURCEVERSION');
const commit = process.env['VSCODE_DISTRO_COMMIT'] || getEnv('BUILD_SOURCEVERSION');
const quality = getEnv('VSCODE_QUALITY');
const client = new CosmosClient({ endpoint: process.env['AZURE_DOCUMENTDB_ENDPOINT']!, key: process.env['AZURE_DOCUMENTDB_MASTERKEY'] });
const aadCredentials = new ClientSecretCredential(process.env['AZURE_TENANT_ID']!, process.env['AZURE_CLIENT_ID']!, process.env['AZURE_CLIENT_SECRET']!);
const client = new CosmosClient({ endpoint: process.env['AZURE_DOCUMENTDB_ENDPOINT']!, aadCredentials });
const config = await getConfig(client, quality);
console.log('Quality config:', config);

View File

@@ -1,25 +1,28 @@
"use strict";
/*---------------------------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Licensed under the Source EULA. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/
'use strict';
Object.defineProperty(exports, "__esModule", { value: true });
exports.retry = void 0;
async function retry(fn) {
let lastError;
for (let run = 1; run <= 10; run++) {
try {
return await fn();
}
catch (err) {
if (!/ECONNRESET/.test(err.message)) {
if (!/ECONNRESET|CredentialUnavailableError|Audience validation failed/i.test(err.message)) {
throw err;
}
lastError = err;
const millis = (Math.random() * 200) + (50 * Math.pow(1.5, run));
console.log(`Failed with ECONNRESET, retrying in ${millis}ms...`);
console.log(`Request failed, retrying in ${millis}ms...`);
// maximum delay is 10th retry: ~3 seconds
await new Promise(c => setTimeout(c, millis));
}
}
throw new Error('Retried too many times');
console.log(`Too many retries, aborting.`);
throw lastError;
}
exports.retry = retry;

View File

@@ -3,24 +3,26 @@
* Licensed under the Source EULA. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/
'use strict';
export async function retry<T>(fn: () => Promise<T>): Promise<T> {
let lastError: Error | undefined;
for (let run = 1; run <= 10; run++) {
try {
return await fn();
} catch (err) {
if (!/ECONNRESET/.test(err.message)) {
if (!/ECONNRESET|CredentialUnavailableError|Audience validation failed/i.test(err.message)) {
throw err;
}
lastError = err;
const millis = (Math.random() * 200) + (50 * Math.pow(1.5, run));
console.log(`Failed with ECONNRESET, retrying in ${millis}ms...`);
console.log(`Request failed, retrying in ${millis}ms...`);
// maximum delay is 10th retry: ~3 seconds
await new Promise(c => setTimeout(c, millis));
}
}
throw new Error('Retried too many times');
console.log(`Too many retries, aborting.`);
throw lastError;
}

View File

@@ -18,7 +18,7 @@ function getParams(type) {
case 'darwin-sign':
return '[{"keyCode":"CP-401337-Apple","operationSetCode":"MacAppDeveloperSign","parameters":[{"parameterName":"Hardening","parameterValue":"--options=runtime"}],"toolName":"sign","toolVersion":"1.0"}]';
case 'darwin-notarize':
return '[{"keyCode":"CP-401337-Apple","operationSetCode":"MacAppNotarize","parameters":[{"parameterName":"BundleId","parameterValue":"$(BundleIdentifier)"}],"toolName":"sign","toolVersion":"1.0"}]';
return '[{"keyCode":"CP-401337-Apple","operationSetCode":"MacAppNotarize","parameters":[],"toolName":"sign","toolVersion":"1.0"}]';
default:
throw new Error(`Sign type ${type} not found`);
}

View File

@@ -17,7 +17,7 @@ function getParams(type: string): string {
case 'darwin-sign':
return '[{"keyCode":"CP-401337-Apple","operationSetCode":"MacAppDeveloperSign","parameters":[{"parameterName":"Hardening","parameterValue":"--options=runtime"}],"toolName":"sign","toolVersion":"1.0"}]';
case 'darwin-notarize':
return '[{"keyCode":"CP-401337-Apple","operationSetCode":"MacAppNotarize","parameters":[{"parameterName":"BundleId","parameterValue":"$(BundleIdentifier)"}],"toolName":"sign","toolVersion":"1.0"}]';
return '[{"keyCode":"CP-401337-Apple","operationSetCode":"MacAppNotarize","parameters":[],"toolName":"sign","toolVersion":"1.0"}]';
default:
throw new Error(`Sign type ${type} not found`);
}

View File

@@ -0,0 +1,11 @@
{
"tool": "Credential Scanner",
"suppressions": [
{
"file": [
"src/vs/base/test/common/uri.test.ts"
],
"_justification": "These are not passwords, they are URIs."
}
]
}

View File

@@ -0,0 +1,12 @@
{
"instanceUrl": "https://msazure.visualstudio.com/defaultcollection",
"projectName": "One",
"areaPath": "One\\VSCode\\Client",
"iterationPath": "One",
"notificationAliases": [
"sbatten@microsoft.com"
],
"ppe": "false",
"template": "TFSMSAzure",
"codebaseName": "vscode-client"
}

View File

@@ -8,6 +8,8 @@
<true/>
<key>com.apple.security.cs.allow-dyld-environment-variables</key>
<true/>
<key>com.apple.security.cs.disable-library-validation</key>
<true/>
<key>com.apple.security.device.audio-input</key>
<true/>
<key>com.apple.security.device.camera</key>

View File

@@ -49,7 +49,7 @@ steps:
- script: |
./scripts/test.sh --tfs "Unit Tests"
displayName: Run Unit Tests (Electron)
displayName: Run Core Unit Tests # {{SQL CARBON EDIT}} Rename to core for clarity
# - script: | {{SQL CARBON EDIT}} disable
# yarn test-browser --browser chromium --browser webkit --browser firefox --tfs "Browser Unit Tests"
@@ -57,7 +57,7 @@ steps:
# - script: | {{SQL CARBON EDIT}} disable
# ./scripts/test-integration.sh --tfs "Integration Tests"
# displayName: Run Integration Tests (Electron)
# displayName: Run Core Integration Tests # {{SQL CARBON EDIT}} Rename to core for clarity
- task: PublishPipelineArtifact@0
inputs:

View File

@@ -4,11 +4,5 @@
<dict>
<key>com.apple.security.cs.allow-jit</key>
<true/>
<key>com.apple.security.cs.allow-unsigned-executable-memory</key>
<true/>
<key>com.apple.security.cs.disable-library-validation</key>
<true/>
<key>com.apple.security.cs.allow-dyld-environment-variables</key>
<true/>
</dict>
</plist>

View File

@@ -1,7 +1,7 @@
steps:
- task: NodeTool@0
inputs:
versionSpec: "14.x"
versionSpec: "16.x"
- task: AzureKeyVault@1
displayName: "Azure Key Vault: Get Secrets"
@@ -22,16 +22,79 @@ steps:
git config user.name "VSCode"
displayName: Prepare tooling
- script: |
set -e
git fetch https://github.com/$(VSCODE_MIXIN_REPO).git $VSCODE_DISTRO_REF
echo "##vso[task.setvariable variable=VSCODE_DISTRO_COMMIT;]$(git rev-parse FETCH_HEAD)"
git checkout FETCH_HEAD
condition: and(succeeded(), ne(variables.VSCODE_DISTRO_REF, ' '))
displayName: Checkout override commit
- script: |
set -e
git pull --no-rebase https://github.com/$(VSCODE_MIXIN_REPO).git $(node -p "require('./package.json').distro")
displayName: Merge distro
- script: |
mkdir -p .build
node build/azure-pipelines/common/computeNodeModulesCacheKey.js x64 $ENABLE_TERRAPIN > .build/yarnlockhash
displayName: Prepare yarn cache flags
- task: Cache@2
inputs:
key: "nodeModules | $(Agent.OS) | .build/yarnlockhash"
path: .build/node_modules_cache
cacheHitVar: NODE_MODULES_RESTORED
displayName: Restore node_modules cache
- script: |
set -e
yarn --cwd build
yarn --cwd build compile
displayName: Compile build tools
tar -xzf .build/node_modules_cache/cache.tgz
displayName: Extract node_modules cache
condition: and(succeeded(), eq(variables.NODE_MODULES_RESTORED, 'true'))
- script: |
set -e
npm install -g node-gyp@latest
node-gyp --version
displayName: Update node-gyp
condition: and(succeeded(), ne(variables.NODE_MODULES_RESTORED, 'true'))
- script: |
set -e
npx https://aka.ms/enablesecurefeed standAlone
timeoutInMinutes: 5
retryCountOnTaskFailure: 3
condition: and(succeeded(), ne(variables.NODE_MODULES_RESTORED, 'true'), eq(variables['ENABLE_TERRAPIN'], 'true'))
displayName: Switch to Terrapin packages
- script: |
set -e
export npm_config_arch=$(VSCODE_ARCH)
export npm_config_node_gyp=$(which node-gyp)
for i in {1..3}; do # try 3 times, for Terrapin
yarn --frozen-lockfile --check-files && break
if [ $i -eq 3 ]; then
echo "Yarn failed too many times" >&2
exit 1
fi
echo "Yarn failed $i, trying again..."
done
env:
ELECTRON_SKIP_BINARY_DOWNLOAD: 1
PLAYWRIGHT_SKIP_BROWSER_DOWNLOAD: 1
GITHUB_TOKEN: "$(github-distro-mixin-password)"
displayName: Install dependencies
condition: and(succeeded(), ne(variables.NODE_MODULES_RESTORED, 'true'))
- script: |
set -e
node build/azure-pipelines/common/listNodeModules.js .build/node_modules_list.txt
mkdir -p .build/node_modules_cache
tar -czf .build/node_modules_cache/cache.tgz --files-from .build/node_modules_list.txt
condition: and(succeeded(), ne(variables.NODE_MODULES_RESTORED, 'true'))
displayName: Create node_modules archive
- download: current
artifact: unsigned_vscode_client_darwin_$(VSCODE_ARCH)_archive
@@ -55,13 +118,6 @@ steps:
node build/azure-pipelines/common/sign "$(esrpclient.toolpath)/$(esrpclient.toolname)" darwin-sign $(ESRP-PKI) $(esrp-aad-username) $(esrp-aad-password) $(agent.builddirectory) VSCode-darwin-$(VSCODE_ARCH).zip
displayName: Codesign
- script: |
APP_ROOT=$(agent.builddirectory)/VSCode-darwin-$(VSCODE_ARCH)
APP_NAME="`ls $APP_ROOT | head -n 1`"
BUNDLE_IDENTIFIER=$(node -p "require(\"$APP_ROOT/$APP_NAME/Contents/Resources/app/product.json\").darwinBundleIdentifier")
echo "##vso[task.setvariable variable=BundleIdentifier]$BUNDLE_IDENTIFIER"
displayName: Export bundle identifier
- script: |
set -e
node build/azure-pipelines/common/sign "$(esrpclient.toolpath)/$(esrpclient.toolname)" darwin-notarize $(ESRP-PKI) $(esrp-aad-username) $(esrp-aad-password) $(agent.builddirectory) VSCode-darwin-$(VSCODE_ARCH).zip

View File

@@ -0,0 +1,217 @@
parameters:
- name: VSCODE_QUALITY
type: string
- name: VSCODE_RUN_UNIT_TESTS
type: boolean
- name: VSCODE_RUN_INTEGRATION_TESTS
type: boolean
- name: VSCODE_RUN_SMOKE_TESTS
type: boolean
steps:
- script: |
set -e
VSCODE_MIXIN_PASSWORD="$(github-distro-mixin-password)" \
yarn npm-run-all -lp "electron $(VSCODE_ARCH)" "playwright-install"
displayName: Download Electron and Playwright
- ${{ if eq(parameters.VSCODE_RUN_UNIT_TESTS, true) }}:
- ${{ if eq(parameters.VSCODE_QUALITY, 'oss') }}:
- script: |
set -e
./scripts/test.sh --tfs "Unit Tests"
displayName: Run unit tests (Electron)
timeoutInMinutes: 15
- script: |
set -e
yarn test-node
displayName: Run unit tests (node.js)
timeoutInMinutes: 15
- script: |
set -e
DEBUG=*browser* yarn test-browser-no-install --sequential --browser chromium --browser webkit --tfs "Browser Unit Tests"
displayName: Run unit tests (Browser, Chromium & Webkit)
timeoutInMinutes: 30
- ${{ if ne(parameters.VSCODE_QUALITY, 'oss') }}:
- script: |
set -e
./scripts/test.sh --build --tfs "Unit Tests"
displayName: Run unit tests (Electron)
timeoutInMinutes: 15
- script: |
set -e
yarn test-node --build
displayName: Run unit tests (node.js)
timeoutInMinutes: 15
- script: |
set -e
DEBUG=*browser* yarn test-browser-no-install --sequential --build --browser chromium --browser webkit --tfs "Browser Unit Tests"
displayName: Run unit tests (Browser, Chromium & Webkit)
timeoutInMinutes: 30
- ${{ if eq(parameters.VSCODE_RUN_INTEGRATION_TESTS, true) }}:
- script: |
set -e
yarn gulp \
compile-extension:configuration-editing \
compile-extension:css-language-features-server \
compile-extension:emmet \
compile-extension:git \
compile-extension:github-authentication \
compile-extension:html-language-features-server \
compile-extension:ipynb \
compile-extension:json-language-features-server \
compile-extension:markdown-language-features-server \
compile-extension:markdown-language-features \
compile-extension-media \
compile-extension:microsoft-authentication \
compile-extension:typescript-language-features \
compile-extension:vscode-api-tests \
compile-extension:vscode-colorize-tests \
compile-extension:vscode-notebook-tests \
compile-extension:vscode-test-resolver
displayName: Build integration tests
- ${{ if eq(parameters.VSCODE_QUALITY, 'oss') }}:
- script: |
./scripts/test-integration.sh --tfs "Integration Tests"
displayName: Run integration tests (Electron)
timeoutInMinutes: 20
- ${{ if ne(parameters.VSCODE_QUALITY, 'oss') }}:
- script: |
# Figure out the full absolute path of the product we just built
# including the remote server and configure the integration tests
# to run with these builds instead of running out of sources.
set -e
APP_ROOT=$(agent.builddirectory)/VSCode-darwin-$(VSCODE_ARCH)
APP_NAME="`ls $APP_ROOT | head -n 1`"
INTEGRATION_TEST_ELECTRON_PATH="$APP_ROOT/$APP_NAME/Contents/MacOS/Electron" \
VSCODE_REMOTE_SERVER_PATH="$(agent.builddirectory)/vscode-reh-darwin-$(VSCODE_ARCH)" \
./scripts/test-integration.sh --build --tfs "Integration Tests"
displayName: Run integration tests (Electron)
timeoutInMinutes: 20
- script: |
set -e
VSCODE_REMOTE_SERVER_PATH="$(agent.builddirectory)/vscode-reh-web-darwin-$(VSCODE_ARCH)" \
./scripts/test-web-integration.sh --browser webkit
displayName: Run integration tests (Browser, Webkit)
timeoutInMinutes: 20
- script: |
set -e
APP_ROOT=$(agent.builddirectory)/VSCode-darwin-$(VSCODE_ARCH)
APP_NAME="`ls $APP_ROOT | head -n 1`"
INTEGRATION_TEST_ELECTRON_PATH="$APP_ROOT/$APP_NAME/Contents/MacOS/Electron" \
VSCODE_REMOTE_SERVER_PATH="$(agent.builddirectory)/vscode-reh-darwin-$(VSCODE_ARCH)" \
./scripts/test-remote-integration.sh
displayName: Run integration tests (Remote)
timeoutInMinutes: 20
- ${{ if eq(parameters.VSCODE_RUN_SMOKE_TESTS, true) }}:
- script: |
set -e
ps -ef
displayName: Diagnostics before smoke test run
continueOnError: true
condition: succeededOrFailed()
- ${{ if eq(parameters.VSCODE_QUALITY, 'oss') }}:
- script: |
set -e
yarn --cwd test/smoke compile
displayName: Compile smoke tests
- script: |
set -e
yarn smoketest-no-compile --tracing
timeoutInMinutes: 20
displayName: Run smoke tests (Electron)
- ${{ if ne(parameters.VSCODE_QUALITY, 'oss') }}:
- script: |
set -e
APP_ROOT=$(agent.builddirectory)/VSCode-darwin-$(VSCODE_ARCH)
APP_NAME="`ls $APP_ROOT | head -n 1`"
yarn smoketest-no-compile --tracing --build "$APP_ROOT/$APP_NAME"
timeoutInMinutes: 20
displayName: Run smoke tests (Electron)
- script: |
set -e
VSCODE_REMOTE_SERVER_PATH="$(agent.builddirectory)/vscode-reh-web-darwin-$(VSCODE_ARCH)" \
yarn smoketest-no-compile --web --tracing --headless
timeoutInMinutes: 20
displayName: Run smoke tests (Browser, Chromium)
- script: |
set -e
yarn gulp compile-extension:vscode-test-resolver
APP_ROOT=$(agent.builddirectory)/VSCode-darwin-$(VSCODE_ARCH)
APP_NAME="`ls $APP_ROOT | head -n 1`"
VSCODE_REMOTE_SERVER_PATH="$(agent.builddirectory)/vscode-reh-darwin-$(VSCODE_ARCH)" \
yarn smoketest-no-compile --tracing --remote --build "$APP_ROOT/$APP_NAME"
timeoutInMinutes: 20
displayName: Run smoke tests (Remote)
- script: |
set -e
ps -ef
displayName: Diagnostics after smoke test run
continueOnError: true
condition: succeededOrFailed()
- ${{ if or(eq(parameters.VSCODE_RUN_INTEGRATION_TESTS, true), eq(parameters.VSCODE_RUN_SMOKE_TESTS, true)) }}:
- task: PublishPipelineArtifact@0
inputs:
targetPath: .build/crashes
${{ if and(eq(parameters.VSCODE_RUN_INTEGRATION_TESTS, true), eq(parameters.VSCODE_RUN_SMOKE_TESTS, false)) }}:
artifactName: crash-dump-macos-$(VSCODE_ARCH)-integration-$(System.JobAttempt)
${{ elseif and(eq(parameters.VSCODE_RUN_INTEGRATION_TESTS, false), eq(parameters.VSCODE_RUN_SMOKE_TESTS, true)) }}:
artifactName: crash-dump-macos-$(VSCODE_ARCH)-smoke-$(System.JobAttempt)
${{ else }}:
artifactName: crash-dump-macos-$(VSCODE_ARCH)-$(System.JobAttempt)
displayName: "Publish Crash Reports"
continueOnError: true
condition: failed()
# In order to properly symbolify above crash reports
# (if any), we need the compiled native modules too
- task: PublishPipelineArtifact@0
inputs:
targetPath: node_modules
${{ if and(eq(parameters.VSCODE_RUN_INTEGRATION_TESTS, true), eq(parameters.VSCODE_RUN_SMOKE_TESTS, false)) }}:
artifactName: node-modules-macos-$(VSCODE_ARCH)-integration-$(System.JobAttempt)
${{ elseif and(eq(parameters.VSCODE_RUN_INTEGRATION_TESTS, false), eq(parameters.VSCODE_RUN_SMOKE_TESTS, true)) }}:
artifactName: node-modules-macos-$(VSCODE_ARCH)-smoke-$(System.JobAttempt)
${{ else }}:
artifactName: node-modules-macos-$(VSCODE_ARCH)-$(System.JobAttempt)
displayName: "Publish Node Modules"
continueOnError: true
condition: failed()
- task: PublishPipelineArtifact@0
inputs:
targetPath: .build/logs
${{ if and(eq(parameters.VSCODE_RUN_INTEGRATION_TESTS, true), eq(parameters.VSCODE_RUN_SMOKE_TESTS, false)) }}:
artifactName: logs-macos-$(VSCODE_ARCH)-integration-$(System.JobAttempt)
${{ elseif and(eq(parameters.VSCODE_RUN_INTEGRATION_TESTS, false), eq(parameters.VSCODE_RUN_SMOKE_TESTS, true)) }}:
artifactName: logs-macos-$(VSCODE_ARCH)-smoke-$(System.JobAttempt)
${{ else }}:
artifactName: logs-macos-$(VSCODE_ARCH)-$(System.JobAttempt)
displayName: "Publish Log Files"
continueOnError: true
condition: succeededOrFailed()
- task: PublishTestResults@2
displayName: Publish Tests Results
inputs:
testResultsFiles: "*-results.xml"
searchFolder: "$(Build.ArtifactStagingDirectory)/test-results"
condition: succeededOrFailed()

View File

@@ -0,0 +1,139 @@
steps:
- task: NodeTool@0
inputs:
versionSpec: "16.x"
- task: AzureKeyVault@1
displayName: "Azure Key Vault: Get Secrets"
inputs:
azureSubscription: "vscode-builds-subscription"
KeyVaultName: vscode
SecretsFilter: "github-distro-mixin-password,macos-developer-certificate,macos-developer-certificate-key"
- script: |
set -e
cat << EOF > ~/.netrc
machine github.com
login vscode
password $(github-distro-mixin-password)
EOF
git config user.email "vscode@microsoft.com"
git config user.name "VSCode"
displayName: Prepare tooling
- script: |
set -e
git fetch https://github.com/$(VSCODE_MIXIN_REPO).git $VSCODE_DISTRO_REF
echo "##vso[task.setvariable variable=VSCODE_DISTRO_COMMIT;]$(git rev-parse FETCH_HEAD)"
git checkout FETCH_HEAD
condition: and(succeeded(), ne(variables.VSCODE_DISTRO_REF, ' '))
displayName: Checkout override commit
- script: |
set -e
git pull --no-rebase https://github.com/$(VSCODE_MIXIN_REPO).git $(node -p "require('./package.json').distro")
displayName: Merge distro
- script: |
mkdir -p .build
node build/azure-pipelines/common/computeNodeModulesCacheKey.js x64 $ENABLE_TERRAPIN > .build/yarnlockhash
displayName: Prepare yarn cache flags
- task: Cache@2
inputs:
key: "nodeModules | $(Agent.OS) | .build/yarnlockhash"
path: .build/node_modules_cache
cacheHitVar: NODE_MODULES_RESTORED
displayName: Restore node_modules cache
- script: |
set -e
tar -xzf .build/node_modules_cache/cache.tgz
displayName: Extract node_modules cache
condition: and(succeeded(), eq(variables.NODE_MODULES_RESTORED, 'true'))
- script: |
set -e
npm install -g node-gyp@latest
node-gyp --version
displayName: Update node-gyp
condition: and(succeeded(), ne(variables.NODE_MODULES_RESTORED, 'true'))
- script: |
set -e
npx https://aka.ms/enablesecurefeed standAlone
timeoutInMinutes: 5
retryCountOnTaskFailure: 3
condition: and(succeeded(), ne(variables.NODE_MODULES_RESTORED, 'true'), eq(variables['ENABLE_TERRAPIN'], 'true'))
displayName: Switch to Terrapin packages
- script: |
set -e
export npm_config_arch=$(VSCODE_ARCH)
export npm_config_node_gyp=$(which node-gyp)
for i in {1..3}; do # try 3 times, for Terrapin
yarn --frozen-lockfile --check-files && break
if [ $i -eq 3 ]; then
echo "Yarn failed too many times" >&2
exit 1
fi
echo "Yarn failed $i, trying again..."
done
env:
ELECTRON_SKIP_BINARY_DOWNLOAD: 1
PLAYWRIGHT_SKIP_BROWSER_DOWNLOAD: 1
GITHUB_TOKEN: "$(github-distro-mixin-password)"
displayName: Install dependencies
condition: and(succeeded(), ne(variables.NODE_MODULES_RESTORED, 'true'))
- script: |
set -e
node build/azure-pipelines/common/listNodeModules.js .build/node_modules_list.txt
mkdir -p .build/node_modules_cache
tar -czf .build/node_modules_cache/cache.tgz --files-from .build/node_modules_list.txt
condition: and(succeeded(), ne(variables.NODE_MODULES_RESTORED, 'true'))
displayName: Create node_modules archive
- script: |
set -e
node build/azure-pipelines/mixin
displayName: Mix in quality
- download: current
artifact: unsigned_vscode_client_darwin_x64_archive
displayName: Download x64 artifact
- download: current
artifact: unsigned_vscode_client_darwin_arm64_archive
displayName: Download arm64 artifact
- script: |
set -e
cp $(Pipeline.Workspace)/unsigned_vscode_client_darwin_x64_archive/VSCode-darwin-x64.zip $(agent.builddirectory)/VSCode-darwin-x64.zip
cp $(Pipeline.Workspace)/unsigned_vscode_client_darwin_arm64_archive/VSCode-darwin-arm64.zip $(agent.builddirectory)/VSCode-darwin-arm64.zip
unzip $(agent.builddirectory)/VSCode-darwin-x64.zip -d $(agent.builddirectory)/VSCode-darwin-x64
unzip $(agent.builddirectory)/VSCode-darwin-arm64.zip -d $(agent.builddirectory)/VSCode-darwin-arm64
DEBUG=* node build/darwin/create-universal-app.js
displayName: Create Universal App
- script: |
set -e
security create-keychain -p pwd $(agent.tempdirectory)/buildagent.keychain
security default-keychain -s $(agent.tempdirectory)/buildagent.keychain
security unlock-keychain -p pwd $(agent.tempdirectory)/buildagent.keychain
echo "$(macos-developer-certificate)" | base64 -D > $(agent.tempdirectory)/cert.p12
security import $(agent.tempdirectory)/cert.p12 -k $(agent.tempdirectory)/buildagent.keychain -P "$(macos-developer-certificate-key)" -T /usr/bin/codesign
security set-key-partition-list -S apple-tool:,apple:,codesign: -s -k pwd $(agent.tempdirectory)/buildagent.keychain
VSCODE_ARCH=$(VSCODE_ARCH) DEBUG=electron-osx-sign* node build/darwin/sign.js
displayName: Set Hardened Entitlements
- script: |
set -e
pushd $(agent.builddirectory)/VSCode-darwin-$(VSCODE_ARCH) && zip -r -X -y $(agent.builddirectory)/VSCode-darwin-$(VSCODE_ARCH).zip * && popd
displayName: Archive build
- publish: $(Agent.BuildDirectory)/VSCode-darwin-$(VSCODE_ARCH).zip
artifact: unsigned_vscode_client_darwin_$(VSCODE_ARCH)_archive
displayName: Publish client archive

View File

@@ -1,52 +1,73 @@
parameters:
- name: VSCODE_PUBLISH
type: boolean
- name: VSCODE_QUALITY
type: string
- name: VSCODE_RUN_UNIT_TESTS
type: boolean
- name: VSCODE_RUN_INTEGRATION_TESTS
type: boolean
- name: VSCODE_RUN_SMOKE_TESTS
type: boolean
steps:
- ${{ if eq(parameters.VSCODE_QUALITY, 'oss') }}:
- checkout: self
fetchDepth: 1
retryCountOnTaskFailure: 3
- task: NodeTool@0
inputs:
versionSpec: "14.x"
versionSpec: "16.x"
- task: AzureKeyVault@1
displayName: "Azure Key Vault: Get Secrets"
inputs:
azureSubscription: "vscode-builds-subscription"
KeyVaultName: vscode
SecretsFilter: 'github-distro-mixin-password,macos-developer-certificate,macos-developer-certificate-key,ticino-storage-key'
- ${{ if ne(parameters.VSCODE_QUALITY, 'oss') }}:
- task: AzureKeyVault@1
displayName: "Azure Key Vault: Get Secrets"
inputs:
azureSubscription: "vscode-builds-subscription"
KeyVaultName: vscode
SecretsFilter: "github-distro-mixin-password,macos-developer-certificate,macos-developer-certificate-key"
- task: DownloadPipelineArtifact@2
inputs:
artifact: Compilation
path: $(Build.ArtifactStagingDirectory)
displayName: Download compilation output
condition: and(succeeded(), ne(variables['VSCODE_ARCH'], 'universal'))
- ${{ if ne(parameters.VSCODE_QUALITY, 'oss') }}:
- task: DownloadPipelineArtifact@2
inputs:
artifact: Compilation
path: $(Build.ArtifactStagingDirectory)
displayName: Download compilation output
- script: |
set -e
tar -xzf $(Build.ArtifactStagingDirectory)/compilation.tar.gz
displayName: Extract compilation output
condition: and(succeeded(), ne(variables['VSCODE_ARCH'], 'universal'))
- ${{ if ne(parameters.VSCODE_QUALITY, 'oss') }}:
- script: |
set -e
tar -xzf $(Build.ArtifactStagingDirectory)/compilation.tar.gz
displayName: Extract compilation output
# Set up the credentials to retrieve distro repo and setup git persona
# to create a merge commit for when we merge distro into oss
- script: |
set -e
cat << EOF > ~/.netrc
machine github.com
login vscode
password $(github-distro-mixin-password)
EOF
- ${{ if ne(parameters.VSCODE_QUALITY, 'oss') }}:
- script: |
set -e
cat << EOF > ~/.netrc
machine github.com
login vscode
password $(github-distro-mixin-password)
EOF
git config user.email "vscode@microsoft.com"
git config user.name "VSCode"
displayName: Prepare tooling
git config user.email "vscode@microsoft.com"
git config user.name "VSCode"
displayName: Prepare tooling
- script: |
set -e
sudo xcode-select -s /Applications/Xcode_12.2.app
displayName: Switch to Xcode 12
condition: and(succeeded(), eq(variables['VSCODE_ARCH'], 'arm64'))
- ${{ if ne(parameters.VSCODE_QUALITY, 'oss') }}:
- script: |
set -e
git fetch https://github.com/$(VSCODE_MIXIN_REPO).git $VSCODE_DISTRO_REF
echo "##vso[task.setvariable variable=VSCODE_DISTRO_COMMIT;]$(git rev-parse FETCH_HEAD)"
git checkout FETCH_HEAD
condition: and(succeeded(), ne(variables.VSCODE_DISTRO_REF, ' '))
displayName: Checkout override commit
- script: |
set -e
git pull --no-rebase https://github.com/$(VSCODE_MIXIN_REPO).git $(node -p "require('./package.json').distro")
displayName: Merge distro
- ${{ if ne(parameters.VSCODE_QUALITY, 'oss') }}:
- script: |
set -e
git pull --no-rebase https://github.com/$(VSCODE_MIXIN_REPO).git $(node -p "require('./package.json').distro")
displayName: Merge distro
- script: |
mkdir -p .build
@@ -66,17 +87,11 @@ steps:
condition: and(succeeded(), eq(variables.NODE_MODULES_RESTORED, 'true'))
displayName: Extract node_modules cache
- script: |
set -e
npm install -g node-gyp@latest
node-gyp --version
displayName: Update node-gyp
condition: and(succeeded(), ne(variables.NODE_MODULES_RESTORED, 'true'))
- script: |
set -e
npx https://aka.ms/enablesecurefeed standAlone
timeoutInMinutes: 5
retryCountOnTaskFailure: 3
condition: and(succeeded(), ne(variables.NODE_MODULES_RESTORED, 'true'), eq(variables['ENABLE_TERRAPIN'], 'true'))
displayName: Switch to Terrapin packages
@@ -84,10 +99,9 @@ steps:
set -e
export npm_config_arch=$(VSCODE_ARCH)
export npm_config_node_gyp=$(which node-gyp)
export SDKROOT=/Applications/Xcode_12.2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX11.0.sdk
for i in {1..3}; do # try 3 times, for Terrapin
yarn --frozen-lockfile && break
yarn --frozen-lockfile --check-files && break
if [ $i -eq 3 ]; then
echo "Yarn failed too many times" >&2
exit 1
@@ -109,202 +123,142 @@ steps:
condition: and(succeeded(), ne(variables.NODE_MODULES_RESTORED, 'true'))
displayName: Create node_modules archive
# This script brings in the right resources (images, icons, etc) based on the quality (insiders, stable, exploration)
- script: |
set -e
node build/azure-pipelines/mixin
displayName: Mix in quality
- ${{ if ne(parameters.VSCODE_QUALITY, 'oss') }}:
# This script brings in the right resources (images, icons, etc) based on the quality (insiders, stable, exploration)
- script: |
set -e
node build/azure-pipelines/mixin
displayName: Mix in quality
- script: |
set -e
VSCODE_MIXIN_PASSWORD="$(github-distro-mixin-password)" \
yarn gulp vscode-darwin-$(VSCODE_ARCH)-min-ci
displayName: Build client
condition: and(succeeded(), ne(variables['VSCODE_ARCH'], 'universal'))
- ${{ if ne(parameters.VSCODE_QUALITY, 'oss') }}:
- script: |
set -e
VSCODE_MIXIN_PASSWORD="$(github-distro-mixin-password)" \
yarn gulp vscode-darwin-$(VSCODE_ARCH)-min-ci
displayName: Build client
- script: |
set -e
VSCODE_MIXIN_PASSWORD="$(github-distro-mixin-password)" \
yarn gulp vscode-reh-darwin-min-ci
VSCODE_MIXIN_PASSWORD="$(github-distro-mixin-password)" \
yarn gulp vscode-reh-web-darwin-min-ci
displayName: Build Server
condition: and(succeeded(), eq(variables['VSCODE_ARCH'], 'x64'))
- ${{ if ne(parameters.VSCODE_QUALITY, 'oss') }}:
- script: |
set -e
node build/azure-pipelines/mixin --server
displayName: Mix in server quality
- script: |
set -e
VSCODE_MIXIN_PASSWORD="$(github-distro-mixin-password)" \
yarn npm-run-all -lp "electron $(VSCODE_ARCH)" "playwright-install"
displayName: Download Electron and Playwright
condition: and(succeeded(), ne(variables['VSCODE_ARCH'], 'universal'), eq(variables['VSCODE_STEP_ON_IT'], 'false'))
- ${{ if ne(parameters.VSCODE_QUALITY, 'oss') }}:
- script: |
set -e
VSCODE_MIXIN_PASSWORD="$(github-distro-mixin-password)" \
yarn gulp vscode-reh-darwin-$(VSCODE_ARCH)-min-ci
VSCODE_MIXIN_PASSWORD="$(github-distro-mixin-password)" \
yarn gulp vscode-reh-web-darwin-$(VSCODE_ARCH)-min-ci
displayName: Build Server
- download: current
artifact: unsigned_vscode_client_darwin_x64_archive
displayName: Download x64 artifact
condition: and(succeeded(), eq(variables['VSCODE_ARCH'], 'universal'))
- ${{ if eq(parameters.VSCODE_QUALITY, 'oss') }}:
- script: |
set -e
VSCODE_MIXIN_PASSWORD="$(github-distro-mixin-password)" \
yarn gulp "transpile-client" "transpile-extensions"
displayName: Transpile
- download: current
artifact: unsigned_vscode_client_darwin_arm64_archive
displayName: Download arm64 artifact
condition: and(succeeded(), eq(variables['VSCODE_ARCH'], 'universal'))
- ${{ if or(eq(parameters.VSCODE_RUN_UNIT_TESTS, true), eq(parameters.VSCODE_RUN_INTEGRATION_TESTS, true), eq(parameters.VSCODE_RUN_SMOKE_TESTS, true)) }}:
- template: product-build-darwin-test.yml
parameters:
VSCODE_QUALITY: ${{ parameters.VSCODE_QUALITY }}
VSCODE_RUN_UNIT_TESTS: ${{ parameters.VSCODE_RUN_UNIT_TESTS }}
VSCODE_RUN_INTEGRATION_TESTS: ${{ parameters.VSCODE_RUN_INTEGRATION_TESTS }}
VSCODE_RUN_SMOKE_TESTS: ${{ parameters.VSCODE_RUN_SMOKE_TESTS }}
- script: |
set -e
cp $(Pipeline.Workspace)/unsigned_vscode_client_darwin_x64_archive/VSCode-darwin-x64.zip $(agent.builddirectory)/VSCode-darwin-x64.zip
cp $(Pipeline.Workspace)/unsigned_vscode_client_darwin_arm64_archive/VSCode-darwin-arm64.zip $(agent.builddirectory)/VSCode-darwin-arm64.zip
unzip $(agent.builddirectory)/VSCode-darwin-x64.zip -d $(agent.builddirectory)/VSCode-darwin-x64
unzip $(agent.builddirectory)/VSCode-darwin-arm64.zip -d $(agent.builddirectory)/VSCode-darwin-arm64
DEBUG=* node build/darwin/create-universal-app.js
displayName: Create Universal App
condition: and(succeeded(), eq(variables['VSCODE_ARCH'], 'universal'))
- ${{ if eq(parameters.VSCODE_PUBLISH, true) }}:
# Setting hardened entitlements is a requirement for:
# * Apple notarization
# * Running tests on Big Sur (because Big Sur has additional security precautions)
- script: |
set -e
security create-keychain -p pwd $(agent.tempdirectory)/buildagent.keychain
security default-keychain -s $(agent.tempdirectory)/buildagent.keychain
security unlock-keychain -p pwd $(agent.tempdirectory)/buildagent.keychain
echo "$(macos-developer-certificate)" | base64 -D > $(agent.tempdirectory)/cert.p12
security import $(agent.tempdirectory)/cert.p12 -k $(agent.tempdirectory)/buildagent.keychain -P "$(macos-developer-certificate-key)" -T /usr/bin/codesign
security set-key-partition-list -S apple-tool:,apple:,codesign: -s -k pwd $(agent.tempdirectory)/buildagent.keychain
VSCODE_ARCH=$(VSCODE_ARCH) DEBUG=electron-osx-sign* node build/darwin/sign.js
displayName: Set Hardened Entitlements
# Setting hardened entitlements is a requirement for:
# * Apple notarization
# * Running tests on Big Sur (because Big Sur has additional security precautions)
- script: |
set -e
security create-keychain -p pwd $(agent.tempdirectory)/buildagent.keychain
security default-keychain -s $(agent.tempdirectory)/buildagent.keychain
security unlock-keychain -p pwd $(agent.tempdirectory)/buildagent.keychain
echo "$(macos-developer-certificate)" | base64 -D > $(agent.tempdirectory)/cert.p12
security import $(agent.tempdirectory)/cert.p12 -k $(agent.tempdirectory)/buildagent.keychain -P "$(macos-developer-certificate-key)" -T /usr/bin/codesign
security set-key-partition-list -S apple-tool:,apple:,codesign: -s -k pwd $(agent.tempdirectory)/buildagent.keychain
VSCODE_ARCH=$(VSCODE_ARCH) DEBUG=electron-osx-sign* node build/darwin/sign.js
displayName: Set Hardened Entitlements
- ${{ if and(eq(parameters.VSCODE_PUBLISH, true), eq(parameters.VSCODE_RUN_UNIT_TESTS, false), eq(parameters.VSCODE_RUN_INTEGRATION_TESTS, false), eq(parameters.VSCODE_RUN_SMOKE_TESTS, false)) }}:
- script: |
set -e
pushd $(agent.builddirectory)/VSCode-darwin-$(VSCODE_ARCH) && zip -r -X -y $(agent.builddirectory)/VSCode-darwin-$(VSCODE_ARCH).zip * && popd
displayName: Archive build
- script: |
set -e
./scripts/test.sh --build --tfs "Unit Tests"
displayName: Run unit tests (Electron)
timeoutInMinutes: 7
condition: and(succeeded(), eq(variables['VSCODE_ARCH'], 'x64'), eq(variables['VSCODE_STEP_ON_IT'], 'false'))
- ${{ if and(eq(parameters.VSCODE_PUBLISH, true), eq(parameters.VSCODE_RUN_UNIT_TESTS, false), eq(parameters.VSCODE_RUN_INTEGRATION_TESTS, false), eq(parameters.VSCODE_RUN_SMOKE_TESTS, false)) }}:
- script: |
set -e
- script: |
set -e
yarn test-browser --build --browser chromium --browser webkit --browser firefox --tfs "Browser Unit Tests"
displayName: Run unit tests (Browser)
timeoutInMinutes: 7
condition: and(succeeded(), eq(variables['VSCODE_ARCH'], 'x64'), eq(variables['VSCODE_STEP_ON_IT'], 'false'))
# package Remote Extension Host
pushd .. && mv vscode-reh-darwin-$(VSCODE_ARCH) vscode-server-darwin-$(VSCODE_ARCH) && zip -Xry vscode-server-darwin-$(VSCODE_ARCH).zip vscode-server-darwin-$(VSCODE_ARCH) && popd
- script: |
# Figure out the full absolute path of the product we just built
# including the remote server and configure the integration tests
# to run with these builds instead of running out of sources.
set -e
APP_ROOT=$(agent.builddirectory)/VSCode-darwin-$(VSCODE_ARCH)
APP_NAME="`ls $APP_ROOT | head -n 1`"
INTEGRATION_TEST_ELECTRON_PATH="$APP_ROOT/$APP_NAME/Contents/MacOS/Electron" \
VSCODE_REMOTE_SERVER_PATH="$(agent.builddirectory)/vscode-reh-darwin" \
./scripts/test-integration.sh --build --tfs "Integration Tests"
displayName: Run integration tests (Electron)
timeoutInMinutes: 10
condition: and(succeeded(), eq(variables['VSCODE_ARCH'], 'x64'), eq(variables['VSCODE_STEP_ON_IT'], 'false'))
# package Remote Extension Host (Web)
pushd .. && mv vscode-reh-web-darwin-$(VSCODE_ARCH) vscode-server-darwin-$(VSCODE_ARCH)-web && zip -Xry vscode-server-darwin-$(VSCODE_ARCH)-web.zip vscode-server-darwin-$(VSCODE_ARCH)-web && popd
displayName: Prepare to publish servers
- script: |
set -e
VSCODE_REMOTE_SERVER_PATH="$(agent.builddirectory)/vscode-reh-web-darwin" \
./resources/server/test/test-web-integration.sh --browser webkit
displayName: Run integration tests (Browser)
timeoutInMinutes: 10
condition: and(succeeded(), eq(variables['VSCODE_ARCH'], 'x64'), eq(variables['VSCODE_STEP_ON_IT'], 'false'))
- ${{ if and(eq(parameters.VSCODE_PUBLISH, true), eq(parameters.VSCODE_RUN_UNIT_TESTS, false), eq(parameters.VSCODE_RUN_INTEGRATION_TESTS, false), eq(parameters.VSCODE_RUN_SMOKE_TESTS, false)) }}:
- task: AzureArtifacts.manifest-generator-task.manifest-generator-task.ManifestGeneratorTask@0
displayName: Generate SBOM (client)
inputs:
BuildDropPath: $(agent.builddirectory)/VSCode-darwin-$(VSCODE_ARCH)
PackageName: Visual Studio Code
- script: |
set -e
APP_ROOT=$(agent.builddirectory)/VSCode-darwin-$(VSCODE_ARCH)
APP_NAME="`ls $APP_ROOT | head -n 1`"
INTEGRATION_TEST_ELECTRON_PATH="$APP_ROOT/$APP_NAME/Contents/MacOS/Electron" \
VSCODE_REMOTE_SERVER_PATH="$(agent.builddirectory)/vscode-reh-darwin" \
./resources/server/test/test-remote-integration.sh
displayName: Run remote integration tests (Electron)
timeoutInMinutes: 7
condition: and(succeeded(), eq(variables['VSCODE_ARCH'], 'x64'), eq(variables['VSCODE_STEP_ON_IT'], 'false'))
- ${{ if and(eq(parameters.VSCODE_PUBLISH, true), eq(parameters.VSCODE_RUN_UNIT_TESTS, false), eq(parameters.VSCODE_RUN_INTEGRATION_TESTS, false), eq(parameters.VSCODE_RUN_SMOKE_TESTS, false)) }}:
- publish: $(agent.builddirectory)/VSCode-darwin-$(VSCODE_ARCH)/_manifest
displayName: Publish SBOM (client)
artifact: vscode_client_darwin_$(VSCODE_ARCH)_sbom
- script: |
set -e
APP_ROOT=$(agent.builddirectory)/VSCode-darwin-$(VSCODE_ARCH)
APP_NAME="`ls $APP_ROOT | head -n 1`"
yarn smoketest-no-compile --build "$APP_ROOT/$APP_NAME" --screenshots $(Build.SourcesDirectory)/.build/logs/smoke-tests
timeoutInMinutes: 5
displayName: Run smoke tests (Electron)
condition: and(succeeded(), eq(variables['VSCODE_ARCH'], 'x64'), eq(variables['VSCODE_STEP_ON_IT'], 'false'))
- ${{ if and(eq(parameters.VSCODE_PUBLISH, true), eq(parameters.VSCODE_RUN_UNIT_TESTS, false), eq(parameters.VSCODE_RUN_INTEGRATION_TESTS, false), eq(parameters.VSCODE_RUN_SMOKE_TESTS, false)) }}:
- task: AzureArtifacts.manifest-generator-task.manifest-generator-task.ManifestGeneratorTask@0
displayName: Generate SBOM (server)
inputs:
BuildDropPath: $(agent.builddirectory)/vscode-server-darwin-$(VSCODE_ARCH)
PackageName: Visual Studio Code Server
- script: |
set -e
APP_ROOT=$(agent.builddirectory)/VSCode-darwin-$(VSCODE_ARCH)
APP_NAME="`ls $APP_ROOT | head -n 1`"
VSCODE_REMOTE_SERVER_PATH="$(agent.builddirectory)/vscode-reh-darwin" \
yarn smoketest-no-compile --build "$APP_ROOT/$APP_NAME" --remote --screenshots $(Build.SourcesDirectory)/.build/logs/smoke-tests
timeoutInMinutes: 5
displayName: Run smoke tests (Remote)
condition: and(succeeded(), eq(variables['VSCODE_ARCH'], 'x64'), eq(variables['VSCODE_STEP_ON_IT'], 'false'))
- ${{ if and(eq(parameters.VSCODE_PUBLISH, true), eq(parameters.VSCODE_RUN_UNIT_TESTS, false), eq(parameters.VSCODE_RUN_INTEGRATION_TESTS, false), eq(parameters.VSCODE_RUN_SMOKE_TESTS, false)) }}:
- publish: $(agent.builddirectory)/vscode-server-darwin-$(VSCODE_ARCH)/_manifest
displayName: Publish SBOM (server)
artifact: vscode_server_darwin_$(VSCODE_ARCH)_sbom
- script: |
set -e
VSCODE_REMOTE_SERVER_PATH="$(agent.builddirectory)/vscode-reh-web-darwin" \
yarn smoketest-no-compile --web --headless
timeoutInMinutes: 5
displayName: Run smoke tests (Browser)
condition: and(succeeded(), eq(variables['VSCODE_ARCH'], 'x64'), eq(variables['VSCODE_STEP_ON_IT'], 'false'))
- ${{ if and(eq(parameters.VSCODE_PUBLISH, true), eq(parameters.VSCODE_RUN_UNIT_TESTS, false), eq(parameters.VSCODE_RUN_INTEGRATION_TESTS, false), eq(parameters.VSCODE_RUN_SMOKE_TESTS, false)) }}:
- publish: $(Agent.BuildDirectory)/VSCode-darwin-$(VSCODE_ARCH).zip
artifact: unsigned_vscode_client_darwin_$(VSCODE_ARCH)_archive
displayName: Publish client archive
- task: PublishPipelineArtifact@0
inputs:
artifactName: crash-dump-macos-$(VSCODE_ARCH)
targetPath: .build/crashes
displayName: "Publish Crash Reports"
continueOnError: true
condition: failed()
- ${{ if and(eq(parameters.VSCODE_PUBLISH, true), eq(parameters.VSCODE_RUN_UNIT_TESTS, false), eq(parameters.VSCODE_RUN_INTEGRATION_TESTS, false), eq(parameters.VSCODE_RUN_SMOKE_TESTS, false)) }}:
- publish: $(Agent.BuildDirectory)/vscode-server-darwin-$(VSCODE_ARCH).zip
artifact: vscode_server_darwin_$(VSCODE_ARCH)_archive-unsigned
displayName: Publish server archive
- task: PublishPipelineArtifact@0
inputs:
artifactName: logs-macos-$(VSCODE_ARCH)-$(System.JobAttempt)
targetPath: .build/logs
displayName: "Publish Log Files"
continueOnError: true
condition: and(succeededOrFailed(), eq(variables['VSCODE_ARCH'], 'x64'), eq(variables['VSCODE_STEP_ON_IT'], 'false'))
- ${{ if and(eq(parameters.VSCODE_PUBLISH, true), eq(parameters.VSCODE_RUN_UNIT_TESTS, false), eq(parameters.VSCODE_RUN_INTEGRATION_TESTS, false), eq(parameters.VSCODE_RUN_SMOKE_TESTS, false)) }}:
- publish: $(Agent.BuildDirectory)/vscode-server-darwin-$(VSCODE_ARCH)-web.zip
artifact: vscode_web_darwin_$(VSCODE_ARCH)_archive-unsigned
displayName: Publish web server archive
- task: PublishTestResults@2
displayName: Publish Tests Results
inputs:
testResultsFiles: "*-results.xml"
searchFolder: "$(Build.ArtifactStagingDirectory)/test-results"
condition: and(succeededOrFailed(), eq(variables['VSCODE_ARCH'], 'x64'), eq(variables['VSCODE_STEP_ON_IT'], 'false'))
- ${{ if and(eq(parameters.VSCODE_PUBLISH, true), eq(parameters.VSCODE_RUN_UNIT_TESTS, false), eq(parameters.VSCODE_RUN_INTEGRATION_TESTS, false), eq(parameters.VSCODE_RUN_SMOKE_TESTS, false)) }}:
- task: AzureCLI@2
inputs:
azureSubscription: "vscode-builds-subscription"
scriptType: pscore
scriptLocation: inlineScript
addSpnToEnvironment: true
inlineScript: |
Write-Host "##vso[task.setvariable variable=AZURE_TENANT_ID]$env:tenantId"
Write-Host "##vso[task.setvariable variable=AZURE_CLIENT_ID]$env:servicePrincipalId"
Write-Host "##vso[task.setvariable variable=AZURE_CLIENT_SECRET;issecret=true]$env:servicePrincipalKey"
- script: |
set -e
pushd $(agent.builddirectory)/VSCode-darwin-$(VSCODE_ARCH) && zip -r -X -y $(agent.builddirectory)/VSCode-darwin-$(VSCODE_ARCH).zip * && popd
displayName: Archive build
condition: and(succeeded(), ne(variables['VSCODE_PUBLISH'], 'false'))
- script: |
set -e
# package Remote Extension Host
pushd .. && mv vscode-reh-darwin vscode-server-darwin && zip -Xry vscode-server-darwin.zip vscode-server-darwin && popd
# package Remote Extension Host (Web)
pushd .. && mv vscode-reh-web-darwin vscode-server-darwin-web && zip -Xry vscode-server-darwin-web.zip vscode-server-darwin-web && popd
displayName: Prepare to publish servers
condition: and(succeeded(), eq(variables['VSCODE_ARCH'], 'x64'), ne(variables['VSCODE_PUBLISH'], 'false'))
- publish: $(Agent.BuildDirectory)/VSCode-darwin-$(VSCODE_ARCH).zip
artifact: unsigned_vscode_client_darwin_$(VSCODE_ARCH)_archive
displayName: Publish client archive
condition: and(succeeded(), ne(variables['VSCODE_PUBLISH'], 'false'))
- publish: $(Agent.BuildDirectory)/vscode-server-darwin.zip
artifact: vscode_server_darwin_$(VSCODE_ARCH)_archive-unsigned
displayName: Publish server archive
condition: and(succeeded(), eq(variables['VSCODE_ARCH'], 'x64'), ne(variables['VSCODE_PUBLISH'], 'false'))
- publish: $(Agent.BuildDirectory)/vscode-server-darwin-web.zip
artifact: vscode_web_darwin_$(VSCODE_ARCH)_archive-unsigned
displayName: Publish web server archive
condition: and(succeeded(), eq(variables['VSCODE_ARCH'], 'x64'), ne(variables['VSCODE_PUBLISH'], 'false'))
- script: |
AZURE_STORAGE_ACCESS_KEY="$(ticino-storage-key)" \
VSCODE_ARCH="$(VSCODE_ARCH)" \
yarn gulp upload-vscode-configuration
displayName: Upload configuration (for Bing settings search)
condition: and(succeeded(), eq(variables['VSCODE_ARCH'], 'x64'), ne(variables['VSCODE_PUBLISH'], 'false'))
continueOnError: true
- ${{ if and(eq(parameters.VSCODE_PUBLISH, true), eq(parameters.VSCODE_RUN_UNIT_TESTS, false), eq(parameters.VSCODE_RUN_INTEGRATION_TESTS, false), eq(parameters.VSCODE_RUN_SMOKE_TESTS, false)) }}:
- script: |
set -e
AZURE_STORAGE_ACCOUNT="ticino" \
AZURE_TENANT_ID="$(AZURE_TENANT_ID)" \
AZURE_CLIENT_ID="$(AZURE_CLIENT_ID)" \
AZURE_CLIENT_SECRET="$(AZURE_CLIENT_SECRET)" \
VSCODE_ARCH="$(VSCODE_ARCH)" \
node build/azure-pipelines/upload-configuration
displayName: Upload configuration (for Bing settings search)
condition: and(succeeded(), eq(variables['VSCODE_ARCH'], 'x64'))
continueOnError: true

View File

@@ -9,12 +9,12 @@ steps:
displayName: 'Download Build Artifacts'
inputs:
downloadType: specific
itemPattern: 'drop/darwin/archive/azuredatastudio-darwin-unsigned.zip'
itemPattern: 'drop/darwin/archive/azuredatastudio-darwin-$(VSCODE_ARCH)-unsigned.zip'
downloadPath: '$(Build.SourcesDirectory)/.build/'
- script: |
pushd $(Build.SourcesDirectory)/.build/drop/darwin/archive
mv azuredatastudio-darwin-unsigned.zip azuredatastudio-darwin.zip
mv azuredatastudio-darwin-$(VSCODE_ARCH)-unsigned.zip azuredatastudio-darwin-$(VSCODE_ARCH).zip
displayName: 'Rename the file'
- task: UseDotNet@2
@@ -29,7 +29,7 @@ steps:
inputs:
ConnectedServiceName: 'Code Signing'
FolderPath: '$(Build.SourcesDirectory)/.build/drop/darwin/archive'
Pattern: 'azuredatastudio-darwin.zip'
Pattern: 'azuredatastudio-darwin-$(VSCODE_ARCH).zip'
signConfigType: inlineSignParams
inlineOperation: |
[
@@ -47,7 +47,7 @@ steps:
condition: and(succeeded(), eq(variables['signed'], true))
- script: |
zip -d $(Build.SourcesDirectory)/.build/drop/darwin/archive/azuredatastudio-darwin.zip "*.pkg"
zip -d $(Build.SourcesDirectory)/.build/drop/darwin/archive/azuredatastudio-darwin-$(VSCODE_ARCH).zip "*.pkg"
displayName: Clean Archive
condition: and(succeeded(), eq(variables['signed'], true))
@@ -56,7 +56,7 @@ steps:
inputs:
ConnectedServiceName: 'Code Signing'
FolderPath: '$(Build.SourcesDirectory)/.build/drop/darwin/archive'
Pattern: 'azuredatastudio-darwin.zip'
Pattern: 'azuredatastudio-darwin-$(VSCODE_ARCH).zip'
signConfigType: inlineSignParams
inlineOperation: |
[

View File

@@ -52,7 +52,7 @@ steps:
- script: |
mkdir -p .build
node build/azure-pipelines/common/sql-computeNodeModulesCacheKey.js > .build/yarnlockhash
node build/azure-pipelines/common/sql-computeNodeModulesCacheKey.js $(NPM_CONFIG_ARCH) > .build/yarnlockhash
displayName: Prepare yarn cache key
- task: Cache@2
@@ -71,6 +71,7 @@ steps:
- script: |
set -e
export npm_config_arch=$(NPM_CONFIG_ARCH)
CHILD_CONCURRENCY=1 yarn --frozen-lockfile
displayName: Install dependencies
env:
@@ -93,16 +94,17 @@ steps:
- script: |
set -e
node build/azure-pipelines/mixin
node build/azure-pipelines/sql-mixin
displayName: Mix in quality
- script: |
set -e
yarn gulp package-rebuild-extensions
yarn gulp vscode-darwin-x64-min-ci
yarn gulp vscode-darwin-$(VSCODE_ARCH)-min-ci
displayName: Build
env:
VSCODE_MIXIN_PASSWORD: $(github-distro-mixin-password)
condition: and(succeeded(), ne(variables['VSCODE_ARCH'], 'universal'))
- script: |
set -e
@@ -110,42 +112,45 @@ steps:
displayName: Run unit tests
condition: and(succeeded(), eq(variables['RUN_TESTS'], 'true'))
- script: |
# Figure out the full absolute path of the product we just built
# including the remote server and configure the integration tests
# to run with these builds instead of running out of sources.
set -e
APP_ROOT=$(agent.builddirectory)/azuredatastudio-darwin-x64
APP_NAME="`ls $APP_ROOT | head -n 1`"
INTEGRATION_TEST_ELECTRON_PATH="$APP_ROOT/$APP_NAME/Contents/MacOS/Electron" \
VSCODE_REMOTE_SERVER_PATH="$(agent.builddirectory)/azuredatastudio-reh-darwin" \
./scripts/test-integration.sh --build --tfs "Integration Tests"
displayName: Run integration tests (Electron)
condition: and(succeeded(), eq(variables['RUN_TESTS'], 'true'))
# {{SQL CARBON TODO}} Reenable "Run Core Integration Tests"
# - script: |
# # Figure out the full absolute path of the product we just built
# # including the remote server and configure the integration tests
# # to run with these builds instead of running out of sources.
# set -e
# APP_ROOT=$(agent.builddirectory)/azuredatastudio-darwin-x64
# APP_NAME="`ls $APP_ROOT | head -n 1`"
# INTEGRATION_TEST_ELECTRON_PATH="$APP_ROOT/$APP_NAME/Contents/MacOS/Electron" \
# VSCODE_REMOTE_SERVER_PATH="$(agent.builddirectory)/azuredatastudio-reh-darwin" \
# ./scripts/test-integration.sh --build --tfs "Integration Tests"
# displayName: Run core integration tests
# condition: and(succeeded(), eq(variables['RUN_TESTS'], 'true'))
- script: |
set -e
yarn gulp compile-extensions
displayName: Compile Extensions
condition: and(succeeded(), ne(variables['VSCODE_ARCH'], 'universal'))
# Per https://developercommunity.visualstudio.com/t/variablesexpressions-dont-work-with-continueonerro/1187733 we can't use variables
# in continueOnError directly so instead make two copies of the task and only run one or the other based on the SMOKE_FAIL_ON_ERROR value
- script: |
set -e
APP_ROOT=$(agent.builddirectory)/azuredatastudio-darwin-x64
APP_NAME="`ls $APP_ROOT | head -n 1`"
yarn smoketest --build "$APP_ROOT/$APP_NAME" --screenshots "$(build.artifactstagingdirectory)/smokeshots" --log "$(build.artifactstagingdirectory)/logs/darwin/smoke.log" --extensionsDir "$(build.sourcesdirectory)/extensions"
displayName: Run smoke tests (Electron) (Continue on Error)
continueOnError: true
condition: and(succeeded(), and(or(eq(variables['RUN_TESTS'], 'true'), eq(variables['RUN_SMOKE_TESTS'], 'true')), ne(variables['SMOKE_FAIL_ON_ERROR'], 'true')))
# {{SQL CARBON TODO}} -- reenable
# - script: |
# set -e
# APP_ROOT=$(agent.builddirectory)/azuredatastudio-darwin-$(VSCODE_ARCH)
# APP_NAME="`ls $APP_ROOT | head -n 1`"
# yarn smoketest --build "$APP_ROOT/$APP_NAME" --screenshots "$(build.artifactstagingdirectory)/smokeshots" --log "$(build.artifactstagingdirectory)/logs/darwin/smoke.log" --extensionsDir "$(build.sourcesdirectory)/extensions" --extraArgs "--disable-extension Microsoft.kusto --disable-extension Microsoft.azuremonitor"
# displayName: Run core smoke tests (Continue on Error)
# continueOnError: true
# condition: and(succeeded(), and(or(eq(variables['RUN_TESTS'], 'true'), eq(variables['RUN_SMOKE_TESTS'], 'true')), ne(variables['SMOKE_FAIL_ON_ERROR'], 'true')))
- script: |
set -e
APP_ROOT=$(agent.builddirectory)/azuredatastudio-darwin-x64
APP_NAME="`ls $APP_ROOT | head -n 1`"
yarn smoketest --build "$APP_ROOT/$APP_NAME" --screenshots "$(build.artifactstagingdirectory)/smokeshots" --log "$(build.artifactstagingdirectory)/logs/darwin/smoke.log" --extensionsDir "$(build.sourcesdirectory)/extensions"
displayName: Run smoke tests (Electron) (Fail on Error)
condition: and(succeeded(), and(or(eq(variables['RUN_TESTS'], 'true'), eq(variables['RUN_SMOKE_TESTS'], 'true')), eq(variables['SMOKE_FAIL_ON_ERROR'], 'true')))
# - script: |
# set -e
# APP_ROOT=$(agent.builddirectory)/azuredatastudio-darwin-$(VSCODE_ARCH)
# APP_NAME="`ls $APP_ROOT | head -n 1`"
# yarn smoketest --build "$APP_ROOT/$APP_NAME" --screenshots "$(build.artifactstagingdirectory)/smokeshots" --log "$(build.artifactstagingdirectory)/logs/darwin/smoke.log" --extensionsDir "$(build.sourcesdirectory)/extensions"
# displayName: Run core smoke tests (Fail on Error)
# condition: and(succeeded(), and(or(eq(variables['RUN_TESTS'], 'true'), eq(variables['RUN_SMOKE_TESTS'], 'true')), eq(variables['SMOKE_FAIL_ON_ERROR'], 'true')))
# - script: |
# set -e
@@ -156,9 +161,25 @@ steps:
# continueOnError: true
# condition: and(succeeded(), eq(variables['RUN_TESTS'], 'true'))
- task: DownloadBuildArtifacts@0
displayName: 'Download arm64 and x64 packages'
inputs:
downloadType: specific
itemPattern: 'drop/darwin/archive/azuredatastudio-darwin-@(arm64|x64)-unsigned.zip'
downloadPath: $(agent.builddirectory)
condition: and(succeeded(), eq(variables['VSCODE_ARCH'], 'universal'))
- script: |
set -e
pushd ../azuredatastudio-darwin-x64
unzip $(agent.builddirectory)/drop/darwin/archive/azuredatastudio-darwin-x64-unsigned.zip -d $(agent.builddirectory)/azuredatastudio-darwin-x64
unzip $(agent.builddirectory)/drop/darwin/archive/azuredatastudio-darwin-arm64-unsigned.zip -d $(agent.builddirectory)/azuredatastudio-darwin-arm64
DEBUG=* node build/darwin/create-universal-app.js
displayName: Create Universal App
condition: and(succeeded(), eq(variables['VSCODE_ARCH'], 'universal'))
- script: |
set -e
pushd ../azuredatastudio-darwin-$(VSCODE_ARCH)
ls
echo "Cleaning the application"
@@ -188,20 +209,10 @@ steps:
- script: |
set -e
mkdir -p .build/darwin/archive
pushd ../azuredatastudio-darwin-x64
ditto -c -k --keepParent *.app $(Build.SourcesDirectory)/.build/darwin/archive/azuredatastudio-darwin.zip
popd
displayName: 'Archive (no signing)'
condition: and(succeeded(), eq(variables['signed'], false))
- script: |
set -e
mkdir -p .build/darwin/archive
pushd ../azuredatastudio-darwin-x64
ditto -c -k --keepParent *.app $(Build.SourcesDirectory)/.build/darwin/archive/azuredatastudio-darwin-unsigned.zip
pushd ../azuredatastudio-darwin-$(VSCODE_ARCH)
ditto -c -k --keepParent *.app $(Build.SourcesDirectory)/.build/darwin/archive/azuredatastudio-darwin-$(VSCODE_ARCH)-unsigned.zip
popd
displayName: 'Archive'
condition: and(succeeded(), eq(variables['signed'], true))
- script: |
set -e

View File

@@ -13,12 +13,22 @@ $Version = $VersionJson.version
$Quality = $VersionJson.quality
$CommitId = $VersionJson.commit
$ZipName = "azuredatastudio-darwin.zip"
$Zip = "$artifactsDir\darwin\archive\$ZipName"
$UploadName = "azuredatastudio-macos-$Version"
$Flavors = "x64","arm64","universal"
$FlavorSuffixes = "","-arm64","-universal"
If (-NOT ($Quality -eq "stable")) {
$UploadName = "$UploadName-$Quality"
For($i = 0; $i -lt $Flavors.Length; $i++)
{
$Flavor = $Flavors[$i]
$FlavorSuffix = $FlavorSuffixes[$i]
$ZipName = "azuredatastudio-darwin-$Flavor.zip"
$Zip = "$artifactsDir\darwin\archive\$ZipName"
$UploadName = "azuredatastudio-macos$FlavorSuffix-$Version"
If (-NOT ($Quality -eq "stable")) {
$UploadName = "$UploadName-$Quality"
}
$Platform = "darwin$FlavorSuffix"
node $sourcesDir\build\azure-pipelines\common\publish.js $Quality $Platform archive "$UploadName.zip" $Version true $Zip $CommitId
}
node $sourcesDir\build\azure-pipelines\common\publish.js $Quality darwin archive "$UploadName.zip" $Version true $Zip $CommitId

View File

@@ -1,12 +1,10 @@
pool:
vmImage: 'Ubuntu-18.04'
vmImage: 'Ubuntu-20.04'
trigger:
branches:
include: ["main", "release/*"]
pr:
branches:
include: ["main", "release/*"]
pr: none
steps:
- task: NodeTool@0
@@ -18,7 +16,7 @@ steps:
inputs:
azureSubscription: "vscode-builds-subscription"
KeyVaultName: vscode
SecretsFilter: 'github-distro-mixin-password'
SecretsFilter: "github-distro-mixin-password"
- script: |
set -e

View File

@@ -64,7 +64,7 @@ steps:
- script: |
set -e
node build/azure-pipelines/mixin
node build/azure-pipelines/sql-mixin
displayName: Mix in quality
- task: DownloadBuildArtifacts@0

View File

@@ -11,14 +11,14 @@ pr:
steps:
- task: NodeTool@0
inputs:
versionSpec: "14.x"
versionSpec: "16.x"
- task: AzureKeyVault@1
displayName: "Azure Key Vault: Get Secrets"
inputs:
azureSubscription: "vscode-builds-subscription"
KeyVaultName: vscode
SecretsFilter: 'github-distro-mixin-password'
SecretsFilter: "github-distro-mixin-password"
- script: |
set -e

View File

@@ -1,5 +1,5 @@
#Download base image ubuntu 18.04
FROM mcr.microsoft.com/mirror/docker/library/ubuntu:18.04
#Download base image ubuntu 20.04
FROM mcr.microsoft.com/mirror/docker/library/ubuntu:20.04
#Adding apt repos for g++-4.9
RUN echo "deb http://dk.archive.ubuntu.com/ubuntu/ xenial main" >> /etc/apt/sources.list

View File

@@ -1,5 +0,0 @@
#!/usr/bin/env bash
set -e
echo "Installing remote dependencies"
(cd remote && rm -rf node_modules && yarn)

View File

@@ -67,7 +67,7 @@ steps:
- script: |
DISPLAY=:10 ./scripts/test.sh --tfs "Unit Tests"
displayName: Run Unit Tests (Electron)
displayName: Run Core Unit Tests # {{SQL CARBON EDIT}} Rename to core for clarity
# - script: | {{SQL CARBON EDIT}} disable
# DISPLAY=:10 yarn test-browser --browser chromium --tfs "Browser Unit Tests"
@@ -75,7 +75,7 @@ steps:
# - script: | {{SQL CARBON EDIT}} disable
# DISPLAY=:10 ./scripts/test-integration.sh --tfs "Integration Tests"
# displayName: Run Integration Tests (Electron)
# displayName: Run Core Integration Tests # {{SQL CARBON EDIT}} Rename to core for clarity
# - task: PublishPipelineArtifact@0
# inputs:

View File

@@ -1,18 +1,14 @@
steps:
- task: NodeTool@0
inputs:
versionSpec: "14.x"
- task: geeklearningio.gl-vsts-tasks-yarn.yarn-installer-task.YarnInstaller@2
inputs:
versionSpec: "1.x"
versionSpec: "16.x"
- task: AzureKeyVault@1
displayName: "Azure Key Vault: Get Secrets"
inputs:
azureSubscription: "vscode-builds-subscription"
KeyVaultName: vscode
SecretsFilter: 'github-distro-mixin-password'
SecretsFilter: "github-distro-mixin-password"
- task: DownloadPipelineArtifact@2
inputs:
@@ -46,6 +42,14 @@ steps:
git config user.name "VSCode"
displayName: Prepare tooling
- script: |
set -e
git fetch https://github.com/$(VSCODE_MIXIN_REPO).git $VSCODE_DISTRO_REF
echo "##vso[task.setvariable variable=VSCODE_DISTRO_COMMIT;]$(git rev-parse FETCH_HEAD)"
git checkout FETCH_HEAD
condition: and(succeeded(), ne(variables.VSCODE_DISTRO_REF, ' '))
displayName: Checkout override commit
- script: |
set -e
git pull --no-rebase https://github.com/$(VSCODE_MIXIN_REPO).git $(node -p "require('./package.json').distro")
@@ -58,7 +62,7 @@ steps:
- task: Cache@2
inputs:
key: 'nodeModules | $(Agent.OS) | .build/yarnlockhash'
key: "nodeModules | $(Agent.OS) | .build/yarnlockhash"
path: .build/node_modules_cache
cacheHitVar: NODE_MODULES_RESTORED
displayName: Restore node_modules cache
@@ -73,13 +77,14 @@ steps:
set -e
npx https://aka.ms/enablesecurefeed standAlone
timeoutInMinutes: 5
retryCountOnTaskFailure: 3
condition: and(succeeded(), ne(variables.NODE_MODULES_RESTORED, 'true'), eq(variables['ENABLE_TERRAPIN'], 'true'))
displayName: Switch to Terrapin packages
- script: |
set -e
for i in {1..3}; do # try 3 times, for Terrapin
yarn --frozen-lockfile && break
yarn --frozen-lockfile --check-files --check-files && break
if [ $i -eq 3 ]; then
echo "Yarn failed too many times" >&2
exit 1
@@ -104,15 +109,18 @@ steps:
- script: |
set -e
node build/azure-pipelines/mixin
node build/azure-pipelines/mixin --server
displayName: Mix in quality
- script: docker run --rm --privileged multiarch/qemu-user-static --reset -p yes
displayName: 'Register Docker QEMU'
displayName: "Register Docker QEMU"
condition: eq(variables['VSCODE_ARCH'], 'arm64')
- script: |
set -e
docker run -e VSCODE_QUALITY -v $(pwd):/root/vscode -v ~/.netrc:/root/.netrc vscodehub.azurecr.io/vscode-linux-build-agent:alpine-$(VSCODE_ARCH) /root/vscode/build/azure-pipelines/linux/alpine/install-dependencies.sh
docker run -e VSCODE_QUALITY -e GITHUB_TOKEN -v $(pwd):/root/vscode -v ~/.netrc:/root/.netrc vscodehub.azurecr.io/vscode-linux-build-agent:alpine-$(VSCODE_ARCH) /root/vscode/build/azure-pipelines/linux/scripts/install-remote-dependencies.sh
env:
GITHUB_TOKEN: "$(github-distro-mixin-password)"
displayName: Prebuild
- script: |

View File

@@ -0,0 +1,272 @@
parameters:
- name: VSCODE_QUALITY
type: string
- name: VSCODE_RUN_UNIT_TESTS
type: boolean
- name: VSCODE_RUN_INTEGRATION_TESTS
type: boolean
- name: VSCODE_RUN_SMOKE_TESTS
type: boolean
steps:
- script: |
set -e
VSCODE_MIXIN_PASSWORD="$(github-distro-mixin-password)" \
yarn npm-run-all -lp "electron $(VSCODE_ARCH)" "playwright-install"
displayName: Download Electron and Playwright
- ${{ if eq(parameters.VSCODE_QUALITY, 'oss') }}:
- script: |
set -e
sudo apt-get update
sudo apt-get install -y libxkbfile-dev pkg-config libsecret-1-dev libxss1 dbus xvfb libgtk-3-0 libgbm1
sudo cp build/azure-pipelines/linux/xvfb.init /etc/init.d/xvfb
sudo chmod +x /etc/init.d/xvfb
sudo update-rc.d xvfb defaults
sudo service xvfb start
displayName: Setup build environment
- ${{ if ne(parameters.VSCODE_QUALITY, 'oss') }}:
- script: |
set -e
APP_ROOT=$(agent.builddirectory)/VSCode-linux-$(VSCODE_ARCH)
ELECTRON_ROOT=.build/electron
sudo chown root $APP_ROOT/chrome-sandbox
sudo chown root $ELECTRON_ROOT/chrome-sandbox
sudo chmod 4755 $APP_ROOT/chrome-sandbox
sudo chmod 4755 $ELECTRON_ROOT/chrome-sandbox
stat $APP_ROOT/chrome-sandbox
stat $ELECTRON_ROOT/chrome-sandbox
displayName: Change setuid helper binary permission
- ${{ if eq(parameters.VSCODE_RUN_UNIT_TESTS, true) }}:
- ${{ if eq(parameters.VSCODE_QUALITY, 'oss') }}:
- script: |
set -e
DISPLAY=:10 ./scripts/test.sh --tfs "Unit Tests"
displayName: Run unit tests (Electron)
timeoutInMinutes: 15
- script: |
set -e
yarn test-node
displayName: Run unit tests (node.js)
timeoutInMinutes: 15
- script: |
set -e
DEBUG=*browser* yarn test-browser-no-install --browser chromium --tfs "Browser Unit Tests"
displayName: Run unit tests (Browser, Chromium)
timeoutInMinutes: 15
- ${{ if ne(parameters.VSCODE_QUALITY, 'oss') }}:
- script: |
set -e
./scripts/test.sh --build --tfs "Unit Tests"
displayName: Run unit tests (Electron)
timeoutInMinutes: 15
- script: |
set -e
yarn test-node --build
displayName: Run unit tests (node.js)
timeoutInMinutes: 15
- script: |
set -e
DEBUG=*browser* yarn test-browser-no-install --build --browser chromium --tfs "Browser Unit Tests"
displayName: Run unit tests (Browser, Chromium)
timeoutInMinutes: 15
- ${{ if eq(parameters.VSCODE_RUN_INTEGRATION_TESTS, true) }}:
- script: |
set -e
yarn gulp \
compile-extension:configuration-editing \
compile-extension:css-language-features-server \
compile-extension:emmet \
compile-extension:git \
compile-extension:github-authentication \
compile-extension:html-language-features-server \
compile-extension:ipynb \
compile-extension:json-language-features-server \
compile-extension:markdown-language-features-server \
compile-extension:markdown-language-features \
compile-extension-media \
compile-extension:microsoft-authentication \
compile-extension:typescript-language-features \
compile-extension:vscode-api-tests \
compile-extension:vscode-colorize-tests \
compile-extension:vscode-notebook-tests \
compile-extension:vscode-test-resolver
displayName: Build integration tests
- ${{ if eq(parameters.VSCODE_RUN_INTEGRATION_TESTS, true) }}:
- ${{ if eq(parameters.VSCODE_QUALITY, 'oss') }}:
- script: |
set -e
DISPLAY=:10 ./scripts/test-integration.sh --tfs "Integration Tests"
displayName: Run integration tests (Electron)
timeoutInMinutes: 20
- script: |
set -e
./scripts/test-web-integration.sh --browser chromium
displayName: Run integration tests (Browser, Chromium)
timeoutInMinutes: 20
- script: |
set -e
./scripts/test-remote-integration.sh
displayName: Run integration tests (Remote)
timeoutInMinutes: 20
- ${{ if ne(parameters.VSCODE_QUALITY, 'oss') }}:
- script: |
# Figure out the full absolute path of the product we just built
# including the remote server and configure the integration tests
# to run with these builds instead of running out of sources.
set -e
APP_ROOT=$(agent.builddirectory)/VSCode-linux-$(VSCODE_ARCH)
APP_NAME=$(node -p "require(\"$APP_ROOT/resources/app/product.json\").applicationName")
INTEGRATION_TEST_APP_NAME="$APP_NAME" \
INTEGRATION_TEST_ELECTRON_PATH="$APP_ROOT/$APP_NAME" \
VSCODE_REMOTE_SERVER_PATH="$(agent.builddirectory)/vscode-reh-linux-$(VSCODE_ARCH)" \
./scripts/test-integration.sh --build --tfs "Integration Tests"
displayName: Run integration tests (Electron)
timeoutInMinutes: 20
- script: |
set -e
VSCODE_REMOTE_SERVER_PATH="$(agent.builddirectory)/vscode-reh-web-linux-$(VSCODE_ARCH)" \
./scripts/test-web-integration.sh --browser chromium
displayName: Run integration tests (Browser, Chromium)
timeoutInMinutes: 20
- script: |
set -e
APP_ROOT=$(agent.builddirectory)/VSCode-linux-$(VSCODE_ARCH)
APP_NAME=$(node -p "require(\"$APP_ROOT/resources/app/product.json\").applicationName")
INTEGRATION_TEST_APP_NAME="$APP_NAME" \
INTEGRATION_TEST_ELECTRON_PATH="$APP_ROOT/$APP_NAME" \
VSCODE_REMOTE_SERVER_PATH="$(agent.builddirectory)/vscode-reh-linux-$(VSCODE_ARCH)" \
./scripts/test-remote-integration.sh
displayName: Run integration tests (Remote)
timeoutInMinutes: 20
- ${{ if eq(parameters.VSCODE_RUN_SMOKE_TESTS, true) }}:
- script: |
set -e
ps -ef
cat /proc/sys/fs/inotify/max_user_watches
lsof | wc -l
displayName: Diagnostics before smoke test run (processes, max_user_watches, number of opened file handles)
continueOnError: true
condition: succeededOrFailed()
- ${{ if eq(parameters.VSCODE_QUALITY, 'oss') }}:
- script: |
set -e
yarn --cwd test/smoke compile
displayName: Compile smoke tests
- script: |
set -e
yarn smoketest-no-compile --tracing
timeoutInMinutes: 20
displayName: Run smoke tests (Electron)
- script: |
set -e
yarn smoketest-no-compile --web --tracing --headless --electronArgs="--disable-dev-shm-usage"
timeoutInMinutes: 20
displayName: Run smoke tests (Browser, Chromium)
- script: |
set -e
yarn gulp compile-extension:vscode-test-resolver
yarn smoketest-no-compile --remote --tracing
timeoutInMinutes: 20
displayName: Run smoke tests (Remote)
- ${{ if ne(parameters.VSCODE_QUALITY, 'oss') }}:
- script: |
set -e
APP_PATH=$(agent.builddirectory)/VSCode-linux-$(VSCODE_ARCH)
yarn smoketest-no-compile --tracing --build "$APP_PATH"
timeoutInMinutes: 20
displayName: Run smoke tests (Electron)
- script: |
set -e
VSCODE_REMOTE_SERVER_PATH="$(agent.builddirectory)/vscode-reh-web-linux-$(VSCODE_ARCH)" \
yarn smoketest-no-compile --web --tracing --headless --electronArgs="--disable-dev-shm-usage"
timeoutInMinutes: 20
displayName: Run smoke tests (Browser, Chromium)
- script: |
set -e
yarn gulp compile-extension:vscode-test-resolver
APP_PATH=$(agent.builddirectory)/VSCode-linux-$(VSCODE_ARCH)
VSCODE_REMOTE_SERVER_PATH="$(agent.builddirectory)/vscode-reh-linux-$(VSCODE_ARCH)" \
yarn smoketest-no-compile --tracing --remote --build "$APP_PATH"
timeoutInMinutes: 20
displayName: Run smoke tests (Remote)
- script: |
set -e
ps -ef
cat /proc/sys/fs/inotify/max_user_watches
lsof | wc -l
displayName: Diagnostics after smoke test run (processes, max_user_watches, number of opened file handles)
continueOnError: true
condition: succeededOrFailed()
- ${{ if or(eq(parameters.VSCODE_RUN_INTEGRATION_TESTS, true), eq(parameters.VSCODE_RUN_SMOKE_TESTS, true)) }}:
- task: PublishPipelineArtifact@0
inputs:
targetPath: .build/crashes
${{ if and(eq(parameters.VSCODE_RUN_INTEGRATION_TESTS, true), eq(parameters.VSCODE_RUN_SMOKE_TESTS, false)) }}:
artifactName: crash-dump-linux-$(VSCODE_ARCH)-integration-$(System.JobAttempt)
${{ elseif and(eq(parameters.VSCODE_RUN_INTEGRATION_TESTS, false), eq(parameters.VSCODE_RUN_SMOKE_TESTS, true)) }}:
artifactName: crash-dump-linux-$(VSCODE_ARCH)-smoke-$(System.JobAttempt)
${{ else }}:
artifactName: crash-dump-linux-$(VSCODE_ARCH)-$(System.JobAttempt)
displayName: "Publish Crash Reports"
continueOnError: true
condition: failed()
# In order to properly symbolify above crash reports
# (if any), we need the compiled native modules too
- task: PublishPipelineArtifact@0
inputs:
targetPath: node_modules
${{ if and(eq(parameters.VSCODE_RUN_INTEGRATION_TESTS, true), eq(parameters.VSCODE_RUN_SMOKE_TESTS, false)) }}:
artifactName: node-modules-linux-$(VSCODE_ARCH)-integration-$(System.JobAttempt)
${{ elseif and(eq(parameters.VSCODE_RUN_INTEGRATION_TESTS, false), eq(parameters.VSCODE_RUN_SMOKE_TESTS, true)) }}:
artifactName: node-modules-linux-$(VSCODE_ARCH)-smoke-$(System.JobAttempt)
${{ else }}:
artifactName: node-modules-linux-$(VSCODE_ARCH)-$(System.JobAttempt)
displayName: "Publish Node Modules"
continueOnError: true
condition: failed()
- task: PublishPipelineArtifact@0
inputs:
targetPath: .build/logs
${{ if and(eq(parameters.VSCODE_RUN_INTEGRATION_TESTS, true), eq(parameters.VSCODE_RUN_SMOKE_TESTS, false)) }}:
artifactName: logs-linux-$(VSCODE_ARCH)-integration-$(System.JobAttempt)
${{ elseif and(eq(parameters.VSCODE_RUN_INTEGRATION_TESTS, false), eq(parameters.VSCODE_RUN_SMOKE_TESTS, true)) }}:
artifactName: logs-linux-$(VSCODE_ARCH)-smoke-$(System.JobAttempt)
${{ else }}:
artifactName: logs-linux-$(VSCODE_ARCH)-$(System.JobAttempt)
displayName: "Publish Log Files"
continueOnError: true
condition: succeededOrFailed()
- task: PublishTestResults@2
displayName: Publish Tests Results
inputs:
testResultsFiles: "*-results.xml"
searchFolder: "$(Build.ArtifactStagingDirectory)/test-results"
condition: succeededOrFailed()

View File

@@ -0,0 +1,338 @@
parameters:
- name: VSCODE_PUBLISH
type: boolean
- name: VSCODE_QUALITY
type: string
- name: VSCODE_RUN_UNIT_TESTS
type: boolean
- name: VSCODE_RUN_INTEGRATION_TESTS
type: boolean
- name: VSCODE_RUN_SMOKE_TESTS
type: boolean
steps:
- ${{ if eq(parameters.VSCODE_QUALITY, 'oss') }}:
- checkout: self
fetchDepth: 1
retryCountOnTaskFailure: 3
- task: NodeTool@0
inputs:
versionSpec: "16.x"
- ${{ if ne(parameters.VSCODE_QUALITY, 'oss') }}:
- task: AzureKeyVault@1
displayName: "Azure Key Vault: Get Secrets"
inputs:
azureSubscription: "vscode-builds-subscription"
KeyVaultName: vscode
SecretsFilter: "github-distro-mixin-password,ESRP-PKI,esrp-aad-username,esrp-aad-password"
- ${{ if ne(parameters.VSCODE_QUALITY, 'oss') }}:
- task: DownloadPipelineArtifact@2
inputs:
artifact: Compilation
path: $(Build.ArtifactStagingDirectory)
displayName: Download compilation output
- ${{ if ne(parameters.VSCODE_QUALITY, 'oss') }}:
- task: DownloadPipelineArtifact@2
inputs:
artifact: reh_node_modules-$(VSCODE_ARCH)
path: $(Build.ArtifactStagingDirectory)
displayName: Download server build dependencies
condition: and(succeeded(), ne(variables['VSCODE_ARCH'], 'armhf'))
- ${{ if ne(parameters.VSCODE_QUALITY, 'oss') }}:
- script: |
set -e
# Start X server
/etc/init.d/xvfb start
# Start dbus session
DBUS_LAUNCH_RESULT=$(sudo dbus-daemon --config-file=/usr/share/dbus-1/system.conf --print-address)
echo "##vso[task.setvariable variable=DBUS_SESSION_BUS_ADDRESS]$DBUS_LAUNCH_RESULT"
displayName: Setup system services
condition: and(succeeded(), eq(variables['VSCODE_ARCH'], 'x64'))
- ${{ if ne(parameters.VSCODE_QUALITY, 'oss') }}:
- script: |
set -e
tar -xzf $(Build.ArtifactStagingDirectory)/compilation.tar.gz
displayName: Extract compilation output
- ${{ if ne(parameters.VSCODE_QUALITY, 'oss') }}:
- script: |
set -e
cat << EOF > ~/.netrc
machine github.com
login vscode
password $(github-distro-mixin-password)
EOF
git config user.email "vscode@microsoft.com"
git config user.name "VSCode"
displayName: Prepare tooling
- ${{ if ne(parameters.VSCODE_QUALITY, 'oss') }}:
- script: |
set -e
git fetch https://github.com/$(VSCODE_MIXIN_REPO).git $VSCODE_DISTRO_REF
echo "##vso[task.setvariable variable=VSCODE_DISTRO_COMMIT;]$(git rev-parse FETCH_HEAD)"
git checkout FETCH_HEAD
condition: and(succeeded(), ne(variables.VSCODE_DISTRO_REF, ' '))
displayName: Checkout override commit
- ${{ if ne(parameters.VSCODE_QUALITY, 'oss') }}:
- script: |
set -e
git pull --no-rebase https://github.com/$(VSCODE_MIXIN_REPO).git $(node -p "require('./package.json').distro")
displayName: Merge distro
- script: |
mkdir -p .build
node build/azure-pipelines/common/computeNodeModulesCacheKey.js $VSCODE_ARCH $ENABLE_TERRAPIN > .build/yarnlockhash
displayName: Prepare yarn cache flags
- ${{ if eq(parameters.VSCODE_QUALITY, 'oss') }}:
- task: Cache@2
inputs:
key: "genericNodeModules | $(Agent.OS) | .build/yarnlockhash"
path: .build/node_modules_cache
cacheHitVar: NODE_MODULES_RESTORED
displayName: Restore node_modules cache
- ${{ if ne(parameters.VSCODE_QUALITY, 'oss') }}:
- task: Cache@2
inputs:
key: "nodeModules | $(Agent.OS) | .build/yarnlockhash"
path: .build/node_modules_cache
cacheHitVar: NODE_MODULES_RESTORED
displayName: Restore node_modules cache
- script: |
set -e
tar -xzf .build/node_modules_cache/cache.tgz
condition: and(succeeded(), eq(variables.NODE_MODULES_RESTORED, 'true'))
displayName: Extract node_modules cache
- script: |
set -e
npx https://aka.ms/enablesecurefeed standAlone
timeoutInMinutes: 5
retryCountOnTaskFailure: 3
condition: and(succeeded(), ne(variables.NODE_MODULES_RESTORED, 'true'), eq(variables['ENABLE_TERRAPIN'], 'true'))
displayName: Switch to Terrapin packages
- script: |
set -e
node build/npm/setupBuildYarnrc
for i in {1..3}; do # try 3 times, for Terrapin
yarn --cwd build --frozen-lockfile --check-files && break
if [ $i -eq 3 ]; then
echo "Yarn failed too many times" >&2
exit 1
fi
echo "Yarn failed $i, trying again..."
done
displayName: Install build dependencies
- script: |
set -e
if [ "$NPM_ARCH" = "armv7l" ]; then
# There is no target_arch="armv7l" supported by node_gyp,
# arm versions for compilation are decided based on the CC
# macros.
# Mapping value is based on
# https://github.com/nodejs/node/blob/0903515e126c2697042d6546c6aa4b72e1a4b33e/configure.py#L49-L50
export npm_config_arch="arm"
else
export npm_config_arch=$(NPM_ARCH)
fi
if [ -z "$CC" ] || [ -z "$CXX" ]; then
# Download clang based on chromium revision used by vscode
curl -s https://raw.githubusercontent.com/chromium/chromium/98.0.4758.109/tools/clang/scripts/update.py | python - --output-dir=$PWD/.build/CR_Clang --host-os=linux
# Download libcxx headers and objects from upstream electron releases
DEBUG=libcxx-fetcher \
VSCODE_LIBCXX_OBJECTS_DIR=$PWD/.build/libcxx-objects \
VSCODE_LIBCXX_HEADERS_DIR=$PWD/.build/libcxx_headers \
VSCODE_LIBCXXABI_HEADERS_DIR=$PWD/.build/libcxxabi_headers \
VSCODE_ARCH="$(NPM_ARCH)" \
node build/linux/libcxx-fetcher.js
# Set compiler toolchain
# Flags for the client build are based on
# https://source.chromium.org/chromium/chromium/src/+/refs/tags/98.0.4758.109:build/config/arm.gni
# https://source.chromium.org/chromium/chromium/src/+/refs/tags/98.0.4758.109:build/config/compiler/BUILD.gn
# https://source.chromium.org/chromium/chromium/src/+/refs/tags/98.0.4758.109:build/config/c++/BUILD.gn
export CC=$PWD/.build/CR_Clang/bin/clang
export CXX=$PWD/.build/CR_Clang/bin/clang++
export CXXFLAGS="-nostdinc++ -D__NO_INLINE__ -isystem$PWD/.build/libcxx_headers -isystem$PWD/.build/libcxx_headers/include -isystem$PWD/.build/libcxxabi_headers/include -fPIC -flto=thin -fsplit-lto-unit"
export LDFLAGS="-stdlib=libc++ -fuse-ld=lld -flto=thin -L$PWD/.build/libcxx-objects -lc++abi -Wl,--lto-O0"
export VSCODE_REMOTE_CC=$(which gcc)
export VSCODE_REMOTE_CXX=$(which g++)
fi
for i in {1..3}; do # try 3 times, for Terrapin
yarn --frozen-lockfile --check-files && break
if [ $i -eq 3 ]; then
echo "Yarn failed too many times" >&2
exit 1
fi
echo "Yarn failed $i, trying again..."
done
env:
ELECTRON_SKIP_BINARY_DOWNLOAD: 1
PLAYWRIGHT_SKIP_BROWSER_DOWNLOAD: 1
GITHUB_TOKEN: "$(github-distro-mixin-password)"
displayName: Install dependencies
condition: and(succeeded(), ne(variables.NODE_MODULES_RESTORED, 'true'))
- ${{ if ne(parameters.VSCODE_QUALITY, 'oss') }}:
- script: |
set -e
rm -rf remote/node_modules
tar -xzf $(Build.ArtifactStagingDirectory)/reh_node_modules-$(VSCODE_ARCH).tar.gz --directory $(Build.SourcesDirectory)/remote
displayName: Extract server node_modules output
condition: and(succeeded(), ne(variables['VSCODE_ARCH'], 'armhf'))
- script: |
set -e
node build/azure-pipelines/common/listNodeModules.js .build/node_modules_list.txt
mkdir -p .build/node_modules_cache
tar -czf .build/node_modules_cache/cache.tgz --files-from .build/node_modules_list.txt
condition: and(succeeded(), ne(variables.NODE_MODULES_RESTORED, 'true'))
displayName: Create node_modules archive
- ${{ if ne(parameters.VSCODE_QUALITY, 'oss') }}:
- script: |
set -e
node build/azure-pipelines/mixin
displayName: Mix in quality
- ${{ if ne(parameters.VSCODE_QUALITY, 'oss') }}:
- script: |
set -e
VSCODE_MIXIN_PASSWORD="$(github-distro-mixin-password)" \
yarn gulp vscode-linux-$(VSCODE_ARCH)-min-ci
displayName: Build
- ${{ if ne(parameters.VSCODE_QUALITY, 'oss') }}:
- script: |
set -e
node build/azure-pipelines/mixin --server
displayName: Mix in server quality
- ${{ if ne(parameters.VSCODE_QUALITY, 'oss') }}:
- script: |
set -e
VSCODE_MIXIN_PASSWORD="$(github-distro-mixin-password)" \
yarn gulp vscode-reh-linux-$(VSCODE_ARCH)-min-ci
VSCODE_MIXIN_PASSWORD="$(github-distro-mixin-password)" \
yarn gulp vscode-reh-web-linux-$(VSCODE_ARCH)-min-ci
displayName: Build Server
- ${{ if eq(parameters.VSCODE_QUALITY, 'oss') }}:
- script: |
set -e
VSCODE_MIXIN_PASSWORD="$(github-distro-mixin-password)" \
yarn gulp "transpile-client" "transpile-extensions"
displayName: Transpile
- ${{ if or(eq(parameters.VSCODE_RUN_UNIT_TESTS, true), eq(parameters.VSCODE_RUN_INTEGRATION_TESTS, true), eq(parameters.VSCODE_RUN_SMOKE_TESTS, true)) }}:
- template: product-build-linux-client-test.yml
parameters:
VSCODE_QUALITY: ${{ parameters.VSCODE_QUALITY }}
VSCODE_RUN_UNIT_TESTS: ${{ parameters.VSCODE_RUN_UNIT_TESTS }}
VSCODE_RUN_INTEGRATION_TESTS: ${{ parameters.VSCODE_RUN_INTEGRATION_TESTS }}
VSCODE_RUN_SMOKE_TESTS: ${{ parameters.VSCODE_RUN_SMOKE_TESTS }}
- ${{ if eq(parameters.VSCODE_PUBLISH, true) }}:
- script: |
set -e
yarn gulp "vscode-linux-$(VSCODE_ARCH)-build-deb"
yarn gulp "vscode-linux-$(VSCODE_ARCH)-build-rpm"
displayName: Build deb, rpm packages
- ${{ if eq(parameters.VSCODE_PUBLISH, true) }}:
- script: |
set -e
yarn gulp "vscode-linux-$(VSCODE_ARCH)-prepare-snap"
displayName: Prepare snap package
- ${{ if eq(parameters.VSCODE_PUBLISH, true) }}:
- task: UseDotNet@2
inputs:
version: 2.x
- ${{ if eq(parameters.VSCODE_PUBLISH, true) }}:
- task: EsrpClientTool@1
displayName: Download ESRPClient
- ${{ if eq(parameters.VSCODE_PUBLISH, true) }}:
- script: |
set -e
node build/azure-pipelines/common/sign "$(esrpclient.toolpath)/$(esrpclient.toolname)" rpm $(ESRP-PKI) $(esrp-aad-username) $(esrp-aad-password) .build/linux/rpm '*.rpm'
displayName: Codesign rpm
- ${{ if eq(parameters.VSCODE_PUBLISH, true) }}:
- script: |
set -e
VSCODE_ARCH="$(VSCODE_ARCH)" \
./build/azure-pipelines/linux/prepare-publish.sh
displayName: Prepare for Publish
- ${{ if eq(parameters.VSCODE_PUBLISH, true) }}:
- task: AzureArtifacts.manifest-generator-task.manifest-generator-task.ManifestGeneratorTask@0
displayName: Generate SBOM (client)
inputs:
BuildDropPath: $(agent.builddirectory)/VSCode-linux-$(VSCODE_ARCH)
PackageName: Visual Studio Code
- ${{ if eq(parameters.VSCODE_PUBLISH, true) }}:
- publish: $(agent.builddirectory)/VSCode-linux-$(VSCODE_ARCH)/_manifest
displayName: Publish SBOM (client)
artifact: vscode_client_linux_$(VSCODE_ARCH)_sbom
- ${{ if eq(parameters.VSCODE_PUBLISH, true) }}:
- task: AzureArtifacts.manifest-generator-task.manifest-generator-task.ManifestGeneratorTask@0
displayName: Generate SBOM (server)
inputs:
BuildDropPath: $(agent.builddirectory)/vscode-server-linux-$(VSCODE_ARCH)
PackageName: Visual Studio Code Server
- ${{ if eq(parameters.VSCODE_PUBLISH, true) }}:
- publish: $(agent.builddirectory)/vscode-server-linux-$(VSCODE_ARCH)/_manifest
displayName: Publish SBOM (server)
artifact: vscode_server_linux_$(VSCODE_ARCH)_sbom
- ${{ if eq(parameters.VSCODE_PUBLISH, true) }}:
- publish: $(DEB_PATH)
artifact: vscode_client_linux_$(VSCODE_ARCH)_deb-package
displayName: Publish deb package
- ${{ if eq(parameters.VSCODE_PUBLISH, true) }}:
- publish: $(RPM_PATH)
artifact: vscode_client_linux_$(VSCODE_ARCH)_rpm-package
displayName: Publish rpm package
- ${{ if eq(parameters.VSCODE_PUBLISH, true) }}:
- publish: $(TARBALL_PATH)
artifact: vscode_client_linux_$(VSCODE_ARCH)_archive-unsigned
displayName: Publish client archive
- ${{ if eq(parameters.VSCODE_PUBLISH, true) }}:
- publish: $(Agent.BuildDirectory)/vscode-server-linux-$(VSCODE_ARCH).tar.gz
artifact: vscode_server_linux_$(VSCODE_ARCH)_archive-unsigned
displayName: Publish server archive
- ${{ if eq(parameters.VSCODE_PUBLISH, true) }}:
- publish: $(Agent.BuildDirectory)/vscode-server-linux-$(VSCODE_ARCH)-web.tar.gz
artifact: vscode_web_linux_$(VSCODE_ARCH)_archive-unsigned
displayName: Publish web server archive
- ${{ if eq(parameters.VSCODE_PUBLISH, true) }}:
- task: PublishPipelineArtifact@0
displayName: "Publish Pipeline Artifact"
inputs:
artifactName: "snap-$(VSCODE_ARCH)"
targetPath: .build/linux/snap-tarball

View File

@@ -0,0 +1,96 @@
parameters:
- name: VSCODE_QUALITY
type: string
steps:
- task: NodeTool@0
inputs:
versionSpec: "16.x"
- ${{ if ne(parameters.VSCODE_QUALITY, 'oss') }}:
- task: AzureKeyVault@1
displayName: "Azure Key Vault: Get Secrets"
inputs:
azureSubscription: "vscode-builds-subscription"
KeyVaultName: vscode
SecretsFilter: "github-distro-mixin-password,ESRP-PKI,esrp-aad-username,esrp-aad-password"
- ${{ if ne(parameters.VSCODE_QUALITY, 'oss') }}:
- task: Docker@1
displayName: "Pull Docker image"
inputs:
azureSubscriptionEndpoint: "vscode-builds-subscription"
azureContainerRegistry: vscodehub.azurecr.io
command: "Run an image"
imageName: "vscode-linux-build-agent:centos7-devtoolset8-arm64"
containerCommand: uname
condition: and(succeeded(), eq(variables['VSCODE_ARCH'], 'arm64'))
- ${{ if ne(parameters.VSCODE_QUALITY, 'oss') }}:
- script: |
set -e
cat << EOF > ~/.netrc
machine github.com
login vscode
password $(github-distro-mixin-password)
EOF
git config user.email "vscode@microsoft.com"
git config user.name "VSCode"
displayName: Prepare tooling
- ${{ if ne(parameters.VSCODE_QUALITY, 'oss') }}:
- script: |
set -e
git fetch https://github.com/$(VSCODE_MIXIN_REPO).git $VSCODE_DISTRO_REF
echo "##vso[task.setvariable variable=VSCODE_DISTRO_COMMIT;]$(git rev-parse FETCH_HEAD)"
git checkout FETCH_HEAD
condition: and(succeeded(), ne(variables.VSCODE_DISTRO_REF, ' '))
displayName: Checkout override commit
- ${{ if ne(parameters.VSCODE_QUALITY, 'oss') }}:
- script: |
set -e
git pull --no-rebase https://github.com/$(VSCODE_MIXIN_REPO).git $(node -p "require('./package.json').distro")
displayName: Merge distro
- script: |
set -e
npx https://aka.ms/enablesecurefeed standAlone
timeoutInMinutes: 5
retryCountOnTaskFailure: 3
condition: and(succeeded(), ne(variables.NODE_MODULES_RESTORED, 'true'), eq(variables['ENABLE_TERRAPIN'], 'true'))
displayName: Switch to Terrapin packages
- script: |
set -e
$(pwd)/build/azure-pipelines/linux/scripts/install-remote-dependencies.sh
displayName: Install dependencies
env:
GITHUB_TOKEN: "$(github-distro-mixin-password)"
condition: and(succeeded(), eq(variables['VSCODE_ARCH'], 'x64'))
- ${{ if ne(parameters.VSCODE_QUALITY, 'oss') }}:
- script: docker run --rm --privileged multiarch/qemu-user-static --reset -p yes
displayName: Register Docker QEMU
condition: and(succeeded(), eq(variables['VSCODE_ARCH'], 'arm64'))
- ${{ if ne(parameters.VSCODE_QUALITY, 'oss') }}:
- script: |
set -e
docker run -e VSCODE_QUALITY -e GITHUB_TOKEN -v $(pwd):/root/vscode -v ~/.netrc:/root/.netrc vscodehub.azurecr.io/vscode-linux-build-agent:centos7-devtoolset8-arm64 /root/vscode/build/azure-pipelines/linux/scripts/install-remote-dependencies.sh
displayName: Install dependencies via qemu
env:
GITHUB_TOKEN: "$(github-distro-mixin-password)"
condition: and(succeeded(), eq(variables['VSCODE_ARCH'], 'arm64'))
- script: |
set -e
tar -cz --ignore-failed-read -f $(Build.ArtifactStagingDirectory)/reh_node_modules-$(VSCODE_ARCH).tar.gz -C $(Build.SourcesDirectory)/remote node_modules
displayName: Compress node_modules output
- task: PublishPipelineArtifact@0
displayName: "Publish remote node_modules"
inputs:
artifactName: "reh_node_modules-$(VSCODE_ARCH)"
targetPath: $(Build.ArtifactStagingDirectory)/reh_node_modules-$(VSCODE_ARCH).tar.gz

View File

@@ -1,334 +0,0 @@
steps:
- task: NodeTool@0
inputs:
versionSpec: "14.x"
- task: geeklearningio.gl-vsts-tasks-yarn.yarn-installer-task.YarnInstaller@2
inputs:
versionSpec: "1.x"
- task: AzureKeyVault@1
displayName: "Azure Key Vault: Get Secrets"
inputs:
azureSubscription: "vscode-builds-subscription"
KeyVaultName: vscode
SecretsFilter: "github-distro-mixin-password,builds-docdb-key-readwrite,vscode-storage-key,ESRP-PKI,esrp-aad-username,esrp-aad-password"
- task: DownloadPipelineArtifact@2
inputs:
artifact: Compilation
path: $(Build.ArtifactStagingDirectory)
displayName: Download compilation output
- script: |
set -e
tar -xzf $(Build.ArtifactStagingDirectory)/compilation.tar.gz
displayName: Extract compilation output
- script: |
set -e
cat << EOF > ~/.netrc
machine github.com
login vscode
password $(github-distro-mixin-password)
EOF
git config user.email "vscode@microsoft.com"
git config user.name "VSCode"
displayName: Prepare tooling
- script: |
set -e
git pull --no-rebase https://github.com/$(VSCODE_MIXIN_REPO).git $(node -p "require('./package.json').distro")
displayName: Merge distro
- script: |
mkdir -p .build
node build/azure-pipelines/common/computeNodeModulesCacheKey.js $VSCODE_ARCH $ENABLE_TERRAPIN > .build/yarnlockhash
displayName: Prepare yarn cache flags
- task: Cache@2
inputs:
key: "nodeModules | $(Agent.OS) | .build/yarnlockhash"
path: .build/node_modules_cache
cacheHitVar: NODE_MODULES_RESTORED
displayName: Restore node_modules cache
- script: |
set -e
tar -xzf .build/node_modules_cache/cache.tgz
condition: and(succeeded(), eq(variables.NODE_MODULES_RESTORED, 'true'))
displayName: Extract node_modules cache
- script: |
set -e
npx https://aka.ms/enablesecurefeed standAlone
timeoutInMinutes: 5
condition: and(succeeded(), ne(variables.NODE_MODULES_RESTORED, 'true'), eq(variables['ENABLE_TERRAPIN'], 'true'))
displayName: Switch to Terrapin packages
- script: |
set -e
yarn --cwd build
yarn --cwd build compile
displayName: Compile build tools
- script: |
set -e
export npm_config_arch=$(NPM_ARCH)
if [ -z "$CC" ] || [ -z "$CXX" ]; then
# Download clang based on chromium revision used by vscode
curl -s https://raw.githubusercontent.com/chromium/chromium/91.0.4472.164/tools/clang/scripts/update.py | python - --output-dir=$PWD/.build/CR_Clang --host-os=linux
# Download libcxx headers and objects from upstream electron releases
DEBUG=libcxx-fetcher \
VSCODE_LIBCXX_OBJECTS_DIR=$PWD/.build/libcxx-objects \
VSCODE_LIBCXX_HEADERS_DIR=$PWD/.build/libcxx_headers \
VSCODE_LIBCXXABI_HEADERS_DIR=$PWD/.build/libcxxabi_headers \
VSCODE_ARCH="$(NPM_ARCH)" \
node build/linux/libcxx-fetcher.js
# Set compiler toolchain
export CC=$PWD/.build/CR_Clang/bin/clang
export CXX=$PWD/.build/CR_Clang/bin/clang++
export CXXFLAGS="-nostdinc++ -D_LIBCPP_HAS_NO_VENDOR_AVAILABILITY_ANNOTATIONS -D__NO_INLINE__ -isystem$PWD/.build/libcxx_headers/include -isystem$PWD/.build/libcxxabi_headers/include -fPIC -flto=thin -fsplit-lto-unit"
export LDFLAGS="-stdlib=libc++ -fuse-ld=lld -flto=thin -fsplit-lto-unit -L$PWD/.build/libcxx-objects -lc++abi"
fi
if [ "$VSCODE_ARCH" == "x64" ]; then
export VSCODE_REMOTE_CC=$(which gcc-4.8)
export VSCODE_REMOTE_CXX=$(which g++-4.8)
fi
for i in {1..3}; do # try 3 times, for Terrapin
yarn --frozen-lockfile && break
if [ $i -eq 3 ]; then
echo "Yarn failed too many times" >&2
exit 1
fi
echo "Yarn failed $i, trying again..."
done
env:
ELECTRON_SKIP_BINARY_DOWNLOAD: 1
PLAYWRIGHT_SKIP_BROWSER_DOWNLOAD: 1
GITHUB_TOKEN: "$(github-distro-mixin-password)"
displayName: Install dependencies
condition: and(succeeded(), ne(variables.NODE_MODULES_RESTORED, 'true'))
- script: |
set -e
node build/azure-pipelines/common/listNodeModules.js .build/node_modules_list.txt
mkdir -p .build/node_modules_cache
tar -czf .build/node_modules_cache/cache.tgz --files-from .build/node_modules_list.txt
condition: and(succeeded(), ne(variables.NODE_MODULES_RESTORED, 'true'))
displayName: Create node_modules archive
- script: |
set -e
node build/azure-pipelines/mixin
displayName: Mix in quality
- script: |
set -e
VSCODE_MIXIN_PASSWORD="$(github-distro-mixin-password)" \
yarn gulp vscode-linux-$(VSCODE_ARCH)-min-ci
displayName: Build
- script: |
set -e
VSCODE_MIXIN_PASSWORD="$(github-distro-mixin-password)" \
yarn gulp vscode-reh-linux-$(VSCODE_ARCH)-min-ci
VSCODE_MIXIN_PASSWORD="$(github-distro-mixin-password)" \
yarn gulp vscode-reh-web-linux-$(VSCODE_ARCH)-min-ci
displayName: Build Server
- script: |
set -e
VSCODE_MIXIN_PASSWORD="$(github-distro-mixin-password)" \
yarn npm-run-all -lp "electron $(VSCODE_ARCH)" "playwright-install"
displayName: Download Electron and Playwright
- script: |
set -e
APP_ROOT=$(agent.builddirectory)/VSCode-linux-$(VSCODE_ARCH)
ELECTRON_ROOT=.build/electron
sudo chown root $APP_ROOT/chrome-sandbox
sudo chown root $ELECTRON_ROOT/chrome-sandbox
sudo chmod 4755 $APP_ROOT/chrome-sandbox
sudo chmod 4755 $ELECTRON_ROOT/chrome-sandbox
stat $APP_ROOT/chrome-sandbox
stat $ELECTRON_ROOT/chrome-sandbox
displayName: Change setuid helper binary permission
- script: |
set -e
./scripts/test.sh --build --tfs "Unit Tests"
displayName: Run unit tests (Electron)
timeoutInMinutes: 7
condition: and(succeeded(), eq(variables['VSCODE_ARCH'], 'x64'), eq(variables['VSCODE_STEP_ON_IT'], 'false'))
- script: |
set -e
yarn test-browser --build --browser chromium --tfs "Browser Unit Tests"
displayName: Run unit tests (Browser)
timeoutInMinutes: 7
condition: and(succeeded(), eq(variables['VSCODE_ARCH'], 'x64'), eq(variables['VSCODE_STEP_ON_IT'], 'false'))
- script: |
# Figure out the full absolute path of the product we just built
# including the remote server and configure the integration tests
# to run with these builds instead of running out of sources.
set -e
APP_ROOT=$(agent.builddirectory)/VSCode-linux-$(VSCODE_ARCH)
APP_NAME=$(node -p "require(\"$APP_ROOT/resources/app/product.json\").applicationName")
INTEGRATION_TEST_APP_NAME="$APP_NAME" \
INTEGRATION_TEST_ELECTRON_PATH="$APP_ROOT/$APP_NAME" \
VSCODE_REMOTE_SERVER_PATH="$(agent.builddirectory)/vscode-reh-linux-$(VSCODE_ARCH)" \
./scripts/test-integration.sh --build --tfs "Integration Tests"
displayName: Run integration tests (Electron)
timeoutInMinutes: 10
condition: and(succeeded(), eq(variables['VSCODE_ARCH'], 'x64'), eq(variables['VSCODE_STEP_ON_IT'], 'false'))
- script: |
set -e
VSCODE_REMOTE_SERVER_PATH="$(agent.builddirectory)/vscode-reh-web-linux-$(VSCODE_ARCH)" \
./resources/server/test/test-web-integration.sh --browser chromium
displayName: Run integration tests (Browser)
timeoutInMinutes: 10
condition: and(succeeded(), eq(variables['VSCODE_ARCH'], 'x64'), eq(variables['VSCODE_STEP_ON_IT'], 'false'))
- script: |
set -e
APP_ROOT=$(agent.builddirectory)/VSCode-linux-$(VSCODE_ARCH)
APP_NAME=$(node -p "require(\"$APP_ROOT/resources/app/product.json\").applicationName")
INTEGRATION_TEST_APP_NAME="$APP_NAME" \
INTEGRATION_TEST_ELECTRON_PATH="$APP_ROOT/$APP_NAME" \
VSCODE_REMOTE_SERVER_PATH="$(agent.builddirectory)/vscode-reh-linux-$(VSCODE_ARCH)" \
./resources/server/test/test-remote-integration.sh
displayName: Run remote integration tests (Electron)
timeoutInMinutes: 7
condition: and(succeeded(), eq(variables['VSCODE_ARCH'], 'x64'), eq(variables['VSCODE_STEP_ON_IT'], 'false'))
- script: |
set -e
APP_PATH=$(agent.builddirectory)/VSCode-linux-$(VSCODE_ARCH)
yarn smoketest-no-compile --build "$APP_PATH" --electronArgs="--disable-dev-shm-usage --use-gl=swiftshader" --screenshots $(Build.SourcesDirectory)/.build/logs/smoke-tests
timeoutInMinutes: 5
displayName: Run smoke tests (Electron)
condition: and(succeeded(), eq(variables['VSCODE_ARCH'], 'x64'), eq(variables['VSCODE_STEP_ON_IT'], 'false'))
- script: |
set -e
APP_PATH=$(agent.builddirectory)/VSCode-linux-$(VSCODE_ARCH)
VSCODE_REMOTE_SERVER_PATH="$(agent.builddirectory)/vscode-reh-linux-$(VSCODE_ARCH)" \
yarn smoketest-no-compile --build "$APP_PATH" --remote --electronArgs="--disable-dev-shm-usage --use-gl=swiftshader" --screenshots $(Build.SourcesDirectory)/.build/logs/smoke-tests
timeoutInMinutes: 5
displayName: Run smoke tests (Remote)
condition: and(succeeded(), eq(variables['VSCODE_ARCH'], 'x64'), eq(variables['VSCODE_STEP_ON_IT'], 'false'))
- script: |
set -e
VSCODE_REMOTE_SERVER_PATH="$(agent.builddirectory)/vscode-reh-web-linux-$(VSCODE_ARCH)" \
yarn smoketest-no-compile --web --headless --electronArgs="--disable-dev-shm-usage --use-gl=swiftshader"
timeoutInMinutes: 5
displayName: Run smoke tests (Browser)
condition: and(succeeded(), eq(variables['VSCODE_ARCH'], 'x64'), eq(variables['VSCODE_STEP_ON_IT'], 'false'))
- task: PublishPipelineArtifact@0
inputs:
artifactName: crash-dump-linux-$(VSCODE_ARCH)
targetPath: .build/crashes
displayName: "Publish Crash Reports"
continueOnError: true
condition: failed()
- task: PublishPipelineArtifact@0
inputs:
artifactName: logs-linux-$(VSCODE_ARCH)-$(System.JobAttempt)
targetPath: .build/logs
displayName: "Publish Log Files"
continueOnError: true
condition: and(succeededOrFailed(), eq(variables['VSCODE_ARCH'], 'x64'), eq(variables['VSCODE_STEP_ON_IT'], 'false'))
- task: PublishTestResults@2
displayName: Publish Tests Results
inputs:
testResultsFiles: "*-results.xml"
searchFolder: "$(Build.ArtifactStagingDirectory)/test-results"
condition: and(succeededOrFailed(), eq(variables['VSCODE_ARCH'], 'x64'), eq(variables['VSCODE_STEP_ON_IT'], 'false'))
- script: |
set -e
yarn gulp "vscode-linux-$(VSCODE_ARCH)-build-deb"
yarn gulp "vscode-linux-$(VSCODE_ARCH)-build-rpm"
displayName: Build deb, rpm packages
condition: and(succeeded(), ne(variables['VSCODE_PUBLISH'], 'false'))
- script: |
set -e
yarn gulp "vscode-linux-$(VSCODE_ARCH)-prepare-snap"
displayName: Prepare snap package
condition: and(succeeded(), ne(variables['VSCODE_PUBLISH'], 'false'))
- task: UseDotNet@2
inputs:
version: 2.x
condition: and(succeeded(), ne(variables['VSCODE_PUBLISH'], 'false'))
- task: EsrpClientTool@1
displayName: Download ESRPClient
condition: and(succeeded(), ne(variables['VSCODE_PUBLISH'], 'false'))
- script: |
set -e
yarn --cwd build
yarn --cwd build compile
displayName: Compile build tools
condition: and(succeeded(), ne(variables['VSCODE_PUBLISH'], 'false'))
- script: |
set -e
node build/azure-pipelines/common/sign "$(esrpclient.toolpath)/$(esrpclient.toolname)" rpm $(ESRP-PKI) $(esrp-aad-username) $(esrp-aad-password) .build/linux/rpm '*.rpm'
displayName: Codesign rpm
condition: and(succeeded(), ne(variables['VSCODE_PUBLISH'], 'false'))
- script: |
set -e
AZURE_DOCUMENTDB_MASTERKEY="$(builds-docdb-key-readwrite)" \
AZURE_STORAGE_ACCESS_KEY_2="$(vscode-storage-key)" \
VSCODE_MIXIN_PASSWORD="$(github-distro-mixin-password)" \
VSCODE_ARCH="$(VSCODE_ARCH)" \
./build/azure-pipelines/linux/prepare-publish.sh
displayName: Prepare for Publish
condition: and(succeeded(), ne(variables['VSCODE_PUBLISH'], 'false'))
- publish: $(DEB_PATH)
artifact: vscode_client_linux_$(VSCODE_ARCH)_deb-package
displayName: Publish deb package
condition: and(succeeded(), ne(variables['VSCODE_PUBLISH'], 'false'))
- publish: $(RPM_PATH)
artifact: vscode_client_linux_$(VSCODE_ARCH)_rpm-package
displayName: Publish rpm package
condition: and(succeeded(), ne(variables['VSCODE_PUBLISH'], 'false'))
- publish: $(TARBALL_PATH)
artifact: vscode_client_linux_$(VSCODE_ARCH)_archive-unsigned
displayName: Publish client archive
condition: and(succeeded(), ne(variables['VSCODE_PUBLISH'], 'false'))
- publish: $(Agent.BuildDirectory)/vscode-server-linux-$(VSCODE_ARCH).tar.gz
artifact: vscode_server_linux_$(VSCODE_ARCH)_archive-unsigned
displayName: Publish server archive
condition: and(succeeded(), ne(variables['VSCODE_PUBLISH'], 'false'))
- publish: $(Agent.BuildDirectory)/vscode-server-linux-$(VSCODE_ARCH)-web.tar.gz
artifact: vscode_web_linux_$(VSCODE_ARCH)_archive-unsigned
displayName: Publish web server archive
condition: and(succeeded(), ne(variables['VSCODE_PUBLISH'], 'false'))
- task: PublishPipelineArtifact@0
displayName: "Publish Pipeline Artifact"
inputs:
artifactName: "snap-$(VSCODE_ARCH)"
targetPath: .build/linux/snap-tarball
condition: and(succeeded(), ne(variables['VSCODE_PUBLISH'], 'false'))

View File

@@ -0,0 +1,14 @@
#!/usr/bin/env bash
set -e
echo "Installing remote dependencies"
(cd remote && rm -rf node_modules)
for i in {1..3}; do # try 3 times, for Terrapin
yarn --cwd remote --frozen-lockfile --check-files && break
if [ $i -eq 3 ]; then
echo "Yarn failed too many times" >&2
exit 1
fi
echo "Yarn failed $i, trying again..."
done

View File

@@ -1,11 +1,7 @@
steps:
- task: NodeTool@0
inputs:
versionSpec: "14.x"
- task: geeklearningio.gl-vsts-tasks-yarn.yarn-installer-task.YarnInstaller@2
inputs:
versionSpec: "1.x"
versionSpec: "16.x"
- task: DownloadPipelineArtifact@0
displayName: "Download Pipeline Artifact"
@@ -22,6 +18,13 @@ steps:
# Make sure we get latest packages
sudo apt-get update
sudo apt-get upgrade -y
sudo apt-get install -y curl apt-transport-https ca-certificates
# Yarn
curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add -
echo "deb https://dl.yarnpkg.com/debian/ stable main" | sudo tee /etc/apt/sources.list.d/yarn.list
sudo apt-get update
sudo apt-get install -y yarn
# Define variables
REPO="$(pwd)"

View File

@@ -89,7 +89,7 @@ steps:
- script: |
set -e
node build/azure-pipelines/mixin
node build/azure-pipelines/sql-mixin
displayName: Mix in quality
- script: |
@@ -120,7 +120,7 @@ steps:
- script: |
set -e
DISPLAY=:10 ./scripts/test.sh --build --tfs "Unit Tests" --coverage
displayName: Run unit tests (Electron)
displayName: Run core unit tests
condition: and(succeeded(), eq(variables['RUN_TESTS'], 'true'), ne(variables['EXTENSIONS_ONLY'], 'true'))
- script: |
@@ -133,46 +133,52 @@ steps:
INTEGRATION_TEST_ELECTRON_PATH="$APP_ROOT/$APP_NAME" \
VSCODE_REMOTE_SERVER_PATH="$(agent.builddirectory)/azuredatastudio-reh-linux-x64" \
DISPLAY=:10 ./scripts/test-integration.sh --build --tfs "Integration Tests"
displayName: Run integration tests (Electron)
displayName: Run core integration tests
condition: and(succeeded(), eq(variables['RUN_TESTS'], 'true'), ne(variables['EXTENSIONS_ONLY'], 'true'))
- script: |
# Figure out the full absolute path of the product we just built
# including the remote server and configure the unit tests
# to run with these builds instead of running out of sources.
set -e
APP_ROOT=$(agent.builddirectory)/azuredatastudio-linux-x64
APP_NAME=$(node -p "require(\"$APP_ROOT/resources/app/product.json\").applicationName")
INTEGRATION_TEST_ELECTRON_PATH="$APP_ROOT/$APP_NAME" \
NO_CLEANUP=1 \
VSCODE_REMOTE_SERVER_PATH="$(agent.builddirectory)/azuredatastudio-reh-linux-x64" \
DISPLAY=:10 ./scripts/test-extensions-unit.sh --build --tfs "Extension Unit Tests"
displayName: 'Run Stable Extension Unit Tests'
condition: and(succeeded(), eq(variables['RUN_TESTS'], 'true'))
# {{SQL CARBON TODO}} Reenable "Run Extension Unit Tests (Continue on Error)" and "Run Extension Unit Tests (Fail on Error)" and "Archive Logs"
# - script: |
# # Figure out the full absolute path of the product we just built
# # including the remote server and configure the unit tests
# # to run with these builds instead of running out of sources.
# set -e
# APP_ROOT=$(agent.builddirectory)/azuredatastudio-linux-x64
# APP_NAME=$(node -p "require(\"$APP_ROOT/resources/app/product.json\").applicationName")
# INTEGRATION_TEST_ELECTRON_PATH="$APP_ROOT/$APP_NAME" \
# NO_CLEANUP=1 \
# VSCODE_REMOTE_SERVER_PATH="$(agent.builddirectory)/azuredatastudio-reh-linux-x64" \
# DISPLAY=:10 ./scripts/test-extensions-unit.sh --build --tfs "Extension Unit Tests"
# displayName: Run Extension Unit Tests (Continue on Error)
# continueOnError: true
# condition: and(succeeded(), and(eq(variables['RUN_TESTS'], 'true'), eq(variables['EXTENSION_UNIT_TESTS_FAIL_ON_ERROR'], 'false')))
- script: |
set -e
APP_ROOT=$(agent.builddirectory)/azuredatastudio-linux-x64
APP_NAME=$(node -p "require(\"$APP_ROOT/resources/app/product.json\").applicationName")
INTEGRATION_TEST_ELECTRON_PATH="$APP_ROOT/$APP_NAME" \
DISPLAY=:10 ./scripts/test-extensions-unit-unstable.sh
displayName: 'Run Unstable Extension Unit Tests'
continueOnError: true
condition: and(succeeded(), eq(variables['RUN_UNSTABLE_TESTS'], 'true'))
# - script: |
# # Figure out the full absolute path of the product we just built
# # including the remote server and configure the unit tests
# # to run with these builds instead of running out of sources.
# set -e
# APP_ROOT=$(agent.builddirectory)/azuredatastudio-linux-x64
# APP_NAME=$(node -p "require(\"$APP_ROOT/resources/app/product.json\").applicationName")
# INTEGRATION_TEST_ELECTRON_PATH="$APP_ROOT/$APP_NAME" \
# NO_CLEANUP=1 \
# VSCODE_REMOTE_SERVER_PATH="$(agent.builddirectory)/azuredatastudio-reh-linux-x64" \
# DISPLAY=:10 ./scripts/test-extensions-unit.sh --build --tfs "Extension Unit Tests"
# displayName: Run Extension Unit Tests (Fail on Error)
# condition: and(succeeded(), and(eq(variables['RUN_TESTS'], 'true'), ne(variables['EXTENSION_UNIT_TESTS_FAIL_ON_ERROR'], 'false')))
- bash: |
set -e
mkdir -p $(Build.ArtifactStagingDirectory)/logs/linux-x64
cd /tmp
for folder in adsuser*/
do
folder=${folder%/}
# Only archive directories we want for debugging purposes
tar -czvf $(Build.ArtifactStagingDirectory)/logs/linux-x64/$folder.tar.gz $folder/User $folder/logs
done
displayName: Archive Logs
continueOnError: true
condition: and(succeeded(), eq(variables['RUN_TESTS'], 'true'))
# - bash: |
# set -e
# mkdir -p $(Build.ArtifactStagingDirectory)/logs/linux-x64
# cd /tmp
# for folder in adsuser*/
# do
# folder=${folder%/}
# # Only archive directories we want for debugging purposes
# tar -czvf $(Build.ArtifactStagingDirectory)/logs/linux-x64/$folder.tar.gz $folder/User $folder/logs
# done
# displayName: Archive Logs
# continueOnError: true
# condition: and(succeeded(), eq(variables['RUN_TESTS'], 'true'))
- script: |
set -e

View File

@@ -1,68 +1,86 @@
"use strict";
/*---------------------------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Licensed under the Source EULA. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/
'use strict';
const json = require('gulp-json-editor');
Object.defineProperty(exports, "__esModule", { value: true });
const json = require("gulp-json-editor");
const buffer = require('gulp-buffer');
const filter = require('gulp-filter');
const es = require('event-stream');
const vfs = require('vinyl-fs');
const fancyLog = require('fancy-log');
const ansiColors = require('ansi-colors');
const fs = require('fs');
const path = require('path');
function main() {
const quality = process.env['VSCODE_QUALITY'];
if (!quality) {
console.log('Missing VSCODE_QUALITY, skipping mixin');
return;
}
const productJsonFilter = filter(f => f.relative === 'product.json', { restore: true });
fancyLog(ansiColors.blue('[mixin]'), `Mixing in sources:`);
return vfs
.src(`quality/${quality}/**`, { base: `quality/${quality}` })
.pipe(filter(f => !f.isDirectory()))
.pipe(productJsonFilter)
.pipe(buffer())
.pipe(json(o => {
const ossProduct = JSON.parse(fs.readFileSync(path.join(__dirname, '..', '..', 'product.json'), 'utf8'));
let builtInExtensions = ossProduct.builtInExtensions;
if (Array.isArray(o.builtInExtensions)) {
fancyLog(ansiColors.blue('[mixin]'), 'Overwriting built-in extensions:', o.builtInExtensions.map(e => e.name));
builtInExtensions = o.builtInExtensions;
} else if (o.builtInExtensions) {
const include = o.builtInExtensions['include'] || [];
const exclude = o.builtInExtensions['exclude'] || [];
fancyLog(ansiColors.blue('[mixin]'), 'OSS built-in extensions:', builtInExtensions.map(e => e.name));
fancyLog(ansiColors.blue('[mixin]'), 'Including built-in extensions:', include.map(e => e.name));
fancyLog(ansiColors.blue('[mixin]'), 'Excluding built-in extensions:', exclude);
builtInExtensions = builtInExtensions.filter(ext => !include.find(e => e.name === ext.name) && !exclude.find(name => name === ext.name));
builtInExtensions = [...builtInExtensions, ...include];
fancyLog(ansiColors.blue('[mixin]'), 'Final built-in extensions:', builtInExtensions.map(e => e.name));
} else {
fancyLog(ansiColors.blue('[mixin]'), 'Inheriting OSS built-in extensions', builtInExtensions.map(e => e.name));
}
return { ...ossProduct, ...o, builtInExtensions };
}))
.pipe(productJsonFilter.restore)
.pipe(es.mapSync(function (f) {
fancyLog(ansiColors.blue('[mixin]'), f.relative, ansiColors.green('✔︎'));
return f;
}))
.pipe(vfs.dest('.'));
const filter = require("gulp-filter");
const es = require("event-stream");
const vfs = require("vinyl-fs");
const fancyLog = require("fancy-log");
const ansiColors = require("ansi-colors");
const fs = require("fs");
const path = require("path");
async function mixinClient(quality) {
const productJsonFilter = filter(f => f.relative === 'product.json', { restore: true });
fancyLog(ansiColors.blue('[mixin]'), `Mixing in client:`);
return new Promise((c, e) => {
vfs
.src(`quality/${quality}/**`, { base: `quality/${quality}` })
.pipe(filter(f => !f.isDirectory()))
.pipe(filter(f => f.relative !== 'product.server.json'))
.pipe(productJsonFilter)
.pipe(buffer())
.pipe(json((o) => {
const originalProduct = JSON.parse(fs.readFileSync(path.join(__dirname, '..', '..', 'product.json'), 'utf8'));
let builtInExtensions = originalProduct.builtInExtensions;
if (Array.isArray(o.builtInExtensions)) {
fancyLog(ansiColors.blue('[mixin]'), 'Overwriting built-in extensions:', o.builtInExtensions.map(e => e.name));
builtInExtensions = o.builtInExtensions;
}
else if (o.builtInExtensions) {
const include = o.builtInExtensions['include'] || [];
const exclude = o.builtInExtensions['exclude'] || [];
fancyLog(ansiColors.blue('[mixin]'), 'OSS built-in extensions:', builtInExtensions.map(e => e.name));
fancyLog(ansiColors.blue('[mixin]'), 'Including built-in extensions:', include.map(e => e.name));
fancyLog(ansiColors.blue('[mixin]'), 'Excluding built-in extensions:', exclude);
builtInExtensions = builtInExtensions.filter(ext => !include.find(e => e.name === ext.name) && !exclude.find(name => name === ext.name));
builtInExtensions = [...builtInExtensions, ...include];
fancyLog(ansiColors.blue('[mixin]'), 'Final built-in extensions:', builtInExtensions.map(e => e.name));
}
else {
fancyLog(ansiColors.blue('[mixin]'), 'Inheriting OSS built-in extensions', builtInExtensions.map(e => e.name));
}
return { webBuiltInExtensions: originalProduct.webBuiltInExtensions, ...o, builtInExtensions };
}))
.pipe(productJsonFilter.restore)
.pipe(es.mapSync((f) => {
fancyLog(ansiColors.blue('[mixin]'), f.relative, ansiColors.green('✔︎'));
return f;
}))
.pipe(vfs.dest('.'))
.on('end', () => c())
.on('error', (err) => e(err));
});
}
function mixinServer(quality) {
const serverProductJsonPath = `quality/${quality}/product.server.json`;
if (!fs.existsSync(serverProductJsonPath)) {
fancyLog(ansiColors.blue('[mixin]'), `Server product not found`, serverProductJsonPath);
return;
}
fancyLog(ansiColors.blue('[mixin]'), `Mixing in server:`);
const originalProduct = JSON.parse(fs.readFileSync(path.join(__dirname, '..', '..', 'product.json'), 'utf8'));
const serverProductJson = JSON.parse(fs.readFileSync(serverProductJsonPath, 'utf8'));
fs.writeFileSync('product.json', JSON.stringify({ ...originalProduct, ...serverProductJson }, undefined, '\t'));
fancyLog(ansiColors.blue('[mixin]'), 'product.json', ansiColors.green('✔︎'));
}
function main() {
const quality = process.env['VSCODE_QUALITY'];
if (!quality) {
console.log('Missing VSCODE_QUALITY, skipping mixin');
return;
}
if (process.argv[2] === '--server') {
mixinServer(quality);
}
else {
mixinClient(quality).catch(err => {
console.error(err);
process.exit(1);
});
}
}
main();

View File

@@ -0,0 +1,117 @@
/*---------------------------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Licensed under the Source EULA. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/
import * as json from 'gulp-json-editor';
const buffer = require('gulp-buffer');
import * as filter from 'gulp-filter';
import * as es from 'event-stream';
import * as Vinyl from 'vinyl';
import * as vfs from 'vinyl-fs';
import * as fancyLog from 'fancy-log';
import * as ansiColors from 'ansi-colors';
import * as fs from 'fs';
import * as path from 'path';
interface IBuiltInExtension {
readonly name: string;
readonly version: string;
readonly repo: string;
readonly metadata: any;
}
interface OSSProduct {
readonly builtInExtensions: IBuiltInExtension[];
readonly webBuiltInExtensions?: IBuiltInExtension[];
}
interface Product {
readonly builtInExtensions?: IBuiltInExtension[] | { 'include'?: IBuiltInExtension[]; 'exclude'?: string[] };
readonly webBuiltInExtensions?: IBuiltInExtension[];
}
async function mixinClient(quality: string): Promise<void> {
const productJsonFilter = filter(f => f.relative === 'product.json', { restore: true });
fancyLog(ansiColors.blue('[mixin]'), `Mixing in client:`);
return new Promise((c, e) => {
vfs
.src(`quality/${quality}/**`, { base: `quality/${quality}` })
.pipe(filter(f => !f.isDirectory()))
.pipe(filter(f => f.relative !== 'product.server.json'))
.pipe(productJsonFilter)
.pipe(buffer())
.pipe(json((o: Product) => {
const originalProduct = JSON.parse(fs.readFileSync(path.join(__dirname, '..', '..', 'product.json'), 'utf8')) as OSSProduct;
let builtInExtensions = originalProduct.builtInExtensions;
if (Array.isArray(o.builtInExtensions)) {
fancyLog(ansiColors.blue('[mixin]'), 'Overwriting built-in extensions:', o.builtInExtensions.map(e => e.name));
builtInExtensions = o.builtInExtensions;
} else if (o.builtInExtensions) {
const include = o.builtInExtensions['include'] || [];
const exclude = o.builtInExtensions['exclude'] || [];
fancyLog(ansiColors.blue('[mixin]'), 'OSS built-in extensions:', builtInExtensions.map(e => e.name));
fancyLog(ansiColors.blue('[mixin]'), 'Including built-in extensions:', include.map(e => e.name));
fancyLog(ansiColors.blue('[mixin]'), 'Excluding built-in extensions:', exclude);
builtInExtensions = builtInExtensions.filter(ext => !include.find(e => e.name === ext.name) && !exclude.find(name => name === ext.name));
builtInExtensions = [...builtInExtensions, ...include];
fancyLog(ansiColors.blue('[mixin]'), 'Final built-in extensions:', builtInExtensions.map(e => e.name));
} else {
fancyLog(ansiColors.blue('[mixin]'), 'Inheriting OSS built-in extensions', builtInExtensions.map(e => e.name));
}
return { webBuiltInExtensions: originalProduct.webBuiltInExtensions, ...o, builtInExtensions };
}))
.pipe(productJsonFilter.restore)
.pipe(es.mapSync((f: Vinyl) => {
fancyLog(ansiColors.blue('[mixin]'), f.relative, ansiColors.green('✔︎'));
return f;
}))
.pipe(vfs.dest('.'))
.on('end', () => c())
.on('error', (err: any) => e(err));
});
}
function mixinServer(quality: string) {
const serverProductJsonPath = `quality/${quality}/product.server.json`;
if (!fs.existsSync(serverProductJsonPath)) {
fancyLog(ansiColors.blue('[mixin]'), `Server product not found`, serverProductJsonPath);
return;
}
fancyLog(ansiColors.blue('[mixin]'), `Mixing in server:`);
const originalProduct = JSON.parse(fs.readFileSync(path.join(__dirname, '..', '..', 'product.json'), 'utf8')) as OSSProduct;
const serverProductJson = JSON.parse(fs.readFileSync(serverProductJsonPath, 'utf8'));
fs.writeFileSync('product.json', JSON.stringify({ ...originalProduct, ...serverProductJson }, undefined, '\t'));
fancyLog(ansiColors.blue('[mixin]'), 'product.json', ansiColors.green('✔︎'));
}
function main() {
const quality = process.env['VSCODE_QUALITY'];
if (!quality) {
console.log('Missing VSCODE_QUALITY, skipping mixin');
return;
}
if (process.argv[2] === '--server') {
mixinServer(quality);
} else {
mixinClient(quality).catch(err => {
console.error(err);
process.exit(1);
});
}
}
main();

View File

@@ -0,0 +1,59 @@
steps:
- checkout: self
fetchDepth: 1
retryCountOnTaskFailure: 3
- task: NodeTool@0
inputs:
versionSpec: "16.x"
- script: |
mkdir -p .build
node build/azure-pipelines/common/computeNodeModulesCacheKey.js $VSCODE_ARCH $ENABLE_TERRAPIN > .build/yarnlockhash
displayName: Prepare yarn cache flags
- task: Cache@2
inputs:
key: "genericNodeModules | $(Agent.OS) | .build/yarnlockhash"
path: .build/node_modules_cache
cacheHitVar: NODE_MODULES_RESTORED
displayName: Restore node_modules cache
- script: |
set -e
tar -xzf .build/node_modules_cache/cache.tgz
condition: and(succeeded(), eq(variables.NODE_MODULES_RESTORED, 'true'))
displayName: Extract node_modules cache
- script: |
set -e
npx https://aka.ms/enablesecurefeed standAlone
timeoutInMinutes: 5
retryCountOnTaskFailure: 3
condition: and(succeeded(), ne(variables.NODE_MODULES_RESTORED, 'true'), eq(variables['ENABLE_TERRAPIN'], 'true'))
displayName: Switch to Terrapin packages
- script: |
set -e
for i in {1..3}; do # try 3 times, for Terrapin
yarn --frozen-lockfile --check-files && break
if [ $i -eq 3 ]; then
echo "Yarn failed too many times" >&2
exit 1
fi
echo "Yarn failed $i, trying again..."
done
env:
ELECTRON_SKIP_BINARY_DOWNLOAD: 1
PLAYWRIGHT_SKIP_BROWSER_DOWNLOAD: 1
GITHUB_TOKEN: "$(github-distro-mixin-password)"
displayName: Install dependencies
condition: and(succeeded(), ne(variables.NODE_MODULES_RESTORED, 'true'))
- script: |
set -e
node build/azure-pipelines/common/listNodeModules.js .build/node_modules_list.txt
mkdir -p .build/node_modules_cache
tar -czf .build/node_modules_cache/cache.tgz --files-from .build/node_modules_list.txt
condition: and(succeeded(), ne(variables.NODE_MODULES_RESTORED, 'true'))
displayName: Create node_modules archive

View File

@@ -0,0 +1,189 @@
trigger:
- main
- release/*
pr:
branches:
include: ["main", "release/*"]
variables:
- name: Codeql.SkipTaskAutoInjection
value: true
- name: skipComponentGovernanceDetection
value: true
- name: ENABLE_TERRAPIN
value: false
- name: VSCODE_CIBUILD
value: ${{ in(variables['Build.Reason'], 'IndividualCI', 'BatchedCI') }}
- name: VSCODE_PUBLISH
value: false
- name: VSCODE_QUALITY
value: oss
- name: VSCODE_STEP_ON_IT
value: false
jobs:
- ${{ if ne(variables['VSCODE_CIBUILD'], true) }}:
- job: Compile
displayName: Compile & Hygiene
pool: vscode-1es-vscode-linux-20.04
timeoutInMinutes: 30
variables:
VSCODE_ARCH: x64
steps:
- template: product-compile.yml
parameters:
VSCODE_QUALITY: ${{ variables.VSCODE_QUALITY }}
- job: Linuxx64UnitTest
displayName: Linux (Unit Tests)
pool: vscode-1es-vscode-linux-20.04
timeoutInMinutes: 30
variables:
VSCODE_ARCH: x64
NPM_ARCH: x64
DISPLAY: ":10"
steps:
- template: linux/product-build-linux-client.yml
parameters:
VSCODE_PUBLISH: ${{ variables.VSCODE_PUBLISH }}
VSCODE_QUALITY: ${{ variables.VSCODE_QUALITY }}
VSCODE_RUN_UNIT_TESTS: true
VSCODE_RUN_INTEGRATION_TESTS: false
VSCODE_RUN_SMOKE_TESTS: false
- job: Linuxx64IntegrationTest
displayName: Linux (Integration Tests)
pool: vscode-1es-vscode-linux-20.04
timeoutInMinutes: 30
variables:
VSCODE_ARCH: x64
NPM_ARCH: x64
DISPLAY: ":10"
steps:
- template: linux/product-build-linux-client.yml
parameters:
VSCODE_PUBLISH: ${{ variables.VSCODE_PUBLISH }}
VSCODE_QUALITY: ${{ variables.VSCODE_QUALITY }}
VSCODE_RUN_UNIT_TESTS: false
VSCODE_RUN_INTEGRATION_TESTS: true
VSCODE_RUN_SMOKE_TESTS: false
- job: Linuxx64SmokeTest
displayName: Linux (Smoke Tests)
pool: vscode-1es-vscode-linux-20.04
timeoutInMinutes: 30
variables:
VSCODE_ARCH: x64
NPM_ARCH: x64
DISPLAY: ":10"
steps:
- template: linux/product-build-linux-client.yml
parameters:
VSCODE_PUBLISH: ${{ variables.VSCODE_PUBLISH }}
VSCODE_QUALITY: ${{ variables.VSCODE_QUALITY }}
VSCODE_RUN_UNIT_TESTS: false
VSCODE_RUN_INTEGRATION_TESTS: false
VSCODE_RUN_SMOKE_TESTS: true
- ${{ if eq(variables['VSCODE_CIBUILD'], true) }}:
- job: Linuxx64MaintainNodeModulesCache
displayName: Linux (Maintain node_modules cache)
pool: vscode-1es-vscode-linux-20.04
timeoutInMinutes: 30
variables:
VSCODE_ARCH: x64
steps:
- template: product-build-pr-cache.yml
# - job: macOSUnitTest
# displayName: macOS (Unit Tests)
# pool:
# vmImage: macOS-latest
# timeoutInMinutes: 60
# variables:
# BUILDSECMON_OPT_IN: true
# VSCODE_ARCH: x64
# steps:
# - template: darwin/product-build-darwin.yml
# parameters:
# VSCODE_PUBLISH: ${{ variables.VSCODE_PUBLISH }}
# VSCODE_QUALITY: ${{ variables.VSCODE_QUALITY }}
# VSCODE_RUN_UNIT_TESTS: true
# VSCODE_RUN_INTEGRATION_TESTS: false
# VSCODE_RUN_SMOKE_TESTS: false
# - job: macOSIntegrationTest
# displayName: macOS (Integration Tests)
# pool:
# vmImage: macOS-latest
# timeoutInMinutes: 60
# variables:
# BUILDSECMON_OPT_IN: true
# VSCODE_ARCH: x64
# steps:
# - template: darwin/product-build-darwin.yml
# parameters:
# VSCODE_PUBLISH: ${{ variables.VSCODE_PUBLISH }}
# VSCODE_QUALITY: ${{ variables.VSCODE_QUALITY }}
# VSCODE_RUN_UNIT_TESTS: false
# VSCODE_RUN_INTEGRATION_TESTS: true
# VSCODE_RUN_SMOKE_TESTS: false
# - job: macOSSmokeTest
# displayName: macOS (Smoke Tests)
# pool:
# vmImage: macOS-latest
# timeoutInMinutes: 60
# variables:
# BUILDSECMON_OPT_IN: true
# VSCODE_ARCH: x64
# steps:
# - template: darwin/product-build-darwin.yml
# parameters:
# VSCODE_PUBLISH: ${{ variables.VSCODE_PUBLISH }}
# VSCODE_QUALITY: ${{ variables.VSCODE_QUALITY }}
# VSCODE_RUN_UNIT_TESTS: false
# VSCODE_RUN_INTEGRATION_TESTS: false
# VSCODE_RUN_SMOKE_TESTS: true
# - job: WindowsUnitTests
# displayName: Windows (Unit Tests)
# pool: vscode-1es-vscode-windows-2019
# timeoutInMinutes: 60
# variables:
# VSCODE_ARCH: x64
# steps:
# - template: win32/product-build-win32.yml
# parameters:
# VSCODE_PUBLISH: ${{ variables.VSCODE_PUBLISH }}
# VSCODE_QUALITY: ${{ variables.VSCODE_QUALITY }}
# VSCODE_RUN_UNIT_TESTS: true
# VSCODE_RUN_INTEGRATION_TESTS: false
# VSCODE_RUN_SMOKE_TESTS: false
# - job: WindowsIntegrationTests
# displayName: Windows (Integration Tests)
# pool: vscode-1es-vscode-windows-2019
# timeoutInMinutes: 60
# variables:
# VSCODE_ARCH: x64
# steps:
# - template: win32/product-build-win32.yml
# parameters:
# VSCODE_PUBLISH: ${{ variables.VSCODE_PUBLISH }}
# VSCODE_QUALITY: ${{ variables.VSCODE_QUALITY }}
# VSCODE_RUN_UNIT_TESTS: false
# VSCODE_RUN_INTEGRATION_TESTS: true
# VSCODE_RUN_SMOKE_TESTS: false
# - job: WindowsSmokeTests
# displayName: Windows (Smoke Tests)
# pool: vscode-1es-vscode-windows-2019
# timeoutInMinutes: 60
# variables:
# VSCODE_ARCH: x64
# steps:
# - template: win32/product-build-win32.yml
# parameters:
# VSCODE_PUBLISH: ${{ variables.VSCODE_PUBLISH }}
# VSCODE_QUALITY: ${{ variables.VSCODE_QUALITY }}
# VSCODE_RUN_UNIT_TESTS: false
# VSCODE_RUN_INTEGRATION_TESTS: false
# VSCODE_RUN_SMOKE_TESTS: true

View File

@@ -8,7 +8,15 @@ schedules:
- main
- joao/web
trigger:
branches:
include: ["main", "release/*"]
parameters:
- name: VSCODE_DISTRO_REF
displayName: Distro Ref (Private build)
type: string
default: " "
- name: VSCODE_QUALITY
displayName: Quality
type: string
@@ -73,6 +81,10 @@ parameters:
displayName: "Publish to builds.code.visualstudio.com"
type: boolean
default: true
- name: VSCODE_PUBLISH_TO_MOONCAKE
displayName: "Publish to Azure China"
type: boolean
default: true
- name: VSCODE_RELEASE
displayName: "Release build if successful"
type: boolean
@@ -87,46 +99,48 @@ parameters:
default: false
variables:
- name: VSCODE_DISTRO_REF
value: ${{ parameters.VSCODE_DISTRO_REF }}
- name: ENABLE_TERRAPIN
value: ${{ eq(parameters.ENABLE_TERRAPIN, true) }}
- name: VSCODE_QUALITY
value: ${{ parameters.VSCODE_QUALITY }}
- name: VSCODE_RELEASE
value: ${{ parameters.VSCODE_RELEASE }}
- name: VSCODE_BUILD_STAGE_WINDOWS
value: ${{ or(eq(parameters.VSCODE_BUILD_WIN32, true), eq(parameters.VSCODE_BUILD_WIN32_32BIT, true), eq(parameters.VSCODE_BUILD_WIN32_ARM64, true)) }}
- name: VSCODE_BUILD_STAGE_LINUX
value: ${{ or(eq(parameters.VSCODE_BUILD_LINUX, true), eq(parameters.VSCODE_BUILD_LINUX_ARMHF, true), eq(parameters.VSCODE_BUILD_LINUX_ARM64, true), eq(parameters.VSCODE_BUILD_LINUX_ALPINE, true), eq(parameters.VSCODE_BUILD_LINUX_ALPINE_ARM64, true), eq(parameters.VSCODE_BUILD_WEB, true)) }}
value: ${{ or(eq(parameters.VSCODE_BUILD_LINUX, true), eq(parameters.VSCODE_BUILD_LINUX_ARMHF, true), eq(parameters.VSCODE_BUILD_LINUX_ARM64, true), eq(parameters.VSCODE_BUILD_LINUX_ALPINE, true), eq(parameters.VSCODE_BUILD_LINUX_ALPINE_ARM64, true)) }}
- name: VSCODE_BUILD_STAGE_MACOS
value: ${{ or(eq(parameters.VSCODE_BUILD_MACOS, true), eq(parameters.VSCODE_BUILD_MACOS_ARM64, true)) }}
- name: VSCODE_BUILD_STAGE_WEB
value: ${{ eq(parameters.VSCODE_BUILD_WEB, true) }}
- name: VSCODE_CIBUILD
value: ${{ in(variables['Build.Reason'], 'IndividualCI', 'BatchedCI') }}
- name: VSCODE_PUBLISH
value: ${{ and(eq(parameters.VSCODE_PUBLISH, true), eq(variables.VSCODE_CIBUILD, false)) }}
- name: VSCODE_PUBLISH_TO_MOONCAKE
value: ${{ eq(parameters.VSCODE_PUBLISH_TO_MOONCAKE, true) }}
- name: VSCODE_SCHEDULEDBUILD
value: ${{ eq(variables['Build.Reason'], 'Schedule') }}
- name: VSCODE_STEP_ON_IT
value: ${{ eq(parameters.VSCODE_STEP_ON_IT, true) }}
- name: VSCODE_BUILD_MACOS_UNIVERSAL
value: ${{ and(eq(variables['VSCODE_PUBLISH'], true), eq(parameters.VSCODE_BUILD_MACOS, true), eq(parameters.VSCODE_BUILD_MACOS_ARM64, true), eq(parameters.VSCODE_BUILD_MACOS_UNIVERSAL, true)) }}
value: ${{ and(eq(parameters.VSCODE_BUILD_MACOS, true), eq(parameters.VSCODE_BUILD_MACOS_ARM64, true), eq(parameters.VSCODE_BUILD_MACOS_UNIVERSAL, true)) }}
- name: AZURE_CDN_URL
value: https://az764295.vo.msecnd.net
- name: AZURE_DOCUMENTDB_ENDPOINT
value: https://vscode.documents.azure.com:443/
- name: AZURE_STORAGE_ACCOUNT
value: ticino
- name: AZURE_STORAGE_ACCOUNT_2
value: vscode
- name: MOONCAKE_CDN_URL
value: https://vscode.cdn.azure.cn
- name: VSCODE_MIXIN_REPO
value: microsoft/vscode-distro
- name: skipComponentGovernanceDetection
value: true
- name: Codeql.SkipTaskAutoInjection
value: true
resources:
containers:
- container: vscode-x64
- container: vscode-bionic-x64
image: vscodehub.azurecr.io/vscode-linux-build-agent:bionic-x64
endpoint: VSCodeHub
options: --user 0:0 --cap-add SYS_ADMIN
@@ -138,6 +152,10 @@ resources:
image: vscodehub.azurecr.io/vscode-linux-build-agent:stretch-armhf
endpoint: VSCodeHub
options: --user 0:0 --cap-add SYS_ADMIN
- container: centos7-devtoolset8-x64
image: vscodehub.azurecr.io/vscode-linux-build-agent:centos7-devtoolset8-x64
endpoint: VSCodeHub
options: --user 0:0 --cap-add SYS_ADMIN
- container: snapcraft
image: snapcore/snapcraft:stable
@@ -145,219 +163,443 @@ stages:
- stage: Compile
jobs:
- job: Compile
pool: vscode-1es
pool: vscode-1es-linux
variables:
VSCODE_ARCH: x64
steps:
- template: product-compile.yml
parameters:
VSCODE_QUALITY: ${{ variables.VSCODE_QUALITY }}
- ${{ if and(eq(parameters.VSCODE_COMPILE_ONLY, false), eq(variables['VSCODE_BUILD_STAGE_WINDOWS'], true)) }}:
- stage: Windows
dependsOn:
- Compile
pool:
vmImage: VS2017-Win2016
jobs:
- stage: Windows
dependsOn:
- Compile
pool: vscode-1es-windows
jobs:
- ${{ if eq(variables['VSCODE_CIBUILD'], true) }}:
- job: WindowsUnitTests
displayName: Unit Tests
timeoutInMinutes: 60
variables:
VSCODE_ARCH: x64
steps:
- template: win32/product-build-win32.yml
parameters:
VSCODE_PUBLISH: ${{ variables.VSCODE_PUBLISH }}
VSCODE_QUALITY: ${{ variables.VSCODE_QUALITY }}
VSCODE_RUN_UNIT_TESTS: true
VSCODE_RUN_INTEGRATION_TESTS: false
VSCODE_RUN_SMOKE_TESTS: false
- job: WindowsIntegrationTests
displayName: Integration Tests
timeoutInMinutes: 60
variables:
VSCODE_ARCH: x64
steps:
- template: win32/product-build-win32.yml
parameters:
VSCODE_PUBLISH: ${{ variables.VSCODE_PUBLISH }}
VSCODE_QUALITY: ${{ variables.VSCODE_QUALITY }}
VSCODE_RUN_UNIT_TESTS: false
VSCODE_RUN_INTEGRATION_TESTS: true
VSCODE_RUN_SMOKE_TESTS: false
- job: WindowsSmokeTests
displayName: Smoke Tests
timeoutInMinutes: 60
variables:
VSCODE_ARCH: x64
steps:
- template: win32/product-build-win32.yml
parameters:
VSCODE_PUBLISH: ${{ variables.VSCODE_PUBLISH }}
VSCODE_QUALITY: ${{ variables.VSCODE_QUALITY }}
VSCODE_RUN_UNIT_TESTS: false
VSCODE_RUN_INTEGRATION_TESTS: false
VSCODE_RUN_SMOKE_TESTS: true
- ${{ if eq(parameters.VSCODE_BUILD_WIN32, true) }}:
- job: Windows
timeoutInMinutes: 90
variables:
VSCODE_ARCH: x64
steps:
- template: win32/product-build-win32.yml
- ${{ if and(eq(variables['VSCODE_CIBUILD'], false), eq(parameters.VSCODE_BUILD_WIN32, true)) }}:
- job: Windows
timeoutInMinutes: 120
variables:
VSCODE_ARCH: x64
steps:
- template: win32/product-build-win32.yml
parameters:
VSCODE_PUBLISH: ${{ variables.VSCODE_PUBLISH }}
VSCODE_QUALITY: ${{ variables.VSCODE_QUALITY }}
VSCODE_RUN_UNIT_TESTS: ${{ eq(parameters.VSCODE_STEP_ON_IT, false) }}
VSCODE_RUN_INTEGRATION_TESTS: ${{ eq(parameters.VSCODE_STEP_ON_IT, false) }}
VSCODE_RUN_SMOKE_TESTS: ${{ eq(parameters.VSCODE_STEP_ON_IT, false) }}
- ${{ if and(eq(variables['VSCODE_CIBUILD'], false), eq(parameters.VSCODE_BUILD_WIN32_32BIT, true)) }}:
- job: Windows32
timeoutInMinutes: 90
variables:
VSCODE_ARCH: ia32
steps:
- template: win32/product-build-win32.yml
- ${{ if and(eq(variables['VSCODE_CIBUILD'], false), eq(parameters.VSCODE_BUILD_WIN32_32BIT, true)) }}:
- job: Windows32
timeoutInMinutes: 120
variables:
VSCODE_ARCH: ia32
steps:
- template: win32/product-build-win32.yml
parameters:
VSCODE_PUBLISH: ${{ variables.VSCODE_PUBLISH }}
VSCODE_QUALITY: ${{ variables.VSCODE_QUALITY }}
VSCODE_RUN_UNIT_TESTS: ${{ eq(parameters.VSCODE_STEP_ON_IT, false) }}
VSCODE_RUN_INTEGRATION_TESTS: ${{ eq(parameters.VSCODE_STEP_ON_IT, false) }}
VSCODE_RUN_SMOKE_TESTS: ${{ eq(parameters.VSCODE_STEP_ON_IT, false) }}
- ${{ if and(eq(variables['VSCODE_CIBUILD'], false), eq(parameters.VSCODE_BUILD_WIN32_ARM64, true)) }}:
- job: WindowsARM64
timeoutInMinutes: 90
variables:
VSCODE_ARCH: arm64
steps:
- template: win32/product-build-win32.yml
- ${{ if and(eq(variables['VSCODE_CIBUILD'], false), eq(parameters.VSCODE_BUILD_WIN32_ARM64, true)) }}:
- job: WindowsARM64
timeoutInMinutes: 90
variables:
VSCODE_ARCH: arm64
steps:
- template: win32/product-build-win32.yml
parameters:
VSCODE_PUBLISH: ${{ variables.VSCODE_PUBLISH }}
VSCODE_QUALITY: ${{ variables.VSCODE_QUALITY }}
VSCODE_RUN_UNIT_TESTS: false
VSCODE_RUN_INTEGRATION_TESTS: false
VSCODE_RUN_SMOKE_TESTS: false
- ${{ if and(eq(parameters.VSCODE_COMPILE_ONLY, false), eq(variables['VSCODE_BUILD_STAGE_LINUX'], true)) }}:
- stage: Linux
dependsOn:
- Compile
pool:
vmImage: "Ubuntu-18.04"
jobs:
- stage: LinuxServerDependencies
dependsOn: [] # run in parallel to compile stage
pool: vscode-1es-linux
jobs:
- ${{ if eq(parameters.VSCODE_BUILD_LINUX, true) }}:
- job: x64
container: centos7-devtoolset8-x64
variables:
VSCODE_ARCH: x64
NPM_ARCH: x64
steps:
- template: linux/product-build-linux-server.yml
parameters:
VSCODE_QUALITY: ${{ variables.VSCODE_QUALITY }}
- ${{ if eq(parameters.VSCODE_BUILD_LINUX, true) }}:
- job: Linux
container: vscode-x64
variables:
VSCODE_ARCH: x64
NPM_ARCH: x64
DISPLAY: ":10"
steps:
- template: linux/product-build-linux.yml
- ${{ if and(eq(variables['VSCODE_CIBUILD'], false), eq(parameters.VSCODE_BUILD_LINUX_ARM64, true)) }}:
- job: arm64
variables:
VSCODE_ARCH: arm64
steps:
- template: linux/product-build-linux-server.yml
parameters:
VSCODE_QUALITY: ${{ variables.VSCODE_QUALITY }}
- ${{ if and(eq(variables['VSCODE_CIBUILD'], false), eq(parameters.VSCODE_BUILD_LINUX, true), ne(variables['VSCODE_PUBLISH'], 'false')) }}:
- job: LinuxSnap
dependsOn:
- Linux
container: snapcraft
variables:
VSCODE_ARCH: x64
steps:
- template: linux/snap-build-linux.yml
- ${{ if and(eq(parameters.VSCODE_COMPILE_ONLY, false), eq(variables['VSCODE_BUILD_STAGE_LINUX'], true)) }}:
- stage: Linux
dependsOn:
- Compile
- LinuxServerDependencies
pool: vscode-1es-linux
jobs:
- ${{ if eq(variables['VSCODE_CIBUILD'], true) }}:
- job: Linuxx64UnitTest
displayName: Unit Tests
container: vscode-bionic-x64
variables:
VSCODE_ARCH: x64
NPM_ARCH: x64
DISPLAY: ":10"
steps:
- template: linux/product-build-linux-client.yml
parameters:
VSCODE_PUBLISH: ${{ variables.VSCODE_PUBLISH }}
VSCODE_QUALITY: ${{ variables.VSCODE_QUALITY }}
VSCODE_RUN_UNIT_TESTS: true
VSCODE_RUN_INTEGRATION_TESTS: false
VSCODE_RUN_SMOKE_TESTS: false
- job: Linuxx64IntegrationTest
displayName: Integration Tests
container: vscode-bionic-x64
variables:
VSCODE_ARCH: x64
NPM_ARCH: x64
DISPLAY: ":10"
steps:
- template: linux/product-build-linux-client.yml
parameters:
VSCODE_PUBLISH: ${{ variables.VSCODE_PUBLISH }}
VSCODE_QUALITY: ${{ variables.VSCODE_QUALITY }}
VSCODE_RUN_UNIT_TESTS: false
VSCODE_RUN_INTEGRATION_TESTS: true
VSCODE_RUN_SMOKE_TESTS: false
- job: Linuxx64SmokeTest
displayName: Smoke Tests
container: vscode-bionic-x64
variables:
VSCODE_ARCH: x64
NPM_ARCH: x64
DISPLAY: ":10"
steps:
- template: linux/product-build-linux-client.yml
parameters:
VSCODE_PUBLISH: ${{ variables.VSCODE_PUBLISH }}
VSCODE_QUALITY: ${{ variables.VSCODE_QUALITY }}
VSCODE_RUN_UNIT_TESTS: false
VSCODE_RUN_INTEGRATION_TESTS: false
VSCODE_RUN_SMOKE_TESTS: true
- ${{ if and(eq(variables['VSCODE_CIBUILD'], false), eq(parameters.VSCODE_BUILD_LINUX_ARMHF, true)) }}:
- job: LinuxArmhf
container: vscode-armhf
variables:
VSCODE_ARCH: armhf
NPM_ARCH: armv7l
steps:
- template: linux/product-build-linux.yml
- ${{ if and(eq(variables['VSCODE_CIBUILD'], false), eq(parameters.VSCODE_BUILD_LINUX, true)) }}:
- job: Linuxx64
container: vscode-bionic-x64
variables:
VSCODE_ARCH: x64
NPM_ARCH: x64
DISPLAY: ":10"
steps:
- template: linux/product-build-linux-client.yml
parameters:
VSCODE_PUBLISH: ${{ variables.VSCODE_PUBLISH }}
VSCODE_QUALITY: ${{ variables.VSCODE_QUALITY }}
VSCODE_RUN_UNIT_TESTS: ${{ eq(parameters.VSCODE_STEP_ON_IT, false) }}
VSCODE_RUN_INTEGRATION_TESTS: ${{ eq(parameters.VSCODE_STEP_ON_IT, false) }}
VSCODE_RUN_SMOKE_TESTS: ${{ eq(parameters.VSCODE_STEP_ON_IT, false) }}
# TODO@joaomoreno: We don't ship ARM snaps for now
- ${{ if and(false, eq(variables['VSCODE_CIBUILD'], false), eq(parameters.VSCODE_BUILD_LINUX_ARMHF, true)) }}:
- job: LinuxSnapArmhf
dependsOn:
- LinuxArmhf
container: snapcraft
variables:
VSCODE_ARCH: armhf
steps:
- template: linux/snap-build-linux.yml
- ${{ if and(eq(variables['VSCODE_CIBUILD'], false), eq(parameters.VSCODE_BUILD_LINUX, true), ne(variables['VSCODE_PUBLISH'], 'false')) }}:
- job: LinuxSnap
dependsOn:
- Linuxx64
container: snapcraft
variables:
VSCODE_ARCH: x64
steps:
- template: linux/snap-build-linux.yml
- ${{ if and(eq(variables['VSCODE_CIBUILD'], false), eq(parameters.VSCODE_BUILD_LINUX_ARM64, true)) }}:
- job: LinuxArm64
container: vscode-arm64
variables:
VSCODE_ARCH: arm64
NPM_ARCH: arm64
steps:
- template: linux/product-build-linux.yml
- ${{ if and(eq(variables['VSCODE_CIBUILD'], false), eq(parameters.VSCODE_BUILD_LINUX_ARMHF, true)) }}:
- job: LinuxArmhf
container: vscode-armhf
variables:
VSCODE_ARCH: armhf
NPM_ARCH: armv7l
steps:
- template: linux/product-build-linux-client.yml
parameters:
VSCODE_PUBLISH: ${{ variables.VSCODE_PUBLISH }}
VSCODE_QUALITY: ${{ variables.VSCODE_QUALITY }}
VSCODE_RUN_UNIT_TESTS: false
VSCODE_RUN_INTEGRATION_TESTS: false
VSCODE_RUN_SMOKE_TESTS: false
# TODO@joaomoreno: We don't ship ARM snaps for now
- ${{ if and(false, eq(variables['VSCODE_CIBUILD'], false), eq(parameters.VSCODE_BUILD_LINUX_ARM64, true)) }}:
- job: LinuxSnapArm64
dependsOn:
- LinuxArm64
container: snapcraft
variables:
VSCODE_ARCH: arm64
steps:
- template: linux/snap-build-linux.yml
# TODO@joaomoreno: We don't ship ARM snaps for now
- ${{ if and(false, eq(variables['VSCODE_CIBUILD'], false), eq(parameters.VSCODE_BUILD_LINUX_ARMHF, true)) }}:
- job: LinuxSnapArmhf
dependsOn:
- LinuxArmhf
container: snapcraft
variables:
VSCODE_ARCH: armhf
steps:
- template: linux/snap-build-linux.yml
- ${{ if and(eq(variables['VSCODE_CIBUILD'], false), eq(parameters.VSCODE_BUILD_LINUX_ALPINE, true)) }}:
- job: LinuxAlpine
variables:
VSCODE_ARCH: x64
steps:
- template: linux/product-build-alpine.yml
- ${{ if and(eq(variables['VSCODE_CIBUILD'], false), eq(parameters.VSCODE_BUILD_LINUX_ARM64, true)) }}:
- job: LinuxArm64
container: vscode-arm64
variables:
VSCODE_ARCH: arm64
NPM_ARCH: arm64
steps:
- template: linux/product-build-linux-client.yml
parameters:
VSCODE_PUBLISH: ${{ variables.VSCODE_PUBLISH }}
VSCODE_QUALITY: ${{ variables.VSCODE_QUALITY }}
VSCODE_RUN_UNIT_TESTS: false
VSCODE_RUN_INTEGRATION_TESTS: false
VSCODE_RUN_SMOKE_TESTS: false
- ${{ if and(eq(variables['VSCODE_CIBUILD'], false), eq(parameters.VSCODE_BUILD_LINUX_ALPINE_ARM64, true)) }}:
- job: LinuxAlpineArm64
variables:
VSCODE_ARCH: arm64
steps:
- template: linux/product-build-alpine.yml
# TODO@joaomoreno: We don't ship ARM snaps for now
- ${{ if and(false, eq(variables['VSCODE_CIBUILD'], false), eq(parameters.VSCODE_BUILD_LINUX_ARM64, true)) }}:
- job: LinuxSnapArm64
dependsOn:
- LinuxArm64
container: snapcraft
variables:
VSCODE_ARCH: arm64
steps:
- template: linux/snap-build-linux.yml
- ${{ if and(eq(variables['VSCODE_CIBUILD'], false), eq(parameters.VSCODE_BUILD_WEB, true)) }}:
- job: LinuxWeb
variables:
VSCODE_ARCH: x64
steps:
- template: web/product-build-web.yml
- ${{ if and(eq(variables['VSCODE_CIBUILD'], false), eq(parameters.VSCODE_BUILD_LINUX_ALPINE, true)) }}:
- job: LinuxAlpine
variables:
VSCODE_ARCH: x64
steps:
- template: linux/product-build-alpine.yml
- ${{ if and(eq(variables['VSCODE_CIBUILD'], false), eq(parameters.VSCODE_BUILD_LINUX_ALPINE_ARM64, true)) }}:
- job: LinuxAlpineArm64
timeoutInMinutes: 120
variables:
VSCODE_ARCH: arm64
steps:
- template: linux/product-build-alpine.yml
- ${{ if and(eq(parameters.VSCODE_COMPILE_ONLY, false), eq(variables['VSCODE_BUILD_STAGE_MACOS'], true)) }}:
- stage: macOS
dependsOn:
- Compile
pool:
vmImage: macOS-latest
jobs:
- stage: macOS
dependsOn:
- Compile
pool:
vmImage: macOS-latest
variables:
BUILDSECMON_OPT_IN: true
jobs:
- ${{ if eq(variables['VSCODE_CIBUILD'], true) }}:
- job: macOSUnitTest
displayName: Unit Tests
timeoutInMinutes: 90
variables:
VSCODE_ARCH: x64
steps:
- template: darwin/product-build-darwin.yml
parameters:
VSCODE_PUBLISH: ${{ variables.VSCODE_PUBLISH }}
VSCODE_QUALITY: ${{ variables.VSCODE_QUALITY }}
VSCODE_RUN_UNIT_TESTS: true
VSCODE_RUN_INTEGRATION_TESTS: false
VSCODE_RUN_SMOKE_TESTS: false
- job: macOSIntegrationTest
displayName: Integration Tests
timeoutInMinutes: 90
variables:
VSCODE_ARCH: x64
steps:
- template: darwin/product-build-darwin.yml
parameters:
VSCODE_PUBLISH: ${{ variables.VSCODE_PUBLISH }}
VSCODE_QUALITY: ${{ variables.VSCODE_QUALITY }}
VSCODE_RUN_UNIT_TESTS: false
VSCODE_RUN_INTEGRATION_TESTS: true
VSCODE_RUN_SMOKE_TESTS: false
- job: macOSSmokeTest
displayName: Smoke Tests
timeoutInMinutes: 90
variables:
VSCODE_ARCH: x64
steps:
- template: darwin/product-build-darwin.yml
parameters:
VSCODE_PUBLISH: ${{ variables.VSCODE_PUBLISH }}
VSCODE_QUALITY: ${{ variables.VSCODE_QUALITY }}
VSCODE_RUN_UNIT_TESTS: false
VSCODE_RUN_INTEGRATION_TESTS: false
VSCODE_RUN_SMOKE_TESTS: true
- ${{ if eq(parameters.VSCODE_BUILD_MACOS, true) }}:
- job: macOS
timeoutInMinutes: 90
variables:
VSCODE_ARCH: x64
steps:
- template: darwin/product-build-darwin.yml
- ${{ if ne(variables['VSCODE_PUBLISH'], 'false') }}:
- job: macOSSign
dependsOn:
- macOS
timeoutInMinutes: 90
variables:
VSCODE_ARCH: x64
steps:
- template: darwin/product-build-darwin-sign.yml
- ${{ if and(eq(variables['VSCODE_CIBUILD'], false), eq(parameters.VSCODE_BUILD_MACOS, true)) }}:
- job: macOS
timeoutInMinutes: 90
variables:
VSCODE_ARCH: x64
steps:
- template: darwin/product-build-darwin.yml
parameters:
VSCODE_PUBLISH: ${{ variables.VSCODE_PUBLISH }}
VSCODE_QUALITY: ${{ variables.VSCODE_QUALITY }}
VSCODE_RUN_UNIT_TESTS: false
VSCODE_RUN_INTEGRATION_TESTS: false
VSCODE_RUN_SMOKE_TESTS: false
- ${{ if and(eq(variables['VSCODE_CIBUILD'], false), eq(parameters.VSCODE_BUILD_MACOS_ARM64, true)) }}:
- job: macOSARM64
timeoutInMinutes: 90
variables:
VSCODE_ARCH: arm64
steps:
- template: darwin/product-build-darwin.yml
- ${{ if ne(variables['VSCODE_PUBLISH'], 'false') }}:
- job: macOSARM64Sign
dependsOn:
- macOSARM64
timeoutInMinutes: 90
variables:
VSCODE_ARCH: arm64
steps:
- template: darwin/product-build-darwin-sign.yml
- ${{ if eq(parameters.VSCODE_STEP_ON_IT, false) }}:
- job: macOSTest
timeoutInMinutes: 90
variables:
VSCODE_ARCH: x64
steps:
- template: darwin/product-build-darwin.yml
parameters:
VSCODE_PUBLISH: ${{ variables.VSCODE_PUBLISH }}
VSCODE_QUALITY: ${{ variables.VSCODE_QUALITY }}
VSCODE_RUN_UNIT_TESTS: ${{ eq(parameters.VSCODE_STEP_ON_IT, false) }}
VSCODE_RUN_INTEGRATION_TESTS: ${{ eq(parameters.VSCODE_STEP_ON_IT, false) }}
VSCODE_RUN_SMOKE_TESTS: ${{ eq(parameters.VSCODE_STEP_ON_IT, false) }}
- ${{ if eq(variables['VSCODE_BUILD_MACOS_UNIVERSAL'], true) }}:
- job: macOSUniversal
dependsOn:
- macOS
- macOSARM64
timeoutInMinutes: 90
variables:
VSCODE_ARCH: universal
steps:
- template: darwin/product-build-darwin.yml
- ${{ if ne(variables['VSCODE_PUBLISH'], 'false') }}:
- job: macOSUniversalSign
dependsOn:
- macOSUniversal
timeoutInMinutes: 90
variables:
VSCODE_ARCH: universal
steps:
- template: darwin/product-build-darwin-sign.yml
- ${{ if eq(variables['VSCODE_PUBLISH'], true) }}:
- job: macOSSign
dependsOn:
- macOS
timeoutInMinutes: 90
variables:
VSCODE_ARCH: x64
steps:
- template: darwin/product-build-darwin-sign.yml
- ${{ if and(eq(variables['VSCODE_CIBUILD'], false), eq(parameters.VSCODE_BUILD_MACOS_ARM64, true)) }}:
- job: macOSARM64
timeoutInMinutes: 90
variables:
VSCODE_ARCH: arm64
steps:
- template: darwin/product-build-darwin.yml
parameters:
VSCODE_PUBLISH: ${{ variables.VSCODE_PUBLISH }}
VSCODE_QUALITY: ${{ variables.VSCODE_QUALITY }}
VSCODE_RUN_UNIT_TESTS: false
VSCODE_RUN_INTEGRATION_TESTS: false
VSCODE_RUN_SMOKE_TESTS: false
- ${{ if eq(variables['VSCODE_PUBLISH'], true) }}:
- job: macOSARM64Sign
dependsOn:
- macOSARM64
timeoutInMinutes: 90
variables:
VSCODE_ARCH: arm64
steps:
- template: darwin/product-build-darwin-sign.yml
- ${{ if and(eq(variables['VSCODE_CIBUILD'], false), eq(variables['VSCODE_BUILD_MACOS_UNIVERSAL'], true)) }}:
- job: macOSUniversal
dependsOn:
- macOS
- macOSARM64
timeoutInMinutes: 90
variables:
VSCODE_ARCH: universal
steps:
- template: darwin/product-build-darwin-universal.yml
- ${{ if eq(variables['VSCODE_PUBLISH'], true) }}:
- job: macOSUniversalSign
dependsOn:
- macOSUniversal
timeoutInMinutes: 90
variables:
VSCODE_ARCH: universal
steps:
- template: darwin/product-build-darwin-sign.yml
- ${{ if and(eq(variables['VSCODE_CIBUILD'], false), eq(parameters.VSCODE_COMPILE_ONLY, false), eq(variables['VSCODE_BUILD_STAGE_WEB'], true)) }}:
- stage: Web
dependsOn:
- Compile
pool: vscode-1es-linux
jobs:
- ${{ if eq(parameters.VSCODE_BUILD_WEB, true) }}:
- job: Web
variables:
VSCODE_ARCH: x64
steps:
- template: web/product-build-web.yml
- ${{ if and(eq(parameters.VSCODE_COMPILE_ONLY, false), ne(variables['VSCODE_PUBLISH'], 'false')) }}:
- stage: Publish
dependsOn:
- Compile
pool:
vmImage: "Ubuntu-18.04"
variables:
- name: BUILDS_API_URL
value: $(System.CollectionUri)$(System.TeamProject)/_apis/build/builds/$(Build.BuildId)/
jobs:
- job: PublishBuild
timeoutInMinutes: 180
displayName: Publish Build
steps:
- template: product-publish.yml
- ${{ if or(eq(parameters.VSCODE_RELEASE, true), and(in(parameters.VSCODE_QUALITY, 'insider', 'exploration'), eq(variables['VSCODE_SCHEDULEDBUILD'], true))) }}:
- stage: Release
- stage: Publish
dependsOn:
- Publish
pool:
vmImage: "Ubuntu-18.04"
- Compile
pool: vscode-1es-linux
variables:
- name: BUILDS_API_URL
value: $(System.CollectionUri)$(System.TeamProject)/_apis/build/builds/$(Build.BuildId)/
jobs:
- job: ReleaseBuild
displayName: Release Build
- job: PublishBuild
timeoutInMinutes: 180
displayName: Publish Build
steps:
- template: product-release.yml
- template: product-publish.yml
- ${{ if or(and(parameters.VSCODE_RELEASE, eq(parameters.VSCODE_DISTRO_REF, ' ')), and(in(parameters.VSCODE_QUALITY, 'insider', 'exploration'), eq(variables['VSCODE_SCHEDULEDBUILD'], true))) }}:
- stage: Release
dependsOn:
- Publish
pool: vscode-1es-linux
jobs:
- job: ReleaseBuild
displayName: Release Build
steps:
- template: product-release.yml

Some files were not shown because too many files have changed in this diff Show More