# This workflow will run tests using node and then publish a package to GitHub Packages when a release is created # For more information see: https://help.github.com/actions/language-and-framework-guides/publishing-nodejs-packages name: PR on: push: branches: - main pull_request: branches: - main jobs: build: name: 🛠️ Build & 🔍 Lint Check runs-on: ubuntu-latest steps: - name: 📦 Checkout Repository uses: actions/checkout@v4 - name: 🏗️ Setup Node.js Environment uses: actions/setup-node@v4 with: cache: npm cache-dependency-path: package-lock.json node-version-file: .nvmrc - name: 🏗️ Setup project run: npm ci - name: 🛠️ Build Check run: npm run compile - name: 🔍 Linting check run: npm run lint test: name: 📋 Unit Test ${{ matrix.os }} runs-on: ${{ matrix.os }} needs: [build] strategy: fail-fast: false matrix: os: [ubuntu-latest, windows-latest, macOS-latest] steps: - name: 📦 Checkout Repository uses: actions/checkout@v4 - name: 🏗️ Setup Node.js Environment uses: actions/setup-node@v4 with: cache: npm cache-dependency-path: package-lock.json node-version-file: .nvmrc - name: 🏗️ Setup project run: npm ci - name: 📋 Test run: npm test