steps: - task: NodeTool@0 inputs: versionSpec: "12.18.3" - task: geeklearningio.gl-vsts-tasks-yarn.yarn-installer-task.YarnInstaller@2 inputs: versionSpec: "1.x" - task: UsePythonVersion@0 inputs: versionSpec: "2.x" addToPath: true - powershell: | mkdir -Force .build node build/azure-pipelines/common/computeNodeModulesCacheKey.js > .build/yarnlockhash displayName: Prepare yarn cache flags - task: Cache@2 inputs: key: 'continuousNodeModules | $(Agent.OS) | .build/arch, .build/terrapin, .build/yarnlockhash' path: .build/node_modules_cache cacheHitVar: NODE_MODULES_RESTORED displayName: Cache node_modules archive - powershell: | . build/azure-pipelines/win32/exec.ps1 $ErrorActionPreference = "Stop" exec { 7z.exe x .build/node_modules_cache/cache.7z -aos } condition: and(succeeded(), eq(variables.NODE_MODULES_RESTORED, 'true')) displayName: Extract node_modules archive - powershell: | yarn --frozen-lockfile env: CHILD_CONCURRENCY: "1" displayName: Install Dependencies condition: and(succeeded(), ne(variables.NODE_MODULES_RESTORED, 'true')) - powershell: | . build/azure-pipelines/win32/exec.ps1 $ErrorActionPreference = "Stop" exec { node build/azure-pipelines/common/listNodeModules.js .build/node_modules_list.txt } exec { mkdir -Force .build/node_modules_cache } exec { 7z.exe a .build/node_modules_cache/cache.7z -mx3 `@.build/node_modules_list.txt } condition: and(succeeded(), ne(variables.NODE_MODULES_RESTORED, 'true')) displayName: Create node_modules archive - powershell: | . build/azure-pipelines/win32/exec.ps1 $ErrorActionPreference = "Stop" exec { yarn postinstall } displayName: Run postinstall scripts condition: and(succeeded(), eq(variables.NODE_MODULES_RESTORED, 'true')) - powershell: | yarn electron displayName: Download Electron - powershell: | yarn monaco-compile-check displayName: Run Monaco Editor Checks - script: | yarn valid-layers-check displayName: Run Valid Layers Checks - powershell: | yarn compile displayName: Compile Sources - powershell: | yarn download-builtin-extensions displayName: Download Built-in Extensions - powershell: | .\scripts\test.bat --tfs "Unit Tests" displayName: Run Unit Tests (Electron) - powershell: | yarn test-browser --browser chromium --browser firefox --tfs "Browser Unit Tests" displayName: Run Unit Tests (Browser) - powershell: | .\scripts\test-integration.bat --tfs "Integration Tests" displayName: Run Integration Tests (Electron) - task: PublishPipelineArtifact@0 displayName: "Publish Crash Reports" inputs: artifactName: crash-dump-windows targetPath: .build\crashes continueOnError: true condition: failed() - task: PublishTestResults@2 displayName: Publish Tests Results inputs: testResultsFiles: "*-results.xml" searchFolder: "$(Build.ArtifactStagingDirectory)/test-results" condition: succeededOrFailed()