name: CI

on:
  push:
    paths:
      - "**/package.json"
      - "pnpm-lock.yaml"
    branches:
      - main
      - 3.x
  pull_request:
    paths:
      - "**/package.json"
      - "pnpm-lock.yaml"
    branches:
      - main
      - 3.x
      - "!v[0-9]*"

permissions:
  contents: read

jobs:
  lint-monorepo:
    runs-on: ubuntu-latest

    steps:
      - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
      - run: corepack enable
      - uses: actions/setup-node@39370e3970a6d050c480ffad4ff0ed4d3fdee5af # v4.1.0
        with:
          node-version: 22
          cache: "pnpm"

      - name: Install dependencies
        run: pnpm install

      - name: Lint monorepo
        run: pnpm sherif -r multiple-dependency-versions

      - name: Check engine ranges, peer dependency ranges and installed versions
        run: pnpm installed-check -d
