product-compile.yml 5.5 KB
Newer Older
J
Joao Moreno 已提交
1 2 3
steps:
- script: |
    mkdir -p .build
J
Joao Moreno 已提交
4
    echo -n $BUILD_SOURCEVERSION > .build/commit
5
    echo -n $VSCODE_QUALITY > .build/quality
J
Joao Moreno 已提交
6 7 8 9
  displayName: Prepare cache flag

- task: 1ESLighthouseEng.PipelineArtifactCaching.RestoreCacheV1.RestoreCache@1
  inputs:
J
João Moreno 已提交
10
    keyfile: 'build/.cachesalt, .build/commit, .build/quality'
11
    targetfolder: '.build, out-build, out-vscode-min, out-vscode-reh-min, out-vscode-reh-web-min'
J
Joao Moreno 已提交
12
    vstsFeed: 'npm-vscode'
J
Joao Moreno 已提交
13
    platformIndependent: true
J
Joao Moreno 已提交
14
    alias: 'Compilation'
J
Joao Moreno 已提交
15
    dryRun: true
J
Joao Moreno 已提交
16 17 18

- task: NodeTool@0
  inputs:
R
Robo 已提交
19
    versionSpec: "12.14.1"
J
Joao Moreno 已提交
20
  condition: and(succeeded(), ne(variables['CacheExists-Compilation'], 'true'))
J
Joao Moreno 已提交
21 22 23

- task: geeklearningio.gl-vsts-tasks-yarn.yarn-installer-task.YarnInstaller@2
  inputs:
I
isidor 已提交
24
    versionSpec: "1.x"
J
Joao Moreno 已提交
25
  condition: and(succeeded(), ne(variables['CacheExists-Compilation'], 'true'))
J
Joao Moreno 已提交
26 27 28 29 30 31

- task: AzureKeyVault@1
  displayName: 'Azure Key Vault: Get Secrets'
  inputs:
    azureSubscription: 'vscode-builds-subscription'
    KeyVaultName: vscode
J
Joao Moreno 已提交
32
  condition: and(succeeded(), ne(variables['CacheExists-Compilation'], 'true'))
J
Joao Moreno 已提交
33 34 35 36 37 38 39 40 41 42 43 44

- script: |
    set -e
    cat << EOF > ~/.netrc
    machine github.com
    login vscode
    password $(github-distro-mixin-password)
    EOF

    git config user.email "vscode@microsoft.com"
    git config user.name "VSCode"
  displayName: Prepare tooling
J
Joao Moreno 已提交
45
  condition: and(succeeded(), ne(variables['CacheExists-Compilation'], 'true'))
J
Joao Moreno 已提交
46 47 48 49 50 51 52

- script: |
    set -e
    git remote add distro "https://github.com/$(VSCODE_MIXIN_REPO).git"
    git fetch distro
    git merge $(node -p "require('./package.json').distro")
  displayName: Merge distro
J
Joao Moreno 已提交
53
  condition: and(succeeded(), ne(variables['CacheExists-Compilation'], 'true'))
J
Joao Moreno 已提交
54

J
João Moreno 已提交
55
- script: |
J
João Moreno 已提交
56
    npx https://aka.ms/enablesecurefeed standAlone
J
João Moreno 已提交
57
  displayName: Switch to Terrapin packages
J
João Moreno 已提交
58
  condition: and(succeeded(), ne(variables['CacheExists-Compilation'], 'true'))
J
João Moreno 已提交
59

J
João Moreno 已提交
60 61 62
- script: |
    echo -n $VSCODE_ARCH > .build/arch
  displayName: Prepare arch cache flag
J
João Moreno 已提交
63
  condition: and(succeeded(), ne(variables['CacheExists-Compilation'], 'true'))
J
João Moreno 已提交
64

J
Joao Moreno 已提交
65 66
- task: 1ESLighthouseEng.PipelineArtifactCaching.RestoreCacheV1.RestoreCache@1
  inputs:
J
João Moreno 已提交
67
    keyfile: '.build/arch, build/.cachesalt, .yarnrc, remote/.yarnrc, **/yarn.lock, !**/node_modules/**/yarn.lock, !**/.*/**/yarn.lock'
J
Joao Moreno 已提交
68 69
    targetfolder: '**/node_modules, !**/node_modules/**/node_modules'
    vstsFeed: 'npm-vscode'
J
Joao Moreno 已提交
70
  condition: and(succeeded(), ne(variables['CacheExists-Compilation'], 'true'))
J
Joao Moreno 已提交
71 72 73

- script: |
    set -e
J
Joao Moreno 已提交
74
    CHILD_CONCURRENCY=1 yarn --frozen-lockfile
J
Joao Moreno 已提交
75
  displayName: Install dependencies
J
Joao Moreno 已提交
76
  condition: and(succeeded(), ne(variables['CacheExists-Compilation'], 'true'), ne(variables['CacheRestored'], 'true'))
J
Joao Moreno 已提交
77 78 79

