name: CI

on:
  pull_request:
    types:
      - opened
      - edited
      - synchronize
      - reopened
  workflow_call:

jobs:
  build:
    name: Code standards & build
    runs-on: ubuntu-latest
    timeout-minutes: 3

    strategy:
      matrix:
        node-version: [18.x]

    steps:
      - name: "☁️ Checkout repository"
        uses: actions/checkout@v4

      - name: "🔧 Setup Node.js ${{ matrix.node-version }}"
        uses: actions/setup-node@v4
        with:
          node-version: ${{ matrix.node-version }}
          cache: "npm"

      - name: "📦 Install dependencies"
        run: npm ci

      - name: "🔎 Lint code"
        run: npm run lint

      - name: "📝 Checking code format"
        run: npm run format:check

      - name: "🚀 Build the project"
        run: npm run build
