vsts-arm-test-steps.yml 3.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110
  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. node script/yarn.js install --frozen-lockfile
  9. displayName: 'Yarn 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. export NODE_HEADERS_DEST=$PWD/src/out/Default/gen
  33. mkdir -p $NODE_HEADERS_DEST
  34. cd src/electron
  35. node script/download-circleci-artifacts.js --buildNum=$CIRCLE_BUILD_NUM --name=node_headers.tar.gz --dest=$NODE_HEADERS_DEST
  36. cd $NODE_HEADERS_DEST
  37. tar xzf node_headers.tar.gz
  38. displayName: 'Download and untar node header files for test'
  39. env:
  40. CIRCLE_TOKEN: $(CIRCLECI_TOKEN)
  41. - bash: |
  42. export CROSS_ARCH_SNAPSHOTS=$PWD/src/out/Default/cross-arch-snapshots
  43. mkdir -p $CROSS_ARCH_SNAPSHOTS
  44. cd src/electron
  45. node script/download-circleci-artifacts.js --buildNum=$CIRCLE_BUILD_NUM --name=cross-arch-snapshots/snapshot_blob.bin --dest=$CROSS_ARCH_SNAPSHOTS
  46. node script/download-circleci-artifacts.js --buildNum=$CIRCLE_BUILD_NUM --name=cross-arch-snapshots/v8_context_snapshot.bin --dest=$CROSS_ARCH_SNAPSHOTS
  47. displayName: 'Download cross arch snapshot files'
  48. env:
  49. CIRCLE_TOKEN: $(CIRCLECI_TOKEN)
  50. - bash: |
  51. export NATIVE_UNITTESTS_DEST=$PWD/src/out/Default
  52. cd src/electron
  53. node script/download-circleci-artifacts.js --buildNum=$CIRCLE_BUILD_NUM --name=shell_browser_ui_unittests --dest=$NATIVE_UNITTESTS_DEST
  54. chmod +x $NATIVE_UNITTESTS_DEST/shell_browser_ui_unittests
  55. displayName: 'Download native unittest executables'
  56. env:
  57. CIRCLE_TOKEN: $(CIRCLECI_TOKEN)
  58. - bash: |
  59. sh -e /etc/init.d/xvfb start
  60. displayName: Setup for headless testing
  61. env:
  62. DISPLAY: ":99.0"
  63. - bash: |
  64. # Next line needed to avoid crash on arm32
  65. sudo gdk-pixbuf-query-loaders --update-cache
  66. cd src
  67. export ELECTRON_OUT_DIR=Default
  68. (cd electron && node script/yarn test -- --enable-logging)
  69. displayName: 'Run Electron tests'
  70. timeoutInMinutes: 20
  71. env:
  72. ELECTRON_DISABLE_SECURITY_WARNINGS: 1
  73. IGNORE_YARN_INSTALL_ERROR: 1
  74. ELECTRON_TEST_RESULTS_DIR: junit
  75. CI: 1
  76. - bash: |
  77. cd src
  78. python electron/script/verify-ffmpeg.py --source-root "$PWD" --build-dir out/Default --ffmpeg-path out/ffmpeg
  79. displayName: Verify non proprietary ffmpeg
  80. timeoutInMinutes: 5
  81. - bash: |
  82. cd src
  83. echo Verify cross arch snapshot
  84. python electron/script/verify-mksnapshot.py --source-root "$PWD" --build-dir out/Default --snapshot-files-dir $PWD/out/Default/cross-arch-snapshots
  85. displayName: Verify cross arch snapshot
  86. timeoutInMinutes: 5
  87. - task: PublishTestResults@2
  88. displayName: 'Publish Test Results'
  89. inputs:
  90. testResultsFiles: '*.xml'
  91. searchFolder: '$(System.DefaultWorkingDirectory)/src/junit/'
  92. condition: succeededOrFailed()
  93. - task: mspremier.PostBuildCleanup.PostBuildCleanup-task.PostBuildCleanup@3
  94. displayName: 'Clean Agent Directories'
  95. condition: always()