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

- task: 1ESLighthouseEng.PipelineArtifactCaching.RestoreCacheV1.RestoreCache@1
  inputs:
    keyfile: '.build/commit'
10
    targetfolder: '.build, **/out-vscode-min'
J
Joao Moreno 已提交
11
    vstsFeed: 'npm-vscode'
J
Joao Moreno 已提交
12
    platformIndependent: true
J
Joao Moreno 已提交
13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58
    alias: 'Compilation'

- task: NodeTool@0
  inputs:
    versionSpec: "10.15.1"
  condition: and(succeeded(), ne(variables['CacheRestored-Compilation'], 'true'))

- task: geeklearningio.gl-vsts-tasks-yarn.yarn-installer-task.YarnInstaller@2
  inputs:
    versionSpec: "1.10.1"
  condition: and(succeeded(), ne(variables['CacheRestored-Compilation'], 'true'))

- task: AzureKeyVault@1
  displayName: 'Azure Key Vault: Get Secrets'
  inputs:
    azureSubscription: 'vscode-builds-subscription'
    KeyVaultName: vscode
  condition: and(succeeded(), ne(variables['CacheRestored-Compilation'], 'true'))

- script: |
    set -e
    export npm_config_arch="$(VSCODE_ARCH)"

    cat << EOF > ~/.netrc
    machine monacotools.visualstudio.com
    password $(devops-pat)
    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
  condition: and(succeeded(), ne(variables['CacheRestored-Compilation'], 'true'))

- 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
  condition: and(succeeded(), ne(variables['CacheRestored-Compilation'], 'true'))

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

- script: |
    set -e
    yarn --frozen-lockfile
J
Joao Moreno 已提交
67 68
    node build/azure-pipelines/common/installDistroDependencies.js
    node build/azure-pipelines/common/installDistroDependencies.js remote
J
Joao Moreno 已提交
69 70 71 72 73
  displayName: Install dependencies
  condition: and(succeeded(), ne(variables['CacheRestored-Compilation'], 'true'), ne(variables['CacheRestored'], 'true'))

- task: 1ESLighthouseEng.PipelineArtifactCaching.SaveCacheV1.SaveCache@1
  inputs:
J
Joao Moreno 已提交
74
    keyfile: '.yarnrc, remote/.yarnrc, quality/*/package.json, **/yarn.lock, !**/node_modules/**/yarn.lock, !**/.*/**/yarn.lock'
J
Joao Moreno 已提交
75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92
    targetfolder: '**/node_modules, !**/node_modules/**/node_modules'
    vstsFeed: 'npm-vscode'
  condition: and(succeeded(), ne(variables['CacheRestored-Compilation'], 'true'), ne(variables['CacheRestored'], 'true'))

- script: |
    set -e
    yarn postinstall
  displayName: Run postinstall scripts
  condition: and(succeeded(), ne(variables['CacheRestored-Compilation'], 'true'), eq(variables['CacheRestored'], 'true'))

- script: |
    set -e
    yarn gulp hygiene
    yarn monaco-compile-check
  displayName: Run hygiene checks
  condition: and(succeeded(), ne(variables['CacheRestored-Compilation'], 'true'), eq(variables['VSCODE_STEP_ON_IT'], 'false'))

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

- script: |
    set -e
    yarn gulp compile-build
    yarn gulp compile-extensions-build
102
    yarn gulp minify-vscode
J
Joao Moreno 已提交
103 104 105 106 107 108
  displayName: Compile
  condition: and(succeeded(), ne(variables['CacheRestored-Compilation'], 'true'))

- task: 1ESLighthouseEng.PipelineArtifactCaching.SaveCacheV1.SaveCache@1
  inputs:
    keyfile: '.build/commit'
109
    targetfolder: '.build, **/out-vscode-min'
J
Joao Moreno 已提交
110
    vstsFeed: 'npm-vscode'
J
Joao Moreno 已提交
111
    platformIndependent: true
J
Joao Moreno 已提交
112 113
    alias: 'Compilation'
  condition: and(succeeded(), ne(variables['CacheRestored-Compilation'], 'true'))