name: CI

on:
  push:
    branches: [main]
  pull_request:
    branches: [main]


jobs:
  luacheck:
    runs-on: ubuntu-latest
    steps:
      - name: Luacheck
        uses: lunarmodules/luacheck@v0.26.0

  stylua:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v3
      - uses: JohnnyMorganz/stylua-action@v1
        with:
          token: ${{ secrets.GITHUB_TOKEN }}
          args: --color always --check lua/ tests/

  tests:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v3
      - name: Install Neovim
        uses: rhysd/action-setup-vim@v1
        with:
          neovim: true
          version: nightly
      - name: Install plenary.nvim
        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
        run: nvim --headless --noplugin -c 'packadd plenary.nvim' -c "PlenaryBustedDirectory tests/ { minimal_init = 'tests/minimal_init.lua' }"
