---
name: Tests
on:
  pull_request:
  push:
    paths-ignore:
      - "*.md"
    branches:
      - main
  workflow_dispatch:
  schedule:
    - cron: '0 0 * * *' # Run every day at midnight UTC

jobs:
  ubuntu:
    name: Plenary
    runs-on: ubuntu-latest

    steps:
      - uses: actions/checkout@v4
        with:
          path: nvim
      - uses: actions/checkout@v4
        with:
          ref: user-configs
          path: user-configs
      - run: |
          mv user-configs/tests/* nvim/tests/
      - name: Install Neovim
        uses: MunifTanjim/setup-neovim-action@v1
        with:
          tag: nightly
      - name: Fetch dependencies
        run: |
          git clone --depth 1 https://github.com/nvim-lua/plenary.nvim ~/.local/share/nvim/site/pack/vendor/start/plenary.nvim
          ln -s $(pwd) ~/.local/share/nvim/site/pack/vendor/start
      - name: Run tests
        working-directory: ./nvim
        run: |
          nvim --version
          [ ! -d tests ] && exit 0
          nvim --headless -u tests/minimal_init.vim -c "PlenaryBustedDirectory tests/ {minimal_init = 'tests/minimal_init.vim', sequential = true}"
