name: Node.js CI - Dockge

on:
  push:
    branches: [master]
    paths-ignore:
      - '*.md'
  pull_request:
    branches: [master]
    paths-ignore:
      - '*.md'

jobs:
  ci:
    strategy:
      matrix:
        os: [ubuntu-latest, windows-latest, macos-latest, ARM, ARM64]
        node: [22] # Can be changed
    runs-on: ${{ matrix.os }}
    steps:
      - name: Checkout Code
        run: |  # Mainly for Windows
          git config --global core.autocrlf false
          git config --global core.eol lf
        uses: actions/checkout@v4

      - name: Setup Node.js
        uses: actions/setup-node@v3
        with:
          node-version: ${{matrix.node}}

      - name: Install dependencies
        run: npm install

      - name: Lint
        run: npm run lint

      - name: Check Typescript
        run: npm run check-ts

      - name: Build
        run: npm run build:frontend
      # more things can be add later like tests etc..

