Skip to content

infra(unicorn): prefer-optional-catch-binding #11295

infra(unicorn): prefer-optional-catch-binding

infra(unicorn): prefer-optional-catch-binding #11295

Workflow file for this run

name: CI
on:
push:
branches:
- next
pull_request:
permissions:
contents: read # to fetch code (actions/checkout)
jobs:
unit-test:
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [ubuntu-latest]
node_version: [14, 16, 18, 20]
include:
- os: macos-latest
node_version: 16
- os: macos-latest
node_version: 18
- os: macos-latest
node_version: 20
- os: windows-latest
node_version: 16
- os: windows-latest
node_version: 18
- os: windows-latest
node_version: 20
fail-fast: false
timeout-minutes: 10
name: 'Build & Unit Test: node-${{ matrix.node_version }}, ${{ matrix.os }}'
steps:
- name: Checkout
uses: actions/checkout@3df4ab11eba7bda6032a0b82a6bb43b11571feac # v4.0.0
with:
# Required for docs/versions tests
fetch-depth: 0
- name: Install pnpm (node 14, pnpm 7)
if: matrix.node_version == 14
uses: pnpm/action-setup@d882d12c64e032187b2edb46d3a0d003b7a43598 # v2.4.0
with:
version: 7
- name: Install pnpm
if: matrix.node_version != 14
uses: pnpm/action-setup@d882d12c64e032187b2edb46d3a0d003b7a43598 # v2.4.0
- name: Set node version to ${{ matrix.node_version }}
uses: actions/setup-node@5e21ff4d9bc1a8cf6de233a3057d20ec6b3fb69d # v3.8.1
with:
node-version: ${{ matrix.node_version }}
cache: 'pnpm'
- name: Install deps
run: pnpm install
env:
CYPRESS_INSTALL_BINARY: 0
- name: Build
run: pnpm run build
- name: Test
run: pnpm run test
timezone-test:
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [ubuntu-latest]
node_version: [20]
fail-fast: false
env:
LANG: zh_SG.UTF-8
TZ: Asia/Singapore
timeout-minutes: 10
name: 'Timezone Test: node-${{ matrix.node_version }}, ${{ matrix.os }}'
steps:
- name: Set system LANG=zh_SG.UTF-8
run: |
sudo locale-gen zh_SG.UTF-8
sudo update-locale LANG=zh_SG.UTF-8
- name: Check date
run: date
- name: Checkout
uses: actions/checkout@3df4ab11eba7bda6032a0b82a6bb43b11571feac # v4.0.0
with:
# Required for docs/versions tests
fetch-depth: 0
- name: Install pnpm
uses: pnpm/action-setup@d882d12c64e032187b2edb46d3a0d003b7a43598 # v2.4.0
- name: Set node version to ${{ matrix.node_version }}
uses: actions/setup-node@5e21ff4d9bc1a8cf6de233a3057d20ec6b3fb69d # v3.8.1
with:
node-version: ${{ matrix.node_version }}
cache: 'pnpm'
- name: Install deps
run: pnpm install
env:
CYPRESS_INSTALL_BINARY: 0
- name: Build
run: pnpm run build
- name: Test
run: pnpm run test
e2e-test:
runs-on: ubuntu-latest
container:
image: cypress/browsers:node-20.6.1-chrome-116.0.5845.187-1-ff-117.0-edge-116.0.1938.76-1
options: --user 1001
timeout-minutes: 10
name: 'E2E Doc Test: node-20, ubuntu-latest'
steps:
- name: Checkout
uses: actions/checkout@3df4ab11eba7bda6032a0b82a6bb43b11571feac # v4.0.0
- name: Install pnpm
uses: pnpm/action-setup@d882d12c64e032187b2edb46d3a0d003b7a43598 # v2.4.0
- name: Install deps
run: pnpm install
- name: Build docs
run: pnpm run docs:build:ci
- id: e2e
name: Run e2e
run: pnpm run docs:test:e2e:run
lint:
runs-on: ubuntu-latest
timeout-minutes: 10
name: 'Lint: node-20, ubuntu-latest'
steps:
- name: Checkout
uses: actions/checkout@3df4ab11eba7bda6032a0b82a6bb43b11571feac # v4.0.0
with:
fetch-depth: 0
- name: Install pnpm
uses: pnpm/action-setup@d882d12c64e032187b2edb46d3a0d003b7a43598 # v2.4.0
- name: Set node version to 20
uses: actions/setup-node@5e21ff4d9bc1a8cf6de233a3057d20ec6b3fb69d # v3.8.1
with:
node-version: 20
cache: 'pnpm'
- name: Install deps
run: pnpm install
env:
CYPRESS_INSTALL_BINARY: 0
- name: Lint
run: pnpm run lint
- name: Check formatting
run: pnpm prettier --check .
ts-check:
runs-on: ubuntu-latest
timeout-minutes: 10
name: 'TS-Check: node-20, ubuntu-latest'
steps:
- name: Checkout
uses: actions/checkout@3df4ab11eba7bda6032a0b82a6bb43b11571feac # v4.0.0
with:
fetch-depth: 0
- name: Install pnpm
uses: pnpm/action-setup@d882d12c64e032187b2edb46d3a0d003b7a43598 # v2.4.0
- name: Set node version to 20
uses: actions/setup-node@5e21ff4d9bc1a8cf6de233a3057d20ec6b3fb69d # v3.8.1
with:
node-version: 20
cache: 'pnpm'
- name: Install deps
run: pnpm install
env:
CYPRESS_INSTALL_BINARY: 0
- name: Check scripts
run: pnpm run ts-check
codecov:
runs-on: ubuntu-latest
timeout-minutes: 10
name: 'Codecov: node-20, ubuntu-latest'
steps:
- name: Checkout
uses: actions/checkout@3df4ab11eba7bda6032a0b82a6bb43b11571feac # v4.0.0
with:
fetch-depth: 0
- name: Install pnpm
uses: pnpm/action-setup@d882d12c64e032187b2edb46d3a0d003b7a43598 # v2.4.0
- name: Set node version to 20
uses: actions/setup-node@5e21ff4d9bc1a8cf6de233a3057d20ec6b3fb69d # v3.8.1
with:
node-version: 20
cache: 'pnpm'
- name: Install deps
run: pnpm install
env:
CYPRESS_INSTALL_BINARY: 0
- name: Build
run: pnpm run build
- name: Generate coverage report
run: pnpm vitest run --coverage
- name: Upload coverage to Codecov
uses: codecov/codecov-action@eaaf4bedf32dbdc6b720b63067d99c4d77d6047d # v3.1.4
with:
token: ${{ secrets.CODECOV_TOKEN }}
fail_ci_if_error: true