name: Lint

on:
  pull_request:
    branches: [main]

jobs:
  prettier:
    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
        with:
          # Make sure the actual branch is checked out when running on pull requests
          repository: ${{ github.event.pull_request.head.repo.full_name }}
          ref: ${{ github.event.pull_request.head.ref }}
          # This is important to fetch the changes to the previous commit
          fetch-depth: 0

      - name: Setup Node.js
        uses: actions/setup-node@v4
        with:
          node-version-file: package.json

      - name: Install dependencies
        run: npm install

      - name: Run Prettier
        id: prettier
        run: npx prettier --check .
        continue-on-error: false

      - name: Check if Prettier failed
        if: steps.prettier.outcome == 'failure'
        run: exit 1
