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