chore: make pipeline fast again #601
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: Verify Pull Request | |
on: | |
pull_request: {} | |
workflow_dispatch: {} | |
env: | |
HUSKY: 0 | |
jobs: | |
commit: | |
name: Commit name | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
fetch-depth: 0 | |
- uses: actions/setup-node@v4 | |
with: | |
node-version: 20 | |
cache: npm | |
- run: npm ci | |
- run: npx commitlint --from ${{ github.event.pull_request.base.sha }} --verbose | |
lint: | |
name: Lint | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions/setup-node@v4 | |
with: | |
node-version: 20 | |
cache: npm | |
- run: npm ci | |
- run: npx eslint "**/*.ts?(x)" | |
prettier: | |
name: Code style | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions/setup-node@v4 | |
with: | |
node-version: 20 | |
cache: npm | |
- run: npm ci | |
- run: npm run prettier | |
build: | |
name: Build | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions/setup-node@v4 | |
with: | |
node-version: 20 | |
cache: npm | |
- name: Clear npm cache and node_modules | |
run: | | |
npm cache clean --force | |
rm -rf node_modules | |
rm -rf packages/*/node_modules | |
- name: Remove problematic directories | |
run: | | |
rm -rf node_modules/esbuild | |
rm -rf node_modules/nx | |
- name: Install dependencies | |
run: | | |
npm install -g npm@latest | |
npm install --no-optional | |
env: | |
NODE_OPTIONS: "--max_old_space_size=4096" | |
- name: Reinstall esbuild and nx | |
run: | | |
npm install esbuild | |
npm install nx | |
- name: List installed packages | |
run: npm list --depth=0 | |
- name: Build packages | |
run: npx lerna run build | |
- name: Build examples | |
run: npm run examples:build | |
tests: | |
name: Unit tests | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions/setup-node@v4 | |
with: | |
node-version: 20 | |
cache: npm | |
- run: npm ci | |
- run: npx lerna run build | |
- run: npx lerna run test | |
e2e: | |
name: E2E | |
runs-on: ubuntu-latest | |
container: | |
image: mcr.microsoft.com/playwright:v1.46.1-jammy | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions/setup-node@v4 | |
with: | |
node-version: 20 | |
cache: npm | |
- run: npm ci | |
- run: npx lerna run build | |
- run: npm run e2e:test | |
env: | |
HOME: /root | |
- uses: actions/upload-artifact@v3 | |
if: failure() | |
with: | |
name: image-diffs | |
path: packages/e2e/src/__image_snapshots__/__diff_output__ | |
docs: | |
name: Documentation | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions/setup-node@v4 | |
with: | |
node-version: 20 | |
cache: npm | |
- run: npm ci | |
- run: npx lerna run build | |
- run: npx lerna run bundle | |
- run: npm run docs:build | |
env: | |
NODE_OPTIONS: "--max-old-space-size=8192" |