Bring back jest files #4148
Workflow file for this run
This file contains 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: '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 |