name: CI

on:
  push:
  pull_request:

permissions:
  contents: read

jobs:
  build:
    runs-on: ubuntu-latest

    strategy:
      matrix:
        node-version: [14.x, 16.x, 18.x, latest]
      fail-fast: false

    steps:
      - uses: harmon758/postgresql-action@v1
        with:
          postgresql version: '15'
          postgresql db: 'db_migrate_test'
          postgresql password: 'test123'
      - uses: actions/checkout@v3
      - name: Use Node.js ${{ matrix.node-version }}
        uses: actions/setup-node@v3
        with:
          node-version: ${{ matrix.node-version }}
          cache: 'npm'
      - run: npm i -g npm@9.x.x
      - run: npm ci
      - run: cp test/db.config.ci test/db.config.json
      - run: npm test
