2023-02-16 03:46:35 +03:00
env :
2023-10-20 04:02:10 +03:00
PYTHON_VERSION : 3.12
2024-05-16 05:31:41 +03:00
GITHUB_TOKEN : ENCRYPTED[!9e497dd40c7819a1ddd425d718f50f539f4e080143e20518fc8398b117632551aae72e2680299a57c2be9f0c15a9d2f7!]
2023-05-12 06:20:32 +03:00
# The above token, is a GitHub API Token, that allows us to download RipGrep without concern of API limits
2023-02-16 03:46:35 +03:00
2023-08-27 11:39:33 +03:00
# 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
2023-08-30 05:28:06 +03:00
# rename_binary_script:
# - node script/rename.js "Linux"
2023-08-27 11:39:33 +03:00
# 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
2022-10-25 18:17:07 +03:00
arm_linux_task :
alias : linux
2023-08-31 08:02:19 +03:00
only_if : $CIRRUS_CRON != "" || $CIRRUS_TAG != ""
2023-08-29 11:09:35 +03:00
skip : $CIRRUS_CHANGE_IN_REPO == $CIRRUS_LAST_GREEN_CHANGE
2022-10-25 18:17:07 +03:00
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'
2024-03-19 01:36:23 +03:00
ROLLING_UPLOAD_TOKEN : ENCRYPTED[f935c396a9f4bca108ec2fdedb00dbc9be2f4c411f100d577acdab42db59ea134be059ce8535396db8222a2b1eb68c27]
2022-12-20 00:17:42 +03:00
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
2023-07-20 20:18:48 +03:00
ruby
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
2024-03-01 21:25:53 +03:00
- gem install dotenv -v '~> 2.8'
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 :
- yarn dist || yarn dist
2023-08-16 03:28:18 +03:00
rename_binary_script :
- node script/rename.js "ARM.Linux"
2022-10-25 22:03:07 +03:00
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
2023-04-04 08:26:39 +03:00
- 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
2023-08-28 06:20:38 +03:00
rolling_upload_script :
- cd ./script/rolling-release-scripts
- npm install
2023-08-28 06:42:50 +03:00
- node ./rolling-release-binary-upload.js cirrus
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 :
2022-10-02 04:49:50 +03:00
alias : mac
2023-08-31 08:02:19 +03:00
only_if : $CIRRUS_CRON != "" || $CIRRUS_TAG != ""
2023-08-29 11:09:35 +03:00
skip : $CIRRUS_CHANGE_IN_REPO == $CIRRUS_LAST_GREEN_CHANGE
2022-08-17 22:15:43 +03:00
macos_instance :
cirrus: Various fixes for macOS Cirrus CI
- Pin the base (CI-provided) OS image to Ventura, not Sonoma
- Fixes some C/C++ compilation errors??
- Gives us older XCode & compiler toolchain, I guess?
- Get node using tj/n utility, not Homebrew
- Homebrew "node" package is conflicting with (now deprecated)
"node@16" package, loading dynamic libraries like icu4c
keeps breaking...
- Get Yarn using npm global install, not from Homebrew
- I... honestly don't even know at this point. But Yarn from Homebrew
is breaking somehow, possibly due to it referring back to Homebrew
"node" package, but _that's just a guess_. It's cursed, I guess.
- Get python-setuptools from Homebrew, not from pip
- Why? Why is this necessary? Homebrew, explain? Something about our
"environment being externally managed", so global package installs
with pip aren't allowed. This makes sense to someone. See PEP 668.
- Adjust PATH exports now that there's no "node@16" from Homebrew
2024-03-19 02:39:58 +03:00
image : ghcr.io/cirruslabs/macos-ventura-xcode:latest
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]
2024-03-19 01:36:23 +03:00
ROLLING_UPLOAD_TOKEN : ENCRYPTED[f935c396a9f4bca108ec2fdedb00dbc9be2f4c411f100d577acdab42db59ea134be059ce8535396db8222a2b1eb68c27]
2022-12-20 00:17:50 +03:00
prepare_script :
2023-11-07 01:14:22 +03:00
- brew update
2024-05-14 02:05:36 +03:00
- brew uninstall node@20
cirrus: Various fixes for macOS Cirrus CI
- Pin the base (CI-provided) OS image to Ventura, not Sonoma
- Fixes some C/C++ compilation errors??
- Gives us older XCode & compiler toolchain, I guess?
- Get node using tj/n utility, not Homebrew
- Homebrew "node" package is conflicting with (now deprecated)
"node@16" package, loading dynamic libraries like icu4c
keeps breaking...
- Get Yarn using npm global install, not from Homebrew
- I... honestly don't even know at this point. But Yarn from Homebrew
is breaking somehow, possibly due to it referring back to Homebrew
"node" package, but _that's just a guess_. It's cursed, I guess.
- Get python-setuptools from Homebrew, not from pip
- Why? Why is this necessary? Homebrew, explain? Something about our
"environment being externally managed", so global package installs
with pip aren't allowed. This makes sense to someone. See PEP 668.
- Adjust PATH exports now that there's no "node@16" from Homebrew
2024-03-19 02:39:58 +03:00
- brew install git python@$PYTHON_VERSION python-setuptools
2022-09-08 00:50:58 +03:00
- git submodule init
- git submodule update
2023-02-16 03:46:35 +03:00
- ln -s /opt/homebrew/bin/python$PYTHON_VERSION /opt/homebrew/bin/python
cirrus: Various fixes for macOS Cirrus CI
- Pin the base (CI-provided) OS image to Ventura, not Sonoma
- Fixes some C/C++ compilation errors??
- Gives us older XCode & compiler toolchain, I guess?
- Get node using tj/n utility, not Homebrew
- Homebrew "node" package is conflicting with (now deprecated)
"node@16" package, loading dynamic libraries like icu4c
keeps breaking...
- Get Yarn using npm global install, not from Homebrew
- I... honestly don't even know at this point. But Yarn from Homebrew
is breaking somehow, possibly due to it referring back to Homebrew
"node" package, but _that's just a guess_. It's cursed, I guess.
- Get python-setuptools from Homebrew, not from pip
- Why? Why is this necessary? Homebrew, explain? Something about our
"environment being externally managed", so global package installs
with pip aren't allowed. This makes sense to someone. See PEP 668.
- Adjust PATH exports now that there's no "node@16" from Homebrew
2024-03-19 02:39:58 +03:00
- export PATH="/opt/homebrew/bin:$PATH"
- mkdir tj_n && cd tj_n
- curl -L https://github.com/tj/n/archive/0ce85771fdff8f4b3e09ade700461b4f58a64444.tar.gz -O
- tar xf 0ce85771fdff8f4b3e09ade700461b4f58a64444.tar.gz
- sudo bash ./n-0ce85771fdff8f4b3e09ade700461b4f58a64444/bin/n 16
- cd ..
- sudo npm install -g yarn
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 :
cirrus: Various fixes for macOS Cirrus CI
- Pin the base (CI-provided) OS image to Ventura, not Sonoma
- Fixes some C/C++ compilation errors??
- Gives us older XCode & compiler toolchain, I guess?
- Get node using tj/n utility, not Homebrew
- Homebrew "node" package is conflicting with (now deprecated)
"node@16" package, loading dynamic libraries like icu4c
keeps breaking...
- Get Yarn using npm global install, not from Homebrew
- I... honestly don't even know at this point. But Yarn from Homebrew
is breaking somehow, possibly due to it referring back to Homebrew
"node" package, but _that's just a guess_. It's cursed, I guess.
- Get python-setuptools from Homebrew, not from pip
- Why? Why is this necessary? Homebrew, explain? Something about our
"environment being externally managed", so global package installs
with pip aren't allowed. This makes sense to someone. See PEP 668.
- Adjust PATH exports now that there's no "node@16" from Homebrew
2024-03-19 02:39:58 +03:00
- export PATH="/opt/homebrew/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 :
cirrus: Various fixes for macOS Cirrus CI
- Pin the base (CI-provided) OS image to Ventura, not Sonoma
- Fixes some C/C++ compilation errors??
- Gives us older XCode & compiler toolchain, I guess?
- Get node using tj/n utility, not Homebrew
- Homebrew "node" package is conflicting with (now deprecated)
"node@16" package, loading dynamic libraries like icu4c
keeps breaking...
- Get Yarn using npm global install, not from Homebrew
- I... honestly don't even know at this point. But Yarn from Homebrew
is breaking somehow, possibly due to it referring back to Homebrew
"node" package, but _that's just a guess_. It's cursed, I guess.
- Get python-setuptools from Homebrew, not from pip
- Why? Why is this necessary? Homebrew, explain? Something about our
"environment being externally managed", so global package installs
with pip aren't allowed. This makes sense to someone. See PEP 668.
- Adjust PATH exports now that there's no "node@16" from Homebrew
2024-03-19 02:39:58 +03:00
- export PATH="/opt/homebrew/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 :
cirrus: Various fixes for macOS Cirrus CI
- Pin the base (CI-provided) OS image to Ventura, not Sonoma
- Fixes some C/C++ compilation errors??
- Gives us older XCode & compiler toolchain, I guess?
- Get node using tj/n utility, not Homebrew
- Homebrew "node" package is conflicting with (now deprecated)
"node@16" package, loading dynamic libraries like icu4c
keeps breaking...
- Get Yarn using npm global install, not from Homebrew
- I... honestly don't even know at this point. But Yarn from Homebrew
is breaking somehow, possibly due to it referring back to Homebrew
"node" package, but _that's just a guess_. It's cursed, I guess.
- Get python-setuptools from Homebrew, not from pip
- Why? Why is this necessary? Homebrew, explain? Something about our
"environment being externally managed", so global package installs
with pip aren't allowed. This makes sense to someone. See PEP 668.
- Adjust PATH exports now that there's no "node@16" from Homebrew
2024-03-19 02:39:58 +03:00
- export PATH="/opt/homebrew/bin:$PATH"
2022-12-16 13:11:19 +03:00
- yarn dist || yarn dist
2023-08-16 03:28:18 +03:00
rename_binary_script :
cirrus: Various fixes for macOS Cirrus CI
- Pin the base (CI-provided) OS image to Ventura, not Sonoma
- Fixes some C/C++ compilation errors??
- Gives us older XCode & compiler toolchain, I guess?
- Get node using tj/n utility, not Homebrew
- Homebrew "node" package is conflicting with (now deprecated)
"node@16" package, loading dynamic libraries like icu4c
keeps breaking...
- Get Yarn using npm global install, not from Homebrew
- I... honestly don't even know at this point. But Yarn from Homebrew
is breaking somehow, possibly due to it referring back to Homebrew
"node" package, but _that's just a guess_. It's cursed, I guess.
- Get python-setuptools from Homebrew, not from pip
- Why? Why is this necessary? Homebrew, explain? Something about our
"environment being externally managed", so global package installs
with pip aren't allowed. This makes sense to someone. See PEP 668.
- Adjust PATH exports now that there's no "node@16" from Homebrew
2024-03-19 02:39:58 +03:00
- export PATH="/opt/homebrew/bin:$PATH"
2023-08-16 03:28:18 +03:00
- node script/rename.js "Silicon.Mac"
2022-12-16 13:11:19 +03:00
binary_artifacts :
path : ./binaries/*
test_script :
cirrus: Various fixes for macOS Cirrus CI
- Pin the base (CI-provided) OS image to Ventura, not Sonoma
- Fixes some C/C++ compilation errors??
- Gives us older XCode & compiler toolchain, I guess?
- Get node using tj/n utility, not Homebrew
- Homebrew "node" package is conflicting with (now deprecated)
"node@16" package, loading dynamic libraries like icu4c
keeps breaking...
- Get Yarn using npm global install, not from Homebrew
- I... honestly don't even know at this point. But Yarn from Homebrew
is breaking somehow, possibly due to it referring back to Homebrew
"node" package, but _that's just a guess_. It's cursed, I guess.
- Get python-setuptools from Homebrew, not from pip
- Why? Why is this necessary? Homebrew, explain? Something about our
"environment being externally managed", so global package installs
with pip aren't allowed. This makes sense to someone. See PEP 668.
- Adjust PATH exports now that there's no "node@16" from Homebrew
2024-03-19 02:39:58 +03:00
- export PATH="/opt/homebrew/bin:$PATH"
2023-04-04 22:42:11 +03:00
- rm -R node_modules/electron; yarn install --check-files
2023-08-17 02:50:15 +03:00
- 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
2023-08-28 06:20:38 +03:00
rolling_upload_script :
cirrus: Various fixes for macOS Cirrus CI
- Pin the base (CI-provided) OS image to Ventura, not Sonoma
- Fixes some C/C++ compilation errors??
- Gives us older XCode & compiler toolchain, I guess?
- Get node using tj/n utility, not Homebrew
- Homebrew "node" package is conflicting with (now deprecated)
"node@16" package, loading dynamic libraries like icu4c
keeps breaking...
- Get Yarn using npm global install, not from Homebrew
- I... honestly don't even know at this point. But Yarn from Homebrew
is breaking somehow, possibly due to it referring back to Homebrew
"node" package, but _that's just a guess_. It's cursed, I guess.
- Get python-setuptools from Homebrew, not from pip
- Why? Why is this necessary? Homebrew, explain? Something about our
"environment being externally managed", so global package installs
with pip aren't allowed. This makes sense to someone. See PEP 668.
- Adjust PATH exports now that there's no "node@16" from Homebrew
2024-03-19 02:39:58 +03:00
- export PATH="/opt/homebrew/bin:$PATH"
2023-08-28 06:20:38 +03:00
- cd ./script/rolling-release-scripts
- npm install
2023-08-28 06:42:50 +03:00
- node ./rolling-release-binary-upload.js cirrus
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-10-25 18:16:01 +03:00
2023-08-27 11:39:33 +03:00
# intel_mac_task:
# alias: mac
# macos_instance:
cirrus: Various fixes for macOS Cirrus CI
- Pin the base (CI-provided) OS image to Ventura, not Sonoma
- Fixes some C/C++ compilation errors??
- Gives us older XCode & compiler toolchain, I guess?
- Get node using tj/n utility, not Homebrew
- Homebrew "node" package is conflicting with (now deprecated)
"node@16" package, loading dynamic libraries like icu4c
keeps breaking...
- Get Yarn using npm global install, not from Homebrew
- I... honestly don't even know at this point. But Yarn from Homebrew
is breaking somehow, possibly due to it referring back to Homebrew
"node" package, but _that's just a guess_. It's cursed, I guess.
- Get python-setuptools from Homebrew, not from pip
- Why? Why is this necessary? Homebrew, explain? Something about our
"environment being externally managed", so global package installs
with pip aren't allowed. This makes sense to someone. See PEP 668.
- Adjust PATH exports now that there's no "node@16" from Homebrew
2024-03-19 02:39:58 +03:00
# image: ghcr.io/cirruslabs/macos-ventura-xcode:latest
2023-08-27 11:39:33 +03:00
# 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)"
cirrus: Various fixes for macOS Cirrus CI
- Pin the base (CI-provided) OS image to Ventura, not Sonoma
- Fixes some C/C++ compilation errors??
- Gives us older XCode & compiler toolchain, I guess?
- Get node using tj/n utility, not Homebrew
- Homebrew "node" package is conflicting with (now deprecated)
"node@16" package, loading dynamic libraries like icu4c
keeps breaking...
- Get Yarn using npm global install, not from Homebrew
- I... honestly don't even know at this point. But Yarn from Homebrew
is breaking somehow, possibly due to it referring back to Homebrew
"node" package, but _that's just a guess_. It's cursed, I guess.
- Get python-setuptools from Homebrew, not from pip
- Why? Why is this necessary? Homebrew, explain? Something about our
"environment being externally managed", so global package installs
with pip aren't allowed. This makes sense to someone. See PEP 668.
- Adjust PATH exports now that there's no "node@16" from Homebrew
2024-03-19 02:39:58 +03:00
# - export PATH="/usr/local/bin:$PATH"
2023-11-07 01:14:22 +03:00
# - arch -x86_64 brew update
2024-05-14 02:05:36 +03:00
# - arch -x86_64 brew uninstall node@20
cirrus: Various fixes for macOS Cirrus CI
- Pin the base (CI-provided) OS image to Ventura, not Sonoma
- Fixes some C/C++ compilation errors??
- Gives us older XCode & compiler toolchain, I guess?
- Get node using tj/n utility, not Homebrew
- Homebrew "node" package is conflicting with (now deprecated)
"node@16" package, loading dynamic libraries like icu4c
keeps breaking...
- Get Yarn using npm global install, not from Homebrew
- I... honestly don't even know at this point. But Yarn from Homebrew
is breaking somehow, possibly due to it referring back to Homebrew
"node" package, but _that's just a guess_. It's cursed, I guess.
- Get python-setuptools from Homebrew, not from pip
- Why? Why is this necessary? Homebrew, explain? Something about our
"environment being externally managed", so global package installs
with pip aren't allowed. This makes sense to someone. See PEP 668.
- Adjust PATH exports now that there's no "node@16" from Homebrew
2024-03-19 02:39:58 +03:00
# - arch -x86_64 brew install node@16 git python@$PYTHON_VERSION python-setuptools
2023-08-27 11:39:33 +03:00
# - ln -s /usr/local/bin/python$PYTHON_VERSION /usr/local/bin/python
cirrus: Various fixes for macOS Cirrus CI
- Pin the base (CI-provided) OS image to Ventura, not Sonoma
- Fixes some C/C++ compilation errors??
- Gives us older XCode & compiler toolchain, I guess?
- Get node using tj/n utility, not Homebrew
- Homebrew "node" package is conflicting with (now deprecated)
"node@16" package, loading dynamic libraries like icu4c
keeps breaking...
- Get Yarn using npm global install, not from Homebrew
- I... honestly don't even know at this point. But Yarn from Homebrew
is breaking somehow, possibly due to it referring back to Homebrew
"node" package, but _that's just a guess_. It's cursed, I guess.
- Get python-setuptools from Homebrew, not from pip
- Why? Why is this necessary? Homebrew, explain? Something about our
"environment being externally managed", so global package installs
with pip aren't allowed. This makes sense to someone. See PEP 668.
- Adjust PATH exports now that there's no "node@16" from Homebrew
2024-03-19 02:39:58 +03:00
# - npm install -g yarn
2023-08-27 11:39:33 +03:00
# - git submodule init
# - git submodule update
# - sed -i -e "s/[0-9]*-dev/`date -u +%Y%m%d%H`/g" package.json
# install_script:
cirrus: Various fixes for macOS Cirrus CI
- Pin the base (CI-provided) OS image to Ventura, not Sonoma
- Fixes some C/C++ compilation errors??
- Gives us older XCode & compiler toolchain, I guess?
- Get node using tj/n utility, not Homebrew
- Homebrew "node" package is conflicting with (now deprecated)
"node@16" package, loading dynamic libraries like icu4c
keeps breaking...
- Get Yarn using npm global install, not from Homebrew
- I... honestly don't even know at this point. But Yarn from Homebrew
is breaking somehow, possibly due to it referring back to Homebrew
"node" package, but _that's just a guess_. It's cursed, I guess.
- Get python-setuptools from Homebrew, not from pip
- Why? Why is this necessary? Homebrew, explain? Something about our
"environment being externally managed", so global package installs
with pip aren't allowed. This makes sense to someone. See PEP 668.
- Adjust PATH exports now that there's no "node@16" from Homebrew
2024-03-19 02:39:58 +03:00
# - export PATH="/usr/local/bin:$PATH"
2023-08-27 11:39:33 +03:00
# - arch -x86_64 npx yarn install --ignore-engines || arch -x86_64 npx yarn install --ignore-engines
# build_script:
cirrus: Various fixes for macOS Cirrus CI
- Pin the base (CI-provided) OS image to Ventura, not Sonoma
- Fixes some C/C++ compilation errors??
- Gives us older XCode & compiler toolchain, I guess?
- Get node using tj/n utility, not Homebrew
- Homebrew "node" package is conflicting with (now deprecated)
"node@16" package, loading dynamic libraries like icu4c
keeps breaking...
- Get Yarn using npm global install, not from Homebrew
- I... honestly don't even know at this point. But Yarn from Homebrew
is breaking somehow, possibly due to it referring back to Homebrew
"node" package, but _that's just a guess_. It's cursed, I guess.
- Get python-setuptools from Homebrew, not from pip
- Why? Why is this necessary? Homebrew, explain? Something about our
"environment being externally managed", so global package installs
with pip aren't allowed. This makes sense to someone. See PEP 668.
- Adjust PATH exports now that there's no "node@16" from Homebrew
2024-03-19 02:39:58 +03:00
# - export PATH="/usr/local/bin:$PATH"
2023-08-27 11:39:33 +03:00
# - arch -x86_64 npx yarn build
# - arch -x86_64 yarn run build:apm
# build_binary_script:
cirrus: Various fixes for macOS Cirrus CI
- Pin the base (CI-provided) OS image to Ventura, not Sonoma
- Fixes some C/C++ compilation errors??
- Gives us older XCode & compiler toolchain, I guess?
- Get node using tj/n utility, not Homebrew
- Homebrew "node" package is conflicting with (now deprecated)
"node@16" package, loading dynamic libraries like icu4c
keeps breaking...
- Get Yarn using npm global install, not from Homebrew
- I... honestly don't even know at this point. But Yarn from Homebrew
is breaking somehow, possibly due to it referring back to Homebrew
"node" package, but _that's just a guess_. It's cursed, I guess.
- Get python-setuptools from Homebrew, not from pip
- Why? Why is this necessary? Homebrew, explain? Something about our
"environment being externally managed", so global package installs
with pip aren't allowed. This makes sense to someone. See PEP 668.
- Adjust PATH exports now that there's no "node@16" from Homebrew
2024-03-19 02:39:58 +03:00
# - export PATH="/usr/local/bin:$PATH"
2023-08-27 11:39:33 +03:00
# - arch -x86_64 npx yarn dist || arch -x86_64 npx yarn dist
2023-08-30 05:28:06 +03:00
# rename_binary_script:
cirrus: Various fixes for macOS Cirrus CI
- Pin the base (CI-provided) OS image to Ventura, not Sonoma
- Fixes some C/C++ compilation errors??
- Gives us older XCode & compiler toolchain, I guess?
- Get node using tj/n utility, not Homebrew
- Homebrew "node" package is conflicting with (now deprecated)
"node@16" package, loading dynamic libraries like icu4c
keeps breaking...
- Get Yarn using npm global install, not from Homebrew
- I... honestly don't even know at this point. But Yarn from Homebrew
is breaking somehow, possibly due to it referring back to Homebrew
"node" package, but _that's just a guess_. It's cursed, I guess.
- Get python-setuptools from Homebrew, not from pip
- Why? Why is this necessary? Homebrew, explain? Something about our
"environment being externally managed", so global package installs
with pip aren't allowed. This makes sense to someone. See PEP 668.
- Adjust PATH exports now that there's no "node@16" from Homebrew
2024-03-19 02:39:58 +03:00
# - export PATH="/usr/local/bin:$PATH"
2023-08-30 05:28:06 +03:00
# - node script/rename.js "Intel.Mac"
2023-08-27 11:39:33 +03:00
# binary_artifacts:
# path: ./binaries/*
# test_script:
cirrus: Various fixes for macOS Cirrus CI
- Pin the base (CI-provided) OS image to Ventura, not Sonoma
- Fixes some C/C++ compilation errors??
- Gives us older XCode & compiler toolchain, I guess?
- Get node using tj/n utility, not Homebrew
- Homebrew "node" package is conflicting with (now deprecated)
"node@16" package, loading dynamic libraries like icu4c
keeps breaking...
- Get Yarn using npm global install, not from Homebrew
- I... honestly don't even know at this point. But Yarn from Homebrew
is breaking somehow, possibly due to it referring back to Homebrew
"node" package, but _that's just a guess_. It's cursed, I guess.
- Get python-setuptools from Homebrew, not from pip
- Why? Why is this necessary? Homebrew, explain? Something about our
"environment being externally managed", so global package installs
with pip aren't allowed. This makes sense to someone. See PEP 668.
- Adjust PATH exports now that there's no "node@16" from Homebrew
2024-03-19 02:39:58 +03:00
# - export PATH="/usr/local/bin:$PATH"
2023-08-27 11:39:33 +03:00
# - rm -R node_modules/electron; yarn install --check-files
2023-08-30 05:28:06 +03:00
# - hdiutil mount binaries/*Pulsar*dmg
2023-08-27 11:39:33 +03:00
# - 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
2022-08-17 22:15:43 +03:00
2023-08-27 11:39:33 +03:00
# 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
2023-08-30 05:28:06 +03:00
# rename_binary_script:
# - node script/rename.js "Windows"
2023-08-27 11:39:33 +03:00
# 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
2023-09-13 22:36:48 +03:00
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