80 lines
2.3 KiB
YAML
80 lines
2.3 KiB
YAML
steps:
|
|
- task: NodeTool@0
|
|
inputs:
|
|
versionSpec: "12.14.1"
|
|
|
|
- task: geeklearningio.gl-vsts-tasks-yarn.yarn-installer-task.YarnInstaller@2
|
|
inputs:
|
|
versionSpec: "1.x"
|
|
|
|
- task: 1ESLighthouseEng.PipelineArtifactCaching.RestoreCacheV1.RestoreCache@1
|
|
inputs:
|
|
keyfile: '.yarnrc, remote/.yarnrc, **/yarn.lock, !**/node_modules/**/yarn.lock, !**/.*/**/yarn.lock'
|
|
targetfolder: '**/node_modules, !**/node_modules/**/node_modules'
|
|
vstsFeed: 'vscode-build-cache'
|
|
|
|
- script: |
|
|
CHILD_CONCURRENCY=1 yarn --frozen-lockfile
|
|
displayName: Install Dependencies
|
|
condition: and(succeeded(), ne(variables['CacheRestored'], 'true'))
|
|
|
|
- task: 1ESLighthouseEng.PipelineArtifactCaching.SaveCacheV1.SaveCache@1
|
|
inputs:
|
|
keyfile: '.yarnrc, remote/.yarnrc, **/yarn.lock, !**/node_modules/**/yarn.lock, !**/.*/**/yarn.lock'
|
|
targetfolder: '**/node_modules, !**/node_modules/**/node_modules'
|
|
vstsFeed: 'vscode-build-cache'
|
|
condition: and(succeeded(), ne(variables['CacheRestored'], 'true'))
|
|
|
|
- script: |
|
|
set -e
|
|
yarn postinstall
|
|
displayName: Run postinstall scripts
|
|
condition: and(succeeded(), eq(variables['CacheRestored'], 'true'))
|
|
|
|
- script: |
|
|
yarn electron x64
|
|
displayName: Download Electron
|
|
|
|
- script: |
|
|
yarn monaco-compile-check
|
|
displayName: Run Monaco Editor Checks
|
|
|
|
- script: |
|
|
yarn valid-layers-check
|
|
displayName: Run Valid Layers Checks
|
|
|
|
- script: |
|
|
yarn compile
|
|
displayName: Compile Sources
|
|
|
|
- script: |
|
|
yarn download-builtin-extensions
|
|
displayName: Download Built-in Extensions
|
|
|
|
- script: |
|
|
./scripts/test.sh --tfs "Unit Tests"
|
|
displayName: Run Unit Tests (Electron)
|
|
|
|
- script: |
|
|
yarn test-browser --browser chromium --browser webkit --browser firefox --tfs "Browser Unit Tests"
|
|
displayName: Run Unit Tests (Browser)
|
|
|
|
- script: |
|
|
./scripts/test-integration.sh --tfs "Integration Tests"
|
|
displayName: Run Integration Tests (Electron)
|
|
|
|
- task: PublishPipelineArtifact@0
|
|
inputs:
|
|
artifactName: crash-dump-macos
|
|
targetPath: .build/crashes
|
|
displayName: 'Publish Crash Reports'
|
|
continueOnError: true
|
|
condition: failed()
|
|
|
|
- task: PublishTestResults@2
|
|
displayName: Publish Tests Results
|
|
inputs:
|
|
testResultsFiles: '*-results.xml'
|
|
searchFolder: '$(Build.ArtifactStagingDirectory)/test-results'
|
|
condition: succeededOrFailed()
|