mirror of
https://github.com/pulsar-edit/pulsar.git
synced 2024-09-11 19:17:09 +03:00
Effectively: install ppm's dependencies (and run its postinstall scripts) with Yarn, not npm, on Windows. This makes the installation of ppm's dependencies consistently use Yarn, not npm, in Cirrus CI. Consistent for all OSes/arches we build for in Cirrus. (* Although, at some level the postinstall scripts are run via npm as a subprocess of node as a subprocess of Yarn in a shell/console sub-process... Yes, in my opinion, ppm's postinstall scripts are way too complicated...) ALSO: This fixes an oversight in PR 239 where the build script of the wrong project (ppm instead of core) was being run at one point, again on Windows. So, this should make it so Pulsar's core dependencies are built for the correct Electron version instead of built for Node... Oops!
214 lines
7.7 KiB
YAML
214 lines
7.7 KiB
YAML
env:
|
|
PYTHON_VERSION: 3.10
|
|
|
|
linux_task:
|
|
alias: linux
|
|
container:
|
|
image: node:16-slim
|
|
memory: 8G
|
|
prepare_script:
|
|
- apt-get update
|
|
- export DEBIAN_FRONTEND="noninteractive"
|
|
- apt-get install -y
|
|
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
|
|
- git submodule init
|
|
- git submodule update
|
|
- sed -i -e "s/[0-9]*-dev/`date -u +%Y%m%d%H`/g" package.json
|
|
install_script:
|
|
- yarn install || yarn install
|
|
build_script:
|
|
- yarn build
|
|
- yarn run build:apm
|
|
build_binary_script:
|
|
- yarn dist || yarn dist
|
|
binary_artifacts:
|
|
path: ./binaries/*
|
|
test_script:
|
|
- Xvfb :99 & DISPLAY=:99 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
|
|
|
|
arm_linux_task:
|
|
alias: linux
|
|
arm_container:
|
|
image: node:16-slim
|
|
memory: 8G
|
|
env:
|
|
USE_SYSTEM_FPM: 'true'
|
|
prepare_script:
|
|
- apt-get update
|
|
- export DEBIAN_FRONTEND="noninteractive"
|
|
- apt-get install -y
|
|
gnupg2
|
|
procps
|
|
curl
|
|
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
|
|
- gpg2 --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 7D2BAF1CF37B13E2069D6956105BD0E739499BDB
|
|
- \curl -sSL https://get.rvm.io | bash -s stable
|
|
- source /etc/profile.d/rvm.sh
|
|
- rvm install ruby
|
|
- gem install fpm
|
|
- git submodule init
|
|
- git submodule update
|
|
- sed -i -e "s/[0-9]*-dev/`date -u +%Y%m%d%H`/g" package.json
|
|
install_script:
|
|
- yarn install || yarn install
|
|
build_script:
|
|
- yarn build
|
|
- yarn run build:apm
|
|
- rm -Rf node-modules/electron && yarn install --check-files
|
|
build_binary_script:
|
|
- source /etc/profile.d/rvm.sh
|
|
- yarn dist || yarn dist
|
|
binary_artifacts:
|
|
path: ./binaries/*
|
|
test_script:
|
|
- Xvfb :99 & DISPLAY=:99 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
|
|
|
|
silicon_mac_task:
|
|
alias: mac
|
|
macos_instance:
|
|
image: ghcr.io/cirruslabs/macos-monterey-xcode:14
|
|
memory: 8G
|
|
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
|
|
- git submodule init
|
|
- git submodule update
|
|
- ln -s /opt/homebrew/bin/python$PYTHON_VERSION /opt/homebrew/bin/python
|
|
- export PATH="/opt/homebrew/bin:/opt/homebrew/opt/node@16/bin:$PATH"
|
|
- sed -i -e "s/[0-9]*-dev/`date -u +%Y%m%d%H`/g" package.json
|
|
install_script:
|
|
- export PATH="/opt/homebrew/bin:/opt/homebrew/opt/node@16/bin:$PATH"
|
|
- yarn install || yarn install
|
|
build_script:
|
|
- export PATH="/opt/homebrew/bin:/opt/homebrew/opt/node@16/bin:$PATH"
|
|
- yarn build
|
|
- yarn run build:apm
|
|
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"
|
|
- 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
|
|
|
|
intel_mac_task:
|
|
alias: mac
|
|
macos_instance:
|
|
image: ghcr.io/cirruslabs/macos-monterey-xcode:14
|
|
memory: 8G
|
|
env:
|
|
CSC_LINK: ENCRYPTED[0078015a03bb6cfdbd80113ae5bbb6f448fd4bbbc40efd81bf2cb1554373046b475a4d7c77e3e3e82ac1ce2f7e3d2da5]
|
|
CSC_KEY_PASSWORD: ENCRYPTED[82bb72653d39578035ed1860ab4978703d50bd326d925a146ff08782f987ceb37ac2d8dbace52dec2b0e2ef92debf097]
|
|
APPLEID: ENCRYPTED[549ce052bd5666dba5245f4180bf93b74ed206fe5e6e7c8f67a8596d3767c1f682b84e347b326ac318c62a07c8844a57]
|
|
APPLEID_PASSWORD: ENCRYPTED[774c3307fd3b62660ecf5beb8537a24498c76e8d90d7f28e5bc816742fd8954a34ffed13f9aa2d1faf66ce08b4496e6f]
|
|
TEAM_ID: ENCRYPTED[11f3fedfbaf4aff1859bf6c105f0437ace23d84f5420a2c1cea884fbfa43b115b7834a463516d50cb276d4c4d9128b49]
|
|
prepare_script:
|
|
- sudo rm -rf /Library/Developer/CommandLineTools
|
|
- echo A | softwareupdate --install-rosetta
|
|
- arch -x86_64 xcode-select --install
|
|
- arch -x86_64 /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"
|
|
- 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
|
|
- git submodule init
|
|
- git submodule update
|
|
- sed -i -e "s/[0-9]*-dev/`date -u +%Y%m%d%H`/g" package.json
|
|
install_script:
|
|
- export PATH="/usr/local/opt/node@16/bin:/usr/local/bin:$PATH"
|
|
- arch -x86_64 npx yarn install || arch -x86_64 npx yarn install
|
|
build_script:
|
|
- export PATH="/usr/local/opt/node@16/bin:/usr/local/bin:$PATH"
|
|
- arch -x86_64 npx yarn build
|
|
- arch -x86_64 yarn run build:apm
|
|
build_binary_script:
|
|
- export PATH="/usr/local/opt/node@16/bin:/usr/local/bin:$PATH"
|
|
- arch -x86_64 npx yarn dist || arch -x86_64 npx yarn dist
|
|
binary_artifacts:
|
|
path: ./binaries/*
|
|
test_script:
|
|
- export PATH="/usr/local/opt/node@16/bin:/usr/local/bin:$PATH"
|
|
- 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
|
|
|
|
windows_task:
|
|
alias: windows
|
|
windows_container:
|
|
image: cirrusci/windowsservercore:visualstudio2022-2022.06.23
|
|
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:
|
|
- choco install nodejs --version=14.15.0 -y
|
|
- choco install python --version=3.10.3 -y
|
|
- choco install git visualstudio2019-workload-vctools -y
|
|
- git submodule init
|
|
- git submodule update
|
|
- npm config set python 'C:\Python310\python.exe'
|
|
install_script:
|
|
- npx yarn install --ignore-engines || sleep 1 && npx yarn install --ignore-engines || echo "There is a reason for so many tries"
|
|
build_script:
|
|
- npx yarn build:apm
|
|
- npx yarn build || npx yarn build || npx yarn build
|
|
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\*
|