name: ci
on: [push, pull_request]

jobs:
  tests:
    runs-on: ubuntu-20.04
    steps:
      - name: Checkout code
        uses: actions/checkout@v2
        with:
          submodules: recursive

      - name: Setup
        run: |
          sudo pip install pytest
          vim --version

      #- name: Setup tmate session
      #  uses: mxschmitt/action-tmate@v3

      - name: Run tests
        run: 'make test'

  code-quality:
    runs-on: ubuntu-20.04
    steps:
      - name: Checkout code
        uses: actions/checkout@v2
        with:
          submodules: recursive

      - name: Run tests
        run: |
          vim --version
          make check

  coverage:
    runs-on: ubuntu-20.04

    steps:
      - name: Checkout code
        uses: actions/checkout@v2
        with:
          submodules: recursive

      - name: Install dependencies
        run: |
          sudo add-apt-repository ppa:neovim-ppa/stable -y
          sudo apt-get update -q
          sudo apt-get install neovim -y

          sudo pip install pynvim pytest-cov
          sudo pip list
          nvim --version

      - name: Run tests
        run: |
            make --keep-going test_coverage BUILD_VIRTUAL_ENV=$VIRTUAL_ENV

      - name: Upload coverage data
        run: |
          coverage xml
          bash <(curl -s https://codecov.io/bash) -X fix -f coverage.xml -F py${TRAVIS_PYTHON_VERSION//./}
