name: ci
on:
  push:
    branches: [main]
  pull_request:
  workflow_dispatch:
permissions:
  actions: read
  checks: none
  contents: write
  deployments: none
  issues: none
  packages: write
  pull-requests: none
  repository-projects: none
  security-events: none
  statuses: none

jobs:
  build:
    concurrency:
      group: ${{ github.workflow }}-${{ github.ref }}-${{ matrix.node }}
      cancel-in-progress: true
    runs-on: self-hosted
    strategy:
      matrix:
        node: [18, 20, 22]
    steps:
      - name: checkout repository
        uses: actions/checkout@v5

      - name: install nodejs
        uses: actions/setup-node@v4
        with:
          node-version: ${{ matrix.node }}

      - name: install dependencies and build
        run: make all
