name: default

on: [push, pull_request]

jobs:
  x64-ubuntu:
    name: X64-ubuntu
    runs-on: ubuntu-20.04
    steps:
      - uses: actions/checkout@v2
      - run: date +%F > todays-date
      - name: Restore cache for today's nightly.
        uses: actions/cache@v2
        with:
          path: _neovim
          key: ${{ runner.os }}-x64-${{ hashFiles('todays-date') }}

      - name: Run tests
        run: |
          curl -OL https://raw.githubusercontent.com/norcalli/bot-ci/master/scripts/github-actions-setup.sh
          source github-actions-setup.sh nightly-x64
          make test

  appimage-ubuntu:
    name: Appimage-ubuntu
    runs-on: ubuntu-20.04
    steps:
      - uses: actions/checkout@v2
      - run: date +%F > todays-date
      - name: Restore cache for today's nightly.
        uses: actions/cache@v2
        with:
          path: build
          key: ${{ runner.os }}-appimage-${{ hashFiles('todays-date') }}

      - name: Prepare
        run: |
          test -d build || {
            mkdir -p build
            wget https://github.com/neovim/neovim/releases/download/nightly/nvim.appimage
            chmod +x nvim.appimage
            mv nvim.appimage ./build/nvim
          }

      - name: Run tests
        run: |
            export PATH="${PWD}/build/:${PATH}"
            make test

  stylua:
    name: stylua
    runs-on: ubuntu-20.04
    steps:
      - uses: actions/checkout@v2
      - uses: JohnnyMorganz/stylua-action@1.0.0
        with:
          token: ${{ secrets.GITHUB_TOKEN }}
          # CLI arguments
          args: --color always --check .