65 lines
1.5 KiB
YAML
65 lines
1.5 KiB
YAML
name: 'Run tests on NodeJS'
|
|
|
|
on:
|
|
push:
|
|
paths:
|
|
- '.github/workflows/node.yml'
|
|
- '1.0/*'
|
|
- '2.0/*'
|
|
- '2.5/*'
|
|
- '3.0/*'
|
|
- '4.0/*'
|
|
- 'legacy/*'
|
|
- 'package.json'
|
|
- 'pnpm-lock.yaml'
|
|
pull_request:
|
|
paths:
|
|
- '.github/workflows/node.yml'
|
|
- '1.0/*'
|
|
- '2.0/*'
|
|
- '2.5/*'
|
|
- '3.0/*'
|
|
- '4.0/*'
|
|
- 'legacy/*'
|
|
- 'package.json'
|
|
- 'pnpm-lock.yaml'
|
|
workflow_dispatch:
|
|
|
|
jobs:
|
|
default:
|
|
runs-on: ubuntu-latest
|
|
strategy:
|
|
matrix:
|
|
node-version: ['lts/*', '*']
|
|
|
|
steps:
|
|
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
|
|
with:
|
|
fetch-depth: 10
|
|
|
|
- uses: actions/setup-node@b39b52d1213e96004bfcb1c61a8a6fa8ab84f3e8 # v4.0.1
|
|
with:
|
|
node-version: ${{ matrix.node-version }}
|
|
|
|
- name: Enable Corepack
|
|
run: corepack enable
|
|
|
|
- name: Get pnpm store directory
|
|
id: pnpm-cache
|
|
run: |
|
|
echo "::set-output name=pnpm_store_path::$(pnpm store path)"
|
|
|
|
- uses: actions/cache@13aacd865c20de90d75de3b17ebe84f7a17d57d2 # v4.0.0
|
|
name: Set up pnpm cache
|
|
with:
|
|
path: ${{ steps.pnpm-cache.outputs.pnpm_store_path }}
|
|
key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }}
|
|
restore-keys: |
|
|
${{ runner.os }}-pnpm-store-
|
|
|
|
- name: Install dependencies
|
|
run: |
|
|
pnpm install --frozen-lockfile --strict-peer-dependencies
|
|
|
|
- name: Lint Markdown
|
|
run: pnpm run --if-present test
|