@@ -20,12 +20,26 @@ jobs:
2020 - script : npm install --global npm@6.12.1
2121 displayName : Update npm
2222
23- - task : 1ESLighthouseEng.PipelineArtifactCaching.RestoreCacheV1.RestoreCache@1
24- displayName : Restore node_modules cache
23+ - task : Cache@2
24+ displayName : Cache node_modules
2525 inputs :
26- keyfile : ' package.json, script/vsts/platforms/macos.yml, **/package-lock.json, !**/node_modules/**/package-lock.json, !**/.*/**/package-lock.json'
27- targetfolder : ' **/node_modules, !**/node_modules/**/node_modules'
28- vstsFeed : ' bae1bc26-220d-43c7-a955-4de039370de2'
26+ key : ' npm | "$(Agent.OS)" | package.json, package-lock.json, script/vsts/platforms/macos.yml'
27+ path : ' node_modules'
28+ cacheHitVar : MainNodeModulesRestored
29+
30+ - task : Cache@2
31+ displayName : Cache script/node_modules
32+ inputs :
33+ key : ' npm | "$(Agent.OS)" | script/package.json, script/package-lock.json, script/vsts/platforms/macos.yml'
34+ path : ' script/node_modules'
35+ cacheHitVar : ScriptNodeModulesRestored
36+
37+ - task : Cache@2
38+ displayName : Cache apm/node_modules
39+ inputs :
40+ key : ' npm | "$(Agent.OS)" | apm/package.json, apm/package-lock.json, script/vsts/platforms/macos.yml'
41+ path : ' apm/node_modules'
42+ cacheHitVar : ApmNodeModulesRestored
2943
3044 - script : script/bootstrap
3145 displayName : Bootstrap build environment
3448 CI_PROVIDER : VSTS
3549 NPM_BIN_PATH : /usr/local/bin/npm
3650 npm_config_build_from_source : true
37- condition : ne(variables['CacheRestored'], 'true')
38-
39- - task : 1ESLighthouseEng.PipelineArtifactCaching.SaveCacheV1.SaveCache@1
40- displayName : Save node_modules cache
41- inputs :
42- keyfile : ' package.json, script/vsts/platforms/macos.yml, **/package-lock.json, !**/node_modules/**/package-lock.json, !**/.*/**/package-lock.json'
43- targetfolder : ' **/node_modules, !**/node_modules/**/node_modules'
44- vstsFeed : ' bae1bc26-220d-43c7-a955-4de039370de2'
51+ condition : or(ne(variables['MainNodeModulesRestored'], 'true'), ne(variables['ScriptNodeModulesRestored'], 'true'), ne(variables['ApmNodeModulesRestored'], 'true'))
4552
4653 - script : script/lint
4754 displayName : Run linter
@@ -121,12 +128,26 @@ jobs:
121128 - script : npm install --global npm@6.12.1
122129 displayName : Update npm
123130
124- - task : 1ESLighthouseEng.PipelineArtifactCaching.RestoreCacheV1.RestoreCache@1
125- displayName : Restore node_modules cache
131+ - task : Cache@2
132+ displayName : Cache node_modules
126133 inputs :
127- keyfile : ' package.json, script/vsts/platforms/macos.yml, **/package-lock.json, !**/node_modules/**/package-lock.json, !**/.*/**/package-lock.json'
128- targetfolder : ' **/node_modules, !**/node_modules/**/node_modules'
129- vstsFeed : ' bae1bc26-220d-43c7-a955-4de039370de2'
134+ key : ' npm | "$(Agent.OS)" | package.json, package-lock.json, script/vsts/platforms/macos.yml'
135+ path : ' node_modules'
136+ cacheHitVar : MainNodeModulesRestored
137+
138+ - task : Cache@2
139+ displayName : Cache script/node_modules
140+ inputs :
141+ key : ' npm | "$(Agent.OS)" | script/package.json, script/package-lock.json, script/vsts/platforms/macos.yml'
142+ path : ' script/node_modules'
143+ cacheHitVar : ScriptNodeModulesRestored
144+
145+ - task : Cache@2
146+ displayName : Cache apm/node_modules
147+ inputs :
148+ key : ' npm | "$(Agent.OS)" | apm/package.json, apm/package-lock.json, script/vsts/platforms/macos.yml'
149+ path : ' apm/node_modules'
150+ cacheHitVar : ApmNodeModulesRestored
130151
131152 # The artifact caching task does not work on forks, so we need to
132153 # bootstrap again for pull requests coming from forked repositories.
@@ -137,8 +158,7 @@ jobs:
137158 CI_PROVIDER : VSTS
138159 NPM_BIN_PATH : /usr/local/bin/npm
139160 npm_config_build_from_source : true
140-
141- condition : ne(variables['CacheRestored'], 'true')
161+ condition : or(ne(variables['MainNodeModulesRestored'], 'true'), ne(variables['ScriptNodeModulesRestored'], 'true'), ne(variables['ApmNodeModulesRestored'], 'true'))
142162
143163 - task : DownloadBuildArtifacts@0
144164 displayName : Download atom-mac.zip
0 commit comments