Skip to content

Merge pull request #32 from nickpisciotta/main #97

Merge pull request #32 from nickpisciotta/main

Merge pull request #32 from nickpisciotta/main #97

Workflow file for this run

name: CI
on:
pull_request:
push:
branches:
- main
jobs:
verify:
runs-on: ubuntu-latest
env:
CI: true
NODE_OPTIONS: --max-old-space-size=4096
steps:
- uses: actions/checkout@v3
- uses: pnpm/action-setup@v2
with:
version: 8.9.0
run_install: false
- name: fetch default branch
run: git fetch origin main
- name: use node.js
id: node
uses: actions/setup-node@v3
with:
cache: 'pnpm'
node-version-file: .nvmrc
- name: Get pnpm store directory
shell: bash
run: |
echo "STORE_PATH=$(pnpm store path --silent)" >> $GITHUB_ENV
- uses: actions/cache@v3
name: Setup pnpm cache
with:
path: ${{ env.STORE_PATH }}
key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }}
restore-keys: |
${{ runner.os }}-pnpm-store-
- name: check for duplicated dependencies
run: pnpm dedupe --check
- name: pnpm install
if: steps.cache-modules.outputs.cache-hit != 'true'
run: pnpm i
# End of pnpm setup
- name: prettier
run: pnpm prettier:check
- name: lint
run: pnpm lint:all
- name: type checking and declarations
run: pnpm tsc:full
- name: build all packages
run: pnpm build:all
- name: test changed packages
# Github action runners have 2 cores by default, and Jest by default
# creates one worker per core, less one for the main thread. This
# means maxWorkers ends up set to 1, and as a result tests are run
# in-band. In this situation, workerIdleMemoryLimit is ignored, so
# it's not possible to mitigate issues with test memory usage.
#
# To mitigate this, we explicitly set maxWorkers to 2 to prevent
# tests being run in-band alongside setting a memory limit.
run: pnpm test -- --maxWorkers=2