Skip to content

v2.0.0-alpha.28

v2.0.0-alpha.28 #802

Workflow file for this run

name: Test Matrix
on:
push:
branches:
- '*'
- '!gh-pages'
pull_request:
jobs:
test:
name: Test ${{matrix.browser || 'chrome-latest' }} (node ${{ matrix.node-version }}; ${{ matrix.os }})
timeout-minutes: 30
strategy:
fail-fast: false
matrix:
os: [macos-latest, windows-latest, ubuntu-latest]
node-version: [18, 20]
include:
- node-version: 18.x
os: ubuntu-latest
browser: chrome-97-0
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: ${{ matrix.node-version }}
cache: yarn
- uses: actions/setup-go@v5
with:
go-version: '1.20'
- name: Clone ulixee/shared
run: git clone https://github.com/ulixee/shared.git
working-directory: ../..
- name: Install ulixee/shared
run: yarn build
working-directory: ../../shared
- name: Clone unblocked
run: git clone --recurse-submodules -j8 https://github.com/ulixee/unblocked.git
working-directory: ../..
- name: Install unblocked
run: yarn build
working-directory: ../../unblocked
env:
ULX_MITM_REBUILD_SOCKET: 1
- name: Relink shared
run: yarn
working-directory: ../../shared/build
- name: Build modules
run: yarn build --network-timeout 1000000
- name: Run Lint
if: ${{ matrix.os == 'ubuntu-latest' && !matrix.browser }}
run: NODE_OPTIONS=--max-old-space-size=4096 yarn lint
- name: Linux - Add Chrome Env
if: ${{ matrix.browser }}
working-directory: ../../unblocked/build
run: yarn add -W @ulixee/${{ matrix.browser }}
- name: Linux - Apt Install Chrome(s)
if: ${{ matrix.os == 'ubuntu-latest' }}
working-directory: ../../unblocked/build
run: sudo $(npx install-browser-deps)
- name: Run tests
run: yarn jest --testTimeout=60000 --maxWorkers=2
working-directory: ./build
env:
NODE_ENV: test
ULX_DATA_DIR: .data
ULX_DEFAULT_BROWSER_ID: ${{ matrix.browser }}
- name: 'Tar files'
if: ${{ failure() }}
run: tar -cvf test-dbs.tar ./build/.data
- name: Upload Databases
if: ${{ failure() }}
uses: actions/upload-artifact@v4
with:
name: test-dbs-${{matrix.os}}-${{ matrix.node-version }}
path: test-dbs.tar
retention-days: 1