Skip to content

feat(dsn-parser): drop node 16 - build for es2022 #1606

feat(dsn-parser): drop node 16 - build for es2022

feat(dsn-parser): drop node 16 - build for es2022 #1606

Workflow file for this run

name: CI-packages
on:
push:
branches:
- main
pull_request:
types: [opened, synchronize, reopened, ready_for_review]
branches:
- '**'
paths-ignore:
- 'examples/**'
permissions:
contents: read
jobs:
test:
runs-on: ubuntu-latest
strategy:
matrix:
node-version: [18.x, 20.x]
steps:
- uses: actions/checkout@v4
with:
# Fetch all git history so that yarn workspaces --since can compare with the correct commits
# @link https://github.com/actions/checkout#fetch-all-history-for-all-tags-and-branches
fetch-depth: 0
- name: ⚙️ Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v4
with:
node-version: ${{ matrix.node-version }}
- name: 📥 Monorepo install
uses: ./.github/actions/yarn-nm-install
- name: ♻️ Restore packages cache
uses: actions/cache@v3
with:
path: |
${{ github.workspace }}/.cache
${{ github.workspace }}/**/tsconfig.tsbuildinfo
key: ${{ runner.os }}-packages-cache-${{ hashFiles('**/yarn.lock') }}-${{ hashFiles('packages/**.[jt]sx?', 'packages/**.json') }}
restore-keys: |
${{ runner.os }}-packages-cache-${{ hashFiles('**/yarn.lock') }}-
- name: 🕵️ Typecheck
run: yarn workspaces foreach -tv --worktree --from 'packages/*' --no-private run typecheck
- name: 🔬 ESLint checks
if: matrix.node-version == '18.x'
run: yarn workspaces foreach -tv --worktree --from 'packages/*' --no-private run lint
- name: 🧪 Unit tests
run: yarn workspaces foreach -tv --worktree --from 'packages/*' --no-private run test-unit --coverage
- name: ☂️ Codecov upload
working-directory: ${{ github.workspace }}
if: matrix.node-version == '18.x'
run: |
bash .github/scripts/install-codecov.sh
yarn g:ci-coverage-upload
shell: bash
- name: 🏗 Build packages
run: yarn workspaces foreach -tv --worktree --from 'packages/*' --no-private run build
- name: 📐 Check build for size-limits
if: matrix.node-version == '18.x'
run: yarn workspaces foreach -tv --worktree --from 'packages/*' --no-private run check-size
- name: 🛟 Check build for ecmascript compliance
if: matrix.node-version == '18.x'
run: yarn workspaces foreach -tv --worktree --from 'packages/*' --no-private run check-dist
- name: 🛟 Check publishable dist (publint)
if: matrix.node-version == '18.x'
run: yarn workspaces foreach -tv --worktree --from 'packages/*' --no-private run check-pub
- name: 📄 Check doc can be built
if: matrix.node-version == '18.x'
run: yarn workspaces foreach -tv --worktree --from 'packages/*' --no-private run build-doc