Skip to content

Bump @types/node from 16.18.23 to 16.18.46 #104

Bump @types/node from 16.18.23 to 16.18.46

Bump @types/node from 16.18.23 to 16.18.46 #104

name: Build and Test
on:
push:
paths-ignore:
- '**.md'
pull_request:
types: [opened, synchronize, reopened]
paths-ignore:
- '**.md'
permissions: read-all
jobs:
build:
name: Build
strategy:
matrix:
runs-on: [ubuntu-latest, macos-latest, windows-latest]
fail-fast: false
runs-on: ${{ matrix.runs-on }}
steps:
- name: Checkout Code
uses: actions/checkout@v3
- name: Setup Node.js 16.x
uses: actions/setup-node@v3
with:
node-version: 16.x
- name: Setup pnpm
uses: pnpm/action-setup@v2
- name: Determine pnpm store location
if: runner.os == 'Linux' || runner.os == 'macOS'
id: pnpm-store-unix
shell: bash
run: echo "pnpm-store=$(pnpm store path)" >> "$GITHUB_OUTPUT"
- name: Determine pnpm store location
if: runner.os == 'Windows'
id: pnpm-store-windows
shell: pwsh
run: |
$pnpmStorePath=pnpm store path
Add-Content -Path "$env:GITHUB_OUTPUT" -Value "pnpm-store=$pnpmStorePath"
- name: Cache pnpm modules
if: steps.pnpm-store-unix.outcome == 'success'
uses: actions/cache@v3
with:
path: ${{ steps.pnpm-store-unix.outputs.pnpm-store }}
key: ${{ runner.os }}-pnpm-${{ hashFiles('**/pnpm-lock.yaml') }}
restore-keys: |
${{ runner.os }}-pnpm-
- name: Cache pnpm modules
if: steps.pnpm-store-windows.outcome == 'success'
uses: actions/cache@v3
with:
path: ${{ steps.pnpm-store-windows.outputs.pnpm-store }}
key: ${{ runner.os }}-pnpm-${{ hashFiles('**/pnpm-lock.yaml') }}
restore-keys: |
${{ runner.os }}-pnpm-
- name: pnpm install
run: pnpm install -r
- name: Build
run: pnpm build
- name: Test
id: test
run: pnpm ci:test
- name: Upload Test Results
uses: actions/upload-artifact@v3
if: (success() || failure()) && steps.test.outcome != 'skipped' && steps.test.outcome != 'cancelled'
with:
name: test-results-${{ matrix.runs-on }}
path: reports/jest-junit.xml
- name: Upload Coverage Report
uses: actions/upload-artifact@v3
with:
name: coverage-${{ matrix.runs-on }}
path: coverage