product-compile.yml 5.1 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:
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:
19
    versionSpec: "12.13.0"
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 55 56

- task: 1ESLighthouseEng.PipelineArtifactCaching.RestoreCacheV1.RestoreCache@1
  inputs:
57
    keyfile: 'build/.cachesalt, .yarnrc, remote/.yarnrc, **/yarn.lock, !**/node_modules/**/yarn.lock, !**/.*/**/yarn.lock'
J
Joao Moreno 已提交
58 59
    targetfolder: '**/node_modules, !**/node_modules/**/node_modules'
    vstsFeed: 'npm-vscode'
J
Joao Moreno 已提交
60
  condition: and(succeeded(), ne(variables['CacheExists-Compilation'], 'true'))
J
Joao Moreno 已提交
61 62 63

- script: |
    set -e
J
Joao Moreno 已提交
64
    CHILD_CONCURRENCY=1 yarn --frozen-lockfile
J
Joao Moreno 已提交
65
  displayName: Install dependencies
J
Joao Moreno 已提交
66
  condition: and(succeeded(), ne(variables['CacheExists-Compilation'], 'true'), ne(variables['CacheRestored'], 'true'))
J
Joao Moreno 已提交
67 68 69

- task: 1ESLighthouseEng.PipelineArtifactCaching.SaveCacheV1.SaveCache@1
  inputs:
70
    keyfile: 'build/.cachesalt, .yarnrc, remote/.yarnrc, **/yarn.lock, !**/node_modules/**/yarn.lock, !**/.*/**/yarn.lock'
J
Joao Moreno 已提交
71 72
    targetfolder: '**/node_modules, !**/node_modules/**/node_modules'
    vstsFeed: 'npm-vscode'
J
Joao Moreno 已提交
73
  condition: and(succeeded(), ne(variables['CacheExists-Compilation'], 'true'), ne(variables['CacheRestored'], 'true'))
J
Joao Moreno 已提交
74 75 76 77 78

- script: |
    set -e
    yarn postinstall
  displayName: Run postinstall scripts
J
Joao Moreno 已提交
79
  condition: and(succeeded(), ne(variables['CacheExists-Compilation'], 'true'), eq(variables['CacheRestored'], 'true'))
J
Joao Moreno 已提交
80

J
Joao Moreno 已提交
81 82
# Mixin must run before optimize, because the CSS loader will
# inline small SVGs
J
Joao Moreno 已提交
83 84
- script: |
    set -e
J
Joao Moreno 已提交
85
    node build/azure-pipelines/mixin
J
Joao Moreno 已提交
86
  displayName: Mix in quality
J
Joao Moreno 已提交
87
  condition: and(succeeded(), ne(variables['CacheExists-Compilation'], 'true'))
J
Joao Moreno 已提交
88

J
Joao Moreno 已提交
89 90
- script: |
    set -e
J
Johannes Rieken 已提交
91
    yarn gulp hygiene
J
Joao Moreno 已提交
92
    yarn monaco-compile-check
93 94
    yarn valid-layers-check
  displayName: Run hygiene, monaco compile & valid layers checks
J
Joao Moreno 已提交
95
  condition: and(succeeded(), ne(variables['CacheExists-Compilation'], 'true'), eq(variables['VSCODE_STEP_ON_IT'], 'false'))
J
Joao Moreno 已提交
96 97

- script: |
98 99
    set -
    ./build/azure-pipelines/common/extract-telemetry.sh
J
Joao Moreno 已提交
100
  displayName: Extract Telemetry
J
Joao Moreno 已提交
101
  condition: and(succeeded(), ne(variables['CacheExists-Compilation'], 'true'))
J
Joao Moreno 已提交
102

103 104 105 106 107
- 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 已提交
108
  condition: and(succeeded(), ne(variables['CacheExists-Compilation'], 'true'))
109

J
Joao Moreno 已提交
110 111 112 113
- script: |
    set -e
    yarn gulp compile-build
    yarn gulp compile-extensions-build
114
    yarn gulp minify-vscode
J
Joao Moreno 已提交
115
    yarn gulp minify-vscode-reh
B
Benjamin Pasero 已提交
116
    yarn gulp minify-vscode-reh-web
J
Joao Moreno 已提交
117
  displayName: Compile
J
Joao Moreno 已提交
118
  condition: and(succeeded(), ne(variables['CacheExists-Compilation'], 'true'))
J
Joao Moreno 已提交
119

120 121 122 123 124
- script: |
    set -e
    AZURE_STORAGE_ACCESS_KEY="$(ticino-storage-key)" \
      node build/azure-pipelines/upload-sourcemaps
  displayName: Upload sourcemaps
J
Joao Moreno 已提交
125
  condition: and(succeeded(), ne(variables['CacheExists-Compilation'], 'true'))
126

J
Joao Moreno 已提交
127 128 129 130 131 132
- 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 已提交
133
  condition: and(succeeded(), ne(variables['CacheExists-Compilation'], 'true'))
J
Joao Moreno 已提交
134

J
Joao Moreno 已提交
135 136
- task: 1ESLighthouseEng.PipelineArtifactCaching.SaveCacheV1.SaveCache@1
  inputs:
137
    keyfile: 'build/.cachesalt, .build/commit, .build/quality'
138
    targetfolder: '.build, out-build, out-vscode-min, out-vscode-reh-min, out-vscode-reh-web-min'
J
Joao Moreno 已提交
139
    vstsFeed: 'npm-vscode'
J
Joao Moreno 已提交
140
    platformIndependent: true
J
Joao Moreno 已提交
141
    alias: 'Compilation'
J
Joao Moreno 已提交
142
  condition: and(succeeded(), ne(variables['CacheExists-Compilation'], 'true'))