pulsar/.cirrus.yml

241 lines
9.1 KiB
YAML
Raw Normal View History

env:
PYTHON_VERSION: 3.10
2022-08-17 22:15:43 +03:00
linux_task:
alias: linux
2022-08-17 22:15:43 +03:00
container:
2022-10-27 19:22:08 +03:00
image: node:16-slim
2022-09-08 02:22:35 +03:00
memory: 8G
prepare_script:
2022-08-17 22:15:43 +03:00
- apt-get update
- export DEBIAN_FRONTEND="noninteractive"
- apt-get install -y
2023-04-04 20:45:49 +03:00
ffmpeg
2022-08-17 22:15:43 +03:00
rpm
build-essential
git
libsecret-1-dev
fakeroot
libx11-dev
libxkbfile-dev
libgdk-pixbuf2.0-dev
libgtk-3-dev
libxss-dev
libasound2-dev
libnss3
xvfb
2022-09-08 00:50:58 +03:00
- git submodule init
- git submodule update
2022-08-20 02:43:50 +03:00
- sed -i -e "s/[0-9]*-dev/`date -u +%Y%m%d%H`/g" package.json
2022-12-16 13:11:19 +03:00
install_script:
2023-04-05 01:03:32 +03:00
- yarn install --ignore-engines || yarn install --ignore-engines
2022-12-16 13:11:19 +03:00
build_script:
2022-08-17 22:15:43 +03:00
- yarn build
- yarn run build:apm
2022-12-16 13:11:19 +03:00
build_binary_script:
- yarn dist || yarn dist
binary_artifacts:
path: ./binaries/*
test_script:
2023-04-04 22:42:11 +03:00
- rm -R node_modules/electron; yarn install --check-files
2023-04-04 06:44:37 +03:00
- ./binaries/*AppImage --appimage-extract
- export BINARY_NAME='squashfs-root/pulsar'
2023-04-04 23:33:51 +03:00
- mkdir -p ./tests/videos
- Xvfb -screen 0 1024x768x24+32 :99 & nohup ffmpeg -video_size 1024x768 -f x11grab -i :99.0 ./tests/videos/out.mpg & DISPLAY=:99 PLAYWRIGHT_JUNIT_OUTPUT_NAME=report.xml npx playwright test --reporter=junit,list
2022-10-25 18:17:07 +03:00
always:
videos_artifacts:
path: ./tests/videos/**
junit_artifacts:
path: report.xml
type: text/xml
format: junit
arm_linux_task:
alias: linux
arm_container:
2022-10-27 19:22:08 +03:00
image: node:16-slim
2022-10-25 18:17:07 +03:00
memory: 8G
2022-10-26 20:09:48 +03:00
env:
USE_SYSTEM_FPM: 'true'
prepare_script:
2022-10-25 18:17:07 +03:00
- apt-get update
- export DEBIAN_FRONTEND="noninteractive"
- apt-get install -y
2022-10-26 23:37:02 +03:00
gnupg2
2022-10-26 23:57:34 +03:00
procps
2022-10-26 23:37:02 +03:00
curl
2022-10-25 18:17:07 +03:00
rpm
build-essential
git
libsecret-1-dev
fakeroot
libx11-dev
libxkbfile-dev
libgdk-pixbuf2.0-dev
libgtk-3-dev
libxss-dev
libasound2-dev
libnss3
xvfb
2022-10-26 23:37:02 +03:00
- gpg2 --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 7D2BAF1CF37B13E2069D6956105BD0E739499BDB
2022-10-26 23:57:34 +03:00
- \curl -sSL https://get.rvm.io | bash -s stable
- source /etc/profile.d/rvm.sh
- rvm install ruby
2022-10-26 23:37:02 +03:00
- gem install fpm
2022-10-25 18:17:07 +03:00
- git submodule init
- git submodule update
- sed -i -e "s/[0-9]*-dev/`date -u +%Y%m%d%H`/g" package.json
2022-12-16 13:11:19 +03:00
install_script:
2023-04-05 01:03:32 +03:00
- yarn install --ignore-engines || yarn install --ignore-engines
2022-12-16 13:11:19 +03:00
build_script:
2022-10-25 18:17:07 +03:00
- yarn build
- yarn run build:apm
2022-10-25 22:03:07 +03:00
build_binary_script:
2022-10-27 01:46:34 +03:00
- source /etc/profile.d/rvm.sh
2022-10-25 22:03:07 +03:00
- yarn dist || yarn dist
binary_artifacts:
path: ./binaries/*
test_script:
2023-04-04 22:42:11 +03:00
- rm -R node_modules/electron; yarn install --check-files
2023-04-04 06:44:37 +03:00
- ./binaries/*AppImage --appimage-extract
- export BINARY_NAME='squashfs-root/pulsar'
2022-10-25 18:17:07 +03:00
- Xvfb :99 & DISPLAY=:99 PLAYWRIGHT_JUNIT_OUTPUT_NAME=report.xml npx playwright test --reporter=junit,list
2022-08-17 22:15:43 +03:00
always:
videos_artifacts:
path: ./tests/videos/**
junit_artifacts:
path: report.xml
type: text/xml
format: junit
2022-08-20 02:43:50 +03:00
silicon_mac_task:
alias: mac
2022-08-17 22:15:43 +03:00
macos_instance:
2023-02-16 03:55:14 +03:00
image: ghcr.io/cirruslabs/macos-monterey-xcode:14
2022-09-08 02:22:35 +03:00
memory: 8G
2023-02-16 03:55:14 +03:00
env:
CSC_LINK: ENCRYPTED[0078015a03bb6cfdbd80113ae5bbb6f448fd4bbbc40efd81bf2cb1554373046b475a4d7c77e3e3e82ac1ce2f7e3d2da5]
CSC_KEY_PASSWORD: ENCRYPTED[82bb72653d39578035ed1860ab4978703d50bd326d925a146ff08782f987ceb37ac2d8dbace52dec2b0e2ef92debf097]
APPLEID: ENCRYPTED[549ce052bd5666dba5245f4180bf93b74ed206fe5e6e7c8f67a8596d3767c1f682b84e347b326ac318c62a07c8844a57]
APPLEID_PASSWORD: ENCRYPTED[774c3307fd3b62660ecf5beb8537a24498c76e8d90d7f28e5bc816742fd8954a34ffed13f9aa2d1faf66ce08b4496e6f]
TEAM_ID: ENCRYPTED[11f3fedfbaf4aff1859bf6c105f0437ace23d84f5420a2c1cea884fbfa43b115b7834a463516d50cb276d4c4d9128b49]
prepare_script:
- brew install node@16 yarn git python@$PYTHON_VERSION
2022-09-08 00:50:58 +03:00
- git submodule init
- git submodule update
- ln -s /opt/homebrew/bin/python$PYTHON_VERSION /opt/homebrew/bin/python
2022-08-17 22:15:43 +03:00
- export PATH="/opt/homebrew/bin:/opt/homebrew/opt/node@16/bin:$PATH"
2022-10-27 02:07:46 +03:00
- sed -i -e "s/[0-9]*-dev/`date -u +%Y%m%d%H`/g" package.json
2022-12-16 13:11:19 +03:00
install_script:
2022-12-16 14:08:49 +03:00
- export PATH="/opt/homebrew/bin:/opt/homebrew/opt/node@16/bin:$PATH"
2023-04-05 01:03:32 +03:00
- yarn install --ignore-engines || yarn install --ignore-engines
2022-12-16 13:11:19 +03:00
build_script:
2022-12-16 14:08:49 +03:00
- export PATH="/opt/homebrew/bin:/opt/homebrew/opt/node@16/bin:$PATH"
2022-08-17 22:15:43 +03:00
- yarn build
- yarn run build:apm
2022-12-16 13:11:19 +03:00
build_binary_script:
- export PATH="/opt/homebrew/bin:/opt/homebrew/opt/node@16/bin:$PATH"
- yarn dist || yarn dist
binary_artifacts:
path: ./binaries/*
test_script:
- export PATH="/opt/homebrew/bin:/opt/homebrew/opt/node@16/bin:$PATH"
2023-04-04 22:42:11 +03:00
- rm -R node_modules/electron; yarn install --check-files
- hdiutil mount binaries/Pulsar*dmg
2023-04-04 03:37:13 +03:00
- export BINARY_NAME=`ls /Volumes/Pulsar*/Pulsar.app/Contents/MacOS/Pulsar`
2022-08-17 22:15:43 +03:00
- PLAYWRIGHT_JUNIT_OUTPUT_NAME=report.xml npx playwright test --reporter=junit,list
always:
videos_artifacts:
path: ./tests/videos/**
junit_artifacts:
path: report.xml
type: text/xml
format: junit
2022-10-25 18:16:01 +03:00
intel_mac_task:
alias: mac
macos_instance:
2023-02-16 03:55:14 +03:00
image: ghcr.io/cirruslabs/macos-monterey-xcode:14
2022-10-25 18:16:01 +03:00
memory: 8G
2023-02-16 03:55:14 +03:00
env:
CSC_LINK: ENCRYPTED[0078015a03bb6cfdbd80113ae5bbb6f448fd4bbbc40efd81bf2cb1554373046b475a4d7c77e3e3e82ac1ce2f7e3d2da5]
CSC_KEY_PASSWORD: ENCRYPTED[82bb72653d39578035ed1860ab4978703d50bd326d925a146ff08782f987ceb37ac2d8dbace52dec2b0e2ef92debf097]
APPLEID: ENCRYPTED[549ce052bd5666dba5245f4180bf93b74ed206fe5e6e7c8f67a8596d3767c1f682b84e347b326ac318c62a07c8844a57]
APPLEID_PASSWORD: ENCRYPTED[774c3307fd3b62660ecf5beb8537a24498c76e8d90d7f28e5bc816742fd8954a34ffed13f9aa2d1faf66ce08b4496e6f]
TEAM_ID: ENCRYPTED[11f3fedfbaf4aff1859bf6c105f0437ace23d84f5420a2c1cea884fbfa43b115b7834a463516d50cb276d4c4d9128b49]
prepare_script:
2022-10-26 19:08:55 +03:00
- sudo rm -rf /Library/Developer/CommandLineTools
2022-08-20 02:43:50 +03:00
- echo A | softwareupdate --install-rosetta
2022-10-26 19:38:51 +03:00
- arch -x86_64 xcode-select --install
2022-08-17 22:15:43 +03:00
- arch -x86_64 /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"
2022-11-19 04:40:19 +03:00
- export PATH="/usr/local/opt/node@16/bin:/usr/local/bin:$PATH"
- arch -x86_64 brew install node@16 yarn git python@$PYTHON_VERSION
- ln -s /usr/local/bin/python$PYTHON_VERSION /usr/local/bin/python
2022-10-26 23:40:59 +03:00
- git submodule init
- git submodule update
2022-10-27 02:07:46 +03:00
- sed -i -e "s/[0-9]*-dev/`date -u +%Y%m%d%H`/g" package.json
2022-12-16 13:11:19 +03:00
install_script:
2022-12-16 14:08:49 +03:00
- export PATH="/usr/local/opt/node@16/bin:/usr/local/bin:$PATH"
2023-04-05 01:03:32 +03:00
- arch -x86_64 npx yarn install --ignore-engines || arch -x86_64 npx yarn install --ignore-engines
2022-12-16 13:11:19 +03:00
build_script:
2022-12-16 14:08:49 +03:00
- export PATH="/usr/local/opt/node@16/bin:/usr/local/bin:$PATH"
2022-08-20 21:47:59 +03:00
- arch -x86_64 npx yarn build
2022-10-25 18:16:01 +03:00
- arch -x86_64 yarn run build:apm
2022-12-16 13:11:19 +03:00
build_binary_script:
2022-11-19 04:40:19 +03:00
- export PATH="/usr/local/opt/node@16/bin:/usr/local/bin:$PATH"
2022-10-25 22:03:07 +03:00
- arch -x86_64 npx yarn dist || arch -x86_64 npx yarn dist
binary_artifacts:
path: ./binaries/*
test_script:
2022-11-19 04:40:19 +03:00
- export PATH="/usr/local/opt/node@16/bin:/usr/local/bin:$PATH"
2023-04-04 22:42:11 +03:00
- rm -R node_modules/electron; yarn install --check-files
- hdiutil mount binaries/Pulsar*dmg
2023-04-04 03:37:13 +03:00
- export BINARY_NAME=`ls /Volumes/Pulsar*/Pulsar.app/Contents/MacOS/Pulsar`
2022-10-25 18:16:01 +03:00
- PLAYWRIGHT_JUNIT_OUTPUT_NAME=report.xml arch -x86_64 npx playwright test --reporter=junit,list
always:
videos_artifacts:
path: ./tests/videos/**
junit_artifacts:
path: report.xml
type: text/xml
format: junit
2022-08-17 22:15:43 +03:00
windows_task:
alias: windows
2023-04-04 03:37:13 +03:00
timeout_in: 90m
2022-08-17 22:15:43 +03:00
windows_container:
image: cirrusci/windowsservercore:visualstudio2022-2022.06.23
2022-08-17 22:15:43 +03:00
env:
CIRRUS_SHELL: bash
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\
prepare_script:
2023-04-05 15:59:21 +03:00
- choco install nodejs --version=16.16.0 -y
- choco install python --version=3.10.3 -y
- choco install git visualstudio2019-workload-vctools -y
2022-09-08 00:50:41 +03:00
- git submodule init
- git submodule update
2022-08-17 22:15:43 +03:00
- npm config set python 'C:\Python310\python.exe'
2022-12-16 13:11:19 +03:00
install_script:
2023-04-05 15:59:21 +03:00
- npx yarn install --ignore-engines
|| rm -R node_modules && npx yarn install --ignore-engines
|| rm -R node_modules && npx yarn install --ignore-engines
2022-12-16 13:11:19 +03:00
build_script:
- npx yarn build:apm
- npx yarn build || npx yarn build || npx yarn build
2022-08-17 22:15:43 +03:00
build_binary_script:
- sed -i -e "s/[0-9]*-dev/`date -u +%Y%m%d%H`/g" package.json
- npx yarn dist || npx yarn dist || npx yarn dist
binary_artifacts:
path: .\binaries\*
2023-04-04 03:37:13 +03:00
test_script:
2023-04-05 08:03:17 +03:00
- mkdir extracted; tar -xf binaries/*zip -C ./extracted/
2023-04-05 04:09:24 +03:00
- export BINARY_NAME=./extracted/Pulsar.exe
2023-04-05 17:08:22 +03:00
- PLAYWRIGHT_JUNIT_OUTPUT_NAME=report.xml npx playwright test --reporter=junit,list || echo "Yeah, tests failed, Windows is like this"
2023-04-04 03:37:13 +03:00
always:
videos_artifacts:
path: ./tests/videos/**
junit_artifacts:
path: report.xml
type: text/xml
format: junit