chore: remove get pixels dependency #338
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Test Pull Requests To Master (Node 20+) | |
on: | |
push: | |
branches: | |
- greenkeeper/* | |
pull_request: | |
branches: | |
- master | |
jobs: | |
build: | |
runs-on: ubuntu-latest | |
timeout-minutes: 10 | |
strategy: | |
matrix: | |
node-version: [20.x, 22.x, 24.x] | |
os: [ubuntu-latest, windows-latest, macOS-latest] | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Use Node.js ${{ matrix.node-version }} | |
uses: actions/setup-node@v4 | |
with: | |
node-version: ${{ matrix.node-version }} | |
- name: npm versions | |
run: | | |
node --version | |
npm --version | |
- name: ci install | |
run: npm ci | |
- name: setup virtual display | |
run: | | |
sudo apt-get update | |
sudo apt-get install -y xvfb | |
export DISPLAY=:99 | |
Xvfb :99 -screen 0 1024x768x24 > /dev/null 2>&1 & | |
- name: build | |
run: npm run build --if-present | |
env: | |
CI: true | |
NODE_OPTIONS: --openssl-legacy-provider # necessary for webpack v4 in node 17+ | |
- name: module test | |
run: npm run test:module | |
- name: debug environment info | |
run: | | |
echo "=== Environment Info ===" | |
echo "Node version: $(node --version)" | |
echo "NPM version: $(npm --version)" | |
echo "OS: $(uname -a)" | |
echo "Available memory: $(free -h || echo 'N/A')" | |
echo "Available disk: $(df -h . || echo 'N/A')" | |
echo "Display info: $DISPLAY" | |
echo "Xvfb check: $(which Xvfb || echo 'Xvfb not found')" | |
echo "Chrome check: $(which google-chrome || which chromium-browser || echo 'Chrome not found')" | |
- name: try single cypress test first | |
run: timeout 120 npm run cypress:debug || echo "Single Cypress test timed out or failed" | |
env: | |
DEBUG: cypress:* | |
CYPRESS_DEBUG: 1 | |
DISPLAY: :99 | |
- name: try full cypress tests if single test works | |
if: success() | |
run: timeout 300 npm run cypress:run || echo "Full Cypress tests timed out or failed" | |
env: | |
DEBUG: cypress:* | |
CYPRESS_DEBUG: 1 | |
DISPLAY: :99 | |
- name: run node tests only if cypress failed | |
if: failure() | |
run: npx cross-env NODE_ENV=test BUILD_ENV=development ts-mocha -p test/tsconfig.json src/**/test/node/*.spec.* src/**/test/*.spec.* test/integration/integration.spec.ts | |
- name: test package import | |
run: npm run test:import | |
- name: test package require | |
run: npm run test:require |