Skip to content

Bring back jest files #4148

Bring back jest files

Bring back jest files #4148

Workflow file for this run

name: 'Tests'
on: [push]
env:
TF_CPP_MIN_LOG_LEVEL: 2
jobs:
lint:
name: 'Lint'
runs-on: ubuntu-latest
strategy:
matrix:
node-version: [16]
steps:
- name: 'Checkout repository'
uses: actions/checkout@v2
- name: 'Setup PNPM with Node ${{ matrix.node-version }}'
uses: ./.github/actions/setup-pnpm
with:
node-version: ${{ matrix.node-version }}
- name: 'Lint'
run: 'pnpm lint'
build:
name: 'Build'
runs-on: ubuntu-latest
strategy:
matrix:
node-version: [16]
steps:
- name: 'Checkout repository'
uses: actions/checkout@v2
- name: 'Setup PNPM with Node ${{ matrix.node-version }}'
uses: ./.github/actions/setup-pnpm
with:
node-version: ${{ matrix.node-version }}
- name: 'Build Upscaler dependencies'
run: 'pnpm --filter="upscaler" build:dependencies'
- name: 'Build'
run: 'pnpm --filter="upscaler" build:only'
- name: 'Validate'
run: 'pnpm --filter="upscaler" validate'
unit-browser-jest:
name: 'Unit / Browser / Jest'
runs-on: ubuntu-latest
strategy:
matrix:
node-version: [16]
steps:
- name: 'Checkout repository'
uses: actions/checkout@v2
- name: 'Setup PNPM with Node ${{ matrix.node-version }}'
uses: ./.github/actions/setup-pnpm
with:
node-version: ${{ matrix.node-version }}
- name: 'Unit Tests / Jest'
working-directory: ./packages/upscalerjs
run: pnpm test:unit:browser:jest
- name: 'Upload Unit Browser Artifact'
uses: actions/upload-artifact@v2
with:
name: artifacts-test-unit-browser-jest
path: |
./packages/upscalerjs/coverage/coverage-final.json
unit-browser-playwright:
name: 'Unit / Browser / Playwright'
runs-on: ubuntu-latest
strategy:
matrix:
node-version: [16]
steps:
- name: 'Checkout repository'
uses: actions/checkout@v2
- name: 'Setup PNPM with Node ${{ matrix.node-version }}'
uses: ./.github/actions/setup-pnpm
with:
node-version: ${{ matrix.node-version }}
- name: 'Unit Tests / Playwright'
working-directory: ./packages/upscalerjs
run: pnpm test:unit:browser:playwright
- name: 'Upload Unit Browser Artifact'
uses: actions/upload-artifact@v2
with:
name: artifacts-test-unit-browser-playwright
path: |
./packages/upscalerjs/.nyc_output/coverage-pw.json
unit-node:
name: 'Unit / Node'
runs-on: ubuntu-latest
strategy:
matrix:
node-version: [16]
steps:
- name: 'Checkout repository'
uses: actions/checkout@v2
- name: 'Setup PNPM with Node ${{ matrix.node-version }}'
uses: ./.github/actions/setup-pnpm
with:
node-version: ${{ matrix.node-version }}
- name: 'Install dependencies'
run: pnpm liteinstall
- name: 'Unit Tests'
working-directory: ./packages/upscalerjs
run: pnpm test:unit:node
- name: 'Upload Unit Node Artifact'
uses: actions/upload-artifact@v2
with:
name: artifacts-test-unit-node
path: ./packages/upscalerjs/coverage/coverage-final.json
core-unit:
name: 'Core / Unit'
runs-on: ubuntu-latest
strategy:
matrix:
node-version: [16]
steps:
- name: 'Checkout repository'
uses: actions/checkout@v2
- name: 'Setup PNPM with Node ${{ matrix.node-version }}'
uses: ./.github/actions/setup-pnpm
with:
node-version: ${{ matrix.node-version }}
- name: 'Unit Tests'
working-directory: ./packages/core
run: pnpm test
upload-to-codecov:
name: 'Upload to CodeCov'
runs-on: ubuntu-latest
needs: [ unit-node, unit-browser-jest, unit-browser-playwright ]
steps:
- name: Download artifacts
uses: actions/download-artifact@v2
- name: 'Codecov'
uses: codecov/codecov-action@v3
with:
verbose: true
integration:
name: 'Integration'
runs-on: ubuntu-latest
strategy:
matrix:
test: [clientside, serverside, memory-leaks, models, browserstack]
steps:
- name: 'BrowserStack Env Setup' # Invokes the setup-env action
uses: browserstack/github-actions/setup-env@master
with:
username: ${{ secrets.BROWSERSTACK_USERNAME }}
access-key: ${{ secrets.BROWSERSTACK_ACCESS_KEY }}
- name: 'Checkout repository'
uses: actions/checkout@v2
- name: 'Setup PNPM with Node 20'
uses: ./.github/actions/setup-pnpm
with:
node-version: 20
- name: 'Build Upscaler'
run: pnpm cli test integration ${{ matrix.test }} --ci -l verbose --skip-model-build --skip-bundle --skip-test
- name: 'Build Models'
run: pnpm cli test integration ${{ matrix.test }} --ci -l verbose --skip-upscaler --skip-bundle --skip-test
- name: 'Bundle'
run: pnpm cli test integration ${{ matrix.test }} --ci -l verbose --skip-upscaler --skip-model-build --skip-test
- name: 'Integration Tests'
run: pnpm cli test integration ${{ matrix.test }} --ci -l verbose --skip-upscaler --skip-model-build --skip-bundle
env:
NODE_OPTIONS: --max_old_space_size=8192
build-docs:
name: 'Build Documentation'
runs-on: ubuntu-latest
strategy:
matrix:
node-version: [16]
steps:
- name: 'Checkout repository'
uses: actions/checkout@v2
- name: 'Setup PNPM with Node ${{ matrix.node-version }}'
uses: ./.github/actions/setup-pnpm
with:
node-version: ${{ matrix.node-version }}
# - name: Setup tmate session
# uses: mxschmitt/action-tmate@v3
# with:
# detached: true
- name: 'Setup DVC & Pull Models'
uses: ./.github/actions/setup-dvc
with:
gdrive_credentials_data: ${{ secrets.GDRIVE_CREDENTIALS_DATA }}
- name: 'Install dependencies'
run: pnpm install
- name: 'Build'
working-directory: ./docs
run: pnpm build