vsts-arm-test-steps.yml 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104
  1. steps:
  2. - task: CopyFiles@2
  3. displayName: 'Copy Files to: src/electron'
  4. inputs:
  5. TargetFolder: src/electron
  6. - bash: |
  7. cd src/electron
  8. npm install --verbose
  9. displayName: 'NPM install'
  10. - bash: |
  11. export ZIP_DEST=$PWD/src/out/Default
  12. echo "##vso[task.setvariable variable=ZIP_DEST]$ZIP_DEST"
  13. mkdir -p $ZIP_DEST
  14. cd src/electron
  15. node script/download-circleci-artifacts.js --buildNum=$CIRCLE_BUILD_NUM --name=dist.zip --dest=$ZIP_DEST
  16. cd $ZIP_DEST
  17. unzip -o dist.zip
  18. displayName: 'Download and unzip dist files for test'
  19. env:
  20. CIRCLE_TOKEN: $(CIRCLECI_TOKEN)
  21. - bash: |
  22. export FFMPEG_ZIP_DEST=$PWD/src/out/ffmpeg
  23. mkdir -p $FFMPEG_ZIP_DEST
  24. cd src/electron
  25. node script/download-circleci-artifacts.js --buildNum=$CIRCLE_BUILD_NUM --name=ffmpeg.zip --dest=$FFMPEG_ZIP_DEST
  26. cd $FFMPEG_ZIP_DEST
  27. unzip -o ffmpeg.zip
  28. displayName: 'Download and unzip ffmpeg for test'
  29. env:
  30. CIRCLE_TOKEN: $(CIRCLECI_TOKEN)
  31. - bash: |
  32. cd src/electron
  33. node script/download-circleci-artifacts.js --buildNum=$CIRCLE_BUILD_NUM --name=native_mksnapshot.zip --dest=$ZIP_DEST
  34. cd $ZIP_DEST
  35. unzip -o native_mksnapshot.zip
  36. displayName: 'Download and unzip native_mksnapshot.zip for test'
  37. env:
  38. CIRCLE_TOKEN: $(CIRCLECI_TOKEN)
  39. - bash: |
  40. export NODE_HEADERS_DEST=$PWD/src/out/Default/gen
  41. mkdir -p $NODE_HEADERS_DEST
  42. cd src/electron
  43. node script/download-circleci-artifacts.js --buildNum=$CIRCLE_BUILD_NUM --name=node_headers.tar.gz --dest=$NODE_HEADERS_DEST
  44. cd $NODE_HEADERS_DEST
  45. tar xzf node_headers.tar.gz
  46. displayName: 'Download and untar node header files for test'
  47. env:
  48. CIRCLE_TOKEN: $(CIRCLECI_TOKEN)
  49. - bash: |
  50. cd src
  51. export npm_config_nodedir=$PWD/out/Default/gen/node_headers
  52. cd electron/spec
  53. npm install --verbose
  54. displayName: Install test modules
  55. - bash: |
  56. sh -e /etc/init.d/xvfb start
  57. displayName: Setup for headless testing
  58. env:
  59. DISPLAY: ":99.0"
  60. - bash: |
  61. cd src
  62. python electron/script/verify-ffmpeg.py --source-root "$PWD" --build-dir out/Default --ffmpeg-path out/ffmpeg
  63. displayName: Verify non proprietary ffmpeg
  64. timeoutInMinutes: 5
  65. env:
  66. ELECTRON_DISABLE_SANDBOX: 1
  67. - bash: |
  68. cd src
  69. python electron/script/verify-mksnapshot.py --source-root "$PWD" --build-dir out/Default
  70. displayName: Verify mksnapshot
  71. timeoutInMinutes: 5
  72. env:
  73. ELECTRON_DISABLE_SANDBOX: 1
  74. - bash: |
  75. cd src
  76. ./out/Default/electron electron/spec --ci --enable-logging
  77. displayName: 'Run Electron tests'
  78. timeoutInMinutes: 10
  79. env:
  80. ELECTRON_DISABLE_SANDBOX: 1
  81. - task: PublishTestResults@2
  82. displayName: 'Publish Test Results'
  83. inputs:
  84. testResultsFiles: '*.xml'
  85. searchFolder: '$(System.DefaultWorkingDirectory)/src/junit/'
  86. condition: succeededOrFailed()
  87. - task: mspremier.PostBuildCleanup.PostBuildCleanup-task.PostBuildCleanup@3
  88. displayName: 'Clean Agent Directories'
  89. condition: always()