name: Python

on:
  push:
    branches: [ master ]
  pull_request:
    branches: [ master ]

jobs:
  build:
    runs-on: ubuntu-latest

    strategy:
      matrix:
        python:
        - '2.7'
        # - '3.6'
        # - '3.7'
        - '3.8'

    steps:
    - uses: actions/checkout@v2

    - name: Set up Python ${{ matrix.python }}
      uses: actions/setup-python@v1
      with:
        python-version: ${{ matrix.python }}

    - name: Update apt repositories
      run: sudo apt-get update

    - name: Install native dependencies
      run: >
        sudo apt-get install -y --no-install-recommends
        gobject-introspection gir1.2-glib-2.0 gir1.2-keybinder-3.0 gir1.2-gtk-3.0 gir1.2-vte-2.91 gir1.2-notify-0.7
        gettext intltool
        libdbus-glib-1-dev libgirepository1.0-dev libcairo-dev
        xvfb

    - name: Install dependencies
      run: |
        python -m pip install --upgrade pip
        pip install -e .
        python setup.py develop

    - name: Compile all scripts
      run: python -m compileall -f terminatorlib/ tests/ remotinator terminator

    - name: Run tests
      run: |
        pip install -e '.[test]'
        xvfb-run -a python setup.py test
