run prettier over yml files
This commit is contained in:
parent
9a657db088
commit
7e4f90277d
2
.github/ISSUE_TEMPLATE/config.yml
vendored
2
.github/ISSUE_TEMPLATE/config.yml
vendored
|
@ -1,5 +1,5 @@
|
||||||
blank_issues_enabled: false
|
blank_issues_enabled: false
|
||||||
contact_links:
|
contact_links:
|
||||||
- name: Question
|
- name: Question
|
||||||
url: https://stackoverflow.com/questions/tagged/visual-studio-code
|
url: https://stackoverflow.com/questions/tagged/visual-studio-code
|
||||||
about: Please ask and answer questions here.
|
about: Please ask and answer questions here.
|
||||||
|
|
68
.github/calendar.yml
vendored
68
.github/calendar.yml
vendored
|
@ -1,37 +1,37 @@
|
||||||
{
|
{
|
||||||
'2018-01-29 18:00, US/Pacific': 'endgame',
|
"2018-01-29 18:00, US/Pacific": "endgame",
|
||||||
'2018-02-07 12:00, US/Pacific': 'release', # 1.20.0
|
"2018-02-07 12:00, US/Pacific": "release", # 1.20.0
|
||||||
'2018-02-12 12:00, US/Pacific': 'development',
|
"2018-02-12 12:00, US/Pacific": "development",
|
||||||
'2018-02-14 16:00, Europe/Zurich': 'release', # 1.20.1
|
"2018-02-14 16:00, Europe/Zurich": "release", # 1.20.1
|
||||||
'2018-02-19 16:00, Europe/Zurich': 'development',
|
"2018-02-19 16:00, Europe/Zurich": "development",
|
||||||
'2018-02-26 18:00, US/Pacific': 'endgame',
|
"2018-02-26 18:00, US/Pacific": "endgame",
|
||||||
'2018-03-07 12:00, US/Pacific': 'release', # 1.21.0
|
"2018-03-07 12:00, US/Pacific": "release", # 1.21.0
|
||||||
'2018-03-12 12:00, US/Pacific': 'development',
|
"2018-03-12 12:00, US/Pacific": "development",
|
||||||
'2018-03-15 12:00, US/Pacific': 'release', # 1.21.1
|
"2018-03-15 12:00, US/Pacific": "release", # 1.21.1
|
||||||
'2018-03-20 12:00, US/Pacific': 'development',
|
"2018-03-20 12:00, US/Pacific": "development",
|
||||||
'2018-03-26 18:00, US/Pacific': 'endgame',
|
"2018-03-26 18:00, US/Pacific": "endgame",
|
||||||
'2018-04-06 18:00, US/Pacific': 'release', # 1.22.1
|
"2018-04-06 18:00, US/Pacific": "release", # 1.22.1
|
||||||
'2018-04-11 18:00, US/Pacific': 'development',
|
"2018-04-11 18:00, US/Pacific": "development",
|
||||||
'2018-04-12 12:00, US/Pacific': 'release', # 1.22.2
|
"2018-04-12 12:00, US/Pacific": "release", # 1.22.2
|
||||||
'2018-04-17 12:00, US/Pacific': 'development',
|
"2018-04-17 12:00, US/Pacific": "development",
|
||||||
'2018-04-23 18:00, US/Pacific': 'endgame',
|
"2018-04-23 18:00, US/Pacific": "endgame",
|
||||||
'2018-05-03 12:00, US/Pacific': 'release', # 1.23.0
|
"2018-05-03 12:00, US/Pacific": "release", # 1.23.0
|
||||||
'2018-05-08 12:00, US/Pacific': 'development',
|
"2018-05-08 12:00, US/Pacific": "development",
|
||||||
'2018-05-10 12:00, US/Pacific': 'release', # 1.23.1
|
"2018-05-10 12:00, US/Pacific": "release", # 1.23.1
|
||||||
'2018-05-15 12:00, US/Pacific': 'development',
|
"2018-05-15 12:00, US/Pacific": "development",
|
||||||
'2018-05-28 18:00, US/Pacific': 'endgame',
|
"2018-05-28 18:00, US/Pacific": "endgame",
|
||||||
# 'release' not needed anymore, return to 'development' after releasing.
|
# 'release' not needed anymore, return to 'development' after releasing.
|
||||||
'2018-06-06 12:00, US/Pacific': 'development', # 1.24.0 released
|
"2018-06-06 12:00, US/Pacific": "development", # 1.24.0 released
|
||||||
'2018-06-25 18:00, US/Pacific': 'endgame',
|
"2018-06-25 18:00, US/Pacific": "endgame",
|
||||||
'2018-07-05 12:00, US/Pacific': 'development', # 1.25.0 released
|
"2018-07-05 12:00, US/Pacific": "development", # 1.25.0 released
|
||||||
'2018-07-30 18:00, US/Pacific': 'endgame',
|
"2018-07-30 18:00, US/Pacific": "endgame",
|
||||||
'2018-08-13 12:00, US/Pacific': 'development', # 1.26.0 released
|
"2018-08-13 12:00, US/Pacific": "development", # 1.26.0 released
|
||||||
'2018-08-27 18:00, US/Pacific': 'endgame',
|
"2018-08-27 18:00, US/Pacific": "endgame",
|
||||||
'2018-09-05 12:00, US/Pacific': 'development', # 1.27.0 released
|
"2018-09-05 12:00, US/Pacific": "development", # 1.27.0 released
|
||||||
'2018-09-24 18:00, US/Pacific': 'endgame',
|
"2018-09-24 18:00, US/Pacific": "endgame",
|
||||||
'2018-10-08 09:00, US/Pacific': 'development', # 1.28.0 released
|
"2018-10-08 09:00, US/Pacific": "development", # 1.28.0 released
|
||||||
'2018-10-29 18:00, US/Pacific': 'endgame',
|
"2018-10-29 18:00, US/Pacific": "endgame",
|
||||||
'2018-11-12 11:00, US/Pacific': 'development', # 1.29.0 released
|
"2018-11-12 11:00, US/Pacific": "development", # 1.29.0 released
|
||||||
'2018-12-03 18:00, US/Pacific': 'endgame',
|
"2018-12-03 18:00, US/Pacific": "endgame",
|
||||||
'2018-12-12 13:00, US/Pacific': 'development', # 1.30.0 released
|
"2018-12-12 13:00, US/Pacific": "development", # 1.30.0 released
|
||||||
}
|
}
|
||||||
|
|
21
.github/commands.yml
vendored
21
.github/commands.yml
vendored
|
@ -1,12 +1,13 @@
|
||||||
{
|
{
|
||||||
perform: true,
|
perform: true,
|
||||||
commands: [
|
commands:
|
||||||
{
|
[
|
||||||
type: 'comment',
|
{
|
||||||
name: 'findDuplicates',
|
type: "comment",
|
||||||
allowUsers: ['cleidigh', 'usernamehw', 'gjsjohnmurray', 'IllusionMH'],
|
name: "findDuplicates",
|
||||||
action: 'comment',
|
allowUsers: ["cleidigh", "usernamehw", "gjsjohnmurray", "IllusionMH"],
|
||||||
comment: "Potential duplicates:\n${potentialDuplicates}"
|
action: "comment",
|
||||||
}
|
comment: "Potential duplicates:\n${potentialDuplicates}",
|
||||||
]
|
},
|
||||||
|
],
|
||||||
}
|
}
|
||||||
|
|
10
.github/endgame/insiders.yml
vendored
10
.github/endgame/insiders.yml
vendored
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
insidersLabel: 'insiders',
|
insidersLabel: "insiders",
|
||||||
insidersColor: '006b75',
|
insidersColor: "006b75",
|
||||||
action: 'add',
|
action: "add",
|
||||||
perform: true
|
perform: true,
|
||||||
}
|
}
|
||||||
|
|
10
.github/insiders.yml
vendored
10
.github/insiders.yml
vendored
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
insidersLabel: 'insiders',
|
insidersLabel: "insiders",
|
||||||
insidersColor: '006b75',
|
insidersColor: "006b75",
|
||||||
action: 'remove',
|
action: "remove",
|
||||||
perform: true
|
perform: true,
|
||||||
}
|
}
|
||||||
|
|
6
.github/similarity.yml
vendored
6
.github/similarity.yml
vendored
|
@ -1,5 +1,5 @@
|
||||||
{
|
{
|
||||||
perform: true,
|
perform: true,
|
||||||
whenCreatedByTeam: false,
|
whenCreatedByTeam: false,
|
||||||
comment: "(Experimental duplicate detection)\nThanks for submitting this issue. Please also check if it is already covered by an existing one, like:\n${potentialDuplicates}"
|
comment: "(Experimental duplicate detection)\nThanks for submitting this issue. Please also check if it is already covered by an existing one, like:\n${potentialDuplicates}",
|
||||||
}
|
}
|
||||||
|
|
2
.github/workflows/author-verified.yml
vendored
2
.github/workflows/author-verified.yml
vendored
|
@ -16,7 +16,7 @@ jobs:
|
||||||
if: github.event_name != 'issues' || contains(github.event.issue.labels.*.name, 'author-verification-requested')
|
if: github.event_name != 'issues' || contains(github.event.issue.labels.*.name, 'author-verification-requested')
|
||||||
uses: actions/checkout@v2
|
uses: actions/checkout@v2
|
||||||
with:
|
with:
|
||||||
repository: 'microsoft/vscode-github-triage-actions'
|
repository: "microsoft/vscode-github-triage-actions"
|
||||||
ref: v40
|
ref: v40
|
||||||
path: ./actions
|
path: ./actions
|
||||||
- name: Install Actions
|
- name: Install Actions
|
||||||
|
|
38
.github/workflows/ci.yml
vendored
38
.github/workflows/ci.yml
vendored
|
@ -123,22 +123,22 @@ jobs:
|
||||||
CHILD_CONCURRENCY: "1"
|
CHILD_CONCURRENCY: "1"
|
||||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v1
|
- uses: actions/checkout@v1
|
||||||
# TODO: rename azure-pipelines/linux/xvfb.init to github-actions
|
# TODO: rename azure-pipelines/linux/xvfb.init to github-actions
|
||||||
- run: |
|
- run: |
|
||||||
sudo apt-get update
|
sudo apt-get update
|
||||||
sudo apt-get install -y libxkbfile-dev pkg-config libsecret-1-dev libxss1 dbus xvfb libgtk-3-0 libgbm1
|
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 cp build/azure-pipelines/linux/xvfb.init /etc/init.d/xvfb
|
||||||
sudo chmod +x /etc/init.d/xvfb
|
sudo chmod +x /etc/init.d/xvfb
|
||||||
sudo update-rc.d xvfb defaults
|
sudo update-rc.d xvfb defaults
|
||||||
sudo service xvfb start
|
sudo service xvfb start
|
||||||
name: Setup Build Environment
|
name: Setup Build Environment
|
||||||
- uses: actions/setup-node@v1
|
- uses: actions/setup-node@v1
|
||||||
with:
|
with:
|
||||||
node-version: 10
|
node-version: 10
|
||||||
- run: yarn --frozen-lockfile
|
- run: yarn --frozen-lockfile
|
||||||
name: Install Dependencies
|
name: Install Dependencies
|
||||||
- run: yarn monaco-compile-check
|
- run: yarn monaco-compile-check
|
||||||
name: Run Monaco Editor Checks
|
name: Run Monaco Editor Checks
|
||||||
- run: yarn gulp editor-esm-bundle
|
- run: yarn gulp editor-esm-bundle
|
||||||
name: Editor Distro & ESM Bundle
|
name: Editor Distro & ESM Bundle
|
||||||
|
|
61
.github/workflows/codeql.yml
vendored
61
.github/workflows/codeql.yml
vendored
|
@ -2,48 +2,47 @@ name: "Code Scanning"
|
||||||
|
|
||||||
on:
|
on:
|
||||||
schedule:
|
schedule:
|
||||||
- cron: '0 0 * * 2'
|
- cron: "0 0 * * 2"
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
CodeQL-Build:
|
CodeQL-Build:
|
||||||
|
|
||||||
# CodeQL runs on ubuntu-latest and windows-latest
|
# CodeQL runs on ubuntu-latest and windows-latest
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout repository
|
- name: Checkout repository
|
||||||
uses: actions/checkout@v2
|
uses: actions/checkout@v2
|
||||||
with:
|
with:
|
||||||
# We must fetch at least the immediate parents so that if this is
|
# We must fetch at least the immediate parents so that if this is
|
||||||
# a pull request then we can checkout the head.
|
# a pull request then we can checkout the head.
|
||||||
fetch-depth: 2
|
fetch-depth: 2
|
||||||
|
|
||||||
# If this run was triggered by a pull request event, then checkout
|
# If this run was triggered by a pull request event, then checkout
|
||||||
# the head of the pull request instead of the merge commit.
|
# the head of the pull request instead of the merge commit.
|
||||||
- run: git checkout HEAD^2
|
- run: git checkout HEAD^2
|
||||||
if: ${{ github.event_name == 'pull_request' }}
|
if: ${{ github.event_name == 'pull_request' }}
|
||||||
|
|
||||||
# Initializes the CodeQL tools for scanning.
|
# Initializes the CodeQL tools for scanning.
|
||||||
- name: Initialize CodeQL
|
- name: Initialize CodeQL
|
||||||
uses: github/codeql-action/init@v1
|
uses: github/codeql-action/init@v1
|
||||||
with:
|
with:
|
||||||
languages: javascript
|
languages: javascript
|
||||||
|
|
||||||
# Autobuild attempts to build any compiled languages (C/C++, C#, or Java).
|
# Autobuild attempts to build any compiled languages (C/C++, C#, or Java).
|
||||||
# If this step fails, then you should remove it and run the build manually (see below)
|
# If this step fails, then you should remove it and run the build manually (see below)
|
||||||
- name: Autobuild
|
- name: Autobuild
|
||||||
uses: github/codeql-action/autobuild@v1
|
uses: github/codeql-action/autobuild@v1
|
||||||
|
|
||||||
# ℹ️ Command-line programs to run using the OS shell.
|
# ℹ️ Command-line programs to run using the OS shell.
|
||||||
# 📚 https://git.io/JvXDl
|
# 📚 https://git.io/JvXDl
|
||||||
|
|
||||||
# ✏️ If the Autobuild fails above, remove it and uncomment the following three lines
|
# ✏️ If the Autobuild fails above, remove it and uncomment the following three lines
|
||||||
# and modify them (or add more) to build your code if your project
|
# and modify them (or add more) to build your code if your project
|
||||||
# uses a compiled language
|
# uses a compiled language
|
||||||
|
|
||||||
#- run: |
|
#- run: |
|
||||||
# make bootstrap
|
# make bootstrap
|
||||||
# make release
|
# make release
|
||||||
|
|
||||||
- name: Perform CodeQL Analysis
|
- name: Perform CodeQL Analysis
|
||||||
uses: github/codeql-action/analyze@v1
|
uses: github/codeql-action/analyze@v1
|
||||||
|
|
2
.github/workflows/commands.yml
vendored
2
.github/workflows/commands.yml
vendored
|
@ -11,7 +11,7 @@ jobs:
|
||||||
- name: Checkout Actions
|
- name: Checkout Actions
|
||||||
uses: actions/checkout@v2
|
uses: actions/checkout@v2
|
||||||
with:
|
with:
|
||||||
repository: 'microsoft/vscode-github-triage-actions'
|
repository: "microsoft/vscode-github-triage-actions"
|
||||||
path: ./actions
|
path: ./actions
|
||||||
ref: v40
|
ref: v40
|
||||||
- name: Install Actions
|
- name: Install Actions
|
||||||
|
|
|
@ -10,7 +10,7 @@ jobs:
|
||||||
- name: Checkout Actions
|
- name: Checkout Actions
|
||||||
uses: actions/checkout@v2
|
uses: actions/checkout@v2
|
||||||
with:
|
with:
|
||||||
repository: 'microsoft/vscode-github-triage-actions'
|
repository: "microsoft/vscode-github-triage-actions"
|
||||||
ref: v40
|
ref: v40
|
||||||
path: ./actions
|
path: ./actions
|
||||||
- name: Install Actions
|
- name: Install Actions
|
||||||
|
|
2
.github/workflows/deep-classifier-runner.yml
vendored
2
.github/workflows/deep-classifier-runner.yml
vendored
|
@ -12,7 +12,7 @@ jobs:
|
||||||
- name: Checkout Actions
|
- name: Checkout Actions
|
||||||
uses: actions/checkout@v2
|
uses: actions/checkout@v2
|
||||||
with:
|
with:
|
||||||
repository: 'microsoft/vscode-github-triage-actions'
|
repository: "microsoft/vscode-github-triage-actions"
|
||||||
ref: v40
|
ref: v40
|
||||||
path: ./actions
|
path: ./actions
|
||||||
- name: Install Actions
|
- name: Install Actions
|
||||||
|
|
|
@ -10,7 +10,7 @@ jobs:
|
||||||
- name: Checkout Actions
|
- name: Checkout Actions
|
||||||
uses: actions/checkout@v2
|
uses: actions/checkout@v2
|
||||||
with:
|
with:
|
||||||
repository: 'microsoft/vscode-github-triage-actions'
|
repository: "microsoft/vscode-github-triage-actions"
|
||||||
ref: v40
|
ref: v40
|
||||||
path: ./actions
|
path: ./actions
|
||||||
- name: Install Actions
|
- name: Install Actions
|
||||||
|
|
7
.github/workflows/devcontainer-cache.yml
vendored
7
.github/workflows/devcontainer-cache.yml
vendored
|
@ -4,12 +4,12 @@ on:
|
||||||
push:
|
push:
|
||||||
# Currently doing this for master, but could be done for PRs as well
|
# Currently doing this for master, but could be done for PRs as well
|
||||||
branches:
|
branches:
|
||||||
- 'master'
|
- "master"
|
||||||
|
|
||||||
# Only updates to these files result in changes to installed packages, so skip otherwise
|
# Only updates to these files result in changes to installed packages, so skip otherwise
|
||||||
paths:
|
paths:
|
||||||
- '**/package-lock.json'
|
- "**/package-lock.json"
|
||||||
- '**/yarn.lock'
|
- "**/yarn.lock"
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
devcontainer:
|
devcontainer:
|
||||||
|
@ -38,4 +38,3 @@ jobs:
|
||||||
if [ "$GIT_BRANCH" == "" ]; then GIT_BRANCH=master; fi
|
if [ "$GIT_BRANCH" == "" ]; then GIT_BRANCH=master; fi
|
||||||
|
|
||||||
.devcontainer/cache/build-cache-image.sh "${{ secrets.CONTAINER_IMAGE_REGISTRY }}/public/vscode/devcontainers/repos/microsoft/vscode" "${GIT_BRANCH}"
|
.devcontainer/cache/build-cache-image.sh "${{ secrets.CONTAINER_IMAGE_REGISTRY }}/public/vscode/devcontainers/repos/microsoft/vscode" "${GIT_BRANCH}"
|
||||||
|
|
||||||
|
|
2
.github/workflows/english-please.yml
vendored
2
.github/workflows/english-please.yml
vendored
|
@ -12,7 +12,7 @@ jobs:
|
||||||
if: contains(github.event.issue.labels.*.name, '*english-please')
|
if: contains(github.event.issue.labels.*.name, '*english-please')
|
||||||
uses: actions/checkout@v2
|
uses: actions/checkout@v2
|
||||||
with:
|
with:
|
||||||
repository: 'microsoft/vscode-github-triage-actions'
|
repository: "microsoft/vscode-github-triage-actions"
|
||||||
ref: v40
|
ref: v40
|
||||||
path: ./actions
|
path: ./actions
|
||||||
- name: Install Actions
|
- name: Install Actions
|
||||||
|
|
2
.github/workflows/feature-request.yml
vendored
2
.github/workflows/feature-request.yml
vendored
|
@ -16,7 +16,7 @@ jobs:
|
||||||
if: github.event_name != 'issues' || contains(github.event.issue.labels.*.name, 'feature-request')
|
if: github.event_name != 'issues' || contains(github.event.issue.labels.*.name, 'feature-request')
|
||||||
uses: actions/checkout@v2
|
uses: actions/checkout@v2
|
||||||
with:
|
with:
|
||||||
repository: 'microsoft/vscode-github-triage-actions'
|
repository: "microsoft/vscode-github-triage-actions"
|
||||||
path: ./actions
|
path: ./actions
|
||||||
ref: v40
|
ref: v40
|
||||||
- name: Install Actions
|
- name: Install Actions
|
||||||
|
|
2
.github/workflows/latest-release-monitor.yml
vendored
2
.github/workflows/latest-release-monitor.yml
vendored
|
@ -12,7 +12,7 @@ jobs:
|
||||||
- name: Checkout Actions
|
- name: Checkout Actions
|
||||||
uses: actions/checkout@v2
|
uses: actions/checkout@v2
|
||||||
with:
|
with:
|
||||||
repository: 'microsoft/vscode-github-triage-actions'
|
repository: "microsoft/vscode-github-triage-actions"
|
||||||
path: ./actions
|
path: ./actions
|
||||||
ref: v40
|
ref: v40
|
||||||
- name: Install Actions
|
- name: Install Actions
|
||||||
|
|
2
.github/workflows/locker.yml
vendored
2
.github/workflows/locker.yml
vendored
|
@ -12,7 +12,7 @@ jobs:
|
||||||
- name: Checkout Actions
|
- name: Checkout Actions
|
||||||
uses: actions/checkout@v2
|
uses: actions/checkout@v2
|
||||||
with:
|
with:
|
||||||
repository: 'microsoft/vscode-github-triage-actions'
|
repository: "microsoft/vscode-github-triage-actions"
|
||||||
path: ./actions
|
path: ./actions
|
||||||
ref: v40
|
ref: v40
|
||||||
- name: Install Actions
|
- name: Install Actions
|
||||||
|
|
4
.github/workflows/needs-more-info-closer.yml
vendored
4
.github/workflows/needs-more-info-closer.yml
vendored
|
@ -12,7 +12,7 @@ jobs:
|
||||||
- name: Checkout Actions
|
- name: Checkout Actions
|
||||||
uses: actions/checkout@v2
|
uses: actions/checkout@v2
|
||||||
with:
|
with:
|
||||||
repository: 'microsoft/vscode-github-triage-actions'
|
repository: "microsoft/vscode-github-triage-actions"
|
||||||
path: ./actions
|
path: ./actions
|
||||||
ref: v40
|
ref: v40
|
||||||
- name: Install Actions
|
- name: Install Actions
|
||||||
|
@ -24,7 +24,7 @@ jobs:
|
||||||
token: ${{secrets.VSCODE_ISSUE_TRIAGE_BOT_PAT}}
|
token: ${{secrets.VSCODE_ISSUE_TRIAGE_BOT_PAT}}
|
||||||
label: needs more info
|
label: needs more info
|
||||||
closeDays: 7
|
closeDays: 7
|
||||||
additionalTeam: "cleidigh|usernamehw|gjsjohnmurray|IllusionMH"
|
additionalTeam: "cleidigh|usernamehw|gjsjohnmurray|IllusionMH"
|
||||||
closeComment: "This issue has been closed automatically because it needs more information and has not had recent activity. See also our [issue reporting](https://aka.ms/vscodeissuereporting) guidelines.\n\nHappy Coding!"
|
closeComment: "This issue has been closed automatically because it needs more information and has not had recent activity. See also our [issue reporting](https://aka.ms/vscodeissuereporting) guidelines.\n\nHappy Coding!"
|
||||||
pingDays: 80
|
pingDays: 80
|
||||||
pingComment: "Hey @${assignee}, this issue might need further attention.\n\n@${author}, you can help us out by closing this issue if the problem no longer exists, or adding more information."
|
pingComment: "Hey @${assignee}, this issue might need further attention.\n\n@${author}, you can help us out by closing this issue if the problem no longer exists, or adding more information."
|
||||||
|
|
2
.github/workflows/on-label.yml
vendored
2
.github/workflows/on-label.yml
vendored
|
@ -10,7 +10,7 @@ jobs:
|
||||||
- name: Checkout Actions
|
- name: Checkout Actions
|
||||||
uses: actions/checkout@v2
|
uses: actions/checkout@v2
|
||||||
with:
|
with:
|
||||||
repository: 'microsoft/vscode-github-triage-actions'
|
repository: "microsoft/vscode-github-triage-actions"
|
||||||
ref: v40
|
ref: v40
|
||||||
path: ./actions
|
path: ./actions
|
||||||
- name: Install Actions
|
- name: Install Actions
|
||||||
|
|
2
.github/workflows/on-open.yml
vendored
2
.github/workflows/on-open.yml
vendored
|
@ -10,7 +10,7 @@ jobs:
|
||||||
- name: Checkout Actions
|
- name: Checkout Actions
|
||||||
uses: actions/checkout@v2
|
uses: actions/checkout@v2
|
||||||
with:
|
with:
|
||||||
repository: 'microsoft/vscode-github-triage-actions'
|
repository: "microsoft/vscode-github-triage-actions"
|
||||||
ref: v40
|
ref: v40
|
||||||
path: ./actions
|
path: ./actions
|
||||||
- name: Install Actions
|
- name: Install Actions
|
||||||
|
|
|
@ -12,7 +12,7 @@ jobs:
|
||||||
- name: Checkout Actions
|
- name: Checkout Actions
|
||||||
uses: actions/checkout@v2
|
uses: actions/checkout@v2
|
||||||
with:
|
with:
|
||||||
repository: 'microsoft/vscode-github-triage-actions'
|
repository: "microsoft/vscode-github-triage-actions"
|
||||||
ref: v40
|
ref: v40
|
||||||
path: ./actions
|
path: ./actions
|
||||||
- name: Checkout Repo
|
- name: Checkout Repo
|
||||||
|
|
42
.github/workflows/rich-navigation.yml
vendored
42
.github/workflows/rich-navigation.yml
vendored
|
@ -9,28 +9,28 @@ jobs:
|
||||||
richnav:
|
richnav:
|
||||||
runs-on: windows-latest
|
runs-on: windows-latest
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v2
|
- uses: actions/checkout@v2
|
||||||
|
|
||||||
- uses: actions/cache@v2
|
- uses: actions/cache@v2
|
||||||
id: caching-stage
|
id: caching-stage
|
||||||
name: Cache VS Code dependencies
|
name: Cache VS Code dependencies
|
||||||
with:
|
with:
|
||||||
path: node_modules
|
path: node_modules
|
||||||
key: ${{ runner.os }}-dependencies-${{ hashfiles('yarn.lock') }}
|
key: ${{ runner.os }}-dependencies-${{ hashfiles('yarn.lock') }}
|
||||||
restore-keys: ${{ runner.os }}-dependencies-
|
restore-keys: ${{ runner.os }}-dependencies-
|
||||||
|
|
||||||
- uses: actions/setup-node@v1
|
- uses: actions/setup-node@v1
|
||||||
with:
|
with:
|
||||||
node-version: 10
|
node-version: 10
|
||||||
|
|
||||||
- name: Install dependencies
|
- name: Install dependencies
|
||||||
if: steps.caching-stage.outputs.cache-hit != 'true'
|
if: steps.caching-stage.outputs.cache-hit != 'true'
|
||||||
run: yarn --frozen-lockfile
|
run: yarn --frozen-lockfile
|
||||||
env:
|
env:
|
||||||
CHILD_CONCURRENCY: 1
|
CHILD_CONCURRENCY: 1
|
||||||
|
|
||||||
- uses: microsoft/RichCodeNavIndexer@v0.1
|
- uses: microsoft/RichCodeNavIndexer@v0.1
|
||||||
with:
|
with:
|
||||||
languages: typescript
|
languages: typescript
|
||||||
repo-token: ${{ secrets.GITHUB_TOKEN }}
|
repo-token: ${{ secrets.GITHUB_TOKEN }}
|
||||||
continue-on-error: true
|
continue-on-error: true
|
||||||
|
|
|
@ -12,7 +12,7 @@ jobs:
|
||||||
if: contains(github.event.issue.labels.*.name, 'testplan-item') || contains(github.event.issue.labels.*.name, 'invalid-testplan-item')
|
if: contains(github.event.issue.labels.*.name, 'testplan-item') || contains(github.event.issue.labels.*.name, 'invalid-testplan-item')
|
||||||
uses: actions/checkout@v2
|
uses: actions/checkout@v2
|
||||||
with:
|
with:
|
||||||
repository: 'microsoft/vscode-github-triage-actions'
|
repository: "microsoft/vscode-github-triage-actions"
|
||||||
path: ./actions
|
path: ./actions
|
||||||
ref: v40
|
ref: v40
|
||||||
- name: Install Actions
|
- name: Install Actions
|
||||||
|
|
|
@ -1,79 +1,79 @@
|
||||||
steps:
|
steps:
|
||||||
- task: NodeTool@0
|
- task: NodeTool@0
|
||||||
inputs:
|
inputs:
|
||||||
versionSpec: "12.18.3"
|
versionSpec: "12.18.3"
|
||||||
|
|
||||||
- task: geeklearningio.gl-vsts-tasks-yarn.yarn-installer-task.YarnInstaller@2
|
- task: geeklearningio.gl-vsts-tasks-yarn.yarn-installer-task.YarnInstaller@2
|
||||||
inputs:
|
inputs:
|
||||||
versionSpec: "1.x"
|
versionSpec: "1.x"
|
||||||
|
|
||||||
- task: 1ESLighthouseEng.PipelineArtifactCaching.RestoreCacheV1.RestoreCache@1
|
- task: 1ESLighthouseEng.PipelineArtifactCaching.RestoreCacheV1.RestoreCache@1
|
||||||
inputs:
|
inputs:
|
||||||
keyfile: '.yarnrc, remote/.yarnrc, **/yarn.lock, !**/node_modules/**/yarn.lock, !**/.*/**/yarn.lock'
|
keyfile: ".yarnrc, remote/.yarnrc, **/yarn.lock, !**/node_modules/**/yarn.lock, !**/.*/**/yarn.lock"
|
||||||
targetfolder: '**/node_modules, !**/node_modules/**/node_modules'
|
targetfolder: "**/node_modules, !**/node_modules/**/node_modules"
|
||||||
vstsFeed: 'vscode-build-cache'
|
vstsFeed: "vscode-build-cache"
|
||||||
|
|
||||||
- script: |
|
- script: |
|
||||||
CHILD_CONCURRENCY=1 yarn --frozen-lockfile
|
CHILD_CONCURRENCY=1 yarn --frozen-lockfile
|
||||||
displayName: Install Dependencies
|
displayName: Install Dependencies
|
||||||
condition: and(succeeded(), ne(variables['CacheRestored'], 'true'))
|
condition: and(succeeded(), ne(variables['CacheRestored'], 'true'))
|
||||||
|
|
||||||
- task: 1ESLighthouseEng.PipelineArtifactCaching.SaveCacheV1.SaveCache@1
|
- task: 1ESLighthouseEng.PipelineArtifactCaching.SaveCacheV1.SaveCache@1
|
||||||
inputs:
|
inputs:
|
||||||
keyfile: '.yarnrc, remote/.yarnrc, **/yarn.lock, !**/node_modules/**/yarn.lock, !**/.*/**/yarn.lock'
|
keyfile: ".yarnrc, remote/.yarnrc, **/yarn.lock, !**/node_modules/**/yarn.lock, !**/.*/**/yarn.lock"
|
||||||
targetfolder: '**/node_modules, !**/node_modules/**/node_modules'
|
targetfolder: "**/node_modules, !**/node_modules/**/node_modules"
|
||||||
vstsFeed: 'vscode-build-cache'
|
vstsFeed: "vscode-build-cache"
|
||||||
condition: and(succeeded(), ne(variables['CacheRestored'], 'true'))
|
condition: and(succeeded(), ne(variables['CacheRestored'], 'true'))
|
||||||
|
|
||||||
- script: |
|
- script: |
|
||||||
set -e
|
set -e
|
||||||
yarn postinstall
|
yarn postinstall
|
||||||
displayName: Run postinstall scripts
|
displayName: Run postinstall scripts
|
||||||
condition: and(succeeded(), eq(variables['CacheRestored'], 'true'))
|
condition: and(succeeded(), eq(variables['CacheRestored'], 'true'))
|
||||||
|
|
||||||
- script: |
|
- script: |
|
||||||
yarn electron x64
|
yarn electron x64
|
||||||
displayName: Download Electron
|
displayName: Download Electron
|
||||||
|
|
||||||
- script: |
|
- script: |
|
||||||
yarn monaco-compile-check
|
yarn monaco-compile-check
|
||||||
displayName: Run Monaco Editor Checks
|
displayName: Run Monaco Editor Checks
|
||||||
|
|
||||||
- script: |
|
- script: |
|
||||||
yarn valid-layers-check
|
yarn valid-layers-check
|
||||||
displayName: Run Valid Layers Checks
|
displayName: Run Valid Layers Checks
|
||||||
|
|
||||||
- script: |
|
- script: |
|
||||||
yarn compile
|
yarn compile
|
||||||
displayName: Compile Sources
|
displayName: Compile Sources
|
||||||
|
|
||||||
- script: |
|
- script: |
|
||||||
yarn download-builtin-extensions
|
yarn download-builtin-extensions
|
||||||
displayName: Download Built-in Extensions
|
displayName: Download Built-in Extensions
|
||||||
|
|
||||||
- script: |
|
- script: |
|
||||||
./scripts/test.sh --tfs "Unit Tests"
|
./scripts/test.sh --tfs "Unit Tests"
|
||||||
displayName: Run Unit Tests (Electron)
|
displayName: Run Unit Tests (Electron)
|
||||||
|
|
||||||
- script: |
|
- script: |
|
||||||
yarn test-browser --browser chromium --browser webkit --browser firefox --tfs "Browser Unit Tests"
|
yarn test-browser --browser chromium --browser webkit --browser firefox --tfs "Browser Unit Tests"
|
||||||
displayName: Run Unit Tests (Browser)
|
displayName: Run Unit Tests (Browser)
|
||||||
|
|
||||||
- script: |
|
- script: |
|
||||||
./scripts/test-integration.sh --tfs "Integration Tests"
|
./scripts/test-integration.sh --tfs "Integration Tests"
|
||||||
displayName: Run Integration Tests (Electron)
|
displayName: Run Integration Tests (Electron)
|
||||||
|
|
||||||
- task: PublishPipelineArtifact@0
|
- task: PublishPipelineArtifact@0
|
||||||
inputs:
|
inputs:
|
||||||
artifactName: crash-dump-macos
|
artifactName: crash-dump-macos
|
||||||
targetPath: .build/crashes
|
targetPath: .build/crashes
|
||||||
displayName: 'Publish Crash Reports'
|
displayName: "Publish Crash Reports"
|
||||||
continueOnError: true
|
continueOnError: true
|
||||||
condition: failed()
|
condition: failed()
|
||||||
|
|
||||||
- task: PublishTestResults@2
|
- task: PublishTestResults@2
|
||||||
displayName: Publish Tests Results
|
displayName: Publish Tests Results
|
||||||
inputs:
|
inputs:
|
||||||
testResultsFiles: '*-results.xml'
|
testResultsFiles: "*-results.xml"
|
||||||
searchFolder: '$(Build.ArtifactStagingDirectory)/test-results'
|
searchFolder: "$(Build.ArtifactStagingDirectory)/test-results"
|
||||||
condition: succeededOrFailed()
|
condition: succeededOrFailed()
|
||||||
|
|
|
@ -1,320 +1,320 @@
|
||||||
steps:
|
steps:
|
||||||
- script: |
|
- script: |
|
||||||
mkdir -p .build
|
mkdir -p .build
|
||||||
echo -n $BUILD_SOURCEVERSION > .build/commit
|
echo -n $BUILD_SOURCEVERSION > .build/commit
|
||||||
echo -n $VSCODE_QUALITY > .build/quality
|
echo -n $VSCODE_QUALITY > .build/quality
|
||||||
displayName: Prepare cache flag
|
displayName: Prepare cache flag
|
||||||
|
|
||||||
- task: 1ESLighthouseEng.PipelineArtifactCaching.RestoreCacheV1.RestoreCache@1
|
- task: 1ESLighthouseEng.PipelineArtifactCaching.RestoreCacheV1.RestoreCache@1
|
||||||
inputs:
|
inputs:
|
||||||
keyfile: 'build/.cachesalt, .build/commit, .build/quality'
|
keyfile: "build/.cachesalt, .build/commit, .build/quality"
|
||||||
targetfolder: '.build, out-build, out-vscode-min, out-vscode-reh-min, out-vscode-reh-web-min'
|
targetfolder: ".build, out-build, out-vscode-min, out-vscode-reh-min, out-vscode-reh-web-min"
|
||||||
vstsFeed: 'npm-vscode'
|
vstsFeed: "npm-vscode"
|
||||||
platformIndependent: true
|
platformIndependent: true
|
||||||
alias: 'Compilation'
|
alias: "Compilation"
|
||||||
|
|
||||||
- script: |
|
- script: |
|
||||||
set -e
|
set -e
|
||||||
exit 1
|
exit 1
|
||||||
displayName: Check RestoreCache
|
displayName: Check RestoreCache
|
||||||
condition: and(succeeded(), ne(variables['CacheRestored-Compilation'], 'true'))
|
condition: and(succeeded(), ne(variables['CacheRestored-Compilation'], 'true'))
|
||||||
|
|
||||||
- task: NodeTool@0
|
- task: NodeTool@0
|
||||||
inputs:
|
inputs:
|
||||||
versionSpec: "12.18.3"
|
versionSpec: "12.18.3"
|
||||||
|
|
||||||
- task: geeklearningio.gl-vsts-tasks-yarn.yarn-installer-task.YarnInstaller@2
|
- task: geeklearningio.gl-vsts-tasks-yarn.yarn-installer-task.YarnInstaller@2
|
||||||
inputs:
|
inputs:
|
||||||
versionSpec: "1.x"
|
versionSpec: "1.x"
|
||||||
|
|
||||||
- task: AzureKeyVault@1
|
- task: AzureKeyVault@1
|
||||||
displayName: 'Azure Key Vault: Get Secrets'
|
displayName: "Azure Key Vault: Get Secrets"
|
||||||
inputs:
|
inputs:
|
||||||
azureSubscription: 'vscode-builds-subscription'
|
azureSubscription: "vscode-builds-subscription"
|
||||||
KeyVaultName: vscode
|
KeyVaultName: vscode
|
||||||
|
|
||||||
- script: |
|
- script: |
|
||||||
set -e
|
set -e
|
||||||
|
|
||||||
cat << EOF > ~/.netrc
|
cat << EOF > ~/.netrc
|
||||||
machine github.com
|
machine github.com
|
||||||
login vscode
|
login vscode
|
||||||
password $(github-distro-mixin-password)
|
password $(github-distro-mixin-password)
|
||||||
EOF
|
EOF
|
||||||
|
|
||||||
git config user.email "vscode@microsoft.com"
|
git config user.email "vscode@microsoft.com"
|
||||||
git config user.name "VSCode"
|
git config user.name "VSCode"
|
||||||
displayName: Prepare tooling
|
displayName: Prepare tooling
|
||||||
|
|
||||||
- script: |
|
- script: |
|
||||||
set -e
|
set -e
|
||||||
git remote add distro "https://github.com/$(VSCODE_MIXIN_REPO).git"
|
git remote add distro "https://github.com/$(VSCODE_MIXIN_REPO).git"
|
||||||
git fetch distro
|
git fetch distro
|
||||||
git merge $(node -p "require('./package.json').distro")
|
git merge $(node -p "require('./package.json').distro")
|
||||||
displayName: Merge distro
|
displayName: Merge distro
|
||||||
|
|
||||||
- script: |
|
- script: |
|
||||||
echo -n $VSCODE_ARCH > .build/arch
|
echo -n $VSCODE_ARCH > .build/arch
|
||||||
displayName: Prepare arch cache flag
|
displayName: Prepare arch cache flag
|
||||||
|
|
||||||
- script: |
|
- script: |
|
||||||
npx https://aka.ms/enablesecurefeed standAlone
|
npx https://aka.ms/enablesecurefeed standAlone
|
||||||
displayName: Switch to Terrapin packages
|
displayName: Switch to Terrapin packages
|
||||||
|
|
||||||
- task: 1ESLighthouseEng.PipelineArtifactCaching.RestoreCacheV1.RestoreCache@1
|
- task: 1ESLighthouseEng.PipelineArtifactCaching.RestoreCacheV1.RestoreCache@1
|
||||||
inputs:
|
inputs:
|
||||||
keyfile: '.build/arch, build/.cachesalt, .yarnrc, remote/.yarnrc, **/yarn.lock, !**/node_modules/**/yarn.lock, !**/.*/**/yarn.lock'
|
keyfile: ".build/arch, build/.cachesalt, .yarnrc, remote/.yarnrc, **/yarn.lock, !**/node_modules/**/yarn.lock, !**/.*/**/yarn.lock"
|
||||||
targetfolder: '**/node_modules, !**/node_modules/**/node_modules'
|
targetfolder: "**/node_modules, !**/node_modules/**/node_modules"
|
||||||
vstsFeed: 'npm-vscode'
|
vstsFeed: "npm-vscode"
|
||||||
|
|
||||||
- script: |
|
- script: |
|
||||||
set -e
|
set -e
|
||||||
sudo xcode-select -s /Applications/Xcode_12.2.app
|
sudo xcode-select -s /Applications/Xcode_12.2.app
|
||||||
displayName: Switch to Xcode 12
|
displayName: Switch to Xcode 12
|
||||||
condition: eq(variables['VSCODE_ARCH'], 'arm64')
|
condition: eq(variables['VSCODE_ARCH'], 'arm64')
|
||||||
|
|
||||||
- script: |
|
- script: |
|
||||||
set -e
|
set -e
|
||||||
npm install -g node-gyp@7.1.0
|
npm install -g node-gyp@7.1.0
|
||||||
node-gyp --version
|
node-gyp --version
|
||||||
displayName: Update node-gyp
|
displayName: Update node-gyp
|
||||||
condition: and(succeeded(), ne(variables['CacheRestored'], 'true'))
|
condition: and(succeeded(), ne(variables['CacheRestored'], 'true'))
|
||||||
|
|
||||||
- script: |
|
- script: |
|
||||||
set -e
|
set -e
|
||||||
export npm_config_arch=$(VSCODE_ARCH)
|
export npm_config_arch=$(VSCODE_ARCH)
|
||||||
export npm_config_node_gyp=$(which node-gyp)
|
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
|
export SDKROOT=/Applications/Xcode_12.2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX11.0.sdk
|
||||||
ls /Applications/Xcode_12.2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/
|
ls /Applications/Xcode_12.2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/
|
||||||
CHILD_CONCURRENCY=1 yarn --frozen-lockfile --verbose
|
CHILD_CONCURRENCY=1 yarn --frozen-lockfile --verbose
|
||||||
displayName: Install dependencies
|
displayName: Install dependencies
|
||||||
condition: and(succeeded(), ne(variables['CacheRestored'], 'true'))
|
condition: and(succeeded(), ne(variables['CacheRestored'], 'true'))
|
||||||
|
|
||||||
- task: 1ESLighthouseEng.PipelineArtifactCaching.SaveCacheV1.SaveCache@1
|
- task: 1ESLighthouseEng.PipelineArtifactCaching.SaveCacheV1.SaveCache@1
|
||||||
inputs:
|
inputs:
|
||||||
keyfile: '.build/arch, build/.cachesalt, .yarnrc, remote/.yarnrc, **/yarn.lock, !**/node_modules/**/yarn.lock, !**/.*/**/yarn.lock'
|
keyfile: ".build/arch, build/.cachesalt, .yarnrc, remote/.yarnrc, **/yarn.lock, !**/node_modules/**/yarn.lock, !**/.*/**/yarn.lock"
|
||||||
targetfolder: '**/node_modules, !**/node_modules/**/node_modules'
|
targetfolder: "**/node_modules, !**/node_modules/**/node_modules"
|
||||||
vstsFeed: 'npm-vscode'
|
vstsFeed: "npm-vscode"
|
||||||
condition: and(succeeded(), ne(variables['CacheRestored'], 'true'))
|
condition: and(succeeded(), ne(variables['CacheRestored'], 'true'))
|
||||||
|
|
||||||
- script: |
|
- script: |
|
||||||
set -e
|
set -e
|
||||||
export npm_config_arch=$(VSCODE_ARCH)
|
export npm_config_arch=$(VSCODE_ARCH)
|
||||||
export npm_config_node_gyp=$(which node-gyp)
|
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
|
export SDKROOT=/Applications/Xcode_12.2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX11.0.sdk
|
||||||
ls /Applications/Xcode_12.2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/
|
ls /Applications/Xcode_12.2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/
|
||||||
yarn postinstall
|
yarn postinstall
|
||||||
displayName: Run postinstall scripts
|
displayName: Run postinstall scripts
|
||||||
condition: and(succeeded(), eq(variables['CacheRestored'], 'true'))
|
condition: and(succeeded(), eq(variables['CacheRestored'], 'true'))
|
||||||
|
|
||||||
- script: |
|
- script: |
|
||||||
set -e
|
set -e
|
||||||
export SDKROOT=/Applications/Xcode_12.2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX11.0.sdk
|
export SDKROOT=/Applications/Xcode_12.2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX11.0.sdk
|
||||||
ls /Applications/Xcode_12.2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/
|
ls /Applications/Xcode_12.2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/
|
||||||
yarn electron-rebuild
|
yarn electron-rebuild
|
||||||
displayName: Rebuild native modules for ARM64
|
displayName: Rebuild native modules for ARM64
|
||||||
condition: eq(variables['VSCODE_ARCH'], 'arm64')
|
condition: eq(variables['VSCODE_ARCH'], 'arm64')
|
||||||
|
|
||||||
- script: |
|
- script: |
|
||||||
set -e
|
set -e
|
||||||
node build/azure-pipelines/mixin
|
node build/azure-pipelines/mixin
|
||||||
displayName: Mix in quality
|
displayName: Mix in quality
|
||||||
|
|
||||||
- script: |
|
- script: |
|
||||||
set -e
|
set -e
|
||||||
VSCODE_MIXIN_PASSWORD="$(github-distro-mixin-password)" \
|
VSCODE_MIXIN_PASSWORD="$(github-distro-mixin-password)" \
|
||||||
yarn gulp vscode-darwin-$(VSCODE_ARCH)-min-ci
|
yarn gulp vscode-darwin-$(VSCODE_ARCH)-min-ci
|
||||||
displayName: Build
|
displayName: Build
|
||||||
|
|
||||||
- script: |
|
- script: |
|
||||||
set -e
|
set -e
|
||||||
VSCODE_MIXIN_PASSWORD="$(github-distro-mixin-password)" \
|
VSCODE_MIXIN_PASSWORD="$(github-distro-mixin-password)" \
|
||||||
yarn gulp vscode-reh-darwin-min-ci
|
yarn gulp vscode-reh-darwin-min-ci
|
||||||
VSCODE_MIXIN_PASSWORD="$(github-distro-mixin-password)" \
|
VSCODE_MIXIN_PASSWORD="$(github-distro-mixin-password)" \
|
||||||
yarn gulp vscode-reh-web-darwin-min-ci
|
yarn gulp vscode-reh-web-darwin-min-ci
|
||||||
displayName: Build reh
|
displayName: Build reh
|
||||||
condition: and(succeeded(), eq(variables['VSCODE_ARCH'], 'x64'))
|
condition: and(succeeded(), eq(variables['VSCODE_ARCH'], 'x64'))
|
||||||
|
|
||||||
- script: |
|
- script: |
|
||||||
set -e
|
set -e
|
||||||
yarn electron $(VSCODE_ARCH)
|
yarn electron $(VSCODE_ARCH)
|
||||||
displayName: Download Electron
|
displayName: Download Electron
|
||||||
condition: and(succeeded(), eq(variables['VSCODE_STEP_ON_IT'], 'false'))
|
condition: and(succeeded(), eq(variables['VSCODE_STEP_ON_IT'], 'false'))
|
||||||
|
|
||||||
- script: |
|
- script: |
|
||||||
set -e
|
set -e
|
||||||
security create-keychain -p pwd $(agent.tempdirectory)/buildagent.keychain
|
security create-keychain -p pwd $(agent.tempdirectory)/buildagent.keychain
|
||||||
security default-keychain -s $(agent.tempdirectory)/buildagent.keychain
|
security default-keychain -s $(agent.tempdirectory)/buildagent.keychain
|
||||||
security unlock-keychain -p pwd $(agent.tempdirectory)/buildagent.keychain
|
security unlock-keychain -p pwd $(agent.tempdirectory)/buildagent.keychain
|
||||||
echo "$(macos-developer-certificate)" | base64 -D > $(agent.tempdirectory)/cert.p12
|
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 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
|
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
|
VSCODE_ARCH="$(VSCODE_ARCH)" DEBUG=electron-osx-sign* node build/darwin/sign.js
|
||||||
displayName: Set Hardened Entitlements
|
displayName: Set Hardened Entitlements
|
||||||
|
|
||||||
- script: |
|
- script: |
|
||||||
set -e
|
set -e
|
||||||
./scripts/test.sh --build --tfs "Unit Tests"
|
./scripts/test.sh --build --tfs "Unit Tests"
|
||||||
displayName: Run unit tests (Electron)
|
displayName: Run unit tests (Electron)
|
||||||
condition: and(succeeded(), eq(variables['VSCODE_ARCH'], 'x64'), eq(variables['VSCODE_STEP_ON_IT'], 'false'))
|
condition: and(succeeded(), eq(variables['VSCODE_ARCH'], 'x64'), eq(variables['VSCODE_STEP_ON_IT'], 'false'))
|
||||||
|
|
||||||
- script: |
|
- script: |
|
||||||
set -e
|
set -e
|
||||||
yarn test-browser --build --browser chromium --browser webkit --browser firefox --tfs "Browser Unit Tests"
|
yarn test-browser --build --browser chromium --browser webkit --browser firefox --tfs "Browser Unit Tests"
|
||||||
displayName: Run unit tests (Browser)
|
displayName: Run unit tests (Browser)
|
||||||
condition: and(succeeded(), eq(variables['VSCODE_ARCH'], 'x64'), eq(variables['VSCODE_STEP_ON_IT'], 'false'))
|
condition: and(succeeded(), eq(variables['VSCODE_ARCH'], 'x64'), eq(variables['VSCODE_STEP_ON_IT'], 'false'))
|
||||||
|
|
||||||
- script: |
|
- script: |
|
||||||
# Figure out the full absolute path of the product we just built
|
# Figure out the full absolute path of the product we just built
|
||||||
# including the remote server and configure the integration tests
|
# including the remote server and configure the integration tests
|
||||||
# to run with these builds instead of running out of sources.
|
# to run with these builds instead of running out of sources.
|
||||||
set -e
|
set -e
|
||||||
APP_ROOT=$(agent.builddirectory)/VSCode-darwin-$(VSCODE_ARCH)
|
APP_ROOT=$(agent.builddirectory)/VSCode-darwin-$(VSCODE_ARCH)
|
||||||
APP_NAME="`ls $APP_ROOT | head -n 1`"
|
APP_NAME="`ls $APP_ROOT | head -n 1`"
|
||||||
INTEGRATION_TEST_ELECTRON_PATH="$APP_ROOT/$APP_NAME/Contents/MacOS/Electron" \
|
INTEGRATION_TEST_ELECTRON_PATH="$APP_ROOT/$APP_NAME/Contents/MacOS/Electron" \
|
||||||
VSCODE_REMOTE_SERVER_PATH="$(agent.builddirectory)/vscode-reh-darwin" \
|
VSCODE_REMOTE_SERVER_PATH="$(agent.builddirectory)/vscode-reh-darwin" \
|
||||||
./scripts/test-integration.sh --build --tfs "Integration Tests"
|
./scripts/test-integration.sh --build --tfs "Integration Tests"
|
||||||
displayName: Run integration tests (Electron)
|
displayName: Run integration tests (Electron)
|
||||||
condition: and(succeeded(), eq(variables['VSCODE_ARCH'], 'x64'), eq(variables['VSCODE_STEP_ON_IT'], 'false'))
|
condition: and(succeeded(), eq(variables['VSCODE_ARCH'], 'x64'), eq(variables['VSCODE_STEP_ON_IT'], 'false'))
|
||||||
|
|
||||||
- script: |
|
- script: |
|
||||||
set -e
|
set -e
|
||||||
VSCODE_REMOTE_SERVER_PATH="$(agent.builddirectory)/vscode-reh-web-darwin" \
|
VSCODE_REMOTE_SERVER_PATH="$(agent.builddirectory)/vscode-reh-web-darwin" \
|
||||||
./resources/server/test/test-web-integration.sh --browser webkit
|
./resources/server/test/test-web-integration.sh --browser webkit
|
||||||
displayName: Run integration tests (Browser)
|
displayName: Run integration tests (Browser)
|
||||||
condition: and(succeeded(), eq(variables['VSCODE_ARCH'], 'x64'), eq(variables['VSCODE_STEP_ON_IT'], 'false'))
|
condition: and(succeeded(), eq(variables['VSCODE_ARCH'], 'x64'), eq(variables['VSCODE_STEP_ON_IT'], 'false'))
|
||||||
|
|
||||||
- script: |
|
- script: |
|
||||||
set -e
|
set -e
|
||||||
APP_ROOT=$(agent.builddirectory)/VSCode-darwin-$(VSCODE_ARCH)
|
APP_ROOT=$(agent.builddirectory)/VSCode-darwin-$(VSCODE_ARCH)
|
||||||
APP_NAME="`ls $APP_ROOT | head -n 1`"
|
APP_NAME="`ls $APP_ROOT | head -n 1`"
|
||||||
INTEGRATION_TEST_ELECTRON_PATH="$APP_ROOT/$APP_NAME/Contents/MacOS/Electron" \
|
INTEGRATION_TEST_ELECTRON_PATH="$APP_ROOT/$APP_NAME/Contents/MacOS/Electron" \
|
||||||
VSCODE_REMOTE_SERVER_PATH="$(agent.builddirectory)/vscode-reh-darwin" \
|
VSCODE_REMOTE_SERVER_PATH="$(agent.builddirectory)/vscode-reh-darwin" \
|
||||||
./resources/server/test/test-remote-integration.sh
|
./resources/server/test/test-remote-integration.sh
|
||||||
displayName: Run remote integration tests (Electron)
|
displayName: Run remote integration tests (Electron)
|
||||||
condition: and(succeeded(), eq(variables['VSCODE_ARCH'], 'x64'), eq(variables['VSCODE_STEP_ON_IT'], 'false'))
|
condition: and(succeeded(), eq(variables['VSCODE_ARCH'], 'x64'), eq(variables['VSCODE_STEP_ON_IT'], 'false'))
|
||||||
|
|
||||||
- script: |
|
- script: |
|
||||||
set -e
|
set -e
|
||||||
APP_ROOT=$(agent.builddirectory)/VSCode-darwin-$(VSCODE_ARCH)
|
APP_ROOT=$(agent.builddirectory)/VSCode-darwin-$(VSCODE_ARCH)
|
||||||
APP_NAME="`ls $APP_ROOT | head -n 1`"
|
APP_NAME="`ls $APP_ROOT | head -n 1`"
|
||||||
yarn smoketest --build "$APP_ROOT/$APP_NAME"
|
yarn smoketest --build "$APP_ROOT/$APP_NAME"
|
||||||
continueOnError: true
|
continueOnError: true
|
||||||
displayName: Run smoke tests (Electron)
|
displayName: Run smoke tests (Electron)
|
||||||
condition: and(succeeded(), eq(variables['VSCODE_ARCH'], 'x64'), eq(variables['VSCODE_STEP_ON_IT'], 'false'))
|
condition: and(succeeded(), eq(variables['VSCODE_ARCH'], 'x64'), eq(variables['VSCODE_STEP_ON_IT'], 'false'))
|
||||||
|
|
||||||
- script: |
|
- script: |
|
||||||
set -e
|
set -e
|
||||||
VSCODE_REMOTE_SERVER_PATH="$(agent.builddirectory)/vscode-reh-web-darwin" \
|
VSCODE_REMOTE_SERVER_PATH="$(agent.builddirectory)/vscode-reh-web-darwin" \
|
||||||
yarn smoketest --web --headless
|
yarn smoketest --web --headless
|
||||||
continueOnError: true
|
continueOnError: true
|
||||||
displayName: Run smoke tests (Browser)
|
displayName: Run smoke tests (Browser)
|
||||||
condition: and(succeeded(), eq(variables['VSCODE_ARCH'], 'x64'), eq(variables['VSCODE_STEP_ON_IT'], 'false'))
|
condition: and(succeeded(), eq(variables['VSCODE_ARCH'], 'x64'), eq(variables['VSCODE_STEP_ON_IT'], 'false'))
|
||||||
|
|
||||||
- task: PublishPipelineArtifact@0
|
- task: PublishPipelineArtifact@0
|
||||||
inputs:
|
inputs:
|
||||||
artifactName: crash-dump-macos-$(VSCODE_ARCH)
|
artifactName: crash-dump-macos-$(VSCODE_ARCH)
|
||||||
targetPath: .build/crashes
|
targetPath: .build/crashes
|
||||||
displayName: 'Publish Crash Reports'
|
displayName: "Publish Crash Reports"
|
||||||
continueOnError: true
|
continueOnError: true
|
||||||
condition: failed()
|
condition: failed()
|
||||||
|
|
||||||
- task: PublishTestResults@2
|
- task: PublishTestResults@2
|
||||||
displayName: Publish Tests Results
|
displayName: Publish Tests Results
|
||||||
inputs:
|
inputs:
|
||||||
testResultsFiles: '*-results.xml'
|
testResultsFiles: "*-results.xml"
|
||||||
searchFolder: '$(Build.ArtifactStagingDirectory)/test-results'
|
searchFolder: "$(Build.ArtifactStagingDirectory)/test-results"
|
||||||
condition: succeededOrFailed()
|
condition: succeededOrFailed()
|
||||||
|
|
||||||
- script: |
|
- script: |
|
||||||
set -e
|
set -e
|
||||||
pushd $(agent.builddirectory)/VSCode-darwin-$(VSCODE_ARCH) && zip -r -X -y $(agent.builddirectory)/VSCode-darwin-$(VSCODE_ARCH).zip * && popd
|
pushd $(agent.builddirectory)/VSCode-darwin-$(VSCODE_ARCH) && zip -r -X -y $(agent.builddirectory)/VSCode-darwin-$(VSCODE_ARCH).zip * && popd
|
||||||
displayName: Archive build
|
displayName: Archive build
|
||||||
|
|
||||||
- task: SFP.build-tasks.custom-build-task-1.EsrpCodeSigning@1
|
- task: SFP.build-tasks.custom-build-task-1.EsrpCodeSigning@1
|
||||||
inputs:
|
inputs:
|
||||||
ConnectedServiceName: 'ESRP CodeSign'
|
ConnectedServiceName: "ESRP CodeSign"
|
||||||
FolderPath: '$(agent.builddirectory)'
|
FolderPath: "$(agent.builddirectory)"
|
||||||
Pattern: 'VSCode-darwin-$(VSCODE_ARCH).zip'
|
Pattern: "VSCode-darwin-$(VSCODE_ARCH).zip"
|
||||||
signConfigType: inlineSignParams
|
signConfigType: inlineSignParams
|
||||||
inlineOperation: |
|
inlineOperation: |
|
||||||
[
|
[
|
||||||
{
|
{
|
||||||
"keyCode": "CP-401337-Apple",
|
"keyCode": "CP-401337-Apple",
|
||||||
"operationSetCode": "MacAppDeveloperSign",
|
"operationSetCode": "MacAppDeveloperSign",
|
||||||
"parameters": [
|
"parameters": [
|
||||||
{
|
{
|
||||||
"parameterName": "Hardening",
|
"parameterName": "Hardening",
|
||||||
"parameterValue": "--options=runtime"
|
"parameterValue": "--options=runtime"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"toolName": "sign",
|
"toolName": "sign",
|
||||||
"toolVersion": "1.0"
|
"toolVersion": "1.0"
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
SessionTimeout: 60
|
SessionTimeout: 60
|
||||||
displayName: Codesign
|
displayName: Codesign
|
||||||
|
|
||||||
- script: |
|
- script: |
|
||||||
zip -d $(agent.builddirectory)/VSCode-darwin-$(VSCODE_ARCH).zip "*.pkg"
|
zip -d $(agent.builddirectory)/VSCode-darwin-$(VSCODE_ARCH).zip "*.pkg"
|
||||||
displayName: Clean Archive
|
displayName: Clean Archive
|
||||||
|
|
||||||
- script: |
|
- script: |
|
||||||
APP_ROOT=$(agent.builddirectory)/VSCode-darwin-$(VSCODE_ARCH)
|
APP_ROOT=$(agent.builddirectory)/VSCode-darwin-$(VSCODE_ARCH)
|
||||||
APP_NAME="`ls $APP_ROOT | head -n 1`"
|
APP_NAME="`ls $APP_ROOT | head -n 1`"
|
||||||
BUNDLE_IDENTIFIER=$(node -p "require(\"$APP_ROOT/$APP_NAME/Contents/Resources/app/product.json\").darwinBundleIdentifier")
|
BUNDLE_IDENTIFIER=$(node -p "require(\"$APP_ROOT/$APP_NAME/Contents/Resources/app/product.json\").darwinBundleIdentifier")
|
||||||
echo "##vso[task.setvariable variable=BundleIdentifier]$BUNDLE_IDENTIFIER"
|
echo "##vso[task.setvariable variable=BundleIdentifier]$BUNDLE_IDENTIFIER"
|
||||||
displayName: Export bundle identifier
|
displayName: Export bundle identifier
|
||||||
|
|
||||||
- task: SFP.build-tasks.custom-build-task-1.EsrpCodeSigning@1
|
- task: SFP.build-tasks.custom-build-task-1.EsrpCodeSigning@1
|
||||||
inputs:
|
inputs:
|
||||||
ConnectedServiceName: 'ESRP CodeSign'
|
ConnectedServiceName: "ESRP CodeSign"
|
||||||
FolderPath: '$(agent.builddirectory)'
|
FolderPath: "$(agent.builddirectory)"
|
||||||
Pattern: 'VSCode-darwin-$(VSCODE_ARCH).zip'
|
Pattern: "VSCode-darwin-$(VSCODE_ARCH).zip"
|
||||||
signConfigType: inlineSignParams
|
signConfigType: inlineSignParams
|
||||||
inlineOperation: |
|
inlineOperation: |
|
||||||
[
|
[
|
||||||
{
|
{
|
||||||
"keyCode": "CP-401337-Apple",
|
"keyCode": "CP-401337-Apple",
|
||||||
"operationSetCode": "MacAppNotarize",
|
"operationSetCode": "MacAppNotarize",
|
||||||
"parameters": [
|
"parameters": [
|
||||||
{
|
{
|
||||||
"parameterName": "BundleId",
|
"parameterName": "BundleId",
|
||||||
"parameterValue": "$(BundleIdentifier)"
|
"parameterValue": "$(BundleIdentifier)"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"toolName": "sign",
|
"toolName": "sign",
|
||||||
"toolVersion": "1.0"
|
"toolVersion": "1.0"
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
SessionTimeout: 60
|
SessionTimeout: 60
|
||||||
displayName: Notarization
|
displayName: Notarization
|
||||||
|
|
||||||
- script: |
|
- script: |
|
||||||
set -e
|
set -e
|
||||||
APP_ROOT=$(agent.builddirectory)/VSCode-darwin-$(VSCODE_ARCH)
|
APP_ROOT=$(agent.builddirectory)/VSCode-darwin-$(VSCODE_ARCH)
|
||||||
APP_NAME="`ls $APP_ROOT | head -n 1`"
|
APP_NAME="`ls $APP_ROOT | head -n 1`"
|
||||||
"$APP_ROOT/$APP_NAME/Contents/Resources/app/bin/code" --export-default-configuration=.build
|
"$APP_ROOT/$APP_NAME/Contents/Resources/app/bin/code" --export-default-configuration=.build
|
||||||
displayName: Verify start after signing (export configuration)
|
displayName: Verify start after signing (export configuration)
|
||||||
condition: and(succeeded(), eq(variables['VSCODE_ARCH'], 'x64'))
|
condition: and(succeeded(), eq(variables['VSCODE_ARCH'], 'x64'))
|
||||||
|
|
||||||
- script: |
|
- script: |
|
||||||
set -e
|
set -e
|
||||||
VSCODE_MIXIN_PASSWORD="$(github-distro-mixin-password)" \
|
VSCODE_MIXIN_PASSWORD="$(github-distro-mixin-password)" \
|
||||||
AZURE_DOCUMENTDB_MASTERKEY="$(builds-docdb-key-readwrite)" \
|
AZURE_DOCUMENTDB_MASTERKEY="$(builds-docdb-key-readwrite)" \
|
||||||
AZURE_STORAGE_ACCESS_KEY="$(ticino-storage-key)" \
|
AZURE_STORAGE_ACCESS_KEY="$(ticino-storage-key)" \
|
||||||
AZURE_STORAGE_ACCESS_KEY_2="$(vscode-storage-key)" \
|
AZURE_STORAGE_ACCESS_KEY_2="$(vscode-storage-key)" \
|
||||||
VSCODE_ARCH="$(VSCODE_ARCH)" \
|
VSCODE_ARCH="$(VSCODE_ARCH)" \
|
||||||
./build/azure-pipelines/darwin/publish.sh
|
./build/azure-pipelines/darwin/publish.sh
|
||||||
displayName: Publish
|
displayName: Publish
|
||||||
|
|
||||||
- script: |
|
- script: |
|
||||||
AZURE_STORAGE_ACCESS_KEY="$(ticino-storage-key)" \
|
AZURE_STORAGE_ACCESS_KEY="$(ticino-storage-key)" \
|
||||||
yarn gulp upload-vscode-configuration
|
yarn gulp upload-vscode-configuration
|
||||||
displayName: Upload configuration (for Bing settings search)
|
displayName: Upload configuration (for Bing settings search)
|
||||||
condition: and(succeeded(), eq(variables['VSCODE_ARCH'], 'x64'))
|
condition: and(succeeded(), eq(variables['VSCODE_ARCH'], 'x64'))
|
||||||
continueOnError: true
|
continueOnError: true
|
||||||
|
|
||||||
- task: ms.vss-governance-buildtask.governance-build-task-component-detection.ComponentGovernanceComponentDetection@0
|
- task: ms.vss-governance-buildtask.governance-build-task-component-detection.ComponentGovernanceComponentDetection@0
|
||||||
displayName: 'Component Detection'
|
displayName: "Component Detection"
|
||||||
continueOnError: true
|
continueOnError: true
|
||||||
|
|
|
@ -1,42 +1,42 @@
|
||||||
trigger:
|
trigger:
|
||||||
branches:
|
branches:
|
||||||
include: ['master', 'release/*']
|
include: ["master", "release/*"]
|
||||||
pr:
|
pr:
|
||||||
branches:
|
branches:
|
||||||
include: ['master', 'release/*']
|
include: ["master", "release/*"]
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- task: NodeTool@0
|
- task: NodeTool@0
|
||||||
inputs:
|
inputs:
|
||||||
versionSpec: "12.18.3"
|
versionSpec: "12.18.3"
|
||||||
|
|
||||||
- task: AzureKeyVault@1
|
- task: AzureKeyVault@1
|
||||||
displayName: 'Azure Key Vault: Get Secrets'
|
displayName: "Azure Key Vault: Get Secrets"
|
||||||
inputs:
|
inputs:
|
||||||
azureSubscription: 'vscode-builds-subscription'
|
azureSubscription: "vscode-builds-subscription"
|
||||||
KeyVaultName: vscode
|
KeyVaultName: vscode
|
||||||
|
|
||||||
- script: |
|
- script: |
|
||||||
set -e
|
set -e
|
||||||
|
|
||||||
cat << EOF > ~/.netrc
|
cat << EOF > ~/.netrc
|
||||||
machine github.com
|
machine github.com
|
||||||
login vscode
|
login vscode
|
||||||
password $(github-distro-mixin-password)
|
password $(github-distro-mixin-password)
|
||||||
EOF
|
EOF
|
||||||
|
|
||||||
git config user.email "vscode@microsoft.com"
|
git config user.email "vscode@microsoft.com"
|
||||||
git config user.name "VSCode"
|
git config user.name "VSCode"
|
||||||
|
|
||||||
git remote add distro "https://github.com/$VSCODE_MIXIN_REPO.git"
|
git remote add distro "https://github.com/$VSCODE_MIXIN_REPO.git"
|
||||||
git fetch distro
|
git fetch distro
|
||||||
|
|
||||||
# Push master branch into oss/master
|
# Push master branch into oss/master
|
||||||
git push distro origin/master:refs/heads/oss/master
|
git push distro origin/master:refs/heads/oss/master
|
||||||
|
|
||||||
# Push every release branch into oss/release
|
# Push every release branch into oss/release
|
||||||
git for-each-ref --format="%(refname:short)" refs/remotes/origin/release/* | sed 's/^origin\/\(.*\)$/\0:refs\/heads\/oss\/\1/' | xargs git push distro
|
git for-each-ref --format="%(refname:short)" refs/remotes/origin/release/* | sed 's/^origin\/\(.*\)$/\0:refs\/heads\/oss\/\1/' | xargs git push distro
|
||||||
|
|
||||||
git merge $(node -p "require('./package.json').distro")
|
git merge $(node -p "require('./package.json').distro")
|
||||||
|
|
||||||
displayName: Sync & Merge Distro
|
displayName: Sync & Merge Distro
|
||||||
|
|
|
@ -1,40 +1,40 @@
|
||||||
pool:
|
pool:
|
||||||
vmImage: 'Ubuntu-16.04'
|
vmImage: "Ubuntu-16.04"
|
||||||
|
|
||||||
trigger:
|
trigger:
|
||||||
branches:
|
branches:
|
||||||
include: ['master']
|
include: ["master"]
|
||||||
pr:
|
pr:
|
||||||
branches:
|
branches:
|
||||||
include: ['master']
|
include: ["master"]
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- task: NodeTool@0
|
- task: NodeTool@0
|
||||||
inputs:
|
inputs:
|
||||||
versionSpec: "12.18.3"
|
versionSpec: "12.18.3"
|
||||||
|
|
||||||
- task: AzureKeyVault@1
|
- task: AzureKeyVault@1
|
||||||
displayName: 'Azure Key Vault: Get Secrets'
|
displayName: "Azure Key Vault: Get Secrets"
|
||||||
inputs:
|
inputs:
|
||||||
azureSubscription: 'vscode-builds-subscription'
|
azureSubscription: "vscode-builds-subscription"
|
||||||
KeyVaultName: vscode
|
KeyVaultName: vscode
|
||||||
|
|
||||||
- script: |
|
- script: |
|
||||||
set -e
|
set -e
|
||||||
|
|
||||||
cat << EOF > ~/.netrc
|
cat << EOF > ~/.netrc
|
||||||
machine github.com
|
machine github.com
|
||||||
login vscode
|
login vscode
|
||||||
password $(github-distro-mixin-password)
|
password $(github-distro-mixin-password)
|
||||||
EOF
|
EOF
|
||||||
|
|
||||||
git config user.email "vscode@microsoft.com"
|
git config user.email "vscode@microsoft.com"
|
||||||
git config user.name "VSCode"
|
git config user.name "VSCode"
|
||||||
|
|
||||||
git checkout origin/electron-11.x.y
|
git checkout origin/electron-11.x.y
|
||||||
git merge origin/master
|
git merge origin/master
|
||||||
|
|
||||||
# Push master branch into exploration branch
|
# Push master branch into exploration branch
|
||||||
git push origin HEAD:electron-11.x.y
|
git push origin HEAD:electron-11.x.y
|
||||||
|
|
||||||
displayName: Sync & Merge Exploration
|
displayName: Sync & Merge Exploration
|
||||||
|
|
|
@ -1,92 +1,92 @@
|
||||||
steps:
|
steps:
|
||||||
- script: |
|
- script: |
|
||||||
set -e
|
set -e
|
||||||
sudo apt-get update
|
sudo apt-get update
|
||||||
sudo apt-get install -y libxkbfile-dev pkg-config libsecret-1-dev libxss1 dbus xvfb libgtk-3-0
|
sudo apt-get install -y libxkbfile-dev pkg-config libsecret-1-dev libxss1 dbus xvfb libgtk-3-0
|
||||||
sudo cp build/azure-pipelines/linux/xvfb.init /etc/init.d/xvfb
|
sudo cp build/azure-pipelines/linux/xvfb.init /etc/init.d/xvfb
|
||||||
sudo chmod +x /etc/init.d/xvfb
|
sudo chmod +x /etc/init.d/xvfb
|
||||||
sudo update-rc.d xvfb defaults
|
sudo update-rc.d xvfb defaults
|
||||||
sudo service xvfb start
|
sudo service xvfb start
|
||||||
|
|
||||||
- task: NodeTool@0
|
- task: NodeTool@0
|
||||||
inputs:
|
inputs:
|
||||||
versionSpec: "12.18.3"
|
versionSpec: "12.18.3"
|
||||||
|
|
||||||
- task: geeklearningio.gl-vsts-tasks-yarn.yarn-installer-task.YarnInstaller@2
|
- task: geeklearningio.gl-vsts-tasks-yarn.yarn-installer-task.YarnInstaller@2
|
||||||
inputs:
|
inputs:
|
||||||
versionSpec: "1.x"
|
versionSpec: "1.x"
|
||||||
|
|
||||||
- task: 1ESLighthouseEng.PipelineArtifactCaching.RestoreCacheV1.RestoreCache@1
|
- task: 1ESLighthouseEng.PipelineArtifactCaching.RestoreCacheV1.RestoreCache@1
|
||||||
inputs:
|
inputs:
|
||||||
keyfile: '.yarnrc, remote/.yarnrc, **/yarn.lock, !**/node_modules/**/yarn.lock, !**/.*/**/yarn.lock'
|
keyfile: ".yarnrc, remote/.yarnrc, **/yarn.lock, !**/node_modules/**/yarn.lock, !**/.*/**/yarn.lock"
|
||||||
targetfolder: '**/node_modules, !**/node_modules/**/node_modules'
|
targetfolder: "**/node_modules, !**/node_modules/**/node_modules"
|
||||||
vstsFeed: 'vscode-build-cache'
|
vstsFeed: "vscode-build-cache"
|
||||||
|
|
||||||
- script: |
|
- script: |
|
||||||
CHILD_CONCURRENCY=1 yarn --frozen-lockfile
|
CHILD_CONCURRENCY=1 yarn --frozen-lockfile
|
||||||
displayName: Install Dependencies
|
displayName: Install Dependencies
|
||||||
condition: and(succeeded(), ne(variables['CacheRestored'], 'true'))
|
condition: and(succeeded(), ne(variables['CacheRestored'], 'true'))
|
||||||
|
|
||||||
- task: 1ESLighthouseEng.PipelineArtifactCaching.SaveCacheV1.SaveCache@1
|
- task: 1ESLighthouseEng.PipelineArtifactCaching.SaveCacheV1.SaveCache@1
|
||||||
inputs:
|
inputs:
|
||||||
keyfile: '.yarnrc, remote/.yarnrc, **/yarn.lock, !**/node_modules/**/yarn.lock, !**/.*/**/yarn.lock'
|
keyfile: ".yarnrc, remote/.yarnrc, **/yarn.lock, !**/node_modules/**/yarn.lock, !**/.*/**/yarn.lock"
|
||||||
targetfolder: '**/node_modules, !**/node_modules/**/node_modules'
|
targetfolder: "**/node_modules, !**/node_modules/**/node_modules"
|
||||||
vstsFeed: 'vscode-build-cache'
|
vstsFeed: "vscode-build-cache"
|
||||||
condition: and(succeeded(), ne(variables['CacheRestored'], 'true'))
|
condition: and(succeeded(), ne(variables['CacheRestored'], 'true'))
|
||||||
|
|
||||||
- script: |
|
- script: |
|
||||||
set -e
|
set -e
|
||||||
yarn postinstall
|
yarn postinstall
|
||||||
displayName: Run postinstall scripts
|
displayName: Run postinstall scripts
|
||||||
condition: and(succeeded(), eq(variables['CacheRestored'], 'true'))
|
condition: and(succeeded(), eq(variables['CacheRestored'], 'true'))
|
||||||
|
|
||||||
- script: |
|
- script: |
|
||||||
yarn electron x64
|
yarn electron x64
|
||||||
displayName: Download Electron
|
displayName: Download Electron
|
||||||
|
|
||||||
- script: |
|
- script: |
|
||||||
yarn gulp hygiene
|
yarn gulp hygiene
|
||||||
displayName: Run Hygiene Checks
|
displayName: Run Hygiene Checks
|
||||||
|
|
||||||
- script: |
|
- script: |
|
||||||
yarn monaco-compile-check
|
yarn monaco-compile-check
|
||||||
displayName: Run Monaco Editor Checks
|
displayName: Run Monaco Editor Checks
|
||||||
|
|
||||||
- script: |
|
- script: |
|
||||||
yarn valid-layers-check
|
yarn valid-layers-check
|
||||||
displayName: Run Valid Layers Checks
|
displayName: Run Valid Layers Checks
|
||||||
|
|
||||||
- script: |
|
- script: |
|
||||||
yarn compile
|
yarn compile
|
||||||
displayName: Compile Sources
|
displayName: Compile Sources
|
||||||
|
|
||||||
- script: |
|
- script: |
|
||||||
yarn download-builtin-extensions
|
yarn download-builtin-extensions
|
||||||
displayName: Download Built-in Extensions
|
displayName: Download Built-in Extensions
|
||||||
|
|
||||||
- script: |
|
- script: |
|
||||||
DISPLAY=:10 ./scripts/test.sh --tfs "Unit Tests"
|
DISPLAY=:10 ./scripts/test.sh --tfs "Unit Tests"
|
||||||
displayName: Run Unit Tests (Electron)
|
displayName: Run Unit Tests (Electron)
|
||||||
|
|
||||||
- script: |
|
- script: |
|
||||||
DISPLAY=:10 yarn test-browser --browser chromium --tfs "Browser Unit Tests"
|
DISPLAY=:10 yarn test-browser --browser chromium --tfs "Browser Unit Tests"
|
||||||
displayName: Run Unit Tests (Browser)
|
displayName: Run Unit Tests (Browser)
|
||||||
|
|
||||||
- script: |
|
- script: |
|
||||||
DISPLAY=:10 ./scripts/test-integration.sh --tfs "Integration Tests"
|
DISPLAY=:10 ./scripts/test-integration.sh --tfs "Integration Tests"
|
||||||
displayName: Run Integration Tests (Electron)
|
displayName: Run Integration Tests (Electron)
|
||||||
|
|
||||||
- task: PublishPipelineArtifact@0
|
- task: PublishPipelineArtifact@0
|
||||||
inputs:
|
inputs:
|
||||||
artifactName: crash-dump-linux
|
artifactName: crash-dump-linux
|
||||||
targetPath: .build/crashes
|
targetPath: .build/crashes
|
||||||
displayName: 'Publish Crash Reports'
|
displayName: "Publish Crash Reports"
|
||||||
continueOnError: true
|
continueOnError: true
|
||||||
condition: failed()
|
condition: failed()
|
||||||
|
|
||||||
- task: PublishTestResults@2
|
- task: PublishTestResults@2
|
||||||
displayName: Publish Tests Results
|
displayName: Publish Tests Results
|
||||||
inputs:
|
inputs:
|
||||||
testResultsFiles: '*-results.xml'
|
testResultsFiles: "*-results.xml"
|
||||||
searchFolder: '$(Build.ArtifactStagingDirectory)/test-results'
|
searchFolder: "$(Build.ArtifactStagingDirectory)/test-results"
|
||||||
condition: succeededOrFailed()
|
condition: succeededOrFailed()
|
||||||
|
|
|
@ -1,215 +1,215 @@
|
||||||
steps:
|
steps:
|
||||||
- script: |
|
- script: |
|
||||||
mkdir -p .build
|
mkdir -p .build
|
||||||
echo -n $BUILD_SOURCEVERSION > .build/commit
|
echo -n $BUILD_SOURCEVERSION > .build/commit
|
||||||
echo -n $VSCODE_QUALITY > .build/quality
|
echo -n $VSCODE_QUALITY > .build/quality
|
||||||
displayName: Prepare cache flag
|
displayName: Prepare cache flag
|
||||||
|
|
||||||
- task: 1ESLighthouseEng.PipelineArtifactCaching.RestoreCacheV1.RestoreCache@1
|
- task: 1ESLighthouseEng.PipelineArtifactCaching.RestoreCacheV1.RestoreCache@1
|
||||||
inputs:
|
inputs:
|
||||||
keyfile: 'build/.cachesalt, .build/commit, .build/quality'
|
keyfile: "build/.cachesalt, .build/commit, .build/quality"
|
||||||
targetfolder: '.build, out-build, out-vscode-min, out-vscode-reh-min, out-vscode-reh-web-min'
|
targetfolder: ".build, out-build, out-vscode-min, out-vscode-reh-min, out-vscode-reh-web-min"
|
||||||
vstsFeed: 'npm-vscode'
|
vstsFeed: "npm-vscode"
|
||||||
platformIndependent: true
|
platformIndependent: true
|
||||||
alias: 'Compilation'
|
alias: "Compilation"
|
||||||
|
|
||||||
- script: |
|
- script: |
|
||||||
set -e
|
set -e
|
||||||
exit 1
|
exit 1
|
||||||
displayName: Check RestoreCache
|
displayName: Check RestoreCache
|
||||||
condition: and(succeeded(), ne(variables['CacheRestored-Compilation'], 'true'))
|
condition: and(succeeded(), ne(variables['CacheRestored-Compilation'], 'true'))
|
||||||
|
|
||||||
- task: NodeTool@0
|
- task: NodeTool@0
|
||||||
inputs:
|
inputs:
|
||||||
versionSpec: "12.18.3"
|
versionSpec: "12.18.3"
|
||||||
|
|
||||||
- task: geeklearningio.gl-vsts-tasks-yarn.yarn-installer-task.YarnInstaller@2
|
- task: geeklearningio.gl-vsts-tasks-yarn.yarn-installer-task.YarnInstaller@2
|
||||||
inputs:
|
inputs:
|
||||||
versionSpec: "1.x"
|
versionSpec: "1.x"
|
||||||
|
|
||||||
- task: AzureKeyVault@1
|
- task: AzureKeyVault@1
|
||||||
displayName: 'Azure Key Vault: Get Secrets'
|
displayName: "Azure Key Vault: Get Secrets"
|
||||||
inputs:
|
inputs:
|
||||||
azureSubscription: 'vscode-builds-subscription'
|
azureSubscription: "vscode-builds-subscription"
|
||||||
KeyVaultName: vscode
|
KeyVaultName: vscode
|
||||||
|
|
||||||
- script: |
|
- script: |
|
||||||
set -e
|
set -e
|
||||||
cat << EOF > ~/.netrc
|
cat << EOF > ~/.netrc
|
||||||
machine github.com
|
machine github.com
|
||||||
login vscode
|
login vscode
|
||||||
password $(github-distro-mixin-password)
|
password $(github-distro-mixin-password)
|
||||||
EOF
|
EOF
|
||||||
|
|
||||||
git config user.email "vscode@microsoft.com"
|
git config user.email "vscode@microsoft.com"
|
||||||
git config user.name "VSCode"
|
git config user.name "VSCode"
|
||||||
displayName: Prepare tooling
|
displayName: Prepare tooling
|
||||||
|
|
||||||
- script: |
|
- script: |
|
||||||
set -e
|
set -e
|
||||||
git remote add distro "https://github.com/$(VSCODE_MIXIN_REPO).git"
|
git remote add distro "https://github.com/$(VSCODE_MIXIN_REPO).git"
|
||||||
git fetch distro
|
git fetch distro
|
||||||
git merge $(node -p "require('./package.json').distro")
|
git merge $(node -p "require('./package.json').distro")
|
||||||
displayName: Merge distro
|
displayName: Merge distro
|
||||||
|
|
||||||
- script: |
|
- script: |
|
||||||
npx https://aka.ms/enablesecurefeed standAlone
|
npx https://aka.ms/enablesecurefeed standAlone
|
||||||
displayName: Switch to Terrapin packages
|
displayName: Switch to Terrapin packages
|
||||||
|
|
||||||
- script: |
|
- script: |
|
||||||
echo -n $VSCODE_ARCH > .build/arch
|
echo -n $VSCODE_ARCH > .build/arch
|
||||||
displayName: Prepare arch cache flag
|
displayName: Prepare arch cache flag
|
||||||
|
|
||||||
- task: 1ESLighthouseEng.PipelineArtifactCaching.RestoreCacheV1.RestoreCache@1
|
- task: 1ESLighthouseEng.PipelineArtifactCaching.RestoreCacheV1.RestoreCache@1
|
||||||
inputs:
|
inputs:
|
||||||
keyfile: '.build/arch, build/.cachesalt, .yarnrc, remote/.yarnrc, **/yarn.lock, !**/node_modules/**/yarn.lock, !**/.*/**/yarn.lock'
|
keyfile: ".build/arch, build/.cachesalt, .yarnrc, remote/.yarnrc, **/yarn.lock, !**/node_modules/**/yarn.lock, !**/.*/**/yarn.lock"
|
||||||
targetfolder: '**/node_modules, !**/node_modules/**/node_modules'
|
targetfolder: "**/node_modules, !**/node_modules/**/node_modules"
|
||||||
vstsFeed: 'npm-vscode'
|
vstsFeed: "npm-vscode"
|
||||||
|
|
||||||
- script: |
|
- script: |
|
||||||
set -e
|
set -e
|
||||||
CHILD_CONCURRENCY=1 npm_config_arch=$(NPM_ARCH) yarn --frozen-lockfile
|
CHILD_CONCURRENCY=1 npm_config_arch=$(NPM_ARCH) yarn --frozen-lockfile
|
||||||
displayName: Install dependencies
|
displayName: Install dependencies
|
||||||
condition: and(succeeded(), ne(variables['CacheRestored'], 'true'))
|
condition: and(succeeded(), ne(variables['CacheRestored'], 'true'))
|
||||||
|
|
||||||
- task: 1ESLighthouseEng.PipelineArtifactCaching.SaveCacheV1.SaveCache@1
|
- task: 1ESLighthouseEng.PipelineArtifactCaching.SaveCacheV1.SaveCache@1
|
||||||
inputs:
|
inputs:
|
||||||
keyfile: '.build/arch, build/.cachesalt, .yarnrc, remote/.yarnrc, **/yarn.lock, !**/node_modules/**/yarn.lock, !**/.*/**/yarn.lock'
|
keyfile: ".build/arch, build/.cachesalt, .yarnrc, remote/.yarnrc, **/yarn.lock, !**/node_modules/**/yarn.lock, !**/.*/**/yarn.lock"
|
||||||
targetfolder: '**/node_modules, !**/node_modules/**/node_modules'
|
targetfolder: "**/node_modules, !**/node_modules/**/node_modules"
|
||||||
vstsFeed: 'npm-vscode'
|
vstsFeed: "npm-vscode"
|
||||||
condition: and(succeeded(), ne(variables['CacheRestored'], 'true'))
|
condition: and(succeeded(), ne(variables['CacheRestored'], 'true'))
|
||||||
|
|
||||||
- script: |
|
- script: |
|
||||||
set -e
|
set -e
|
||||||
yarn postinstall
|
yarn postinstall
|
||||||
displayName: Run postinstall scripts
|
displayName: Run postinstall scripts
|
||||||
condition: and(succeeded(), eq(variables['CacheRestored'], 'true'))
|
condition: and(succeeded(), eq(variables['CacheRestored'], 'true'))
|
||||||
|
|
||||||
- script: |
|
- script: |
|
||||||
set -e
|
set -e
|
||||||
node build/azure-pipelines/mixin
|
node build/azure-pipelines/mixin
|
||||||
displayName: Mix in quality
|
displayName: Mix in quality
|
||||||
|
|
||||||
- script: |
|
- script: |
|
||||||
set -e
|
set -e
|
||||||
VSCODE_MIXIN_PASSWORD="$(github-distro-mixin-password)" \
|
VSCODE_MIXIN_PASSWORD="$(github-distro-mixin-password)" \
|
||||||
yarn gulp vscode-linux-$(VSCODE_ARCH)-min-ci
|
yarn gulp vscode-linux-$(VSCODE_ARCH)-min-ci
|
||||||
VSCODE_MIXIN_PASSWORD="$(github-distro-mixin-password)" \
|
VSCODE_MIXIN_PASSWORD="$(github-distro-mixin-password)" \
|
||||||
yarn gulp vscode-reh-linux-$(VSCODE_ARCH)-min-ci
|
yarn gulp vscode-reh-linux-$(VSCODE_ARCH)-min-ci
|
||||||
VSCODE_MIXIN_PASSWORD="$(github-distro-mixin-password)" \
|
VSCODE_MIXIN_PASSWORD="$(github-distro-mixin-password)" \
|
||||||
yarn gulp vscode-reh-web-linux-$(VSCODE_ARCH)-min-ci
|
yarn gulp vscode-reh-web-linux-$(VSCODE_ARCH)-min-ci
|
||||||
displayName: Build
|
displayName: Build
|
||||||
|
|
||||||
- script: |
|
- script: |
|
||||||
set -e
|
set -e
|
||||||
DISPLAY=:10 ./scripts/test.sh --build --tfs "Unit Tests"
|
DISPLAY=:10 ./scripts/test.sh --build --tfs "Unit Tests"
|
||||||
displayName: Run unit tests (Electron)
|
displayName: Run unit tests (Electron)
|
||||||
condition: and(succeeded(), eq(variables['VSCODE_ARCH'], 'x64'), eq(variables['VSCODE_STEP_ON_IT'], 'false'))
|
condition: and(succeeded(), eq(variables['VSCODE_ARCH'], 'x64'), eq(variables['VSCODE_STEP_ON_IT'], 'false'))
|
||||||
|
|
||||||
- script: |
|
- script: |
|
||||||
set -e
|
set -e
|
||||||
DISPLAY=:10 yarn test-browser --build --browser chromium --tfs "Browser Unit Tests"
|
DISPLAY=:10 yarn test-browser --build --browser chromium --tfs "Browser Unit Tests"
|
||||||
displayName: Run unit tests (Browser)
|
displayName: Run unit tests (Browser)
|
||||||
condition: and(succeeded(), eq(variables['VSCODE_ARCH'], 'x64'), eq(variables['VSCODE_STEP_ON_IT'], 'false'))
|
condition: and(succeeded(), eq(variables['VSCODE_ARCH'], 'x64'), eq(variables['VSCODE_STEP_ON_IT'], 'false'))
|
||||||
|
|
||||||
- script: |
|
- script: |
|
||||||
# Figure out the full absolute path of the product we just built
|
# Figure out the full absolute path of the product we just built
|
||||||
# including the remote server and configure the integration tests
|
# including the remote server and configure the integration tests
|
||||||
# to run with these builds instead of running out of sources.
|
# to run with these builds instead of running out of sources.
|
||||||
set -e
|
set -e
|
||||||
APP_ROOT=$(agent.builddirectory)/VSCode-linux-$(VSCODE_ARCH)
|
APP_ROOT=$(agent.builddirectory)/VSCode-linux-$(VSCODE_ARCH)
|
||||||
APP_NAME=$(node -p "require(\"$APP_ROOT/resources/app/product.json\").applicationName")
|
APP_NAME=$(node -p "require(\"$APP_ROOT/resources/app/product.json\").applicationName")
|
||||||
INTEGRATION_TEST_ELECTRON_PATH="$APP_ROOT/$APP_NAME" \
|
INTEGRATION_TEST_ELECTRON_PATH="$APP_ROOT/$APP_NAME" \
|
||||||
VSCODE_REMOTE_SERVER_PATH="$(agent.builddirectory)/vscode-reh-linux-$(VSCODE_ARCH)" \
|
VSCODE_REMOTE_SERVER_PATH="$(agent.builddirectory)/vscode-reh-linux-$(VSCODE_ARCH)" \
|
||||||
DISPLAY=:10 ./scripts/test-integration.sh --build --tfs "Integration Tests"
|
DISPLAY=:10 ./scripts/test-integration.sh --build --tfs "Integration Tests"
|
||||||
displayName: Run integration tests (Electron)
|
displayName: Run integration tests (Electron)
|
||||||
condition: and(succeeded(), eq(variables['VSCODE_ARCH'], 'x64'), eq(variables['VSCODE_STEP_ON_IT'], 'false'))
|
condition: and(succeeded(), eq(variables['VSCODE_ARCH'], 'x64'), eq(variables['VSCODE_STEP_ON_IT'], 'false'))
|
||||||
|
|
||||||
- script: |
|
- script: |
|
||||||
set -e
|
set -e
|
||||||
VSCODE_REMOTE_SERVER_PATH="$(agent.builddirectory)/vscode-reh-web-linux-$(VSCODE_ARCH)" \
|
VSCODE_REMOTE_SERVER_PATH="$(agent.builddirectory)/vscode-reh-web-linux-$(VSCODE_ARCH)" \
|
||||||
DISPLAY=:10 ./resources/server/test/test-web-integration.sh --browser chromium
|
DISPLAY=:10 ./resources/server/test/test-web-integration.sh --browser chromium
|
||||||
displayName: Run integration tests (Browser)
|
displayName: Run integration tests (Browser)
|
||||||
condition: and(succeeded(), eq(variables['VSCODE_ARCH'], 'x64'), eq(variables['VSCODE_STEP_ON_IT'], 'false'))
|
condition: and(succeeded(), eq(variables['VSCODE_ARCH'], 'x64'), eq(variables['VSCODE_STEP_ON_IT'], 'false'))
|
||||||
|
|
||||||
- script: |
|
- script: |
|
||||||
set -e
|
set -e
|
||||||
APP_ROOT=$(agent.builddirectory)/VSCode-linux-$(VSCODE_ARCH)
|
APP_ROOT=$(agent.builddirectory)/VSCode-linux-$(VSCODE_ARCH)
|
||||||
APP_NAME=$(node -p "require(\"$APP_ROOT/resources/app/product.json\").applicationName")
|
APP_NAME=$(node -p "require(\"$APP_ROOT/resources/app/product.json\").applicationName")
|
||||||
INTEGRATION_TEST_ELECTRON_PATH="$APP_ROOT/$APP_NAME" \
|
INTEGRATION_TEST_ELECTRON_PATH="$APP_ROOT/$APP_NAME" \
|
||||||
VSCODE_REMOTE_SERVER_PATH="$(agent.builddirectory)/vscode-reh-linux-$(VSCODE_ARCH)" \
|
VSCODE_REMOTE_SERVER_PATH="$(agent.builddirectory)/vscode-reh-linux-$(VSCODE_ARCH)" \
|
||||||
DISPLAY=:10 ./resources/server/test/test-remote-integration.sh
|
DISPLAY=:10 ./resources/server/test/test-remote-integration.sh
|
||||||
displayName: Run remote integration tests (Electron)
|
displayName: Run remote integration tests (Electron)
|
||||||
condition: and(succeeded(), eq(variables['VSCODE_ARCH'], 'x64'), eq(variables['VSCODE_STEP_ON_IT'], 'false'))
|
condition: and(succeeded(), eq(variables['VSCODE_ARCH'], 'x64'), eq(variables['VSCODE_STEP_ON_IT'], 'false'))
|
||||||
|
|
||||||
- task: PublishPipelineArtifact@0
|
- task: PublishPipelineArtifact@0
|
||||||
inputs:
|
inputs:
|
||||||
artifactName: 'crash-dump-linux-$(VSCODE_ARCH)'
|
artifactName: "crash-dump-linux-$(VSCODE_ARCH)"
|
||||||
targetPath: .build/crashes
|
targetPath: .build/crashes
|
||||||
displayName: 'Publish Crash Reports'
|
displayName: "Publish Crash Reports"
|
||||||
continueOnError: true
|
continueOnError: true
|
||||||
condition: failed()
|
condition: failed()
|
||||||
|
|
||||||
- task: PublishTestResults@2
|
- task: PublishTestResults@2
|
||||||
displayName: Publish Tests Results
|
displayName: Publish Tests Results
|
||||||
inputs:
|
inputs:
|
||||||
testResultsFiles: '*-results.xml'
|
testResultsFiles: "*-results.xml"
|
||||||
searchFolder: '$(Build.ArtifactStagingDirectory)/test-results'
|
searchFolder: "$(Build.ArtifactStagingDirectory)/test-results"
|
||||||
condition: and(succeededOrFailed(), eq(variables['VSCODE_ARCH'], 'x64'), eq(variables['VSCODE_STEP_ON_IT'], 'false'))
|
condition: and(succeededOrFailed(), eq(variables['VSCODE_ARCH'], 'x64'), eq(variables['VSCODE_STEP_ON_IT'], 'false'))
|
||||||
|
|
||||||
- script: |
|
- script: |
|
||||||
set -e
|
set -e
|
||||||
yarn gulp "vscode-linux-$(VSCODE_ARCH)-build-deb"
|
yarn gulp "vscode-linux-$(VSCODE_ARCH)-build-deb"
|
||||||
yarn gulp "vscode-linux-$(VSCODE_ARCH)-build-rpm"
|
yarn gulp "vscode-linux-$(VSCODE_ARCH)-build-rpm"
|
||||||
displayName: Build deb, rpm packages
|
displayName: Build deb, rpm packages
|
||||||
|
|
||||||
- script: |
|
- script: |
|
||||||
set -e
|
set -e
|
||||||
yarn gulp "vscode-linux-$(VSCODE_ARCH)-prepare-snap"
|
yarn gulp "vscode-linux-$(VSCODE_ARCH)-prepare-snap"
|
||||||
displayName: Prepare snap package
|
displayName: Prepare snap package
|
||||||
condition: and(succeeded(), eq(variables['VSCODE_ARCH'], 'x64'))
|
condition: and(succeeded(), eq(variables['VSCODE_ARCH'], 'x64'))
|
||||||
|
|
||||||
# needed for code signing
|
# needed for code signing
|
||||||
- task: UseDotNet@2
|
- task: UseDotNet@2
|
||||||
displayName: 'Install .NET Core SDK 2.x'
|
displayName: "Install .NET Core SDK 2.x"
|
||||||
inputs:
|
inputs:
|
||||||
version: 2.x
|
version: 2.x
|
||||||
|
|
||||||
- task: SFP.build-tasks.custom-build-task-1.EsrpCodeSigning@1
|
- task: SFP.build-tasks.custom-build-task-1.EsrpCodeSigning@1
|
||||||
inputs:
|
inputs:
|
||||||
ConnectedServiceName: 'ESRP CodeSign'
|
ConnectedServiceName: "ESRP CodeSign"
|
||||||
FolderPath: '.build/linux/rpm'
|
FolderPath: ".build/linux/rpm"
|
||||||
Pattern: '*.rpm'
|
Pattern: "*.rpm"
|
||||||
signConfigType: inlineSignParams
|
signConfigType: inlineSignParams
|
||||||
inlineOperation: |
|
inlineOperation: |
|
||||||
[
|
[
|
||||||
{
|
{
|
||||||
"keyCode": "CP-450779-Pgp",
|
"keyCode": "CP-450779-Pgp",
|
||||||
"operationSetCode": "LinuxSign",
|
"operationSetCode": "LinuxSign",
|
||||||
"parameters": [ ],
|
"parameters": [ ],
|
||||||
"toolName": "sign",
|
"toolName": "sign",
|
||||||
"toolVersion": "1.0"
|
"toolVersion": "1.0"
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
SessionTimeout: 120
|
SessionTimeout: 120
|
||||||
displayName: Codesign rpm
|
displayName: Codesign rpm
|
||||||
|
|
||||||
- script: |
|
- script: |
|
||||||
set -e
|
set -e
|
||||||
AZURE_DOCUMENTDB_MASTERKEY="$(builds-docdb-key-readwrite)" \
|
AZURE_DOCUMENTDB_MASTERKEY="$(builds-docdb-key-readwrite)" \
|
||||||
AZURE_STORAGE_ACCESS_KEY_2="$(vscode-storage-key)" \
|
AZURE_STORAGE_ACCESS_KEY_2="$(vscode-storage-key)" \
|
||||||
VSCODE_MIXIN_PASSWORD="$(github-distro-mixin-password)" \
|
VSCODE_MIXIN_PASSWORD="$(github-distro-mixin-password)" \
|
||||||
VSCODE_ARCH="$(VSCODE_ARCH)" \
|
VSCODE_ARCH="$(VSCODE_ARCH)" \
|
||||||
./build/azure-pipelines/linux/publish.sh
|
./build/azure-pipelines/linux/publish.sh
|
||||||
displayName: Publish
|
displayName: Publish
|
||||||
|
|
||||||
- task: PublishPipelineArtifact@0
|
- task: PublishPipelineArtifact@0
|
||||||
displayName: 'Publish Pipeline Artifact'
|
displayName: "Publish Pipeline Artifact"
|
||||||
inputs:
|
inputs:
|
||||||
artifactName: 'snap-$(VSCODE_ARCH)'
|
artifactName: "snap-$(VSCODE_ARCH)"
|
||||||
targetPath: .build/linux/snap-tarball
|
targetPath: .build/linux/snap-tarball
|
||||||
condition: and(succeeded(), eq(variables['VSCODE_ARCH'], 'x64'))
|
condition: and(succeeded(), eq(variables['VSCODE_ARCH'], 'x64'))
|
||||||
|
|
||||||
- task: ms.vss-governance-buildtask.governance-build-task-component-detection.ComponentGovernanceComponentDetection@0
|
- task: ms.vss-governance-buildtask.governance-build-task-component-detection.ComponentGovernanceComponentDetection@0
|
||||||
displayName: 'Component Detection'
|
displayName: "Component Detection"
|
||||||
continueOnError: true
|
continueOnError: true
|
||||||
|
|
|
@ -2,180 +2,180 @@ trigger: none
|
||||||
pr: none
|
pr: none
|
||||||
|
|
||||||
schedules:
|
schedules:
|
||||||
- cron: "0 5 * * Mon-Fri"
|
- cron: "0 5 * * Mon-Fri"
|
||||||
displayName: Mon-Fri at 7:00
|
displayName: Mon-Fri at 7:00
|
||||||
branches:
|
branches:
|
||||||
include:
|
include:
|
||||||
- master
|
- master
|
||||||
|
|
||||||
resources:
|
resources:
|
||||||
containers:
|
containers:
|
||||||
- container: vscode-x64
|
- container: vscode-x64
|
||||||
image: vscodehub.azurecr.io/vscode-linux-build-agent:bionic
|
image: vscodehub.azurecr.io/vscode-linux-build-agent:bionic
|
||||||
endpoint: VSCodeHub
|
endpoint: VSCodeHub
|
||||||
options: --user 0:0
|
options: --user 0:0
|
||||||
- container: vscode-arm64
|
- container: vscode-arm64
|
||||||
image: vscodehub.azurecr.io/vscode-linux-build-agent:stretch-arm64
|
image: vscodehub.azurecr.io/vscode-linux-build-agent:stretch-arm64
|
||||||
endpoint: VSCodeHub
|
endpoint: VSCodeHub
|
||||||
- container: vscode-armhf
|
- container: vscode-armhf
|
||||||
image: vscodehub.azurecr.io/vscode-linux-build-agent:stretch-armhf
|
image: vscodehub.azurecr.io/vscode-linux-build-agent:stretch-armhf
|
||||||
endpoint: VSCodeHub
|
endpoint: VSCodeHub
|
||||||
- container: snapcraft
|
- container: snapcraft
|
||||||
image: snapcore/snapcraft:stable
|
image: snapcore/snapcraft:stable
|
||||||
|
|
||||||
stages:
|
stages:
|
||||||
- stage: Compile
|
- stage: Compile
|
||||||
jobs:
|
jobs:
|
||||||
- job: Compile
|
- job: Compile
|
||||||
pool:
|
pool:
|
||||||
vmImage: 'Ubuntu-18.04'
|
vmImage: "Ubuntu-18.04"
|
||||||
container: vscode-x64
|
container: vscode-x64
|
||||||
steps:
|
steps:
|
||||||
- template: product-compile.yml
|
- template: product-compile.yml
|
||||||
|
|
||||||
- stage: Windows
|
- stage: Windows
|
||||||
dependsOn:
|
|
||||||
- Compile
|
|
||||||
condition: and(succeeded(), eq(variables['VSCODE_COMPILE_ONLY'], 'false'))
|
|
||||||
pool:
|
|
||||||
vmImage: VS2017-Win2016
|
|
||||||
jobs:
|
|
||||||
- job: Windows
|
|
||||||
condition: and(succeeded(), eq(variables['VSCODE_BUILD_WIN32'], 'true'))
|
|
||||||
timeoutInMinutes: 90
|
|
||||||
variables:
|
|
||||||
VSCODE_ARCH: x64
|
|
||||||
steps:
|
|
||||||
- template: win32/product-build-win32.yml
|
|
||||||
|
|
||||||
- job: Windows32
|
|
||||||
condition: and(succeeded(), eq(variables['VSCODE_BUILD_WIN32_32BIT'], 'true'))
|
|
||||||
timeoutInMinutes: 90
|
|
||||||
variables:
|
|
||||||
VSCODE_ARCH: ia32
|
|
||||||
steps:
|
|
||||||
- template: win32/product-build-win32.yml
|
|
||||||
|
|
||||||
- job: WindowsARM64
|
|
||||||
condition: and(succeeded(), eq(variables['VSCODE_BUILD_WIN32_ARM64'], 'true'))
|
|
||||||
timeoutInMinutes: 90
|
|
||||||
variables:
|
|
||||||
VSCODE_ARCH: arm64
|
|
||||||
steps:
|
|
||||||
- template: win32/product-build-win32-arm64.yml
|
|
||||||
|
|
||||||
- stage: Linux
|
|
||||||
dependsOn:
|
|
||||||
- Compile
|
|
||||||
condition: and(succeeded(), eq(variables['VSCODE_COMPILE_ONLY'], 'false'))
|
|
||||||
pool:
|
|
||||||
vmImage: 'Ubuntu-18.04'
|
|
||||||
jobs:
|
|
||||||
- job: Linux
|
|
||||||
condition: and(succeeded(), eq(variables['VSCODE_BUILD_LINUX'], 'true'))
|
|
||||||
container: vscode-x64
|
|
||||||
variables:
|
|
||||||
VSCODE_ARCH: x64
|
|
||||||
NPM_ARCH: x64
|
|
||||||
steps:
|
|
||||||
- template: linux/product-build-linux.yml
|
|
||||||
|
|
||||||
- job: LinuxSnap
|
|
||||||
dependsOn:
|
dependsOn:
|
||||||
- Linux
|
- Compile
|
||||||
condition: and(succeeded(), eq(variables['VSCODE_BUILD_LINUX'], 'true'))
|
condition: and(succeeded(), eq(variables['VSCODE_COMPILE_ONLY'], 'false'))
|
||||||
container: snapcraft
|
pool:
|
||||||
variables:
|
vmImage: VS2017-Win2016
|
||||||
VSCODE_ARCH: x64
|
jobs:
|
||||||
steps:
|
- job: Windows
|
||||||
- template: linux/snap-build-linux.yml
|
condition: and(succeeded(), eq(variables['VSCODE_BUILD_WIN32'], 'true'))
|
||||||
|
timeoutInMinutes: 90
|
||||||
|
variables:
|
||||||
|
VSCODE_ARCH: x64
|
||||||
|
steps:
|
||||||
|
- template: win32/product-build-win32.yml
|
||||||
|
|
||||||
- job: LinuxArmhf
|
- job: Windows32
|
||||||
condition: and(succeeded(), eq(variables['VSCODE_BUILD_LINUX_ARMHF'], 'true'))
|
condition: and(succeeded(), eq(variables['VSCODE_BUILD_WIN32_32BIT'], 'true'))
|
||||||
container: vscode-armhf
|
timeoutInMinutes: 90
|
||||||
variables:
|
variables:
|
||||||
VSCODE_ARCH: armhf
|
VSCODE_ARCH: ia32
|
||||||
NPM_ARCH: armv7l
|
steps:
|
||||||
steps:
|
- template: win32/product-build-win32.yml
|
||||||
- template: linux/product-build-linux.yml
|
|
||||||
|
|
||||||
- job: LinuxArm64
|
- job: WindowsARM64
|
||||||
condition: and(succeeded(), eq(variables['VSCODE_BUILD_LINUX_ARM64'], 'true'))
|
condition: and(succeeded(), eq(variables['VSCODE_BUILD_WIN32_ARM64'], 'true'))
|
||||||
container: vscode-arm64
|
timeoutInMinutes: 90
|
||||||
variables:
|
variables:
|
||||||
VSCODE_ARCH: arm64
|
VSCODE_ARCH: arm64
|
||||||
NPM_ARCH: arm64
|
steps:
|
||||||
steps:
|
- template: win32/product-build-win32-arm64.yml
|
||||||
- template: linux/product-build-linux.yml
|
|
||||||
|
|
||||||
- job: LinuxAlpine
|
- stage: Linux
|
||||||
condition: and(succeeded(), eq(variables['VSCODE_BUILD_LINUX_ALPINE'], 'true'))
|
dependsOn:
|
||||||
steps:
|
- Compile
|
||||||
- template: linux/product-build-alpine.yml
|
condition: and(succeeded(), eq(variables['VSCODE_COMPILE_ONLY'], 'false'))
|
||||||
|
pool:
|
||||||
|
vmImage: "Ubuntu-18.04"
|
||||||
|
jobs:
|
||||||
|
- job: Linux
|
||||||
|
condition: and(succeeded(), eq(variables['VSCODE_BUILD_LINUX'], 'true'))
|
||||||
|
container: vscode-x64
|
||||||
|
variables:
|
||||||
|
VSCODE_ARCH: x64
|
||||||
|
NPM_ARCH: x64
|
||||||
|
steps:
|
||||||
|
- template: linux/product-build-linux.yml
|
||||||
|
|
||||||
- job: LinuxWeb
|
- job: LinuxSnap
|
||||||
condition: and(succeeded(), eq(variables['VSCODE_BUILD_WEB'], 'true'))
|
dependsOn:
|
||||||
variables:
|
- Linux
|
||||||
VSCODE_ARCH: x64
|
condition: and(succeeded(), eq(variables['VSCODE_BUILD_LINUX'], 'true'))
|
||||||
steps:
|
container: snapcraft
|
||||||
- template: web/product-build-web.yml
|
variables:
|
||||||
|
VSCODE_ARCH: x64
|
||||||
|
steps:
|
||||||
|
- template: linux/snap-build-linux.yml
|
||||||
|
|
||||||
- stage: macOS
|
- job: LinuxArmhf
|
||||||
dependsOn:
|
condition: and(succeeded(), eq(variables['VSCODE_BUILD_LINUX_ARMHF'], 'true'))
|
||||||
- Compile
|
container: vscode-armhf
|
||||||
condition: and(succeeded(), eq(variables['VSCODE_COMPILE_ONLY'], 'false'))
|
variables:
|
||||||
pool:
|
VSCODE_ARCH: armhf
|
||||||
vmImage: macOS-latest
|
NPM_ARCH: armv7l
|
||||||
jobs:
|
steps:
|
||||||
- job: macOS
|
- template: linux/product-build-linux.yml
|
||||||
condition: and(succeeded(), eq(variables['VSCODE_BUILD_MACOS'], 'true'))
|
|
||||||
timeoutInMinutes: 90
|
|
||||||
variables:
|
|
||||||
VSCODE_ARCH: x64
|
|
||||||
steps:
|
|
||||||
- template: darwin/product-build-darwin.yml
|
|
||||||
|
|
||||||
- stage: macOSARM64
|
- job: LinuxArm64
|
||||||
dependsOn:
|
condition: and(succeeded(), eq(variables['VSCODE_BUILD_LINUX_ARM64'], 'true'))
|
||||||
- Compile
|
container: vscode-arm64
|
||||||
condition: and(succeeded(), eq(variables['VSCODE_COMPILE_ONLY'], 'false'))
|
variables:
|
||||||
pool:
|
VSCODE_ARCH: arm64
|
||||||
vmImage: macOS-latest
|
NPM_ARCH: arm64
|
||||||
jobs:
|
steps:
|
||||||
- job: macOSARM64
|
- template: linux/product-build-linux.yml
|
||||||
condition: and(succeeded(), eq(variables['VSCODE_BUILD_MACOS_ARM64'], 'true'))
|
|
||||||
timeoutInMinutes: 90
|
|
||||||
variables:
|
|
||||||
VSCODE_ARCH: arm64
|
|
||||||
steps:
|
|
||||||
- template: darwin/product-build-darwin.yml
|
|
||||||
|
|
||||||
- stage: Mooncake
|
- job: LinuxAlpine
|
||||||
dependsOn:
|
condition: and(succeeded(), eq(variables['VSCODE_BUILD_LINUX_ALPINE'], 'true'))
|
||||||
- Windows
|
steps:
|
||||||
- Linux
|
- template: linux/product-build-alpine.yml
|
||||||
- macOS
|
|
||||||
- macOSARM64
|
|
||||||
condition: and(succeededOrFailed(), eq(variables['VSCODE_COMPILE_ONLY'], 'false'))
|
|
||||||
pool:
|
|
||||||
vmImage: 'Ubuntu-18.04'
|
|
||||||
jobs:
|
|
||||||
- job: SyncMooncake
|
|
||||||
displayName: Sync Mooncake
|
|
||||||
steps:
|
|
||||||
- template: sync-mooncake.yml
|
|
||||||
|
|
||||||
- stage: Publish
|
- job: LinuxWeb
|
||||||
dependsOn:
|
condition: and(succeeded(), eq(variables['VSCODE_BUILD_WEB'], 'true'))
|
||||||
- Windows
|
variables:
|
||||||
- Linux
|
VSCODE_ARCH: x64
|
||||||
- macOS
|
steps:
|
||||||
- macOSARM64
|
- template: web/product-build-web.yml
|
||||||
condition: and(succeeded(), eq(variables['VSCODE_COMPILE_ONLY'], 'false'), or(eq(variables['VSCODE_RELEASE'], 'true'), and(or(eq(variables['VSCODE_QUALITY'], 'insider'), eq(variables['VSCODE_QUALITY'], 'exploration')), eq(variables['Build.Reason'], 'Schedule'))))
|
|
||||||
pool:
|
- stage: macOS
|
||||||
vmImage: 'Ubuntu-18.04'
|
dependsOn:
|
||||||
jobs:
|
- Compile
|
||||||
- job: BuildService
|
condition: and(succeeded(), eq(variables['VSCODE_COMPILE_ONLY'], 'false'))
|
||||||
displayName: Build Service
|
pool:
|
||||||
steps:
|
vmImage: macOS-latest
|
||||||
- template: release.yml
|
jobs:
|
||||||
|
- job: macOS
|
||||||
|
condition: and(succeeded(), eq(variables['VSCODE_BUILD_MACOS'], 'true'))
|
||||||
|
timeoutInMinutes: 90
|
||||||
|
variables:
|
||||||
|
VSCODE_ARCH: x64
|
||||||
|
steps:
|
||||||
|
- template: darwin/product-build-darwin.yml
|
||||||
|
|
||||||
|
- stage: macOSARM64
|
||||||
|
dependsOn:
|
||||||
|
- Compile
|
||||||
|
condition: and(succeeded(), eq(variables['VSCODE_COMPILE_ONLY'], 'false'))
|
||||||
|
pool:
|
||||||
|
vmImage: macOS-latest
|
||||||
|
jobs:
|
||||||
|
- job: macOSARM64
|
||||||
|
condition: and(succeeded(), eq(variables['VSCODE_BUILD_MACOS_ARM64'], 'true'))
|
||||||
|
timeoutInMinutes: 90
|
||||||
|
variables:
|
||||||
|
VSCODE_ARCH: arm64
|
||||||
|
steps:
|
||||||
|
- template: darwin/product-build-darwin.yml
|
||||||
|
|
||||||
|
- stage: Mooncake
|
||||||
|
dependsOn:
|
||||||
|
- Windows
|
||||||
|
- Linux
|
||||||
|
- macOS
|
||||||
|
- macOSARM64
|
||||||
|
condition: and(succeededOrFailed(), eq(variables['VSCODE_COMPILE_ONLY'], 'false'))
|
||||||
|
pool:
|
||||||
|
vmImage: "Ubuntu-18.04"
|
||||||
|
jobs:
|
||||||
|
- job: SyncMooncake
|
||||||
|
displayName: Sync Mooncake
|
||||||
|
steps:
|
||||||
|
- template: sync-mooncake.yml
|
||||||
|
|
||||||
|
- stage: Publish
|
||||||
|
dependsOn:
|
||||||
|
- Windows
|
||||||
|
- Linux
|
||||||
|
- macOS
|
||||||
|
- macOSARM64
|
||||||
|
condition: and(succeeded(), eq(variables['VSCODE_COMPILE_ONLY'], 'false'), or(eq(variables['VSCODE_RELEASE'], 'true'), and(or(eq(variables['VSCODE_QUALITY'], 'insider'), eq(variables['VSCODE_QUALITY'], 'exploration')), eq(variables['Build.Reason'], 'Schedule'))))
|
||||||
|
pool:
|
||||||
|
vmImage: "Ubuntu-18.04"
|
||||||
|
jobs:
|
||||||
|
- job: BuildService
|
||||||
|
displayName: Build Service
|
||||||
|
steps:
|
||||||
|
- template: release.yml
|
||||||
|
|
|
@ -1,152 +1,152 @@
|
||||||
steps:
|
steps:
|
||||||
- script: |
|
- script: |
|
||||||
mkdir -p .build
|
mkdir -p .build
|
||||||
echo -n $BUILD_SOURCEVERSION > .build/commit
|
echo -n $BUILD_SOURCEVERSION > .build/commit
|
||||||
echo -n $VSCODE_QUALITY > .build/quality
|
echo -n $VSCODE_QUALITY > .build/quality
|
||||||
displayName: Prepare cache flag
|
displayName: Prepare cache flag
|
||||||
|
|
||||||
- task: 1ESLighthouseEng.PipelineArtifactCaching.RestoreCacheV1.RestoreCache@1
|
- task: 1ESLighthouseEng.PipelineArtifactCaching.RestoreCacheV1.RestoreCache@1
|
||||||
inputs:
|
inputs:
|
||||||
keyfile: 'build/.cachesalt, .build/commit, .build/quality'
|
keyfile: "build/.cachesalt, .build/commit, .build/quality"
|
||||||
targetfolder: '.build, out-build, out-vscode-min, out-vscode-reh-min, out-vscode-reh-web-min'
|
targetfolder: ".build, out-build, out-vscode-min, out-vscode-reh-min, out-vscode-reh-web-min"
|
||||||
vstsFeed: 'npm-vscode'
|
vstsFeed: "npm-vscode"
|
||||||
platformIndependent: true
|
platformIndependent: true
|
||||||
alias: 'Compilation'
|
alias: "Compilation"
|
||||||
dryRun: true
|
dryRun: true
|
||||||
|
|
||||||
- task: NodeTool@0
|
- task: NodeTool@0
|
||||||
inputs:
|
inputs:
|
||||||
versionSpec: "12.18.3"
|
versionSpec: "12.18.3"
|
||||||
condition: and(succeeded(), ne(variables['CacheExists-Compilation'], 'true'))
|
condition: and(succeeded(), ne(variables['CacheExists-Compilation'], 'true'))
|
||||||
|
|
||||||
- task: geeklearningio.gl-vsts-tasks-yarn.yarn-installer-task.YarnInstaller@2
|
- task: geeklearningio.gl-vsts-tasks-yarn.yarn-installer-task.YarnInstaller@2
|
||||||
inputs:
|
inputs:
|
||||||
versionSpec: "1.x"
|
versionSpec: "1.x"
|
||||||
condition: and(succeeded(), ne(variables['CacheExists-Compilation'], 'true'))
|
condition: and(succeeded(), ne(variables['CacheExists-Compilation'], 'true'))
|
||||||
|
|
||||||
- task: AzureKeyVault@1
|
- task: AzureKeyVault@1
|
||||||
displayName: 'Azure Key Vault: Get Secrets'
|
displayName: "Azure Key Vault: Get Secrets"
|
||||||
inputs:
|
inputs:
|
||||||
azureSubscription: 'vscode-builds-subscription'
|
azureSubscription: "vscode-builds-subscription"
|
||||||
KeyVaultName: vscode
|
KeyVaultName: vscode
|
||||||
condition: and(succeeded(), ne(variables['CacheExists-Compilation'], 'true'))
|
condition: and(succeeded(), ne(variables['CacheExists-Compilation'], 'true'))
|
||||||
|
|
||||||
- script: |
|
- script: |
|
||||||
set -e
|
set -e
|
||||||
cat << EOF > ~/.netrc
|
cat << EOF > ~/.netrc
|
||||||
machine github.com
|
machine github.com
|
||||||
login vscode
|
login vscode
|
||||||
password $(github-distro-mixin-password)
|
password $(github-distro-mixin-password)
|
||||||
EOF
|
EOF
|
||||||
|
|
||||||
git config user.email "vscode@microsoft.com"
|
git config user.email "vscode@microsoft.com"
|
||||||
git config user.name "VSCode"
|
git config user.name "VSCode"
|
||||||
displayName: Prepare tooling
|
displayName: Prepare tooling
|
||||||
condition: and(succeeded(), ne(variables['CacheExists-Compilation'], 'true'))
|
condition: and(succeeded(), ne(variables['CacheExists-Compilation'], 'true'))
|
||||||
|
|
||||||
- script: |
|
- script: |
|
||||||
set -e
|
set -e
|
||||||
git remote add distro "https://github.com/$(VSCODE_MIXIN_REPO).git"
|
git remote add distro "https://github.com/$(VSCODE_MIXIN_REPO).git"
|
||||||
git fetch distro
|
git fetch distro
|
||||||
git merge $(node -p "require('./package.json').distro")
|
git merge $(node -p "require('./package.json').distro")
|
||||||
displayName: Merge distro
|
displayName: Merge distro
|
||||||
condition: and(succeeded(), ne(variables['CacheExists-Compilation'], 'true'))
|
condition: and(succeeded(), ne(variables['CacheExists-Compilation'], 'true'))
|
||||||
|
|
||||||
- script: |
|
- script: |
|
||||||
npx https://aka.ms/enablesecurefeed standAlone
|
npx https://aka.ms/enablesecurefeed standAlone
|
||||||
displayName: Switch to Terrapin packages
|
displayName: Switch to Terrapin packages
|
||||||
condition: and(succeeded(), ne(variables['CacheExists-Compilation'], 'true'))
|
condition: and(succeeded(), ne(variables['CacheExists-Compilation'], 'true'))
|
||||||
|
|
||||||
- script: |
|
- script: |
|
||||||
echo -n $VSCODE_ARCH > .build/arch
|
echo -n $VSCODE_ARCH > .build/arch
|
||||||
displayName: Prepare arch cache flag
|
displayName: Prepare arch cache flag
|
||||||
condition: and(succeeded(), ne(variables['CacheExists-Compilation'], 'true'))
|
condition: and(succeeded(), ne(variables['CacheExists-Compilation'], 'true'))
|
||||||
|
|
||||||
- task: 1ESLighthouseEng.PipelineArtifactCaching.RestoreCacheV1.RestoreCache@1
|
- task: 1ESLighthouseEng.PipelineArtifactCaching.RestoreCacheV1.RestoreCache@1
|
||||||
inputs:
|
inputs:
|
||||||
keyfile: '.build/arch, build/.cachesalt, .yarnrc, remote/.yarnrc, **/yarn.lock, !**/node_modules/**/yarn.lock, !**/.*/**/yarn.lock'
|
keyfile: ".build/arch, build/.cachesalt, .yarnrc, remote/.yarnrc, **/yarn.lock, !**/node_modules/**/yarn.lock, !**/.*/**/yarn.lock"
|
||||||
targetfolder: '**/node_modules, !**/node_modules/**/node_modules'
|
targetfolder: "**/node_modules, !**/node_modules/**/node_modules"
|
||||||
vstsFeed: 'npm-vscode'
|
vstsFeed: "npm-vscode"
|
||||||
condition: and(succeeded(), ne(variables['CacheExists-Compilation'], 'true'))
|
condition: and(succeeded(), ne(variables['CacheExists-Compilation'], 'true'))
|
||||||
|
|
||||||
- script: |
|
- script: |
|
||||||
set -e
|
set -e
|
||||||
CHILD_CONCURRENCY=1 yarn --frozen-lockfile
|
CHILD_CONCURRENCY=1 yarn --frozen-lockfile
|
||||||
displayName: Install dependencies
|
displayName: Install dependencies
|
||||||
condition: and(succeeded(), ne(variables['CacheExists-Compilation'], 'true'), ne(variables['CacheRestored'], 'true'))
|
condition: and(succeeded(), ne(variables['CacheExists-Compilation'], 'true'), ne(variables['CacheRestored'], 'true'))
|
||||||
|
|
||||||
- task: 1ESLighthouseEng.PipelineArtifactCaching.SaveCacheV1.SaveCache@1
|
- task: 1ESLighthouseEng.PipelineArtifactCaching.SaveCacheV1.SaveCache@1
|
||||||
inputs:
|
inputs:
|
||||||
keyfile: '.build/arch, build/.cachesalt, .yarnrc, remote/.yarnrc, **/yarn.lock, !**/node_modules/**/yarn.lock, !**/.*/**/yarn.lock'
|
keyfile: ".build/arch, build/.cachesalt, .yarnrc, remote/.yarnrc, **/yarn.lock, !**/node_modules/**/yarn.lock, !**/.*/**/yarn.lock"
|
||||||
targetfolder: '**/node_modules, !**/node_modules/**/node_modules'
|
targetfolder: "**/node_modules, !**/node_modules/**/node_modules"
|
||||||
vstsFeed: 'npm-vscode'
|
vstsFeed: "npm-vscode"
|
||||||
condition: and(succeeded(), ne(variables['CacheExists-Compilation'], 'true'), ne(variables['CacheRestored'], 'true'))
|
condition: and(succeeded(), ne(variables['CacheExists-Compilation'], 'true'), ne(variables['CacheRestored'], 'true'))
|
||||||
|
|
||||||
- script: |
|
- script: |
|
||||||
set -e
|
set -e
|
||||||
yarn postinstall
|
yarn postinstall
|
||||||
displayName: Run postinstall scripts
|
displayName: Run postinstall scripts
|
||||||
condition: and(succeeded(), ne(variables['CacheExists-Compilation'], 'true'), eq(variables['CacheRestored'], 'true'))
|
condition: and(succeeded(), ne(variables['CacheExists-Compilation'], 'true'), eq(variables['CacheRestored'], 'true'))
|
||||||
|
|
||||||
# Mixin must run before optimize, because the CSS loader will
|
# Mixin must run before optimize, because the CSS loader will
|
||||||
# inline small SVGs
|
# inline small SVGs
|
||||||
- script: |
|
- script: |
|
||||||
set -e
|
set -e
|
||||||
node build/azure-pipelines/mixin
|
node build/azure-pipelines/mixin
|
||||||
displayName: Mix in quality
|
displayName: Mix in quality
|
||||||
condition: and(succeeded(), ne(variables['CacheExists-Compilation'], 'true'))
|
condition: and(succeeded(), ne(variables['CacheExists-Compilation'], 'true'))
|
||||||
|
|
||||||
- script: |
|
- script: |
|
||||||
set -e
|
set -e
|
||||||
yarn gulp hygiene
|
yarn gulp hygiene
|
||||||
yarn monaco-compile-check
|
yarn monaco-compile-check
|
||||||
yarn valid-layers-check
|
yarn valid-layers-check
|
||||||
displayName: Run hygiene, monaco compile & valid layers checks
|
displayName: Run hygiene, monaco compile & valid layers checks
|
||||||
condition: and(succeeded(), ne(variables['CacheExists-Compilation'], 'true'), eq(variables['VSCODE_STEP_ON_IT'], 'false'))
|
condition: and(succeeded(), ne(variables['CacheExists-Compilation'], 'true'), eq(variables['VSCODE_STEP_ON_IT'], 'false'))
|
||||||
|
|
||||||
- script: |
|
- script: |
|
||||||
set -
|
set -
|
||||||
./build/azure-pipelines/common/extract-telemetry.sh
|
./build/azure-pipelines/common/extract-telemetry.sh
|
||||||
displayName: Extract Telemetry
|
displayName: Extract Telemetry
|
||||||
condition: and(succeeded(), ne(variables['CacheExists-Compilation'], 'true'))
|
condition: and(succeeded(), ne(variables['CacheExists-Compilation'], 'true'))
|
||||||
|
|
||||||
- script: |
|
- script: |
|
||||||
set -e
|
set -e
|
||||||
AZURE_WEBVIEW_STORAGE_ACCESS_KEY="$(vscode-webview-storage-key)" \
|
AZURE_WEBVIEW_STORAGE_ACCESS_KEY="$(vscode-webview-storage-key)" \
|
||||||
./build/azure-pipelines/common/publish-webview.sh
|
./build/azure-pipelines/common/publish-webview.sh
|
||||||
displayName: Publish Webview
|
displayName: Publish Webview
|
||||||
condition: and(succeeded(), ne(variables['CacheExists-Compilation'], 'true'))
|
condition: and(succeeded(), ne(variables['CacheExists-Compilation'], 'true'))
|
||||||
|
|
||||||
- script: |
|
- script: |
|
||||||
set -e
|
set -e
|
||||||
yarn gulp compile-build
|
yarn gulp compile-build
|
||||||
yarn gulp compile-extensions-build
|
yarn gulp compile-extensions-build
|
||||||
yarn gulp minify-vscode
|
yarn gulp minify-vscode
|
||||||
yarn gulp minify-vscode-reh
|
yarn gulp minify-vscode-reh
|
||||||
yarn gulp minify-vscode-reh-web
|
yarn gulp minify-vscode-reh-web
|
||||||
displayName: Compile
|
displayName: Compile
|
||||||
condition: and(succeeded(), ne(variables['CacheExists-Compilation'], 'true'))
|
condition: and(succeeded(), ne(variables['CacheExists-Compilation'], 'true'))
|
||||||
|
|
||||||
- script: |
|
- script: |
|
||||||
set -e
|
set -e
|
||||||
AZURE_STORAGE_ACCESS_KEY="$(ticino-storage-key)" \
|
AZURE_STORAGE_ACCESS_KEY="$(ticino-storage-key)" \
|
||||||
node build/azure-pipelines/upload-sourcemaps
|
node build/azure-pipelines/upload-sourcemaps
|
||||||
displayName: Upload sourcemaps
|
displayName: Upload sourcemaps
|
||||||
condition: and(succeeded(), ne(variables['CacheExists-Compilation'], 'true'))
|
condition: and(succeeded(), ne(variables['CacheExists-Compilation'], 'true'))
|
||||||
|
|
||||||
- script: |
|
- script: |
|
||||||
set -e
|
set -e
|
||||||
VERSION=`node -p "require(\"./package.json\").version"`
|
VERSION=`node -p "require(\"./package.json\").version"`
|
||||||
AZURE_DOCUMENTDB_MASTERKEY="$(builds-docdb-key-readwrite)" \
|
AZURE_DOCUMENTDB_MASTERKEY="$(builds-docdb-key-readwrite)" \
|
||||||
node build/azure-pipelines/common/createBuild.js $VERSION
|
node build/azure-pipelines/common/createBuild.js $VERSION
|
||||||
displayName: Create build
|
displayName: Create build
|
||||||
condition: and(succeeded(), ne(variables['CacheExists-Compilation'], 'true'))
|
condition: and(succeeded(), ne(variables['CacheExists-Compilation'], 'true'))
|
||||||
|
|
||||||
- task: 1ESLighthouseEng.PipelineArtifactCaching.SaveCacheV1.SaveCache@1
|
- task: 1ESLighthouseEng.PipelineArtifactCaching.SaveCacheV1.SaveCache@1
|
||||||
inputs:
|
inputs:
|
||||||
keyfile: 'build/.cachesalt, .build/commit, .build/quality'
|
keyfile: "build/.cachesalt, .build/commit, .build/quality"
|
||||||
targetfolder: '.build, out-build, out-vscode-min, out-vscode-reh-min, out-vscode-reh-web-min'
|
targetfolder: ".build, out-build, out-vscode-min, out-vscode-reh-min, out-vscode-reh-web-min"
|
||||||
vstsFeed: 'npm-vscode'
|
vstsFeed: "npm-vscode"
|
||||||
platformIndependent: true
|
platformIndependent: true
|
||||||
alias: 'Compilation'
|
alias: "Compilation"
|
||||||
condition: and(succeeded(), ne(variables['CacheExists-Compilation'], 'true'))
|
condition: and(succeeded(), ne(variables['CacheExists-Compilation'], 'true'))
|
||||||
|
|
|
@ -2,82 +2,82 @@
|
||||||
|
|
||||||
trigger:
|
trigger:
|
||||||
branches:
|
branches:
|
||||||
include: ['refs/tags/*']
|
include: ["refs/tags/*"]
|
||||||
|
|
||||||
pr: none
|
pr: none
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- task: NodeTool@0
|
- task: NodeTool@0
|
||||||
inputs:
|
inputs:
|
||||||
versionSpec: "12.18.3"
|
versionSpec: "12.18.3"
|
||||||
|
|
||||||
- task: geeklearningio.gl-vsts-tasks-yarn.yarn-installer-task.YarnInstaller@2
|
- task: geeklearningio.gl-vsts-tasks-yarn.yarn-installer-task.YarnInstaller@2
|
||||||
inputs:
|
inputs:
|
||||||
versionSpec: "1.x"
|
versionSpec: "1.x"
|
||||||
|
|
||||||
- bash: |
|
- bash: |
|
||||||
TAG_VERSION=$(git describe --tags `git rev-list --tags --max-count=1`)
|
TAG_VERSION=$(git describe --tags `git rev-list --tags --max-count=1`)
|
||||||
CHANNEL="G1C14HJ2F"
|
CHANNEL="G1C14HJ2F"
|
||||||
|
|
||||||
if [ "$TAG_VERSION" == "1.999.0" ]; then
|
if [ "$TAG_VERSION" == "1.999.0" ]; then
|
||||||
MESSAGE="<!here>. Someone pushed 1.999.0 tag. Please delete it ASAP from remote and local."
|
MESSAGE="<!here>. Someone pushed 1.999.0 tag. Please delete it ASAP from remote and local."
|
||||||
|
|
||||||
|
curl -X POST -H "Authorization: Bearer $(SLACK_TOKEN)" \
|
||||||
|
-H 'Content-type: application/json; charset=utf-8' \
|
||||||
|
--data '{"channel":"'"$CHANNEL"'", "link_names": true, "text":"'"$MESSAGE"'"}' \
|
||||||
|
https://slack.com/api/chat.postMessage
|
||||||
|
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
displayName: Check 1.999.0 tag
|
||||||
|
|
||||||
|
- bash: |
|
||||||
|
# Install build dependencies
|
||||||
|
(cd build && yarn)
|
||||||
|
node build/azure-pipelines/publish-types/check-version.js
|
||||||
|
displayName: Check version
|
||||||
|
|
||||||
|
- bash: |
|
||||||
|
git config --global user.email "vscode@microsoft.com"
|
||||||
|
git config --global user.name "VSCode"
|
||||||
|
|
||||||
|
git clone https://$(GITHUB_TOKEN)@github.com/DefinitelyTyped/DefinitelyTyped.git --depth=1
|
||||||
|
node build/azure-pipelines/publish-types/update-types.js
|
||||||
|
|
||||||
|
TAG_VERSION=$(git describe --tags `git rev-list --tags --max-count=1`)
|
||||||
|
|
||||||
|
cd DefinitelyTyped
|
||||||
|
|
||||||
|
git diff --color | cat
|
||||||
|
git add -A
|
||||||
|
git status
|
||||||
|
git checkout -b "vscode-types-$TAG_VERSION"
|
||||||
|
git commit -m "VS Code $TAG_VERSION Extension API"
|
||||||
|
git push origin "vscode-types-$TAG_VERSION"
|
||||||
|
|
||||||
|
displayName: Push update to DefinitelyTyped
|
||||||
|
|
||||||
|
- bash: |
|
||||||
|
TAG_VERSION=$(git describe --tags `git rev-list --tags --max-count=1`)
|
||||||
|
CHANNEL="G1C14HJ2F"
|
||||||
|
|
||||||
|
MESSAGE="DefinitelyTyped/DefinitelyTyped#vscode-types-$TAG_VERSION created. Endgame master, please open this link, examine changes and create a PR:"
|
||||||
|
LINK="https://github.com/DefinitelyTyped/DefinitelyTyped/compare/vscode-types-$TAG_VERSION?quick_pull=1&body=Updating%20VS%20Code%20Extension%20API.%20See%20https%3A%2F%2Fgithub.com%2Fmicrosoft%2Fvscode%2Fissues%2F70175%20for%20details."
|
||||||
|
MESSAGE2="[@eamodio, @jrieken, @kmaetzel, @egamma]. Please review and merge PR to publish @types/vscode."
|
||||||
|
|
||||||
curl -X POST -H "Authorization: Bearer $(SLACK_TOKEN)" \
|
curl -X POST -H "Authorization: Bearer $(SLACK_TOKEN)" \
|
||||||
-H 'Content-type: application/json; charset=utf-8' \
|
-H 'Content-type: application/json; charset=utf-8' \
|
||||||
--data '{"channel":"'"$CHANNEL"'", "link_names": true, "text":"'"$MESSAGE"'"}' \
|
--data '{"channel":"'"$CHANNEL"'", "link_names": true, "text":"'"$MESSAGE"'"}' \
|
||||||
https://slack.com/api/chat.postMessage
|
https://slack.com/api/chat.postMessage
|
||||||
|
|
||||||
exit 1
|
curl -X POST -H "Authorization: Bearer $(SLACK_TOKEN)" \
|
||||||
fi
|
-H 'Content-type: application/json; charset=utf-8' \
|
||||||
displayName: Check 1.999.0 tag
|
--data '{"channel":"'"$CHANNEL"'", "link_names": true, "text":"'"$LINK"'"}' \
|
||||||
|
https://slack.com/api/chat.postMessage
|
||||||
|
|
||||||
- bash: |
|
curl -X POST -H "Authorization: Bearer $(SLACK_TOKEN)" \
|
||||||
# Install build dependencies
|
-H 'Content-type: application/json; charset=utf-8' \
|
||||||
(cd build && yarn)
|
--data '{"channel":"'"$CHANNEL"'", "link_names": true, "text":"'"$MESSAGE2"'"}' \
|
||||||
node build/azure-pipelines/publish-types/check-version.js
|
https://slack.com/api/chat.postMessage
|
||||||
displayName: Check version
|
|
||||||
|
|
||||||
- bash: |
|
displayName: Send message on Slack
|
||||||
git config --global user.email "vscode@microsoft.com"
|
|
||||||
git config --global user.name "VSCode"
|
|
||||||
|
|
||||||
git clone https://$(GITHUB_TOKEN)@github.com/DefinitelyTyped/DefinitelyTyped.git --depth=1
|
|
||||||
node build/azure-pipelines/publish-types/update-types.js
|
|
||||||
|
|
||||||
TAG_VERSION=$(git describe --tags `git rev-list --tags --max-count=1`)
|
|
||||||
|
|
||||||
cd DefinitelyTyped
|
|
||||||
|
|
||||||
git diff --color | cat
|
|
||||||
git add -A
|
|
||||||
git status
|
|
||||||
git checkout -b "vscode-types-$TAG_VERSION"
|
|
||||||
git commit -m "VS Code $TAG_VERSION Extension API"
|
|
||||||
git push origin "vscode-types-$TAG_VERSION"
|
|
||||||
|
|
||||||
displayName: Push update to DefinitelyTyped
|
|
||||||
|
|
||||||
- bash: |
|
|
||||||
TAG_VERSION=$(git describe --tags `git rev-list --tags --max-count=1`)
|
|
||||||
CHANNEL="G1C14HJ2F"
|
|
||||||
|
|
||||||
MESSAGE="DefinitelyTyped/DefinitelyTyped#vscode-types-$TAG_VERSION created. Endgame master, please open this link, examine changes and create a PR:"
|
|
||||||
LINK="https://github.com/DefinitelyTyped/DefinitelyTyped/compare/vscode-types-$TAG_VERSION?quick_pull=1&body=Updating%20VS%20Code%20Extension%20API.%20See%20https%3A%2F%2Fgithub.com%2Fmicrosoft%2Fvscode%2Fissues%2F70175%20for%20details."
|
|
||||||
MESSAGE2="[@eamodio, @jrieken, @kmaetzel, @egamma]. Please review and merge PR to publish @types/vscode."
|
|
||||||
|
|
||||||
curl -X POST -H "Authorization: Bearer $(SLACK_TOKEN)" \
|
|
||||||
-H 'Content-type: application/json; charset=utf-8' \
|
|
||||||
--data '{"channel":"'"$CHANNEL"'", "link_names": true, "text":"'"$MESSAGE"'"}' \
|
|
||||||
https://slack.com/api/chat.postMessage
|
|
||||||
|
|
||||||
curl -X POST -H "Authorization: Bearer $(SLACK_TOKEN)" \
|
|
||||||
-H 'Content-type: application/json; charset=utf-8' \
|
|
||||||
--data '{"channel":"'"$CHANNEL"'", "link_names": true, "text":"'"$LINK"'"}' \
|
|
||||||
https://slack.com/api/chat.postMessage
|
|
||||||
|
|
||||||
curl -X POST -H "Authorization: Bearer $(SLACK_TOKEN)" \
|
|
||||||
-H 'Content-type: application/json; charset=utf-8' \
|
|
||||||
--data '{"channel":"'"$CHANNEL"'", "link_names": true, "text":"'"$MESSAGE2"'"}' \
|
|
||||||
https://slack.com/api/chat.postMessage
|
|
||||||
|
|
||||||
displayName: Send message on Slack
|
|
||||||
|
|
|
@ -1,22 +1,22 @@
|
||||||
steps:
|
steps:
|
||||||
- task: NodeTool@0
|
- task: NodeTool@0
|
||||||
inputs:
|
inputs:
|
||||||
versionSpec: "10.x"
|
versionSpec: "10.x"
|
||||||
|
|
||||||
- task: geeklearningio.gl-vsts-tasks-yarn.yarn-installer-task.YarnInstaller@2
|
- task: geeklearningio.gl-vsts-tasks-yarn.yarn-installer-task.YarnInstaller@2
|
||||||
inputs:
|
inputs:
|
||||||
versionSpec: "1.x"
|
versionSpec: "1.x"
|
||||||
|
|
||||||
- task: AzureKeyVault@1
|
- task: AzureKeyVault@1
|
||||||
displayName: 'Azure Key Vault: Get Secrets'
|
displayName: "Azure Key Vault: Get Secrets"
|
||||||
inputs:
|
inputs:
|
||||||
azureSubscription: 'vscode-builds-subscription'
|
azureSubscription: "vscode-builds-subscription"
|
||||||
KeyVaultName: vscode
|
KeyVaultName: vscode
|
||||||
|
|
||||||
- script: |
|
- script: |
|
||||||
set -e
|
set -e
|
||||||
|
|
||||||
(cd build ; yarn)
|
(cd build ; yarn)
|
||||||
|
|
||||||
AZURE_DOCUMENTDB_MASTERKEY="$(builds-docdb-key-readwrite)" \
|
AZURE_DOCUMENTDB_MASTERKEY="$(builds-docdb-key-readwrite)" \
|
||||||
node build/azure-pipelines/common/releaseBuild.js
|
node build/azure-pipelines/common/releaseBuild.js
|
||||||
|
|
|
@ -1,24 +1,24 @@
|
||||||
steps:
|
steps:
|
||||||
- task: NodeTool@0
|
- task: NodeTool@0
|
||||||
inputs:
|
inputs:
|
||||||
versionSpec: "12.18.3"
|
versionSpec: "12.18.3"
|
||||||
|
|
||||||
- task: geeklearningio.gl-vsts-tasks-yarn.yarn-installer-task.YarnInstaller@2
|
- task: geeklearningio.gl-vsts-tasks-yarn.yarn-installer-task.YarnInstaller@2
|
||||||
inputs:
|
inputs:
|
||||||
versionSpec: "1.x"
|
versionSpec: "1.x"
|
||||||
|
|
||||||
- task: AzureKeyVault@1
|
- task: AzureKeyVault@1
|
||||||
displayName: 'Azure Key Vault: Get Secrets'
|
displayName: "Azure Key Vault: Get Secrets"
|
||||||
inputs:
|
inputs:
|
||||||
azureSubscription: 'vscode-builds-subscription'
|
azureSubscription: "vscode-builds-subscription"
|
||||||
KeyVaultName: vscode
|
KeyVaultName: vscode
|
||||||
|
|
||||||
- script: |
|
- script: |
|
||||||
set -e
|
set -e
|
||||||
|
|
||||||
(cd build ; yarn)
|
(cd build ; yarn)
|
||||||
|
|
||||||
AZURE_DOCUMENTDB_MASTERKEY="$(builds-docdb-key-readwrite)" \
|
AZURE_DOCUMENTDB_MASTERKEY="$(builds-docdb-key-readwrite)" \
|
||||||
AZURE_STORAGE_ACCESS_KEY_2="$(vscode-storage-key)" \
|
AZURE_STORAGE_ACCESS_KEY_2="$(vscode-storage-key)" \
|
||||||
MOONCAKE_STORAGE_ACCESS_KEY="$(vscode-mooncake-storage-key)" \
|
MOONCAKE_STORAGE_ACCESS_KEY="$(vscode-mooncake-storage-key)" \
|
||||||
node build/azure-pipelines/common/sync-mooncake.js "$VSCODE_QUALITY"
|
node build/azure-pipelines/common/sync-mooncake.js "$VSCODE_QUALITY"
|
||||||
|
|
|
@ -1,117 +1,116 @@
|
||||||
steps:
|
steps:
|
||||||
- script: |
|
- script: |
|
||||||
mkdir -p .build
|
mkdir -p .build
|
||||||
echo -n $BUILD_SOURCEVERSION > .build/commit
|
echo -n $BUILD_SOURCEVERSION > .build/commit
|
||||||
echo -n $VSCODE_QUALITY > .build/quality
|
echo -n $VSCODE_QUALITY > .build/quality
|
||||||
displayName: Prepare cache flag
|
displayName: Prepare cache flag
|
||||||
|
|
||||||
- task: 1ESLighthouseEng.PipelineArtifactCaching.RestoreCacheV1.RestoreCache@1
|
- task: 1ESLighthouseEng.PipelineArtifactCaching.RestoreCacheV1.RestoreCache@1
|
||||||
inputs:
|
inputs:
|
||||||
keyfile: 'build/.cachesalt, .build/commit, .build/quality'
|
keyfile: "build/.cachesalt, .build/commit, .build/quality"
|
||||||
targetfolder: '.build, out-build, out-vscode-min, out-vscode-reh-min, out-vscode-reh-web-min'
|
targetfolder: ".build, out-build, out-vscode-min, out-vscode-reh-min, out-vscode-reh-web-min"
|
||||||
vstsFeed: 'npm-vscode'
|
vstsFeed: "npm-vscode"
|
||||||
platformIndependent: true
|
platformIndependent: true
|
||||||
alias: 'Compilation'
|
alias: "Compilation"
|
||||||
|
|
||||||
- script: |
|
- script: |
|
||||||
set -e
|
set -e
|
||||||
exit 1
|
exit 1
|
||||||
displayName: Check RestoreCache
|
displayName: Check RestoreCache
|
||||||
condition: and(succeeded(), ne(variables['CacheRestored-Compilation'], 'true'))
|
condition: and(succeeded(), ne(variables['CacheRestored-Compilation'], 'true'))
|
||||||
|
|
||||||
- task: NodeTool@0
|
- task: NodeTool@0
|
||||||
inputs:
|
inputs:
|
||||||
versionSpec: "12.18.3"
|
versionSpec: "12.18.3"
|
||||||
|
|
||||||
- task: geeklearningio.gl-vsts-tasks-yarn.yarn-installer-task.YarnInstaller@2
|
- task: geeklearningio.gl-vsts-tasks-yarn.yarn-installer-task.YarnInstaller@2
|
||||||
inputs:
|
inputs:
|
||||||
versionSpec: "1.x"
|
versionSpec: "1.x"
|
||||||
|
|
||||||
- task: AzureKeyVault@1
|
- task: AzureKeyVault@1
|
||||||
displayName: 'Azure Key Vault: Get Secrets'
|
displayName: "Azure Key Vault: Get Secrets"
|
||||||
inputs:
|
inputs:
|
||||||
azureSubscription: 'vscode-builds-subscription'
|
azureSubscription: "vscode-builds-subscription"
|
||||||
KeyVaultName: vscode
|
KeyVaultName: vscode
|
||||||
|
|
||||||
- script: |
|
- script: |
|
||||||
set -e
|
set -e
|
||||||
cat << EOF > ~/.netrc
|
cat << EOF > ~/.netrc
|
||||||
machine github.com
|
machine github.com
|
||||||
login vscode
|
login vscode
|
||||||
password $(github-distro-mixin-password)
|
password $(github-distro-mixin-password)
|
||||||
EOF
|
EOF
|
||||||
|
|
||||||
git config user.email "vscode@microsoft.com"
|
git config user.email "vscode@microsoft.com"
|
||||||
git config user.name "VSCode"
|
git config user.name "VSCode"
|
||||||
displayName: Prepare tooling
|
displayName: Prepare tooling
|
||||||
|
|
||||||
- script: |
|
- script: |
|
||||||
set -e
|
set -e
|
||||||
git remote add distro "https://github.com/$(VSCODE_MIXIN_REPO).git"
|
git remote add distro "https://github.com/$(VSCODE_MIXIN_REPO).git"
|
||||||
git fetch distro
|
git fetch distro
|
||||||
git merge $(node -p "require('./package.json').distro")
|
git merge $(node -p "require('./package.json').distro")
|
||||||
displayName: Merge distro
|
displayName: Merge distro
|
||||||
|
|
||||||
- script: |
|
- script: |
|
||||||
npx https://aka.ms/enablesecurefeed standAlone
|
npx https://aka.ms/enablesecurefeed standAlone
|
||||||
displayName: Switch to Terrapin packages
|
displayName: Switch to Terrapin packages
|
||||||
|
|
||||||
# - task: 1ESLighthouseEng.PipelineArtifactCaching.RestoreCacheV1.RestoreCache@1
|
# - task: 1ESLighthouseEng.PipelineArtifactCaching.RestoreCacheV1.RestoreCache@1
|
||||||
# inputs:
|
# inputs:
|
||||||
# keyfile: 'build/.cachesalt, .yarnrc, remote/.yarnrc, **/yarn.lock, !**/node_modules/**/yarn.lock, !**/.*/**/yarn.lock'
|
# keyfile: 'build/.cachesalt, .yarnrc, remote/.yarnrc, **/yarn.lock, !**/node_modules/**/yarn.lock, !**/.*/**/yarn.lock'
|
||||||
# targetfolder: '**/node_modules, !**/node_modules/**/node_modules'
|
# targetfolder: '**/node_modules, !**/node_modules/**/node_modules'
|
||||||
# vstsFeed: 'npm-vscode'
|
# vstsFeed: 'npm-vscode'
|
||||||
|
- script: |
|
||||||
|
set -e
|
||||||
|
CHILD_CONCURRENCY=1 yarn --frozen-lockfile
|
||||||
|
displayName: Install dependencies
|
||||||
|
# condition: and(succeeded(), ne(variables['CacheRestored'], 'true'))
|
||||||
|
|
||||||
- script: |
|
# - task: 1ESLighthouseEng.PipelineArtifactCaching.SaveCacheV1.SaveCache@1
|
||||||
set -e
|
# inputs:
|
||||||
CHILD_CONCURRENCY=1 yarn --frozen-lockfile
|
# keyfile: 'build/.cachesalt, .yarnrc, remote/.yarnrc, **/yarn.lock, !**/node_modules/**/yarn.lock, !**/.*/**/yarn.lock'
|
||||||
displayName: Install dependencies
|
# targetfolder: '**/node_modules, !**/node_modules/**/node_modules'
|
||||||
# condition: and(succeeded(), ne(variables['CacheRestored'], 'true'))
|
# vstsFeed: 'npm-vscode'
|
||||||
|
# condition: and(succeeded(), ne(variables['CacheRestored'], 'true'))
|
||||||
|
|
||||||
# - task: 1ESLighthouseEng.PipelineArtifactCaching.SaveCacheV1.SaveCache@1
|
# - script: |
|
||||||
# inputs:
|
# set -e
|
||||||
# keyfile: 'build/.cachesalt, .yarnrc, remote/.yarnrc, **/yarn.lock, !**/node_modules/**/yarn.lock, !**/.*/**/yarn.lock'
|
# yarn postinstall
|
||||||
# targetfolder: '**/node_modules, !**/node_modules/**/node_modules'
|
# displayName: Run postinstall scripts
|
||||||
# vstsFeed: 'npm-vscode'
|
# condition: and(succeeded(), eq(variables['CacheRestored'], 'true'))
|
||||||
# condition: and(succeeded(), ne(variables['CacheRestored'], 'true'))
|
|
||||||
|
|
||||||
# - script: |
|
- script: |
|
||||||
# set -e
|
set -e
|
||||||
# yarn postinstall
|
node build/azure-pipelines/mixin
|
||||||
# displayName: Run postinstall scripts
|
displayName: Mix in quality
|
||||||
# condition: and(succeeded(), eq(variables['CacheRestored'], 'true'))
|
|
||||||
|
|
||||||
- script: |
|
- script: |
|
||||||
set -e
|
set -e
|
||||||
node build/azure-pipelines/mixin
|
VSCODE_MIXIN_PASSWORD="$(github-distro-mixin-password)" \
|
||||||
displayName: Mix in quality
|
yarn gulp vscode-web-min-ci
|
||||||
|
displayName: Build
|
||||||
|
|
||||||
- script: |
|
- script: |
|
||||||
set -e
|
set -e
|
||||||
VSCODE_MIXIN_PASSWORD="$(github-distro-mixin-password)" \
|
AZURE_STORAGE_ACCOUNT="$(web-storage-account)" \
|
||||||
yarn gulp vscode-web-min-ci
|
AZURE_STORAGE_ACCESS_KEY="$(web-storage-key)" \
|
||||||
displayName: Build
|
node build/azure-pipelines/upload-cdn.js
|
||||||
|
displayName: Upload to CDN
|
||||||
|
|
||||||
- script: |
|
# upload only the workbench.web.api.js source maps because
|
||||||
set -e
|
# we just compiled these bits in the previous step and the
|
||||||
AZURE_STORAGE_ACCOUNT="$(web-storage-account)" \
|
# general task to upload source maps has already been run
|
||||||
AZURE_STORAGE_ACCESS_KEY="$(web-storage-key)" \
|
- script: |
|
||||||
node build/azure-pipelines/upload-cdn.js
|
set -e
|
||||||
displayName: Upload to CDN
|
AZURE_STORAGE_ACCESS_KEY="$(ticino-storage-key)" \
|
||||||
|
node build/azure-pipelines/upload-sourcemaps out-vscode-web-min out-vscode-web-min/vs/workbench/workbench.web.api.js.map
|
||||||
|
displayName: Upload sourcemaps (Web)
|
||||||
|
|
||||||
# upload only the workbench.web.api.js source maps because
|
- script: |
|
||||||
# we just compiled these bits in the previous step and the
|
set -e
|
||||||
# general task to upload source maps has already been run
|
AZURE_DOCUMENTDB_MASTERKEY="$(builds-docdb-key-readwrite)" \
|
||||||
- script: |
|
AZURE_STORAGE_ACCESS_KEY_2="$(vscode-storage-key)" \
|
||||||
set -e
|
VSCODE_MIXIN_PASSWORD="$(github-distro-mixin-password)" \
|
||||||
AZURE_STORAGE_ACCESS_KEY="$(ticino-storage-key)" \
|
./build/azure-pipelines/web/publish.sh
|
||||||
node build/azure-pipelines/upload-sourcemaps out-vscode-web-min out-vscode-web-min/vs/workbench/workbench.web.api.js.map
|
displayName: Publish
|
||||||
displayName: Upload sourcemaps (Web)
|
|
||||||
|
|
||||||
- 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)" \
|
|
||||||
./build/azure-pipelines/web/publish.sh
|
|
||||||
displayName: Publish
|
|
||||||
|
|
|
@ -1,87 +1,87 @@
|
||||||
steps:
|
steps:
|
||||||
- task: NodeTool@0
|
- task: NodeTool@0
|
||||||
inputs:
|
inputs:
|
||||||
versionSpec: "12.18.3"
|
versionSpec: "12.18.3"
|
||||||
|
|
||||||
- task: geeklearningio.gl-vsts-tasks-yarn.yarn-installer-task.YarnInstaller@2
|
- task: geeklearningio.gl-vsts-tasks-yarn.yarn-installer-task.YarnInstaller@2
|
||||||
inputs:
|
inputs:
|
||||||
versionSpec: "1.x"
|
versionSpec: "1.x"
|
||||||
|
|
||||||
- task: UsePythonVersion@0
|
- task: UsePythonVersion@0
|
||||||
inputs:
|
inputs:
|
||||||
versionSpec: '2.x'
|
versionSpec: "2.x"
|
||||||
addToPath: true
|
addToPath: true
|
||||||
|
|
||||||
- task: 1ESLighthouseEng.PipelineArtifactCaching.RestoreCacheV1.RestoreCache@1
|
- task: 1ESLighthouseEng.PipelineArtifactCaching.RestoreCacheV1.RestoreCache@1
|
||||||
inputs:
|
inputs:
|
||||||
keyfile: '.yarnrc, remote/.yarnrc, **/yarn.lock, !**/node_modules/**/yarn.lock, !**/.*/**/yarn.lock'
|
keyfile: ".yarnrc, remote/.yarnrc, **/yarn.lock, !**/node_modules/**/yarn.lock, !**/.*/**/yarn.lock"
|
||||||
targetfolder: '**/node_modules, !**/node_modules/**/node_modules'
|
targetfolder: "**/node_modules, !**/node_modules/**/node_modules"
|
||||||
vstsFeed: 'vscode-build-cache'
|
vstsFeed: "vscode-build-cache"
|
||||||
|
|
||||||
- powershell: |
|
- powershell: |
|
||||||
yarn --frozen-lockfile
|
yarn --frozen-lockfile
|
||||||
env:
|
env:
|
||||||
CHILD_CONCURRENCY: "1"
|
CHILD_CONCURRENCY: "1"
|
||||||
displayName: Install Dependencies
|
displayName: Install Dependencies
|
||||||
condition: and(succeeded(), ne(variables['CacheRestored'], 'true'))
|
condition: and(succeeded(), ne(variables['CacheRestored'], 'true'))
|
||||||
|
|
||||||
- task: 1ESLighthouseEng.PipelineArtifactCaching.SaveCacheV1.SaveCache@1
|
- task: 1ESLighthouseEng.PipelineArtifactCaching.SaveCacheV1.SaveCache@1
|
||||||
inputs:
|
inputs:
|
||||||
keyfile: '.yarnrc, remote/.yarnrc, **/yarn.lock, !**/node_modules/**/yarn.lock, !**/.*/**/yarn.lock'
|
keyfile: ".yarnrc, remote/.yarnrc, **/yarn.lock, !**/node_modules/**/yarn.lock, !**/.*/**/yarn.lock"
|
||||||
targetfolder: '**/node_modules, !**/node_modules/**/node_modules'
|
targetfolder: "**/node_modules, !**/node_modules/**/node_modules"
|
||||||
vstsFeed: 'vscode-build-cache'
|
vstsFeed: "vscode-build-cache"
|
||||||
condition: and(succeeded(), ne(variables['CacheRestored'], 'true'))
|
condition: and(succeeded(), ne(variables['CacheRestored'], 'true'))
|
||||||
|
|
||||||
- powershell: |
|
- powershell: |
|
||||||
. build/azure-pipelines/win32/exec.ps1
|
. build/azure-pipelines/win32/exec.ps1
|
||||||
$ErrorActionPreference = "Stop"
|
$ErrorActionPreference = "Stop"
|
||||||
exec { yarn postinstall }
|
exec { yarn postinstall }
|
||||||
displayName: Run postinstall scripts
|
displayName: Run postinstall scripts
|
||||||
condition: and(succeeded(), eq(variables['CacheRestored'], 'true'))
|
condition: and(succeeded(), eq(variables['CacheRestored'], 'true'))
|
||||||
|
|
||||||
- powershell: |
|
- powershell: |
|
||||||
yarn electron
|
yarn electron
|
||||||
displayName: Download Electron
|
displayName: Download Electron
|
||||||
|
|
||||||
- powershell: |
|
- powershell: |
|
||||||
yarn monaco-compile-check
|
yarn monaco-compile-check
|
||||||
displayName: Run Monaco Editor Checks
|
displayName: Run Monaco Editor Checks
|
||||||
|
|
||||||
- script: |
|
- script: |
|
||||||
yarn valid-layers-check
|
yarn valid-layers-check
|
||||||
displayName: Run Valid Layers Checks
|
displayName: Run Valid Layers Checks
|
||||||
|
|
||||||
- powershell: |
|
- powershell: |
|
||||||
yarn compile
|
yarn compile
|
||||||
displayName: Compile Sources
|
displayName: Compile Sources
|
||||||
|
|
||||||
- powershell: |
|
- powershell: |
|
||||||
yarn download-builtin-extensions
|
yarn download-builtin-extensions
|
||||||
displayName: Download Built-in Extensions
|
displayName: Download Built-in Extensions
|
||||||
|
|
||||||
- powershell: |
|
- powershell: |
|
||||||
.\scripts\test.bat --tfs "Unit Tests"
|
.\scripts\test.bat --tfs "Unit Tests"
|
||||||
displayName: Run Unit Tests (Electron)
|
displayName: Run Unit Tests (Electron)
|
||||||
|
|
||||||
- powershell: |
|
- powershell: |
|
||||||
yarn test-browser --browser chromium --browser firefox --tfs "Browser Unit Tests"
|
yarn test-browser --browser chromium --browser firefox --tfs "Browser Unit Tests"
|
||||||
displayName: Run Unit Tests (Browser)
|
displayName: Run Unit Tests (Browser)
|
||||||
|
|
||||||
- powershell: |
|
- powershell: |
|
||||||
.\scripts\test-integration.bat --tfs "Integration Tests"
|
.\scripts\test-integration.bat --tfs "Integration Tests"
|
||||||
displayName: Run Integration Tests (Electron)
|
displayName: Run Integration Tests (Electron)
|
||||||
|
|
||||||
- task: PublishPipelineArtifact@0
|
- task: PublishPipelineArtifact@0
|
||||||
displayName: 'Publish Crash Reports'
|
displayName: "Publish Crash Reports"
|
||||||
inputs:
|
inputs:
|
||||||
artifactName: crash-dump-windows
|
artifactName: crash-dump-windows
|
||||||
targetPath: .build\crashes
|
targetPath: .build\crashes
|
||||||
continueOnError: true
|
continueOnError: true
|
||||||
condition: failed()
|
condition: failed()
|
||||||
|
|
||||||
- task: PublishTestResults@2
|
- task: PublishTestResults@2
|
||||||
displayName: Publish Tests Results
|
displayName: Publish Tests Results
|
||||||
inputs:
|
inputs:
|
||||||
testResultsFiles: '*-results.xml'
|
testResultsFiles: "*-results.xml"
|
||||||
searchFolder: '$(Build.ArtifactStagingDirectory)/test-results'
|
searchFolder: "$(Build.ArtifactStagingDirectory)/test-results"
|
||||||
condition: succeededOrFailed()
|
condition: succeededOrFailed()
|
||||||
|
|
|
@ -1,196 +1,196 @@
|
||||||
steps:
|
steps:
|
||||||
- powershell: |
|
- powershell: |
|
||||||
mkdir .build -ea 0
|
mkdir .build -ea 0
|
||||||
"$env:BUILD_SOURCEVERSION" | Out-File -Encoding ascii -NoNewLine .build\commit
|
"$env:BUILD_SOURCEVERSION" | Out-File -Encoding ascii -NoNewLine .build\commit
|
||||||
"$env:VSCODE_QUALITY" | Out-File -Encoding ascii -NoNewLine .build\quality
|
"$env:VSCODE_QUALITY" | Out-File -Encoding ascii -NoNewLine .build\quality
|
||||||
displayName: Prepare cache flag
|
displayName: Prepare cache flag
|
||||||
|
|
||||||
- task: 1ESLighthouseEng.PipelineArtifactCaching.RestoreCacheV1.RestoreCache@1
|
- task: 1ESLighthouseEng.PipelineArtifactCaching.RestoreCacheV1.RestoreCache@1
|
||||||
inputs:
|
inputs:
|
||||||
keyfile: 'build/.cachesalt, .build/commit, .build/quality'
|
keyfile: "build/.cachesalt, .build/commit, .build/quality"
|
||||||
targetfolder: '.build, out-build, out-vscode-min, out-vscode-reh-min, out-vscode-reh-web-min'
|
targetfolder: ".build, out-build, out-vscode-min, out-vscode-reh-min, out-vscode-reh-web-min"
|
||||||
vstsFeed: 'npm-vscode'
|
vstsFeed: "npm-vscode"
|
||||||
platformIndependent: true
|
platformIndependent: true
|
||||||
alias: 'Compilation'
|
alias: "Compilation"
|
||||||
|
|
||||||
- powershell: |
|
- powershell: |
|
||||||
$ErrorActionPreference = "Stop"
|
$ErrorActionPreference = "Stop"
|
||||||
exit 1
|
exit 1
|
||||||
displayName: Check RestoreCache
|
displayName: Check RestoreCache
|
||||||
condition: and(succeeded(), ne(variables['CacheRestored-Compilation'], 'true'))
|
condition: and(succeeded(), ne(variables['CacheRestored-Compilation'], 'true'))
|
||||||
|
|
||||||
- task: NodeTool@0
|
- task: NodeTool@0
|
||||||
inputs:
|
inputs:
|
||||||
versionSpec: "12.18.3"
|
versionSpec: "12.18.3"
|
||||||
|
|
||||||
- task: geeklearningio.gl-vsts-tasks-yarn.yarn-installer-task.YarnInstaller@2
|
- task: geeklearningio.gl-vsts-tasks-yarn.yarn-installer-task.YarnInstaller@2
|
||||||
inputs:
|
inputs:
|
||||||
versionSpec: "1.x"
|
versionSpec: "1.x"
|
||||||
|
|
||||||
- task: UsePythonVersion@0
|
- task: UsePythonVersion@0
|
||||||
inputs:
|
inputs:
|
||||||
versionSpec: '2.x'
|
versionSpec: "2.x"
|
||||||
addToPath: true
|
addToPath: true
|
||||||
|
|
||||||
- task: AzureKeyVault@1
|
- task: AzureKeyVault@1
|
||||||
displayName: 'Azure Key Vault: Get Secrets'
|
displayName: "Azure Key Vault: Get Secrets"
|
||||||
inputs:
|
inputs:
|
||||||
azureSubscription: 'vscode-builds-subscription'
|
azureSubscription: "vscode-builds-subscription"
|
||||||
KeyVaultName: vscode
|
KeyVaultName: vscode
|
||||||
|
|
||||||
- powershell: |
|
- powershell: |
|
||||||
. build/azure-pipelines/win32/exec.ps1
|
. build/azure-pipelines/win32/exec.ps1
|
||||||
$ErrorActionPreference = "Stop"
|
$ErrorActionPreference = "Stop"
|
||||||
"machine github.com`nlogin vscode`npassword $(github-distro-mixin-password)" | Out-File "$env:USERPROFILE\_netrc" -Encoding ASCII
|
"machine github.com`nlogin vscode`npassword $(github-distro-mixin-password)" | Out-File "$env:USERPROFILE\_netrc" -Encoding ASCII
|
||||||
|
|
||||||
exec { git config user.email "vscode@microsoft.com" }
|
exec { git config user.email "vscode@microsoft.com" }
|
||||||
exec { git config user.name "VSCode" }
|
exec { git config user.name "VSCode" }
|
||||||
|
|
||||||
mkdir .build -ea 0
|
mkdir .build -ea 0
|
||||||
"$(VSCODE_ARCH)" | Out-File -Encoding ascii -NoNewLine .build\arch
|
"$(VSCODE_ARCH)" | Out-File -Encoding ascii -NoNewLine .build\arch
|
||||||
displayName: Prepare tooling
|
displayName: Prepare tooling
|
||||||
|
|
||||||
- powershell: |
|
- powershell: |
|
||||||
. build/azure-pipelines/win32/exec.ps1
|
. build/azure-pipelines/win32/exec.ps1
|
||||||
$ErrorActionPreference = "Stop"
|
$ErrorActionPreference = "Stop"
|
||||||
exec { git remote add distro "https://github.com/$(VSCODE_MIXIN_REPO).git" }
|
exec { git remote add distro "https://github.com/$(VSCODE_MIXIN_REPO).git" }
|
||||||
exec { git fetch distro }
|
exec { git fetch distro }
|
||||||
exec { git merge $(node -p "require('./package.json').distro") }
|
exec { git merge $(node -p "require('./package.json').distro") }
|
||||||
displayName: Merge distro
|
displayName: Merge distro
|
||||||
|
|
||||||
- script: |
|
- script: |
|
||||||
npx https://aka.ms/enablesecurefeed standAlone
|
npx https://aka.ms/enablesecurefeed standAlone
|
||||||
displayName: Switch to Terrapin packages
|
displayName: Switch to Terrapin packages
|
||||||
|
|
||||||
- task: 1ESLighthouseEng.PipelineArtifactCaching.RestoreCacheV1.RestoreCache@1
|
- task: 1ESLighthouseEng.PipelineArtifactCaching.RestoreCacheV1.RestoreCache@1
|
||||||
inputs:
|
inputs:
|
||||||
keyfile: 'build/.cachesalt, .build/arch, .yarnrc, remote/.yarnrc, **/yarn.lock, !**/node_modules/**/yarn.lock, !**/.*/**/yarn.lock'
|
keyfile: "build/.cachesalt, .build/arch, .yarnrc, remote/.yarnrc, **/yarn.lock, !**/node_modules/**/yarn.lock, !**/.*/**/yarn.lock"
|
||||||
targetfolder: '**/node_modules, !**/node_modules/**/node_modules'
|
targetfolder: "**/node_modules, !**/node_modules/**/node_modules"
|
||||||
vstsFeed: 'npm-vscode'
|
vstsFeed: "npm-vscode"
|
||||||
|
|
||||||
- powershell: |
|
- powershell: |
|
||||||
. build/azure-pipelines/win32/exec.ps1
|
. build/azure-pipelines/win32/exec.ps1
|
||||||
$ErrorActionPreference = "Stop"
|
$ErrorActionPreference = "Stop"
|
||||||
$env:npm_config_arch="$(VSCODE_ARCH)"
|
$env:npm_config_arch="$(VSCODE_ARCH)"
|
||||||
$env:CHILD_CONCURRENCY="1"
|
$env:CHILD_CONCURRENCY="1"
|
||||||
exec { yarn --frozen-lockfile }
|
exec { yarn --frozen-lockfile }
|
||||||
displayName: Install dependencies
|
displayName: Install dependencies
|
||||||
condition: and(succeeded(), ne(variables['CacheRestored'], 'true'))
|
condition: and(succeeded(), ne(variables['CacheRestored'], 'true'))
|
||||||
|
|
||||||
- task: 1ESLighthouseEng.PipelineArtifactCaching.SaveCacheV1.SaveCache@1
|
- task: 1ESLighthouseEng.PipelineArtifactCaching.SaveCacheV1.SaveCache@1
|
||||||
inputs:
|
inputs:
|
||||||
keyfile: 'build/.cachesalt, .build/arch, .yarnrc, remote/.yarnrc, **/yarn.lock, !**/node_modules/**/yarn.lock, !**/.*/**/yarn.lock'
|
keyfile: "build/.cachesalt, .build/arch, .yarnrc, remote/.yarnrc, **/yarn.lock, !**/node_modules/**/yarn.lock, !**/.*/**/yarn.lock"
|
||||||
targetfolder: '**/node_modules, !**/node_modules/**/node_modules'
|
targetfolder: "**/node_modules, !**/node_modules/**/node_modules"
|
||||||
vstsFeed: 'npm-vscode'
|
vstsFeed: "npm-vscode"
|
||||||
condition: and(succeeded(), ne(variables['CacheRestored'], 'true'))
|
condition: and(succeeded(), ne(variables['CacheRestored'], 'true'))
|
||||||
|
|
||||||
- powershell: |
|
- powershell: |
|
||||||
. build/azure-pipelines/win32/exec.ps1
|
. build/azure-pipelines/win32/exec.ps1
|
||||||
$ErrorActionPreference = "Stop"
|
$ErrorActionPreference = "Stop"
|
||||||
exec { yarn postinstall }
|
exec { yarn postinstall }
|
||||||
displayName: Run postinstall scripts
|
displayName: Run postinstall scripts
|
||||||
condition: and(succeeded(), eq(variables['CacheRestored'], 'true'))
|
condition: and(succeeded(), eq(variables['CacheRestored'], 'true'))
|
||||||
|
|
||||||
- powershell: |
|
- powershell: |
|
||||||
. build/azure-pipelines/win32/exec.ps1
|
. build/azure-pipelines/win32/exec.ps1
|
||||||
$ErrorActionPreference = "Stop"
|
$ErrorActionPreference = "Stop"
|
||||||
exec { node build/azure-pipelines/mixin }
|
exec { node build/azure-pipelines/mixin }
|
||||||
displayName: Mix in quality
|
displayName: Mix in quality
|
||||||
|
|
||||||
- powershell: |
|
- powershell: |
|
||||||
. build/azure-pipelines/win32/exec.ps1
|
. build/azure-pipelines/win32/exec.ps1
|
||||||
$ErrorActionPreference = "Stop"
|
$ErrorActionPreference = "Stop"
|
||||||
$env:VSCODE_MIXIN_PASSWORD="$(github-distro-mixin-password)"
|
$env:VSCODE_MIXIN_PASSWORD="$(github-distro-mixin-password)"
|
||||||
exec { yarn gulp "vscode-win32-$env:VSCODE_ARCH-min-ci" }
|
exec { yarn gulp "vscode-win32-$env:VSCODE_ARCH-min-ci" }
|
||||||
exec { yarn gulp "vscode-win32-$env:VSCODE_ARCH-code-helper" }
|
exec { yarn gulp "vscode-win32-$env:VSCODE_ARCH-code-helper" }
|
||||||
exec { yarn gulp "vscode-win32-$env:VSCODE_ARCH-inno-updater" }
|
exec { yarn gulp "vscode-win32-$env:VSCODE_ARCH-inno-updater" }
|
||||||
displayName: Build
|
displayName: Build
|
||||||
|
|
||||||
- task: SFP.build-tasks.custom-build-task-1.EsrpCodeSigning@1
|
- task: SFP.build-tasks.custom-build-task-1.EsrpCodeSigning@1
|
||||||
inputs:
|
inputs:
|
||||||
ConnectedServiceName: 'ESRP CodeSign'
|
ConnectedServiceName: "ESRP CodeSign"
|
||||||
FolderPath: '$(agent.builddirectory)/VSCode-win32-$(VSCODE_ARCH)'
|
FolderPath: "$(agent.builddirectory)/VSCode-win32-$(VSCODE_ARCH)"
|
||||||
Pattern: '*.dll,*.exe,*.node'
|
Pattern: "*.dll,*.exe,*.node"
|
||||||
signConfigType: inlineSignParams
|
signConfigType: inlineSignParams
|
||||||
inlineOperation: |
|
inlineOperation: |
|
||||||
[
|
[
|
||||||
{
|
{
|
||||||
"keyCode": "CP-230012",
|
"keyCode": "CP-230012",
|
||||||
"operationSetCode": "SigntoolSign",
|
"operationSetCode": "SigntoolSign",
|
||||||
"parameters": [
|
"parameters": [
|
||||||
{
|
{
|
||||||
"parameterName": "OpusName",
|
"parameterName": "OpusName",
|
||||||
"parameterValue": "VS Code"
|
"parameterValue": "VS Code"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"parameterName": "OpusInfo",
|
"parameterName": "OpusInfo",
|
||||||
"parameterValue": "https://code.visualstudio.com/"
|
"parameterValue": "https://code.visualstudio.com/"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"parameterName": "Append",
|
"parameterName": "Append",
|
||||||
"parameterValue": "/as"
|
"parameterValue": "/as"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"parameterName": "FileDigest",
|
"parameterName": "FileDigest",
|
||||||
"parameterValue": "/fd \"SHA256\""
|
"parameterValue": "/fd \"SHA256\""
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"parameterName": "PageHash",
|
"parameterName": "PageHash",
|
||||||
"parameterValue": "/NPH"
|
"parameterValue": "/NPH"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"parameterName": "TimeStamp",
|
"parameterName": "TimeStamp",
|
||||||
"parameterValue": "/tr \"http://rfc3161.gtm.corp.microsoft.com/TSS/HttpTspServer\" /td sha256"
|
"parameterValue": "/tr \"http://rfc3161.gtm.corp.microsoft.com/TSS/HttpTspServer\" /td sha256"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"toolName": "sign",
|
"toolName": "sign",
|
||||||
"toolVersion": "1.0"
|
"toolVersion": "1.0"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"keyCode": "CP-230012",
|
"keyCode": "CP-230012",
|
||||||
"operationSetCode": "SigntoolVerify",
|
"operationSetCode": "SigntoolVerify",
|
||||||
"parameters": [
|
"parameters": [
|
||||||
{
|
{
|
||||||
"parameterName": "VerifyAll",
|
"parameterName": "VerifyAll",
|
||||||
"parameterValue": "/all"
|
"parameterValue": "/all"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"toolName": "sign",
|
"toolName": "sign",
|
||||||
"toolVersion": "1.0"
|
"toolVersion": "1.0"
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
SessionTimeout: 120
|
SessionTimeout: 120
|
||||||
|
|
||||||
- task: NuGetCommand@2
|
- task: NuGetCommand@2
|
||||||
displayName: Install ESRPClient.exe
|
displayName: Install ESRPClient.exe
|
||||||
inputs:
|
inputs:
|
||||||
restoreSolution: 'build\azure-pipelines\win32\ESRPClient\packages.config'
|
restoreSolution: 'build\azure-pipelines\win32\ESRPClient\packages.config'
|
||||||
feedsToUse: config
|
feedsToUse: config
|
||||||
nugetConfigPath: 'build\azure-pipelines\win32\ESRPClient\NuGet.config'
|
nugetConfigPath: 'build\azure-pipelines\win32\ESRPClient\NuGet.config'
|
||||||
externalFeedCredentials: 3fc0b7f7-da09-4ae7-a9c8-d69824b1819b
|
externalFeedCredentials: 3fc0b7f7-da09-4ae7-a9c8-d69824b1819b
|
||||||
restoreDirectory: packages
|
restoreDirectory: packages
|
||||||
|
|
||||||
- task: ESRPImportCertTask@1
|
- task: ESRPImportCertTask@1
|
||||||
displayName: Import ESRP Request Signing Certificate
|
displayName: Import ESRP Request Signing Certificate
|
||||||
inputs:
|
inputs:
|
||||||
ESRP: 'ESRP CodeSign'
|
ESRP: "ESRP CodeSign"
|
||||||
|
|
||||||
- task: PowerShell@2
|
- task: PowerShell@2
|
||||||
inputs:
|
inputs:
|
||||||
targetType: filePath
|
targetType: filePath
|
||||||
filePath: .\build\azure-pipelines\win32\import-esrp-auth-cert.ps1
|
filePath: .\build\azure-pipelines\win32\import-esrp-auth-cert.ps1
|
||||||
arguments: "$(ESRP-SSL-AADAuth)"
|
arguments: "$(ESRP-SSL-AADAuth)"
|
||||||
displayName: Import ESRP Auth Certificate
|
displayName: Import ESRP Auth Certificate
|
||||||
|
|
||||||
- powershell: |
|
- powershell: |
|
||||||
. build/azure-pipelines/win32/exec.ps1
|
. build/azure-pipelines/win32/exec.ps1
|
||||||
$ErrorActionPreference = "Stop"
|
$ErrorActionPreference = "Stop"
|
||||||
$env:AZURE_STORAGE_ACCESS_KEY_2 = "$(vscode-storage-key)"
|
$env:AZURE_STORAGE_ACCESS_KEY_2 = "$(vscode-storage-key)"
|
||||||
$env:AZURE_DOCUMENTDB_MASTERKEY = "$(builds-docdb-key-readwrite)"
|
$env:AZURE_DOCUMENTDB_MASTERKEY = "$(builds-docdb-key-readwrite)"
|
||||||
$env:VSCODE_MIXIN_PASSWORD="$(github-distro-mixin-password)"
|
$env:VSCODE_MIXIN_PASSWORD="$(github-distro-mixin-password)"
|
||||||
.\build\azure-pipelines\win32\publish.ps1
|
.\build\azure-pipelines\win32\publish.ps1
|
||||||
displayName: Publish
|
displayName: Publish
|
||||||
|
|
||||||
- task: ms.vss-governance-buildtask.governance-build-task-component-detection.ComponentGovernanceComponentDetection@0
|
- task: ms.vss-governance-buildtask.governance-build-task-component-detection.ComponentGovernanceComponentDetection@0
|
||||||
displayName: 'Component Detection'
|
displayName: "Component Detection"
|
||||||
continueOnError: true
|
continueOnError: true
|
||||||
|
|
|
@ -1,258 +1,258 @@
|
||||||
steps:
|
steps:
|
||||||
- powershell: |
|
- powershell: |
|
||||||
mkdir .build -ea 0
|
mkdir .build -ea 0
|
||||||
"$env:BUILD_SOURCEVERSION" | Out-File -Encoding ascii -NoNewLine .build\commit
|
"$env:BUILD_SOURCEVERSION" | Out-File -Encoding ascii -NoNewLine .build\commit
|
||||||
"$env:VSCODE_QUALITY" | Out-File -Encoding ascii -NoNewLine .build\quality
|
"$env:VSCODE_QUALITY" | Out-File -Encoding ascii -NoNewLine .build\quality
|
||||||
displayName: Prepare cache flag
|
displayName: Prepare cache flag
|
||||||
|
|
||||||
- task: 1ESLighthouseEng.PipelineArtifactCaching.RestoreCacheV1.RestoreCache@1
|
- task: 1ESLighthouseEng.PipelineArtifactCaching.RestoreCacheV1.RestoreCache@1
|
||||||
inputs:
|
inputs:
|
||||||
keyfile: 'build/.cachesalt, .build/commit, .build/quality'
|
keyfile: "build/.cachesalt, .build/commit, .build/quality"
|
||||||
targetfolder: '.build, out-build, out-vscode-min, out-vscode-reh-min, out-vscode-reh-web-min'
|
targetfolder: ".build, out-build, out-vscode-min, out-vscode-reh-min, out-vscode-reh-web-min"
|
||||||
vstsFeed: 'npm-vscode'
|
vstsFeed: "npm-vscode"
|
||||||
platformIndependent: true
|
platformIndependent: true
|
||||||
alias: 'Compilation'
|
alias: "Compilation"
|
||||||
|
|
||||||
- powershell: |
|
- powershell: |
|
||||||
$ErrorActionPreference = "Stop"
|
$ErrorActionPreference = "Stop"
|
||||||
exit 1
|
exit 1
|
||||||
displayName: Check RestoreCache
|
displayName: Check RestoreCache
|
||||||
condition: and(succeeded(), ne(variables['CacheRestored-Compilation'], 'true'))
|
condition: and(succeeded(), ne(variables['CacheRestored-Compilation'], 'true'))
|
||||||
|
|
||||||
- task: NodeTool@0
|
- task: NodeTool@0
|
||||||
inputs:
|
inputs:
|
||||||
versionSpec: "12.18.3"
|
versionSpec: "12.18.3"
|
||||||
|
|
||||||
- task: geeklearningio.gl-vsts-tasks-yarn.yarn-installer-task.YarnInstaller@2
|
- task: geeklearningio.gl-vsts-tasks-yarn.yarn-installer-task.YarnInstaller@2
|
||||||
inputs:
|
inputs:
|
||||||
versionSpec: "1.x"
|
versionSpec: "1.x"
|
||||||
|
|
||||||
- task: UsePythonVersion@0
|
- task: UsePythonVersion@0
|
||||||
inputs:
|
inputs:
|
||||||
versionSpec: '2.x'
|
versionSpec: "2.x"
|
||||||
addToPath: true
|
addToPath: true
|
||||||
|
|
||||||
- task: AzureKeyVault@1
|
- task: AzureKeyVault@1
|
||||||
displayName: 'Azure Key Vault: Get Secrets'
|
displayName: "Azure Key Vault: Get Secrets"
|
||||||
inputs:
|
inputs:
|
||||||
azureSubscription: 'vscode-builds-subscription'
|
azureSubscription: "vscode-builds-subscription"
|
||||||
KeyVaultName: vscode
|
KeyVaultName: vscode
|
||||||
|
|
||||||
- powershell: |
|
- powershell: |
|
||||||
. build/azure-pipelines/win32/exec.ps1
|
. build/azure-pipelines/win32/exec.ps1
|
||||||
$ErrorActionPreference = "Stop"
|
$ErrorActionPreference = "Stop"
|
||||||
"machine github.com`nlogin vscode`npassword $(github-distro-mixin-password)" | Out-File "$env:USERPROFILE\_netrc" -Encoding ASCII
|
"machine github.com`nlogin vscode`npassword $(github-distro-mixin-password)" | Out-File "$env:USERPROFILE\_netrc" -Encoding ASCII
|
||||||
|
|
||||||
exec { git config user.email "vscode@microsoft.com" }
|
exec { git config user.email "vscode@microsoft.com" }
|
||||||
exec { git config user.name "VSCode" }
|
exec { git config user.name "VSCode" }
|
||||||
|
|
||||||
mkdir .build -ea 0
|
mkdir .build -ea 0
|
||||||
"$(VSCODE_ARCH)" | Out-File -Encoding ascii -NoNewLine .build\arch
|
"$(VSCODE_ARCH)" | Out-File -Encoding ascii -NoNewLine .build\arch
|
||||||
displayName: Prepare tooling
|
displayName: Prepare tooling
|
||||||
|
|
||||||
- powershell: |
|
- powershell: |
|
||||||
. build/azure-pipelines/win32/exec.ps1
|
. build/azure-pipelines/win32/exec.ps1
|
||||||
$ErrorActionPreference = "Stop"
|
$ErrorActionPreference = "Stop"
|
||||||
exec { git remote add distro "https://github.com/$(VSCODE_MIXIN_REPO).git" }
|
exec { git remote add distro "https://github.com/$(VSCODE_MIXIN_REPO).git" }
|
||||||
exec { git fetch distro }
|
exec { git fetch distro }
|
||||||
exec { git merge $(node -p "require('./package.json').distro") }
|
exec { git merge $(node -p "require('./package.json').distro") }
|
||||||
displayName: Merge distro
|
displayName: Merge distro
|
||||||
|
|
||||||
- script: |
|
- script: |
|
||||||
npx https://aka.ms/enablesecurefeed standAlone
|
npx https://aka.ms/enablesecurefeed standAlone
|
||||||
displayName: Switch to Terrapin packages
|
displayName: Switch to Terrapin packages
|
||||||
|
|
||||||
- task: 1ESLighthouseEng.PipelineArtifactCaching.RestoreCacheV1.RestoreCache@1
|
- task: 1ESLighthouseEng.PipelineArtifactCaching.RestoreCacheV1.RestoreCache@1
|
||||||
inputs:
|
inputs:
|
||||||
keyfile: 'build/.cachesalt, .build/arch, .yarnrc, remote/.yarnrc, **/yarn.lock, !**/node_modules/**/yarn.lock, !**/.*/**/yarn.lock'
|
keyfile: "build/.cachesalt, .build/arch, .yarnrc, remote/.yarnrc, **/yarn.lock, !**/node_modules/**/yarn.lock, !**/.*/**/yarn.lock"
|
||||||
targetfolder: '**/node_modules, !**/node_modules/**/node_modules'
|
targetfolder: "**/node_modules, !**/node_modules/**/node_modules"
|
||||||
vstsFeed: 'npm-vscode'
|
vstsFeed: "npm-vscode"
|
||||||
|
|
||||||
- powershell: |
|
- powershell: |
|
||||||
. build/azure-pipelines/win32/exec.ps1
|
. build/azure-pipelines/win32/exec.ps1
|
||||||
$ErrorActionPreference = "Stop"
|
$ErrorActionPreference = "Stop"
|
||||||
$env:npm_config_arch="$(VSCODE_ARCH)"
|
$env:npm_config_arch="$(VSCODE_ARCH)"
|
||||||
$env:CHILD_CONCURRENCY="1"
|
$env:CHILD_CONCURRENCY="1"
|
||||||
exec { yarn --frozen-lockfile }
|
exec { yarn --frozen-lockfile }
|
||||||
displayName: Install dependencies
|
displayName: Install dependencies
|
||||||
condition: and(succeeded(), ne(variables['CacheRestored'], 'true'))
|
condition: and(succeeded(), ne(variables['CacheRestored'], 'true'))
|
||||||
|
|
||||||
- task: 1ESLighthouseEng.PipelineArtifactCaching.SaveCacheV1.SaveCache@1
|
- task: 1ESLighthouseEng.PipelineArtifactCaching.SaveCacheV1.SaveCache@1
|
||||||
inputs:
|
inputs:
|
||||||
keyfile: 'build/.cachesalt, .build/arch, .yarnrc, remote/.yarnrc, **/yarn.lock, !**/node_modules/**/yarn.lock, !**/.*/**/yarn.lock'
|
keyfile: "build/.cachesalt, .build/arch, .yarnrc, remote/.yarnrc, **/yarn.lock, !**/node_modules/**/yarn.lock, !**/.*/**/yarn.lock"
|
||||||
targetfolder: '**/node_modules, !**/node_modules/**/node_modules'
|
targetfolder: "**/node_modules, !**/node_modules/**/node_modules"
|
||||||
vstsFeed: 'npm-vscode'
|
vstsFeed: "npm-vscode"
|
||||||
condition: and(succeeded(), ne(variables['CacheRestored'], 'true'))
|
condition: and(succeeded(), ne(variables['CacheRestored'], 'true'))
|
||||||
|
|
||||||
- powershell: |
|
- powershell: |
|
||||||
. build/azure-pipelines/win32/exec.ps1
|
. build/azure-pipelines/win32/exec.ps1
|
||||||
$ErrorActionPreference = "Stop"
|
$ErrorActionPreference = "Stop"
|
||||||
exec { yarn postinstall }
|
exec { yarn postinstall }
|
||||||
displayName: Run postinstall scripts
|
displayName: Run postinstall scripts
|
||||||
condition: and(succeeded(), eq(variables['CacheRestored'], 'true'))
|
condition: and(succeeded(), eq(variables['CacheRestored'], 'true'))
|
||||||
|
|
||||||
- powershell: |
|
- powershell: |
|
||||||
. build/azure-pipelines/win32/exec.ps1
|
. build/azure-pipelines/win32/exec.ps1
|
||||||
$ErrorActionPreference = "Stop"
|
$ErrorActionPreference = "Stop"
|
||||||
exec { node build/azure-pipelines/mixin }
|
exec { node build/azure-pipelines/mixin }
|
||||||
displayName: Mix in quality
|
displayName: Mix in quality
|
||||||
|
|
||||||
- powershell: |
|
- powershell: |
|
||||||
. build/azure-pipelines/win32/exec.ps1
|
. build/azure-pipelines/win32/exec.ps1
|
||||||
$ErrorActionPreference = "Stop"
|
$ErrorActionPreference = "Stop"
|
||||||
$env:VSCODE_MIXIN_PASSWORD="$(github-distro-mixin-password)"
|
$env:VSCODE_MIXIN_PASSWORD="$(github-distro-mixin-password)"
|
||||||
exec { yarn gulp "vscode-win32-$env:VSCODE_ARCH-min-ci" }
|
exec { yarn gulp "vscode-win32-$env:VSCODE_ARCH-min-ci" }
|
||||||
exec { yarn gulp "vscode-reh-win32-$env:VSCODE_ARCH-min-ci" }
|
exec { yarn gulp "vscode-reh-win32-$env:VSCODE_ARCH-min-ci" }
|
||||||
exec { yarn gulp "vscode-reh-web-win32-$env:VSCODE_ARCH-min-ci" }
|
exec { yarn gulp "vscode-reh-web-win32-$env:VSCODE_ARCH-min-ci" }
|
||||||
exec { yarn gulp "vscode-win32-$env:VSCODE_ARCH-code-helper" }
|
exec { yarn gulp "vscode-win32-$env:VSCODE_ARCH-code-helper" }
|
||||||
exec { yarn gulp "vscode-win32-$env:VSCODE_ARCH-inno-updater" }
|
exec { yarn gulp "vscode-win32-$env:VSCODE_ARCH-inno-updater" }
|
||||||
displayName: Build
|
displayName: Build
|
||||||
|
|
||||||
- powershell: |
|
- powershell: |
|
||||||
. build/azure-pipelines/win32/exec.ps1
|
. build/azure-pipelines/win32/exec.ps1
|
||||||
$ErrorActionPreference = "Stop"
|
$ErrorActionPreference = "Stop"
|
||||||
exec { yarn electron $(VSCODE_ARCH) }
|
exec { yarn electron $(VSCODE_ARCH) }
|
||||||
exec { .\scripts\test.bat --build --tfs "Unit Tests" }
|
exec { .\scripts\test.bat --build --tfs "Unit Tests" }
|
||||||
displayName: Run unit tests (Electron)
|
displayName: Run unit tests (Electron)
|
||||||
condition: and(succeeded(), eq(variables['VSCODE_STEP_ON_IT'], 'false'))
|
condition: and(succeeded(), eq(variables['VSCODE_STEP_ON_IT'], 'false'))
|
||||||
|
|
||||||
- powershell: |
|
- powershell: |
|
||||||
. build/azure-pipelines/win32/exec.ps1
|
. build/azure-pipelines/win32/exec.ps1
|
||||||
$ErrorActionPreference = "Stop"
|
$ErrorActionPreference = "Stop"
|
||||||
exec { yarn test-browser --build --browser chromium --browser firefox --tfs "Browser Unit Tests" }
|
exec { yarn test-browser --build --browser chromium --browser firefox --tfs "Browser Unit Tests" }
|
||||||
displayName: Run unit tests (Browser)
|
displayName: Run unit tests (Browser)
|
||||||
condition: and(succeeded(), eq(variables['VSCODE_STEP_ON_IT'], 'false'))
|
condition: and(succeeded(), eq(variables['VSCODE_STEP_ON_IT'], 'false'))
|
||||||
|
|
||||||
- powershell: |
|
- powershell: |
|
||||||
# Figure out the full absolute path of the product we just built
|
# Figure out the full absolute path of the product we just built
|
||||||
# including the remote server and configure the integration tests
|
# including the remote server and configure the integration tests
|
||||||
# to run with these builds instead of running out of sources.
|
# to run with these builds instead of running out of sources.
|
||||||
. build/azure-pipelines/win32/exec.ps1
|
. build/azure-pipelines/win32/exec.ps1
|
||||||
$ErrorActionPreference = "Stop"
|
$ErrorActionPreference = "Stop"
|
||||||
$AppRoot = "$(agent.builddirectory)\VSCode-win32-$(VSCODE_ARCH)"
|
$AppRoot = "$(agent.builddirectory)\VSCode-win32-$(VSCODE_ARCH)"
|
||||||
$AppProductJson = Get-Content -Raw -Path "$AppRoot\resources\app\product.json" | ConvertFrom-Json
|
$AppProductJson = Get-Content -Raw -Path "$AppRoot\resources\app\product.json" | ConvertFrom-Json
|
||||||
$AppNameShort = $AppProductJson.nameShort
|
$AppNameShort = $AppProductJson.nameShort
|
||||||
exec { $env:INTEGRATION_TEST_ELECTRON_PATH = "$AppRoot\$AppNameShort.exe"; $env:VSCODE_REMOTE_SERVER_PATH = "$(agent.builddirectory)\vscode-reh-win32-$(VSCODE_ARCH)"; .\scripts\test-integration.bat --build --tfs "Integration Tests" }
|
exec { $env:INTEGRATION_TEST_ELECTRON_PATH = "$AppRoot\$AppNameShort.exe"; $env:VSCODE_REMOTE_SERVER_PATH = "$(agent.builddirectory)\vscode-reh-win32-$(VSCODE_ARCH)"; .\scripts\test-integration.bat --build --tfs "Integration Tests" }
|
||||||
displayName: Run integration tests (Electron)
|
displayName: Run integration tests (Electron)
|
||||||
condition: and(succeeded(), eq(variables['VSCODE_STEP_ON_IT'], 'false'))
|
condition: and(succeeded(), eq(variables['VSCODE_STEP_ON_IT'], 'false'))
|
||||||
|
|
||||||
- powershell: |
|
- powershell: |
|
||||||
. build/azure-pipelines/win32/exec.ps1
|
. build/azure-pipelines/win32/exec.ps1
|
||||||
$ErrorActionPreference = "Stop"
|
$ErrorActionPreference = "Stop"
|
||||||
exec { $env:VSCODE_REMOTE_SERVER_PATH = "$(agent.builddirectory)\vscode-reh-web-win32-$(VSCODE_ARCH)"; .\resources\server\test\test-web-integration.bat --browser firefox }
|
exec { $env:VSCODE_REMOTE_SERVER_PATH = "$(agent.builddirectory)\vscode-reh-web-win32-$(VSCODE_ARCH)"; .\resources\server\test\test-web-integration.bat --browser firefox }
|
||||||
displayName: Run integration tests (Browser)
|
displayName: Run integration tests (Browser)
|
||||||
condition: and(succeeded(), eq(variables['VSCODE_STEP_ON_IT'], 'false'))
|
condition: and(succeeded(), eq(variables['VSCODE_STEP_ON_IT'], 'false'))
|
||||||
|
|
||||||
- powershell: |
|
- powershell: |
|
||||||
. build/azure-pipelines/win32/exec.ps1
|
. build/azure-pipelines/win32/exec.ps1
|
||||||
$ErrorActionPreference = "Stop"
|
$ErrorActionPreference = "Stop"
|
||||||
$AppRoot = "$(agent.builddirectory)\VSCode-win32-$(VSCODE_ARCH)"
|
$AppRoot = "$(agent.builddirectory)\VSCode-win32-$(VSCODE_ARCH)"
|
||||||
$AppProductJson = Get-Content -Raw -Path "$AppRoot\resources\app\product.json" | ConvertFrom-Json
|
$AppProductJson = Get-Content -Raw -Path "$AppRoot\resources\app\product.json" | ConvertFrom-Json
|
||||||
$AppNameShort = $AppProductJson.nameShort
|
$AppNameShort = $AppProductJson.nameShort
|
||||||
exec { $env:INTEGRATION_TEST_ELECTRON_PATH = "$AppRoot\$AppNameShort.exe"; $env:VSCODE_REMOTE_SERVER_PATH = "$(agent.builddirectory)\vscode-reh-win32-$(VSCODE_ARCH)"; .\resources\server\test\test-remote-integration.bat }
|
exec { $env:INTEGRATION_TEST_ELECTRON_PATH = "$AppRoot\$AppNameShort.exe"; $env:VSCODE_REMOTE_SERVER_PATH = "$(agent.builddirectory)\vscode-reh-win32-$(VSCODE_ARCH)"; .\resources\server\test\test-remote-integration.bat }
|
||||||
displayName: Run remote integration tests (Electron)
|
displayName: Run remote integration tests (Electron)
|
||||||
condition: and(succeeded(), eq(variables['VSCODE_STEP_ON_IT'], 'false'))
|
condition: and(succeeded(), eq(variables['VSCODE_STEP_ON_IT'], 'false'))
|
||||||
|
|
||||||
- task: PublishPipelineArtifact@0
|
- task: PublishPipelineArtifact@0
|
||||||
inputs:
|
inputs:
|
||||||
artifactName: crash-dump-windows-$(VSCODE_ARCH)
|
artifactName: crash-dump-windows-$(VSCODE_ARCH)
|
||||||
targetPath: .build\crashes
|
targetPath: .build\crashes
|
||||||
displayName: 'Publish Crash Reports'
|
displayName: "Publish Crash Reports"
|
||||||
continueOnError: true
|
continueOnError: true
|
||||||
condition: failed()
|
condition: failed()
|
||||||
|
|
||||||
- task: PublishTestResults@2
|
- task: PublishTestResults@2
|
||||||
displayName: Publish Tests Results
|
displayName: Publish Tests Results
|
||||||
inputs:
|
inputs:
|
||||||
testResultsFiles: '*-results.xml'
|
testResultsFiles: "*-results.xml"
|
||||||
searchFolder: '$(Build.ArtifactStagingDirectory)/test-results'
|
searchFolder: "$(Build.ArtifactStagingDirectory)/test-results"
|
||||||
condition: succeededOrFailed()
|
condition: succeededOrFailed()
|
||||||
|
|
||||||
- task: SFP.build-tasks.custom-build-task-1.EsrpCodeSigning@1
|
- task: SFP.build-tasks.custom-build-task-1.EsrpCodeSigning@1
|
||||||
inputs:
|
inputs:
|
||||||
ConnectedServiceName: 'ESRP CodeSign'
|
ConnectedServiceName: "ESRP CodeSign"
|
||||||
FolderPath: '$(agent.builddirectory)/VSCode-win32-$(VSCODE_ARCH),$(agent.builddirectory)/vscode-reh-win32-$(VSCODE_ARCH)'
|
FolderPath: "$(agent.builddirectory)/VSCode-win32-$(VSCODE_ARCH),$(agent.builddirectory)/vscode-reh-win32-$(VSCODE_ARCH)"
|
||||||
Pattern: '*.dll,*.exe,*.node'
|
Pattern: "*.dll,*.exe,*.node"
|
||||||
signConfigType: inlineSignParams
|
signConfigType: inlineSignParams
|
||||||
inlineOperation: |
|
inlineOperation: |
|
||||||
[
|
[
|
||||||
{
|
{
|
||||||
"keyCode": "CP-230012",
|
"keyCode": "CP-230012",
|
||||||
"operationSetCode": "SigntoolSign",
|
"operationSetCode": "SigntoolSign",
|
||||||
"parameters": [
|
"parameters": [
|
||||||
{
|
{
|
||||||
"parameterName": "OpusName",
|
"parameterName": "OpusName",
|
||||||
"parameterValue": "VS Code"
|
"parameterValue": "VS Code"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"parameterName": "OpusInfo",
|
"parameterName": "OpusInfo",
|
||||||
"parameterValue": "https://code.visualstudio.com/"
|
"parameterValue": "https://code.visualstudio.com/"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"parameterName": "Append",
|
"parameterName": "Append",
|
||||||
"parameterValue": "/as"
|
"parameterValue": "/as"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"parameterName": "FileDigest",
|
"parameterName": "FileDigest",
|
||||||
"parameterValue": "/fd \"SHA256\""
|
"parameterValue": "/fd \"SHA256\""
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"parameterName": "PageHash",
|
"parameterName": "PageHash",
|
||||||
"parameterValue": "/NPH"
|
"parameterValue": "/NPH"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"parameterName": "TimeStamp",
|
"parameterName": "TimeStamp",
|
||||||
"parameterValue": "/tr \"http://rfc3161.gtm.corp.microsoft.com/TSS/HttpTspServer\" /td sha256"
|
"parameterValue": "/tr \"http://rfc3161.gtm.corp.microsoft.com/TSS/HttpTspServer\" /td sha256"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"toolName": "sign",
|
"toolName": "sign",
|
||||||
"toolVersion": "1.0"
|
"toolVersion": "1.0"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"keyCode": "CP-230012",
|
"keyCode": "CP-230012",
|
||||||
"operationSetCode": "SigntoolVerify",
|
"operationSetCode": "SigntoolVerify",
|
||||||
"parameters": [
|
"parameters": [
|
||||||
{
|
{
|
||||||
"parameterName": "VerifyAll",
|
"parameterName": "VerifyAll",
|
||||||
"parameterValue": "/all"
|
"parameterValue": "/all"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"toolName": "sign",
|
"toolName": "sign",
|
||||||
"toolVersion": "1.0"
|
"toolVersion": "1.0"
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
SessionTimeout: 120
|
SessionTimeout: 120
|
||||||
|
|
||||||
- task: NuGetCommand@2
|
- task: NuGetCommand@2
|
||||||
displayName: Install ESRPClient.exe
|
displayName: Install ESRPClient.exe
|
||||||
inputs:
|
inputs:
|
||||||
restoreSolution: 'build\azure-pipelines\win32\ESRPClient\packages.config'
|
restoreSolution: 'build\azure-pipelines\win32\ESRPClient\packages.config'
|
||||||
feedsToUse: config
|
feedsToUse: config
|
||||||
nugetConfigPath: 'build\azure-pipelines\win32\ESRPClient\NuGet.config'
|
nugetConfigPath: 'build\azure-pipelines\win32\ESRPClient\NuGet.config'
|
||||||
externalFeedCredentials: 'ESRP Nuget'
|
externalFeedCredentials: "ESRP Nuget"
|
||||||
restoreDirectory: packages
|
restoreDirectory: packages
|
||||||
|
|
||||||
- task: ESRPImportCertTask@1
|
- task: ESRPImportCertTask@1
|
||||||
displayName: Import ESRP Request Signing Certificate
|
displayName: Import ESRP Request Signing Certificate
|
||||||
inputs:
|
inputs:
|
||||||
ESRP: 'ESRP CodeSign'
|
ESRP: "ESRP CodeSign"
|
||||||
|
|
||||||
- task: PowerShell@2
|
- task: PowerShell@2
|
||||||
inputs:
|
inputs:
|
||||||
targetType: filePath
|
targetType: filePath
|
||||||
filePath: .\build\azure-pipelines\win32\import-esrp-auth-cert.ps1
|
filePath: .\build\azure-pipelines\win32\import-esrp-auth-cert.ps1
|
||||||
arguments: "$(ESRP-SSL-AADAuth)"
|
arguments: "$(ESRP-SSL-AADAuth)"
|
||||||
displayName: Import ESRP Auth Certificate
|
displayName: Import ESRP Auth Certificate
|
||||||
|
|
||||||
- powershell: |
|
- powershell: |
|
||||||
. build/azure-pipelines/win32/exec.ps1
|
. build/azure-pipelines/win32/exec.ps1
|
||||||
$ErrorActionPreference = "Stop"
|
$ErrorActionPreference = "Stop"
|
||||||
$env:AZURE_STORAGE_ACCESS_KEY_2 = "$(vscode-storage-key)"
|
$env:AZURE_STORAGE_ACCESS_KEY_2 = "$(vscode-storage-key)"
|
||||||
$env:AZURE_DOCUMENTDB_MASTERKEY = "$(builds-docdb-key-readwrite)"
|
$env:AZURE_DOCUMENTDB_MASTERKEY = "$(builds-docdb-key-readwrite)"
|
||||||
$env:VSCODE_MIXIN_PASSWORD="$(github-distro-mixin-password)"
|
$env:VSCODE_MIXIN_PASSWORD="$(github-distro-mixin-password)"
|
||||||
.\build\azure-pipelines\win32\publish.ps1
|
.\build\azure-pipelines\win32\publish.ps1
|
||||||
displayName: Publish
|
displayName: Publish
|
||||||
|
|
||||||
- task: ms.vss-governance-buildtask.governance-build-task-component-detection.ComponentGovernanceComponentDetection@0
|
- task: ms.vss-governance-buildtask.governance-build-task-component-detection.ComponentGovernanceComponentDetection@0
|
||||||
displayName: 'Component Detection'
|
displayName: "Component Detection"
|
||||||
continueOnError: true
|
continueOnError: true
|
||||||
|
|
Loading…
Reference in a new issue