# This workflow will do a clean installation of node dependencies, cache/restore them, build the source code and run tests across different versions of node
# For more information see: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-nodejs

name: Node.js CI

on:
  pull_request:
    branches: [ "main" ]

jobs:
  build:
    runs-on: ubuntu-latest
    strategy:
      matrix:
        node-version: [ latest ] # See supported Node.js release schedule at https://nodejs.org/en/about/releases/

    steps:
    - name: Checkout
      uses: actions/checkout@v5
      with:
        persist-credentials: false
        fetch-depth: 0

    - name: Use Node.js ${{ matrix.node-version }}
      uses: actions/setup-node@v6
      with:
        node-version: ${{ matrix.node-version }}
        registry-url: 'https://registry.npmjs.org'
        cache: 'npm'
    - run: git config --global user.email "d.grammatiko@gmail.com"
    - run: git config --global user.name "dgrammatiko"
    - run: npm ci
    - run: npm run build --if-present
    - run: npm run coverage

    - name: Upload coverage reports to Codecov
      uses: codecov/codecov-action@v5
      with:
        fail_ci_if_error: true
        verbose: true
        token: ${{secrets.CODECOV_TOKEN}}