- task: 1ESLighthouseEng.PipelineArtifactCaching.SaveCacheV1.SaveCache@1
  inputs:
J
João Moreno 已提交
80
    keyfile: '.build/arch, build/.cachesalt, .yarnrc, remote/.yarnrc, **/yarn.lock, !**/node_modules/**/yarn.lock, !**/.*/**/yarn.lock'
J
Joao Moreno 已提交
81 82
    targetfolder: '**/node_modules, !**/node_modules/**/node_modules'
    vstsFeed: 'npm-vscode'
J
Joao Moreno 已提交
83
  condition: and(succeeded(), ne(variables['CacheExists-Compilation'], 'true'), ne(variables['CacheRestored'], 'true'))
J
Joao Moreno 已提交
84

85 86 87 88 89 90
- script: |
    set -e
    yarn postinstall
  displayName: Run postinstall scripts
  condition: and(succeeded(), ne(variables['CacheExists-Compilation'], 'true'), eq(variables['CacheRestored'], 'true'))

J
Joao Moreno 已提交
91 92
# Mixin must run before optimize, because the CSS loader will
# inline small SVGs
J
Joao Moreno 已提交
93 94
- script: |
    set -e
J
Joao Moreno 已提交
95
    node build/azure-pipelines/mixin
J
Joao Moreno 已提交
96
  displayName: Mix in quality
J
Joao Moreno 已提交
97
  condition: and(succeeded(), ne(variables['CacheExists-Compilation'], 'true'))
J
Joao Moreno 已提交
98

J
Joao Moreno 已提交
99 100
- script: |
    set -e
J
Johannes Rieken 已提交
101
    yarn gulp hygiene
J
Joao Moreno 已提交
102
    yarn monaco-compile-check
103 104
    yarn valid-layers-check
  displayName: Run hygiene, monaco compile & valid layers checks
J
Joao Moreno 已提交
105
  condition: and(succeeded(), ne(variables['CacheExists-Compilation'], 'true'), eq(variables['VSCODE_STEP_ON_IT'], 'false'))
J
Joao Moreno 已提交
106

J
João Moreno 已提交
107 108 109 110 111
- script: |
    set -
    ./build/azure-pipelines/common/extract-telemetry.sh
  displayName: Extract Telemetry
  condition: and(succeeded(), ne(variables['CacheExists-Compilation'], 'true'))
J
Joao Moreno 已提交
112

113 114 115 116 117
- script: |
    set -e
    AZURE_WEBVIEW_STORAGE_ACCESS_KEY="$(vscode-webview-storage-key)" \
    ./build/azure-pipelines/common/publish-webview.sh
  displayName: Publish Webview
J
Joao Moreno 已提交
118
  condition: and(succeeded(), ne(variables['CacheExists-Compilation'], 'true'))
119

J
Joao Moreno 已提交
120 121 122 123
- script: |
    set -e
    yarn gulp compile-build
    yarn gulp compile-extensions-build
124
    yarn gulp minify-vscode
J
Joao Moreno 已提交
125
    yarn gulp minify-vscode-reh
B
Benjamin Pasero 已提交
126
    yarn gulp minify-vscode-reh-web
J
Joao Moreno 已提交
127
  displayName: Compile
J
Joao Moreno 已提交
128
  condition: and(succeeded(), ne(variables['CacheExists-Compilation'], 'true'))
J
Joao Moreno 已提交
129

130 131 132 133 134
- script: |
    set -e
    AZURE_STORAGE_ACCESS_KEY="$(ticino-storage-key)" \
      node build/azure-pipelines/upload-sourcemaps
  displayName: Upload sourcemaps
J
Joao Moreno 已提交
135
  condition: and(succeeded(), ne(variables['CacheExists-Compilation'], 'true'))
136

J
Joao Moreno 已提交
137 138 139 140 141 142
- script: |
    set -e
    VERSION=`node -p "require(\"./package.json\").version"`
    AZURE_DOCUMENTDB_MASTERKEY="$(builds-docdb-key-readwrite)" \
      node build/azure-pipelines/common/createBuild.js $VERSION
  displayName: Create build
J
Joao Moreno 已提交
143
  condition: and(succeeded(), ne(variables['CacheExists-Compilation'], 'true'))
J
Joao Moreno 已提交
144

J
Joao Moreno 已提交
145 146
- task: 1ESLighthouseEng.PipelineArtifactCaching.SaveCacheV1.SaveCache@1
  inputs:
147
    keyfile: 'build/.cachesalt, .build/commit, .build/quality'
148
    targetfolder: '.build, out-build, out-vscode-min, out-vscode-reh-min, out-vscode-reh-web-min'
J
Joao Moreno 已提交
149
    vstsFeed: 'npm-vscode'
J
Joao Moreno 已提交
150
    platformIndependent: true
J
Joao Moreno 已提交
151
    alias: 'Compilation'
J
Joao Moreno 已提交
152
  condition: and(succeeded(), ne(variables['CacheExists-Compilation'], 'true'))