# This workflow will install Python dependencies, run tests and lint with a variety of Python versions
# For more information see: https://help.github.com/actions/language-and-framework-guides/using-python-with-github-actions

name: Dask Tests

on:
  push:
    branches: [ master ]
    paths-ignore:
      - 'docs/**'
      - '**.md'
  pull_request:
    branches: [ master ]
    paths-ignore:
      - 'docs/**'
      - '**.md'

concurrency:
  group: ${{ github.workflow }}-${{ github.ref }}
  cancel-in-progress: true

jobs:
  test_dask_lower_bound:
    name: Dask 2023.5.0
    runs-on: ubuntu-latest

    steps:
    - uses: actions/checkout@v2
    - name: Set up Python 3.8
      uses: actions/setup-python@v1
      with:
        python-version: 3.8
    - name: Install dependencies
      run: make devenv
    - name: Setup Dask
      run: pip install pyarrow==7.0.0 pandas==2.0.2 dask[dataframe,distributed]==2023.5.0
    - name: Test
      run: make testdask

  test_dask_sql_latest:
    name: Dask with SQL Latest
    runs-on: ubuntu-latest

    steps:
    - uses: actions/checkout@v2
    - name: Set up Python 3.10
      uses: actions/setup-python@v1
      with:
        python-version: "3.10"
    - name: Install dependencies
      run: make devenv
    - name: Test
      run: make testdask

  test_dask_latest:
    name: Dask without SQL Latest
    runs-on: ubuntu-latest

    steps:
    - uses: actions/checkout@v2
    - name: Set up Python 3.11
      uses: actions/setup-python@v1
      with:
        python-version: "3.11"
    - name: Install dependencies
      run: make devenv
    - name: Setup Dask
      run: pip install -U dask[dataframe,distributed] pyarrow pandas
    - name: Remove Dask SQL
      run: pip uninstall -y dask-sql qpd fugue-sql-antlr sqlglot
    - name: Test
      run: make testdask