.cirrus.yml 6.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190
  1. linux_task:
  2. alias: linux
  3. container:
  4. image: node:16-slim
  5. memory: 8G
  6. build_binary_script:
  7. - apt-get update
  8. - export DEBIAN_FRONTEND="noninteractive"
  9. - apt-get install -y
  10. rpm
  11. build-essential
  12. git
  13. libsecret-1-dev
  14. fakeroot
  15. libx11-dev
  16. libxkbfile-dev
  17. libgdk-pixbuf2.0-dev
  18. libgtk-3-dev
  19. libxss-dev
  20. libasound2-dev
  21. libnss3
  22. xvfb
  23. - git submodule init
  24. - git submodule update
  25. - sed -i -e "s/[0-9]*-dev/`date -u +%Y%m%d%H`/g" package.json
  26. - yarn install || yarn install
  27. - yarn build
  28. - yarn run build:apm
  29. - yarn dist || yarn dist
  30. binary_artifacts:
  31. path: ./binaries/*
  32. test_script:
  33. - Xvfb :99 & DISPLAY=:99 PLAYWRIGHT_JUNIT_OUTPUT_NAME=report.xml npx playwright test --reporter=junit,list
  34. always:
  35. videos_artifacts:
  36. path: ./tests/videos/**
  37. junit_artifacts:
  38. path: report.xml
  39. type: text/xml
  40. format: junit
  41. arm_linux_task:
  42. alias: linux
  43. arm_container:
  44. image: node:16-slim
  45. memory: 8G
  46. env:
  47. USE_SYSTEM_FPM: 'true'
  48. prepare_script:
  49. - apt-get update
  50. - export DEBIAN_FRONTEND="noninteractive"
  51. - apt-get install -y
  52. gnupg2
  53. procps
  54. curl
  55. rpm
  56. build-essential
  57. git
  58. libsecret-1-dev
  59. fakeroot
  60. libx11-dev
  61. libxkbfile-dev
  62. libgdk-pixbuf2.0-dev
  63. libgtk-3-dev
  64. libxss-dev
  65. libasound2-dev
  66. libnss3
  67. xvfb
  68. - gpg2 --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 7D2BAF1CF37B13E2069D6956105BD0E739499BDB
  69. - \curl -sSL https://get.rvm.io | bash -s stable
  70. - source /etc/profile.d/rvm.sh
  71. - rvm install ruby
  72. - gem install fpm
  73. - git submodule init
  74. - git submodule update
  75. - sed -i -e "s/[0-9]*-dev/`date -u +%Y%m%d%H`/g" package.json
  76. - yarn install || yarn install
  77. - yarn build
  78. - yarn run build:apm
  79. build_binary_script:
  80. - source /etc/profile.d/rvm.sh
  81. - yarn dist || yarn dist
  82. binary_artifacts:
  83. path: ./binaries/*
  84. test_script:
  85. - Xvfb :99 & DISPLAY=:99 PLAYWRIGHT_JUNIT_OUTPUT_NAME=report.xml npx playwright test --reporter=junit,list
  86. always:
  87. videos_artifacts:
  88. path: ./tests/videos/**
  89. junit_artifacts:
  90. path: report.xml
  91. type: text/xml
  92. format: junit
  93. silicon_mac_task:
  94. alias: mac
  95. macos_instance:
  96. image: ghcr.io/cirruslabs/macos-monterey-base:latest
  97. memory: 8G
  98. dist_script:
  99. - brew install node@16 yarn git python
  100. - git submodule init
  101. - git submodule update
  102. - ln -s /opt/homebrew/bin/python3 /opt/homebrew/bin/python
  103. - export PATH="/opt/homebrew/bin:/opt/homebrew/opt/node@16/bin:$PATH"
  104. - sed -i -e "s/[0-9]*-dev/`date -u +%Y%m%d%H`/g" package.json
  105. - yarn install || yarn install
  106. - yarn build
  107. - yarn run build:apm
  108. - yarn dist || yarn dist
  109. binary_artifacts:
  110. path: ./binaries/*
  111. test_script:
  112. - export PATH="/opt/homebrew/bin:/opt/homebrew/opt/node@16/bin:$PATH"
  113. - PLAYWRIGHT_JUNIT_OUTPUT_NAME=report.xml npx playwright test --reporter=junit,list
  114. always:
  115. videos_artifacts:
  116. path: ./tests/videos/**
  117. junit_artifacts:
  118. path: report.xml
  119. type: text/xml
  120. format: junit
  121. intel_mac_task:
  122. alias: mac
  123. macos_instance:
  124. image: ghcr.io/cirruslabs/macos-monterey-base:latest
  125. memory: 8G
  126. dist_script:
  127. - sudo rm -rf /Library/Developer/CommandLineTools
  128. - echo A | softwareupdate --install-rosetta
  129. - arch -x86_64 xcode-select --install
  130. - arch -x86_64 /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"
  131. - export PATH="/usr/local/opt/node@16/bin:/usr/local/bin:$PATH"
  132. - arch -x86_64 brew install node@16 yarn git python
  133. - ln -s /usr/local/bin/python3 /usr/local/bin/python
  134. - git submodule init
  135. - git submodule update
  136. - sed -i -e "s/[0-9]*-dev/`date -u +%Y%m%d%H`/g" package.json
  137. - arch -x86_64 npx yarn install || arch -x86_64 npx yarn install
  138. - arch -x86_64 npx yarn build
  139. - arch -x86_64 yarn run build:apm
  140. - export PATH="/usr/local/opt/node@16/bin:/usr/local/bin:$PATH"
  141. - arch -x86_64 npx yarn dist || arch -x86_64 npx yarn dist
  142. binary_artifacts:
  143. path: ./binaries/*
  144. test_script:
  145. - export PATH="/usr/local/opt/node@16/bin:/usr/local/bin:$PATH"
  146. - PLAYWRIGHT_JUNIT_OUTPUT_NAME=report.xml arch -x86_64 npx playwright test --reporter=junit,list
  147. always:
  148. videos_artifacts:
  149. path: ./tests/videos/**
  150. junit_artifacts:
  151. path: report.xml
  152. type: text/xml
  153. format: junit
  154. windows_task:
  155. alias: windows
  156. windows_container:
  157. image: cirrusci/windowsservercore:visualstudio2022-2022.06.23
  158. env:
  159. CIRRUS_SHELL: bash
  160. PATH: C:\Python310\Scripts\;C:\Python310\;%PATH%;C:\Program Files\nodejs\;C:\Program Files\Git\cmd;C:\Users\User\AppData\Local\Microsoft\WindowsApps;C:\Users\User\AppData\Roaming\npm;C:\Program Files\Microsoft Visual Studio\2022\Community\Msbuild\Current\Bin\
  161. install_deps_script:
  162. - choco install nodejs --version=14.15.0 -y
  163. - choco install python --version=3.10.3 -y
  164. - choco install git visualstudio2019-workload-vctools -y
  165. - git submodule init
  166. - git submodule update
  167. - npm config set python 'C:\Python310\python.exe'
  168. build_apm_script:
  169. - cd ppm; npm install
  170. install_with_scripts_script:
  171. - npx yarn install --ignore-engines || sleep 1 && npx yarn install --ignore-engines || echo "There is a reason for so many tries"
  172. #install_without_scripts_script:
  173. # - npx yarn install --ignore-scripts --ignore-engines || sleep 1 && npx yarn install --ignore-engines --ignore-scripts || sleep 2 && npx yarn cache clean; npx yarn install --ignore-engines --ignore-scripts || sleep 2 && npx yarn install --ignore-engines --ignore-scripts || echo "Giving up"
  174. rebuild_for_electron_script:
  175. - npx yarn build || npx yarn build || npx yarn build
  176. # install_only_electron_script:
  177. # - rm -R node_modules/electron
  178. # - npx yarn install --ignore-engines || npx yarn install --ignore-engines || npx yarn cache clean; npx yarn install --ignore-engines || npx yarn install --ignore-engines
  179. # - npx playwright test --reporter=list
  180. videos_artifacts:
  181. path: tests\videos\**
  182. build_binary_script:
  183. - sed -i -e "s/[0-9]*-dev/`date -u +%Y%m%d%H`/g" package.json
  184. - npx yarn dist || npx yarn dist || npx yarn dist
  185. binary_artifacts:
  186. path: .\binaries\*