name: CI

on: [push, pull_request]

jobs:
  test:
    runs-on: ubuntu-22.04
    strategy:
      fail-fast: false
      matrix:
        node-version: [18.x, 20.x]
        stimulus: ['3.0', 3.1, 3.2]

    name: node ${{ matrix.node-version }}, stimulus ${{ matrix.stimulus }}

    steps:
    - uses: actions/checkout@v4
    - uses: actions/setup-node@v4
      with:
        node-version: ${{ matrix.node-version }}
    - name: Install
      run: |
        npm install
        npm install @hotwired/stimulus@${{ matrix.stimulus }}
    - name: Run test
      run: |
        npm run test
