mirror of
https://github.com/pulsar-edit/pulsar.git
synced 2024-08-16 14:40:23 +03:00
282 lines
12 KiB
YAML
282 lines
12 KiB
YAML
env:
|
|
PYTHON_VERSION: 3.12
|
|
GITHUB_TOKEN: ENCRYPTED[!c394f11378a8bc92ff1b05662ee3e574fc662692e45f0a048aa8cab42fb072b039d83f68fd6953f470af51846063ce46!]
|
|
# The above token, is a GitHub API Token, that allows us to download RipGrep without concern of API limits
|
|
|
|
# linux_task:
|
|
# alias: linux
|
|
# container:
|
|
# image: node:16-slim
|
|
# memory: 8G
|
|
# prepare_script:
|
|
# - apt-get update
|
|
# - export DEBIAN_FRONTEND="noninteractive"
|
|
# - apt-get install -y
|
|
# ffmpeg
|
|
# 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 --ignore-engines || yarn install --ignore-engines
|
|
# build_script:
|
|
# - yarn build
|
|
# - yarn run build:apm
|
|
# build_binary_script:
|
|
# - yarn dist || yarn dist
|
|
# rename_binary_script:
|
|
# - node script/rename.js "Linux"
|
|
# binary_artifacts:
|
|
# path: ./binaries/*
|
|
# test_script:
|
|
# - rm -R node_modules/electron; yarn install --check-files
|
|
# - ./binaries/*AppImage --appimage-extract
|
|
# - export BINARY_NAME='squashfs-root/pulsar'
|
|
# - 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
|
|
# always:
|
|
# videos_artifacts:
|
|
# path: ./tests/videos/**
|
|
# junit_artifacts:
|
|
# path: report.xml
|
|
# type: text/xml
|
|
# format: junit
|
|
|
|
arm_linux_task:
|
|
alias: linux
|
|
only_if: $CIRRUS_CRON != "" || $CIRRUS_TAG != ""
|
|
skip: $CIRRUS_CHANGE_IN_REPO == $CIRRUS_LAST_GREEN_CHANGE
|
|
arm_container:
|
|
image: node:16-slim
|
|
memory: 8G
|
|
env:
|
|
USE_SYSTEM_FPM: 'true'
|
|
ROLLING_UPLOAD_TOKEN: ENCRYPTED[e19187268935fd1a2e1db3304105cc4bf37d5f5a46ba519a1b952f8ac9a3d01982fa9b8274b838547aa37920774b7518]
|
|
prepare_script:
|
|
- apt-get update
|
|
- export DEBIAN_FRONTEND="noninteractive"
|
|
- apt-get install -y
|
|
gnupg2
|
|
procps
|
|
curl
|
|
ruby
|
|
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
|
|
- gem install dotenv -v '~> 2.8'
|
|
- 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 --ignore-engines || yarn install --ignore-engines
|
|
build_script:
|
|
- yarn build
|
|
- yarn run build:apm
|
|
build_binary_script:
|
|
- yarn dist || yarn dist
|
|
rename_binary_script:
|
|
- node script/rename.js "ARM.Linux"
|
|
binary_artifacts:
|
|
path: ./binaries/*
|
|
test_script:
|
|
- rm -R node_modules/electron; yarn install --check-files
|
|
- ./binaries/*AppImage --appimage-extract
|
|
- export BINARY_NAME='squashfs-root/pulsar'
|
|
- Xvfb :99 & DISPLAY=:99 PLAYWRIGHT_JUNIT_OUTPUT_NAME=report.xml npx playwright test --reporter=junit,list
|
|
rolling_upload_script:
|
|
- cd ./script/rolling-release-scripts
|
|
- npm install
|
|
- node ./rolling-release-binary-upload.js cirrus
|
|
always:
|
|
videos_artifacts:
|
|
path: ./tests/videos/**
|
|
junit_artifacts:
|
|
path: report.xml
|
|
type: text/xml
|
|
format: junit
|
|
|
|
silicon_mac_task:
|
|
alias: mac
|
|
only_if: $CIRRUS_CRON != "" || $CIRRUS_TAG != ""
|
|
skip: $CIRRUS_CHANGE_IN_REPO == $CIRRUS_LAST_GREEN_CHANGE
|
|
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]
|
|
ROLLING_UPLOAD_TOKEN: ENCRYPTED[e19187268935fd1a2e1db3304105cc4bf37d5f5a46ba519a1b952f8ac9a3d01982fa9b8274b838547aa37920774b7518]
|
|
prepare_script:
|
|
- brew update
|
|
- brew install node@16 yarn git python@$PYTHON_VERSION
|
|
- python3 -m pip install setuptools
|
|
- 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 --ignore-engines || yarn install --ignore-engines
|
|
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
|
|
rename_binary_script:
|
|
- export PATH="/opt/homebrew/bin:/opt/homebrew/opt/node@16/bin:$PATH"
|
|
- node script/rename.js "Silicon.Mac"
|
|
binary_artifacts:
|
|
path: ./binaries/*
|
|
test_script:
|
|
- export PATH="/opt/homebrew/bin:/opt/homebrew/opt/node@16/bin:$PATH"
|
|
- rm -R node_modules/electron; yarn install --check-files
|
|
- hdiutil mount binaries/*Pulsar*dmg
|
|
- export BINARY_NAME=`ls /Volumes/Pulsar*/Pulsar.app/Contents/MacOS/Pulsar`
|
|
- PLAYWRIGHT_JUNIT_OUTPUT_NAME=report.xml npx playwright test --reporter=junit,list
|
|
rolling_upload_script:
|
|
- export PATH="/opt/homebrew/bin:/opt/homebrew/opt/node@16/bin:$PATH"
|
|
- cd ./script/rolling-release-scripts
|
|
- npm install
|
|
- node ./rolling-release-binary-upload.js cirrus
|
|
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 update
|
|
# - 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 --ignore-engines || arch -x86_64 npx yarn install --ignore-engines
|
|
# 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
|
|
# rename_binary_script:
|
|
# - export PATH="/usr/local/opt/node@16/bin:/usr/local/bin:$PATH"
|
|
# - node script/rename.js "Intel.Mac"
|
|
# binary_artifacts:
|
|
# path: ./binaries/*
|
|
# test_script:
|
|
# - export PATH="/usr/local/opt/node@16/bin:/usr/local/bin:$PATH"
|
|
# - rm -R node_modules/electron; yarn install --check-files
|
|
# - hdiutil mount binaries/*Pulsar*dmg
|
|
# - export BINARY_NAME=`ls /Volumes/Pulsar*/Pulsar.app/Contents/MacOS/Pulsar`
|
|
# - 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
|
|
# timeout_in: 90m
|
|
# 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=16.16.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
|
|
# || rm -R node_modules && npx yarn install --ignore-engines
|
|
# || rm -R node_modules && npx yarn install --ignore-engines
|
|
# 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
|
|
# rename_binary_script:
|
|
# - node script/rename.js "Windows"
|
|
# binary_artifacts:
|
|
# path: .\binaries\*
|
|
# test_script:
|
|
# - mkdir extracted; tar -xf binaries/*zip -C ./extracted/
|
|
# - export BINARY_NAME=./extracted/Pulsar.exe
|
|
# - PLAYWRIGHT_JUNIT_OUTPUT_NAME=report.xml npx playwright test --reporter=junit,list || echo "Yeah, tests failed, Windows is like this"
|
|
# always:
|
|
# videos_artifacts:
|
|
# path: ./tests/videos/**
|
|
# junit_artifacts:
|
|
# path: report.xml
|
|
# type: text/xml
|
|
# format: junit
|
|
|
|
silently_mark_skipped_or_no_scheduled_tasks_builds_as_failed_task:
|
|
skip_notifications: true
|
|
only_if: $CIRRUS_CRON == "" && $CIRRUS_TAG == ""
|
|
### !!! ^ Don't forget to update this appropriately if our `only_if:` or `skip:` logic changes for the other tasks! !!! ###
|
|
### !!! ^ We want this task to run [only] if all other tasks would have skipped. !!! ###
|
|
container:
|
|
image: alpine:latest
|
|
cpu: 1
|
|
clone_script: exit 0 # Shortest possible script that succeeds. Saves time vs actually cloning. Failing here triggers an automatic re-run, so don't do that!
|
|
mark_task_as_failed_script: exit 1 # Shortest possible script to mark a build as "failed". This protects CIRRUS_LAST_GREEN_CHANGE from being updated by builds that actually just skipped CI.
|
|
timeout_in: 6s
|