mirror of
https://github.com/atom/atom.git
synced 2026-04-28 03:01:47 -04:00
CI: Use Cache@2 task in place of the old SaveCache@1 (#21057)
* CI: Use Cache@2 task in place of SaveCache@1 This is the officially supported successor to the old, unofficial, Microsoft-DevLabs-hosted cache task. It is simpler/easier to configure, and thus more friendly to forks.
This commit is contained in:
@@ -30,12 +30,9 @@ jobs:
|
||||
- script: npm install --global npm@6.9.0
|
||||
displayName: Update npm
|
||||
|
||||
- task: 1ESLighthouseEng.PipelineArtifactCaching.RestoreCacheV1.RestoreCache@1
|
||||
displayName: Restore node_modules cache
|
||||
inputs:
|
||||
keyfile: 'package.json, script/vsts/platforms/linux.yml, **/package-lock.json, !**/node_modules/**/package-lock.json, !**/.*/**/package-lock.json'
|
||||
targetfolder: '**/node_modules, !**/node_modules/**/node_modules'
|
||||
vstsFeed: 'bae1bc26-220d-43c7-a955-4de039370de2'
|
||||
- template: templates/cache.yml
|
||||
parameters:
|
||||
OS: linux
|
||||
|
||||
- script: script/bootstrap
|
||||
displayName: Bootstrap build environment
|
||||
@@ -45,14 +42,7 @@ jobs:
|
||||
CC: clang-5.0
|
||||
CXX: clang++-5.0
|
||||
npm_config_clang: 1
|
||||
condition: ne(variables['CacheRestored'], 'true')
|
||||
|
||||
- task: 1ESLighthouseEng.PipelineArtifactCaching.SaveCacheV1.SaveCache@1
|
||||
displayName: Save node_modules cache
|
||||
inputs:
|
||||
keyfile: 'package.json, script/vsts/platforms/linux.yml, **/package-lock.json, !**/node_modules/**/package-lock.json, !**/.*/**/package-lock.json'
|
||||
targetfolder: '**/node_modules, !**/node_modules/**/node_modules'
|
||||
vstsFeed: 'bae1bc26-220d-43c7-a955-4de039370de2'
|
||||
condition: or(ne(variables['MainNodeModulesRestored'], 'true'), ne(variables['ScriptNodeModulesRestored'], 'true'), ne(variables['ApmNodeModulesRestored'], 'true'))
|
||||
|
||||
- script: script/lint
|
||||
displayName: Run linter
|
||||
|
||||
@@ -17,12 +17,9 @@ jobs:
|
||||
versionSpec: 12.4.0
|
||||
displayName: Install Node.js 12.4.0
|
||||
|
||||
- task: 1ESLighthouseEng.PipelineArtifactCaching.RestoreCacheV1.RestoreCache@1
|
||||
displayName: Restore node_modules cache
|
||||
inputs:
|
||||
keyfile: 'package.json, script/vsts/platforms/macos.yml, **/package-lock.json, !**/node_modules/**/package-lock.json, !**/.*/**/package-lock.json'
|
||||
targetfolder: '**/node_modules, !**/node_modules/**/node_modules'
|
||||
vstsFeed: 'bae1bc26-220d-43c7-a955-4de039370de2'
|
||||
- template: templates/cache.yml
|
||||
parameters:
|
||||
OS: macos
|
||||
|
||||
- script: script/bootstrap
|
||||
displayName: Bootstrap build environment
|
||||
@@ -31,14 +28,7 @@ jobs:
|
||||
CI_PROVIDER: VSTS
|
||||
NPM_BIN_PATH: /Users/runner/hostedtoolcache/node/12.4.0/x64/bin/npm
|
||||
npm_config_build_from_source: true
|
||||
condition: ne(variables['CacheRestored'], 'true')
|
||||
|
||||
- task: 1ESLighthouseEng.PipelineArtifactCaching.SaveCacheV1.SaveCache@1
|
||||
displayName: Save node_modules cache
|
||||
inputs:
|
||||
keyfile: 'package.json, script/vsts/platforms/macos.yml, **/package-lock.json, !**/node_modules/**/package-lock.json, !**/.*/**/package-lock.json'
|
||||
targetfolder: '**/node_modules, !**/node_modules/**/node_modules'
|
||||
vstsFeed: 'bae1bc26-220d-43c7-a955-4de039370de2'
|
||||
condition: or(ne(variables['MainNodeModulesRestored'], 'true'), ne(variables['ScriptNodeModulesRestored'], 'true'), ne(variables['ApmNodeModulesRestored'], 'true'))
|
||||
|
||||
- script: script/lint
|
||||
displayName: Run linter
|
||||
@@ -115,12 +105,9 @@ jobs:
|
||||
versionSpec: 12.4.0
|
||||
displayName: Install Node.js 12.4.0
|
||||
|
||||
- task: 1ESLighthouseEng.PipelineArtifactCaching.RestoreCacheV1.RestoreCache@1
|
||||
displayName: Restore node_modules cache
|
||||
inputs:
|
||||
keyfile: 'package.json, script/vsts/platforms/macos.yml, **/package-lock.json, !**/node_modules/**/package-lock.json, !**/.*/**/package-lock.json'
|
||||
targetfolder: '**/node_modules, !**/node_modules/**/node_modules'
|
||||
vstsFeed: 'bae1bc26-220d-43c7-a955-4de039370de2'
|
||||
- template: templates/cache.yml
|
||||
parameters:
|
||||
OS: macos
|
||||
|
||||
# The artifact caching task does not work on forks, so we need to
|
||||
# bootstrap again for pull requests coming from forked repositories.
|
||||
@@ -131,8 +118,7 @@ jobs:
|
||||
CI_PROVIDER: VSTS
|
||||
NPM_BIN_PATH: /Users/runner/hostedtoolcache/node/12.4.0/x64/bin/npm
|
||||
npm_config_build_from_source: true
|
||||
|
||||
condition: ne(variables['CacheRestored'], 'true')
|
||||
condition: or(ne(variables['MainNodeModulesRestored'], 'true'), ne(variables['ScriptNodeModulesRestored'], 'true'), ne(variables['ApmNodeModulesRestored'], 'true'))
|
||||
|
||||
- task: DownloadBuildArtifacts@0
|
||||
displayName: Download atom-mac.zip
|
||||
|
||||
30
script/vsts/platforms/templates/cache.yml
Normal file
30
script/vsts/platforms/templates/cache.yml
Normal file
@@ -0,0 +1,30 @@
|
||||
parameters:
|
||||
- name: OS
|
||||
displayName: Operating System
|
||||
type: string
|
||||
values:
|
||||
- windows
|
||||
- linux
|
||||
- macos
|
||||
|
||||
steps:
|
||||
- task: Cache@2
|
||||
displayName: Cache node_modules
|
||||
inputs:
|
||||
key: 'npm | "$(Agent.OS)" | "$(buildArch)" | package.json, package-lock.json, script/vsts/platforms/${{ parameters.OS }}.yml'
|
||||
path: 'node_modules'
|
||||
cacheHitVar: MainNodeModulesRestored
|
||||
|
||||
- task: Cache@2
|
||||
displayName: Cache script/node_modules
|
||||
inputs:
|
||||
key: 'npm | "$(Agent.OS)" | "$(buildArch)" | script/package.json, script/package-lock.json, script/vsts/platforms/${{ parameters.OS }}.yml'
|
||||
path: 'script/node_modules'
|
||||
cacheHitVar: ScriptNodeModulesRestored
|
||||
|
||||
- task: Cache@2
|
||||
displayName: Cache apm/node_modules
|
||||
inputs:
|
||||
key: 'npm | "$(Agent.OS)" | "$(buildArch)" | apm/package.json, apm/package-lock.json, script/vsts/platforms/${{ parameters.OS }}.yml'
|
||||
path: 'apm/node_modules'
|
||||
cacheHitVar: ApmNodeModulesRestored
|
||||
@@ -48,21 +48,9 @@ jobs:
|
||||
npm install
|
||||
displayName: Install Windows build dependencies
|
||||
|
||||
- task: 1ESLighthouseEng.PipelineArtifactCaching.RestoreCacheV1.RestoreCache@1
|
||||
displayName: Restore node_modules cache (x64)
|
||||
inputs:
|
||||
keyfile: 'package.json, script/vsts/platforms/windows.yml, **/package-lock.json, !**/node_modules/**/package-lock.json, !**/.*/**/package-lock.json, script/vsts/x64-cache-key'
|
||||
targetfolder: '**/node_modules, !**/node_modules/**/node_modules'
|
||||
vstsFeed: 'bae1bc26-220d-43c7-a955-4de039370de2'
|
||||
condition: eq(variables['buildArch'], 'x64')
|
||||
|
||||
- task: 1ESLighthouseEng.PipelineArtifactCaching.RestoreCacheV1.RestoreCache@1
|
||||
displayName: Restore node_modules cache (x86)
|
||||
inputs:
|
||||
keyfile: 'package.json, script/vsts/platforms/windows.yml, **/package-lock.json, !**/node_modules/**/package-lock.json, !**/.*/**/package-lock.json, script/vsts/x86-cache-key'
|
||||
targetfolder: '**/node_modules, !**/node_modules/**/node_modules'
|
||||
vstsFeed: 'bae1bc26-220d-43c7-a955-4de039370de2'
|
||||
condition: eq(variables['buildArch'], 'x86')
|
||||
- template: templates/cache.yml
|
||||
parameters:
|
||||
OS: windows
|
||||
|
||||
- script: |
|
||||
node script\vsts\windows-run.js script\bootstrap.cmd
|
||||
@@ -73,23 +61,7 @@ jobs:
|
||||
NPM_BIN_PATH: "C:\\hostedtoolcache\\windows\\node\\12.4.0\\x64\\npm.cmd"
|
||||
npm_config_build_from_source: true
|
||||
displayName: Bootstrap build environment
|
||||
condition: ne(variables['CacheRestored'], 'true')
|
||||
|
||||
- task: 1ESLighthouseEng.PipelineArtifactCaching.SaveCacheV1.SaveCache@1
|
||||
displayName: Save node_modules cache (x64)
|
||||
inputs:
|
||||
keyfile: 'package.json, script/vsts/platforms/windows.yml, **/package-lock.json, !**/node_modules/**/package-lock.json, !**/.*/**/package-lock.json, script/vsts/x64-cache-key'
|
||||
targetfolder: '**/node_modules, !**/node_modules/**/node_modules'
|
||||
vstsFeed: 'bae1bc26-220d-43c7-a955-4de039370de2'
|
||||
condition: eq(variables['buildArch'], 'x64')
|
||||
|
||||
- task: 1ESLighthouseEng.PipelineArtifactCaching.SaveCacheV1.SaveCache@1
|
||||
displayName: Save node_modules cache (x86)
|
||||
inputs:
|
||||
keyfile: 'package.json, script/vsts/platforms/windows.yml, **/package-lock.json, !**/node_modules/**/package-lock.json, !**/.*/**/package-lock.json, script/vsts/x86-cache-key'
|
||||
targetfolder: '**/node_modules, !**/node_modules/**/node_modules'
|
||||
vstsFeed: 'bae1bc26-220d-43c7-a955-4de039370de2'
|
||||
condition: eq(variables['buildArch'], 'x86')
|
||||
condition: or(ne(variables['MainNodeModulesRestored'], 'true'), ne(variables['ScriptNodeModulesRestored'], 'true'), ne(variables['ApmNodeModulesRestored'], 'true'))
|
||||
|
||||
- script: node script\vsts\windows-run.js script\lint.cmd
|
||||
env:
|
||||
|
||||
Reference in New Issue
Block a user