name: Test Build (Ubuntu)

on:
  pull_request:
    branches: [main]

jobs:
  build:
    runs-on: ubuntu-latest
    steps:
      - name: Install native dependencies for canvas
        run: |
          sudo apt-get update
          sudo apt-get install -y \
            libcairo2-dev libjpeg-dev libpango1.0-dev libgif-dev build-essential g++ \
            libpixman-1-dev pkg-config
      - name: Checkout 🛎️
        uses: actions/checkout@v4
      - name: Setup Node.js
        uses: actions/setup-node@v4
        with:
          node-version-file: package.json
      - name: Build Shield Library 🛡️
        run: |
          cd shieldlib
          npm ci --include=dev
          npm run build
      - name: Install and Build 🔧
        run: |
          npm ci --include=dev
          npm run build
          npm run style
      - name: Test 🧪
        run: |
          npm test
          cd shieldlib
          npm test
